wicked-garden 12.27.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/archetypes.json +166 -0
- package/.claude-plugin/components.json +75 -0
- package/.claude-plugin/marketplace.json +15 -0
- package/.claude-plugin/plugin.json +174 -0
- package/.claude-plugin/specialist.json +48 -0
- package/.claude-plugin/stack-registry.json +96 -0
- package/AGENTS.md +13 -0
- package/CHANGELOG.md +712 -0
- package/CONTRIBUTING.md +99 -0
- package/ETHOS.md +83 -0
- package/LICENSE +21 -0
- package/README.md +115 -0
- package/WICKED_GARDEN_BUS_EVENTS.md +149 -0
- package/agents/agentic/architect.md +449 -0
- package/agents/agentic/performance-analyst.md +702 -0
- package/agents/agentic/safety-reviewer.md +662 -0
- package/agents/crew/implementer.md +163 -0
- package/agents/crew/researcher.md +94 -0
- package/agents/crew/reviewer.md +184 -0
- package/agents/data/data-engineer.md +227 -0
- package/agents/engineering/api-documentarian.md +440 -0
- package/agents/engineering/migration-engineer.md +301 -0
- package/agents/engineering/solution-architect.md +208 -0
- package/agents/jam/brainstorm-facilitator.md +297 -0
- package/agents/jam/council.md +322 -0
- package/agents/jam/quick-facilitator.md +85 -0
- package/agents/persona/persona-agent.md +121 -0
- package/agents/platform/compliance-officer.md +266 -0
- package/agents/platform/privacy-expert.md +496 -0
- package/agents/platform/security-engineer.md +287 -0
- package/agents/product/a11y-expert.md +323 -0
- package/agents/product/requirements-analyst.md +238 -0
- package/agents/product/ui-reviewer.md +180 -0
- package/agents/product/ux-designer.md +199 -0
- package/agents/product/value-strategist.md +269 -0
- package/agents/qe/semantic-reviewer.md +78 -0
- package/commands/agentic/audit.md +24 -0
- package/commands/agentic/design.md +24 -0
- package/commands/agentic/frameworks.md +25 -0
- package/commands/agentic/review.md +27 -0
- package/commands/archetype/build.md +12 -0
- package/commands/archetype/decide.md +12 -0
- package/commands/archetype/explore.md +12 -0
- package/commands/archetype/incident.md +12 -0
- package/commands/archetype/migrate.md +12 -0
- package/commands/archetype/modernize.md +12 -0
- package/commands/archetype/review.md +14 -0
- package/commands/archetype/ship.md +12 -0
- package/commands/archetype/specify.md +12 -0
- package/commands/archetype/triage.md +12 -0
- package/commands/compile.md +37 -0
- package/commands/data/analyze.md +18 -0
- package/commands/data/data.md +21 -0
- package/commands/data/ml.md +18 -0
- package/commands/data/ontology.md +22 -0
- package/commands/data/pipeline.md +17 -0
- package/commands/deliberate.md +181 -0
- package/commands/engineering/add-field.md +77 -0
- package/commands/engineering/apply.md +58 -0
- package/commands/engineering/arch.md +26 -0
- package/commands/engineering/debug.md +27 -0
- package/commands/engineering/docs.md +27 -0
- package/commands/engineering/new-generator.md +257 -0
- package/commands/engineering/patch-plan.md +59 -0
- package/commands/engineering/plan.md +29 -0
- package/commands/engineering/remove.md +48 -0
- package/commands/engineering/rename.md +44 -0
- package/commands/engineering/review.md +32 -0
- package/commands/help.md +128 -0
- package/commands/install.md +118 -0
- package/commands/intent.md +54 -0
- package/commands/jam/brainstorm.md +37 -0
- package/commands/jam/council.md +49 -0
- package/commands/jam/quick.md +21 -0
- package/commands/jam/revisit.md +79 -0
- package/commands/persona/as.md +136 -0
- package/commands/persona/define.md +24 -0
- package/commands/persona/list.md +118 -0
- package/commands/platform/actions.md +20 -0
- package/commands/platform/assert.md +18 -0
- package/commands/platform/audit.md +23 -0
- package/commands/platform/compliance.md +20 -0
- package/commands/platform/gh.md +22 -0
- package/commands/platform/health.md +22 -0
- package/commands/platform/incident.md +23 -0
- package/commands/platform/infra.md +24 -0
- package/commands/platform/peer-health.md +103 -0
- package/commands/platform/plugin-health.md +58 -0
- package/commands/platform/security.md +38 -0
- package/commands/platform/toolchain.md +96 -0
- package/commands/platform/traces.md +20 -0
- package/commands/product/a11y.md +19 -0
- package/commands/product/acceptance.md +19 -0
- package/commands/product/align.md +20 -0
- package/commands/product/analyze.md +23 -0
- package/commands/product/elicit.md +19 -0
- package/commands/product/listen.md +24 -0
- package/commands/product/mockup.md +20 -0
- package/commands/product/screenshot.md +19 -0
- package/commands/product/strategy.md +40 -0
- package/commands/product/synthesize.md +23 -0
- package/commands/product/ux-review.md +42 -0
- package/commands/product/ux.md +20 -0
- package/commands/product/visual-direction.md +34 -0
- package/commands/prove.md +47 -0
- package/commands/report-issue.md +243 -0
- package/commands/reset.md +144 -0
- package/commands/search/blast-radius.md +58 -0
- package/commands/search/hotspots.md +55 -0
- package/commands/search/index.md +38 -0
- package/commands/search/lineage.md +47 -0
- package/commands/search/service-map.md +79 -0
- package/commands/setup.md +363 -0
- package/commands/smaht/briefing.md +200 -0
- package/commands/smaht/events-import.md +95 -0
- package/commands/smaht/state.md +19 -0
- package/commands/where-am-i.md +58 -0
- package/docs/README.md +32 -0
- package/docs/adr/0001-code-relationship-graph-engine.md +116 -0
- package/docs/adr/0002-major-cleanup-keep-cut.md +91 -0
- package/docs/adr/0003-peers-gate-required-layers-optin.md +41 -0
- package/docs/adr/0004-code-graph-moves-to-wicked-brain.md +47 -0
- package/docs/brain-chunk-format.md +135 -0
- package/docs/compiler.md +95 -0
- package/docs/daemon-api.md +70 -0
- package/docs/domains.md +197 -0
- package/docs/getting-started.md +208 -0
- package/docs/plans/2026-06-08-wicked-loom-conduct.md +1337 -0
- package/docs/plans/2026-06-08-wicked-loom-contract.md +638 -0
- package/docs/plans/2026-06-08-wicked-loom-cutover.md +1300 -0
- package/docs/plans/2026-06-08-wicked-loom-expand-compose.md +843 -0
- package/docs/plans/2026-06-08-wicked-loom-flow-cutover.md +403 -0
- package/docs/plans/2026-06-10-codegraph-to-brain-phase1a-graph-core.md +838 -0
- package/docs/plans/2026-06-10-codegraph-to-brain-phase1b-injected-edges.md +44 -0
- package/docs/required-peers.md +60 -0
- package/docs/specs/2026-06-08-wicked-loom-extraction.md +225 -0
- package/docs/specs/2026-06-10-codegraph-to-brain-migration.md +168 -0
- package/docs/v11/archetypes.md +231 -0
- package/hooks/hooks.json +275 -0
- package/hooks/scripts/bootstrap.py +1797 -0
- package/hooks/scripts/invoke.py +62 -0
- package/hooks/scripts/notification.py +166 -0
- package/hooks/scripts/permission_request.py +223 -0
- package/hooks/scripts/post_tool.py +1374 -0
- package/hooks/scripts/pre_compact.py +272 -0
- package/hooks/scripts/pre_tool.py +1278 -0
- package/hooks/scripts/prompt_submit.py +1109 -0
- package/hooks/scripts/session_end.py +95 -0
- package/hooks/scripts/stop.py +624 -0
- package/hooks/scripts/subagent_lifecycle.py +464 -0
- package/hooks/scripts/subscribers/on_gate_decided.py +84 -0
- package/hooks/scripts/task_completed.py +322 -0
- package/hooks/scripts/worktree_guard.py +148 -0
- package/hooks/subscriptions/on_gate_decided.json +9 -0
- package/install.mjs +128 -0
- package/package.json +41 -0
- package/pyproject.toml +59 -0
- package/schemas/README.md +32 -0
- package/schemas/assert_contracts.json +37 -0
- package/schemas/health_probe.json +46 -0
- package/schemas/plugin_status.json +37 -0
- package/scripts/_adapters/__init__.py +166 -0
- package/scripts/_adapters/jira_adapter.py +18 -0
- package/scripts/_adapters/linear_adapter.py +18 -0
- package/scripts/_adapters/miro_adapter.py +18 -0
- package/scripts/_adapters/notion_adapter.py +18 -0
- package/scripts/_agents.py +357 -0
- package/scripts/_brain_ingest/__init__.py +2 -0
- package/scripts/_brain_ingest/session_fact_extractor.py +341 -0
- package/scripts/_brain_port.py +163 -0
- package/scripts/_bus.py +1081 -0
- package/scripts/_bus_catalog_gen.py +93 -0
- package/scripts/_bus_consumers.json +46 -0
- package/scripts/_bus_emit.py +43 -0
- package/scripts/_capability_registry.py +334 -0
- package/scripts/_capability_resolver.py +322 -0
- package/scripts/_domain_store.py +559 -0
- package/scripts/_event_log_reader.py +154 -0
- package/scripts/_event_schema.py +305 -0
- package/scripts/_event_store.py +397 -0
- package/scripts/_heavy_cadence.py +324 -0
- package/scripts/_integration_resolver.py +321 -0
- package/scripts/_logger.py +151 -0
- package/scripts/_loom.py +482 -0
- package/scripts/_paths.py +133 -0
- package/scripts/_python.sh +22 -0
- package/scripts/_run.py +137 -0
- package/scripts/_session.py +502 -0
- package/scripts/_validate_registry.py +1042 -0
- package/scripts/_wicked_testing_probe.py +277 -0
- package/scripts/agentic/analyze_agents.py +391 -0
- package/scripts/agentic/detect_framework.py +420 -0
- package/scripts/agentic/issue_taxonomy.py +357 -0
- package/scripts/agentic/pattern_scorer.py +434 -0
- package/scripts/classify/persist.py +169 -0
- package/scripts/compiler/compile.py +552 -0
- package/scripts/compiler/phase0/VERDICT.md +60 -0
- package/scripts/compiler/phase0/detect.py +292 -0
- package/scripts/compiler/phase0/emit.py +228 -0
- package/scripts/compiler/phase0/evidence/Enterprise-AISDLC.bindings.json +30 -0
- package/scripts/compiler/phase0/evidence/Enterprise-AISDLC.lint-output.txt +17 -0
- package/scripts/compiler/phase0/evidence/Enterprise-AISDLC.stage/.wg/evidence/failing-tests.txt +4 -0
- package/scripts/compiler/phase0/evidence/Enterprise-AISDLC.stage/.wg/evidence/honest-tests.txt +2 -0
- package/scripts/compiler/phase0/evidence/Enterprise-AISDLC.stage/fab-fail.build.md +8 -0
- package/scripts/compiler/phase0/evidence/Enterprise-AISDLC.stage/fab-missing.build.md +8 -0
- package/scripts/compiler/phase0/evidence/Enterprise-AISDLC.stage/honest.build.md +8 -0
- package/scripts/compiler/phase0/evidence/Enterprise-AISDLC.stage/wg_check_claims.py +174 -0
- package/scripts/compiler/phase0/evidence/command_iq.bindings.json +45 -0
- package/scripts/compiler/phase0/evidence/command_iq.lint-output.txt +17 -0
- package/scripts/compiler/phase0/evidence/command_iq.stage/.projects/evidence-domain/phase-1-clarify/evidence/failing-tests.txt +4 -0
- package/scripts/compiler/phase0/evidence/command_iq.stage/.projects/evidence-domain/phase-1-clarify/evidence/honest-tests.txt +3 -0
- package/scripts/compiler/phase0/evidence/command_iq.stage/fab-fail.build.md +8 -0
- package/scripts/compiler/phase0/evidence/command_iq.stage/fab-missing.build.md +8 -0
- package/scripts/compiler/phase0/evidence/command_iq.stage/honest.build.md +8 -0
- package/scripts/compiler/phase0/evidence/command_iq.stage/wg_check_claims.py +174 -0
- package/scripts/compiler/phase0/evidence/memos.bindings.json +28 -0
- package/scripts/compiler/phase0/evidence/memos.lint-output.txt +17 -0
- package/scripts/compiler/phase0/evidence/memos.stage/.wg/evidence/failing-tests.txt +4 -0
- package/scripts/compiler/phase0/evidence/memos.stage/.wg/evidence/honest-tests.txt +2 -0
- package/scripts/compiler/phase0/evidence/memos.stage/fab-fail.build.md +8 -0
- package/scripts/compiler/phase0/evidence/memos.stage/fab-missing.build.md +8 -0
- package/scripts/compiler/phase0/evidence/memos.stage/honest.build.md +8 -0
- package/scripts/compiler/phase0/evidence/memos.stage/wg_check_claims.py +174 -0
- package/scripts/compiler/phase0/evidence/verdict.json +104 -0
- package/scripts/compiler/phase0/evidence/wicked-bus.bindings.json +29 -0
- package/scripts/compiler/phase0/evidence/wicked-bus.lint-output.txt +17 -0
- package/scripts/compiler/phase0/evidence/wicked-bus.stage/coverage/failing-tests.txt +4 -0
- package/scripts/compiler/phase0/evidence/wicked-bus.stage/coverage/honest-tests.txt +3 -0
- package/scripts/compiler/phase0/evidence/wicked-bus.stage/fab-fail.build.md +8 -0
- package/scripts/compiler/phase0/evidence/wicked-bus.stage/fab-missing.build.md +8 -0
- package/scripts/compiler/phase0/evidence/wicked-bus.stage/honest.build.md +8 -0
- package/scripts/compiler/phase0/evidence/wicked-bus.stage/wg_check_claims.py +174 -0
- package/scripts/compiler/phase0/evidence/wire-vault-transcript.txt +60 -0
- package/scripts/compiler/phase0/run_probe.py +234 -0
- package/scripts/compiler/phase0/wire_vault.py +310 -0
- package/scripts/crew/__init__.py +0 -0
- package/scripts/crew/_task_audit_writer.py +243 -0
- package/scripts/crew/_task_reader.py +389 -0
- package/scripts/crew/archetypes_v11.py +348 -0
- package/scripts/crew/detectors/__init__.py +12 -0
- package/scripts/crew/flow_compiler.py +121 -0
- package/scripts/crew/phase_manager.py +703 -0
- package/scripts/crew/scope_delta.py +264 -0
- package/scripts/crew/specialist_resolver.py +218 -0
- package/scripts/crew/stack_registry.py +189 -0
- package/scripts/data/data_profiler.py +271 -0
- package/scripts/data/ontology_recommender.py +231 -0
- package/scripts/data/schema_validator.py +267 -0
- package/scripts/delivery/drift.py +739 -0
- package/scripts/delivery/telemetry.py +614 -0
- package/scripts/engineering/patch/codegraph_db.py +125 -0
- package/scripts/engineering/patch/generators/__init__.py +56 -0
- package/scripts/engineering/patch/generators/base.py +373 -0
- package/scripts/engineering/patch/generators/csharp_generator.py +494 -0
- package/scripts/engineering/patch/generators/go_generator.py +430 -0
- package/scripts/engineering/patch/generators/java_generator.py +928 -0
- package/scripts/engineering/patch/generators/jsp_generator.py +454 -0
- package/scripts/engineering/patch/generators/kotlin_generator.py +561 -0
- package/scripts/engineering/patch/generators/perl_generator.py +510 -0
- package/scripts/engineering/patch/generators/php_generator.py +644 -0
- package/scripts/engineering/patch/generators/propagation_engine.py +929 -0
- package/scripts/engineering/patch/generators/python_generator.py +487 -0
- package/scripts/engineering/patch/generators/ruby_generator.py +463 -0
- package/scripts/engineering/patch/generators/rust_generator.py +400 -0
- package/scripts/engineering/patch/generators/sql_generator.py +594 -0
- package/scripts/engineering/patch/generators/typescript_generator.py +439 -0
- package/scripts/engineering/patch/patch.py +800 -0
- package/scripts/engineering/patch/safety.py +429 -0
- package/scripts/jam/__init__.py +0 -0
- package/scripts/jam/_bus_consumers.py +271 -0
- package/scripts/jam/agentic_cli_registry.py +703 -0
- package/scripts/jam/consensus.py +737 -0
- package/scripts/jam/detect_clis.py +409 -0
- package/scripts/jam/jam.py +283 -0
- package/scripts/jam/save_transcript.py +171 -0
- package/scripts/loom/__init__.py +22 -0
- package/scripts/loom/cli.py +170 -0
- package/scripts/loom/compose.py +180 -0
- package/scripts/loom/gate.py +120 -0
- package/scripts/loom/manifest.py +140 -0
- package/scripts/loom/resolve.py +59 -0
- package/scripts/persona/__init__.py +0 -0
- package/scripts/persona/registry.py +688 -0
- package/scripts/platform/guard_pipeline.py +1214 -0
- package/scripts/platform/guard_profiles.py +216 -0
- package/scripts/platform/observability/assert_contracts.py +434 -0
- package/scripts/platform/observability/health_probe.py +915 -0
- package/scripts/platform/observability/ops_log_viewer.py +209 -0
- package/scripts/platform/prereq_doctor.py +567 -0
- package/scripts/qe/conditions_manifest.py +260 -0
- package/scripts/qe/content_sanitizer.py +160 -0
- package/scripts/qe/coverage_tracker.py +535 -0
- package/scripts/qe/discover_scenarios.py +243 -0
- package/scripts/qe/evidence_tracker.py +232 -0
- package/scripts/qe/prove.py +196 -0
- package/scripts/qe/registry_lookup.py +80 -0
- package/scripts/qe/registry_store.py +176 -0
- package/scripts/qe/semantic_review.py +1005 -0
- package/scripts/qe/vault_gate.py +382 -0
- package/scripts/qe/verdict_audit.py +175 -0
- package/scripts/qe/verdict_schema.py +335 -0
- package/scripts/reset.py +220 -0
- package/scripts/resolve_path.py +22 -0
- package/scripts/sentinel/invariants.py +402 -0
- package/scripts/sentinel/pre_push.py +73 -0
- package/scripts/setup/__init__.py +1 -0
- package/scripts/setup/detect_state.py +114 -0
- package/scripts/setup/migrate_legacy.py +67 -0
- package/scripts/setup/migrate_v6_projects.py +232 -0
- package/scripts/setup/onboarding.py +114 -0
- package/scripts/smaht/_bus_consumers.py +98 -0
- package/scripts/smaht/adapters/__init__.py +83 -0
- package/scripts/smaht/adapters/brain_adapter.py +254 -0
- package/scripts/smaht/adapters/context7_adapter.py +438 -0
- package/scripts/smaht/adapters/delegation_adapter.py +104 -0
- package/scripts/smaht/adapters/domain_adapter.py +206 -0
- package/scripts/smaht/adapters/events_adapter.py +231 -0
- package/scripts/smaht/adapters/tools_adapter.py +49 -0
- package/scripts/smaht/cheatsheet_store.py +236 -0
- package/scripts/smaht/context_package.py +386 -0
- package/scripts/smaht/knowledge_graph.py +395 -0
- package/scripts/smaht/propose_skills.py +856 -0
- package/scripts/smaht/test_cheatsheet_store.py +428 -0
- package/scripts/statusline.py +151 -0
- package/scripts/where_am_i.py +236 -0
- package/skills/agentic/agentic-patterns/SKILL.md +91 -0
- package/skills/agentic/agentic-patterns/refs/anti-patterns-design.md +283 -0
- package/skills/agentic/agentic-patterns/refs/anti-patterns-operational.md +216 -0
- package/skills/agentic/agentic-patterns/refs/pattern-catalog.md +329 -0
- package/skills/agentic/context-engineering/SKILL.md +142 -0
- package/skills/agentic/context-engineering/refs/caching-and-optimization.md +251 -0
- package/skills/agentic/context-engineering/refs/compression-techniques.md +171 -0
- package/skills/agentic/context-engineering/refs/cost-calculation-budget.md +250 -0
- package/skills/agentic/context-engineering/refs/cost-optimization-reporting.md +300 -0
- package/skills/agentic/context-engineering/refs/selective-loading.md +179 -0
- package/skills/agentic/frameworks/SKILL.md +191 -0
- package/skills/agentic/frameworks/refs/framework-profiles-1.md +209 -0
- package/skills/agentic/frameworks/refs/framework-profiles-2.md +214 -0
- package/skills/agentic/frameworks/refs/migration-patterns-paths.md +267 -0
- package/skills/agentic/frameworks/refs/migration-patterns-testing.md +208 -0
- package/skills/agentic/refs/audit.md +134 -0
- package/skills/agentic/refs/design.md +137 -0
- package/skills/agentic/refs/frameworks.md +102 -0
- package/skills/agentic/refs/review.md +160 -0
- package/skills/agentic/review-methodology/SKILL.md +186 -0
- package/skills/agentic/review-methodology/refs/deliverable-templates.md +246 -0
- package/skills/agentic/review-methodology/refs/issue-taxonomy-quality-testing.md +277 -0
- package/skills/agentic/review-methodology/refs/issue-taxonomy-reliability-safety.md +253 -0
- package/skills/agentic/trust-and-safety/SKILL.md +177 -0
- package/skills/agentic/trust-and-safety/refs/guardrails-actions.md +246 -0
- package/skills/agentic/trust-and-safety/refs/guardrails-input-output.md +238 -0
- package/skills/agentic/trust-and-safety/refs/guardrails-resources.md +209 -0
- package/skills/agentic/trust-and-safety/refs/safety-checklist-advanced.md +209 -0
- package/skills/agentic/trust-and-safety/refs/safety-checklist-core.md +215 -0
- package/skills/archetype/SKILL.md +104 -0
- package/skills/archetype/refs/build.md +142 -0
- package/skills/archetype/refs/decide.md +117 -0
- package/skills/archetype/refs/explore.md +66 -0
- package/skills/archetype/refs/incident.md +149 -0
- package/skills/archetype/refs/migrate.md +170 -0
- package/skills/archetype/refs/modernize.md +187 -0
- package/skills/archetype/refs/review.md +145 -0
- package/skills/archetype/refs/ship.md +117 -0
- package/skills/archetype/refs/specify.md +108 -0
- package/skills/archetype/refs/triage.md +62 -0
- package/skills/classify/SKILL.md +157 -0
- package/skills/data/analysis/SKILL.md +125 -0
- package/skills/data/analysis/refs/templates.md +170 -0
- package/skills/data/data/SKILL.md +118 -0
- package/skills/data/data/refs/examples.md +235 -0
- package/skills/data/ml/SKILL.md +125 -0
- package/skills/data/ml/refs/templates.md +172 -0
- package/skills/data/pipeline/SKILL.md +136 -0
- package/skills/data/pipeline/refs/templates.md +175 -0
- package/skills/data/refs/analyze.md +123 -0
- package/skills/data/refs/data.md +95 -0
- package/skills/data/refs/ml.md +118 -0
- package/skills/data/refs/pipeline.md +92 -0
- package/skills/deliberate/SKILL.md +125 -0
- package/skills/deliberate/refs/architecture-lens.md +37 -0
- package/skills/deliberate/refs/assumptions-lens.md +43 -0
- package/skills/deliberate/refs/code-lens.md +38 -0
- package/skills/deliberate/refs/content-lens.md +37 -0
- package/skills/deliberate/refs/data-lens.md +43 -0
- package/skills/deliberate/refs/design-lens.md +37 -0
- package/skills/deliberate/refs/opportunity-patterns.md +107 -0
- package/skills/deliberate/refs/ops-lens.md +43 -0
- package/skills/deliberate/refs/product-lens.md +46 -0
- package/skills/deliberate/refs/rethink-framework.md +77 -0
- package/skills/deliberate/refs/security-lens.md +47 -0
- package/skills/deliberate/refs/testing-lens.md +45 -0
- package/skills/deliberate/refs/timing-lens.md +42 -0
- package/skills/engineering/architecture/SKILL.md +177 -0
- package/skills/engineering/architecture/refs/adr-template.md +268 -0
- package/skills/engineering/architecture/refs/architecture-template-deployment.md +176 -0
- package/skills/engineering/architecture/refs/architecture-template-design.md +300 -0
- package/skills/engineering/architecture/refs/examples-ecommerce-analytics.md +299 -0
- package/skills/engineering/architecture/refs/examples-saas-trading.md +291 -0
- package/skills/engineering/architecture/refs/patterns-advanced.md +238 -0
- package/skills/engineering/architecture/refs/patterns-structural.md +303 -0
- package/skills/engineering/backend/SKILL.md +102 -0
- package/skills/engineering/backend/refs/checklists.md +146 -0
- package/skills/engineering/backend/refs/patterns.md +181 -0
- package/skills/engineering/debugging/SKILL.md +99 -0
- package/skills/engineering/debugging/refs/patterns.md +248 -0
- package/skills/engineering/debugging/refs/process.md +203 -0
- package/skills/engineering/docs/SKILL.md +97 -0
- package/skills/engineering/engineering/SKILL.md +88 -0
- package/skills/engineering/engineering/refs/checklists.md +91 -0
- package/skills/engineering/engineering/refs/templates.md +71 -0
- package/skills/engineering/frontend/SKILL.md +92 -0
- package/skills/engineering/frontend/refs/checklists.md +96 -0
- package/skills/engineering/frontend/refs/patterns.md +167 -0
- package/skills/engineering/integration/SKILL.md +183 -0
- package/skills/engineering/integration/refs/error-handling-best-practices.md +139 -0
- package/skills/engineering/integration/refs/error-handling-error-classes-typescript.md +212 -0
- package/skills/engineering/integration/refs/error-handling-error-response-format.md +301 -0
- package/skills/engineering/integration/refs/error-handling-retry-strategies.md +190 -0
- package/skills/engineering/integration/refs/event-schemas-best-practices.md +225 -0
- package/skills/engineering/integration/refs/event-schemas-event-naming-conventions.md +303 -0
- package/skills/engineering/integration/refs/event-schemas-event-structure.md +288 -0
- package/skills/engineering/integration/refs/graphql-best-practices.md +138 -0
- package/skills/engineering/integration/refs/graphql-error-handling.md +198 -0
- package/skills/engineering/integration/refs/graphql-graphql-basics.md +197 -0
- package/skills/engineering/integration/refs/graphql-query-examples.md +226 -0
- package/skills/engineering/integration/refs/graphql-schema-design-patterns.md +280 -0
- package/skills/engineering/integration/refs/grpc-grpc-overview.md +246 -0
- package/skills/engineering/integration/refs/grpc-implementation-examples.md +269 -0
- package/skills/engineering/integration/refs/grpc-metadata-headers.md +304 -0
- package/skills/engineering/integration/refs/grpc-testing.md +49 -0
- package/skills/engineering/integration/refs/openapi-template.yaml +682 -0
- package/skills/engineering/integration/refs/resilience-best-practices.md +109 -0
- package/skills/engineering/integration/refs/resilience-circuit-breaker-pattern.md +302 -0
- package/skills/engineering/integration/refs/resilience-rate-limiting.md +245 -0
- package/skills/engineering/integration/refs/resilience-timeout-pattern.md +212 -0
- package/skills/engineering/integration/refs/rest-api-fundamentals.md +299 -0
- package/skills/engineering/integration/refs/rest-api-responses-security.md +302 -0
- package/skills/engineering/integration/refs/versioning-breaking-changes.md +237 -0
- package/skills/engineering/integration/refs/versioning-migration-strategies.md +257 -0
- package/skills/engineering/integration/refs/versioning-versioning-strategies.md +296 -0
- package/skills/engineering/large-scale-migration/SKILL.md +65 -0
- package/skills/engineering/patch/SKILL.md +184 -0
- package/skills/engineering/refs/arch.md +126 -0
- package/skills/engineering/refs/debug.md +142 -0
- package/skills/engineering/refs/docs.md +190 -0
- package/skills/engineering/refs/plan.md +109 -0
- package/skills/engineering/refs/review.md +138 -0
- package/skills/engineering/system-design/SKILL.md +154 -0
- package/skills/engineering/system-design/refs/anti-patterns-big-ball-of-mud.md +254 -0
- package/skills/engineering/system-design/refs/anti-patterns-circular-dependencies.md +241 -0
- package/skills/engineering/system-design/refs/anti-patterns-feature-envy.md +168 -0
- package/skills/engineering/system-design/refs/anti-patterns-god-object.md +247 -0
- package/skills/engineering/system-design/refs/component-template-lifecycle.md +210 -0
- package/skills/engineering/system-design/refs/component-template-maintenance.md +219 -0
- package/skills/engineering/system-design/refs/component-template-structure.md +276 -0
- package/skills/engineering/system-design/refs/dependencies-best-practices.md +260 -0
- package/skills/engineering/system-design/refs/dependencies-dependency-principles.md +295 -0
- package/skills/engineering/system-design/refs/dependencies-dependency-tracking.md +261 -0
- package/skills/engineering/system-design/refs/interface-template-lifecycle.md +211 -0
- package/skills/engineering/system-design/refs/interface-template-maintenance.md +212 -0
- package/skills/engineering/system-design/refs/interface-template-structure.md +269 -0
- package/skills/engineering/system-design/refs/patterns-dependency-injection.md +151 -0
- package/skills/engineering/system-design/refs/patterns-facade-pattern.md +257 -0
- package/skills/engineering/system-design/refs/patterns-layered-pattern.md +204 -0
- package/skills/engineering/system-design/refs/patterns-plugin-architecture.md +229 -0
- package/skills/engineering/unit-test-quality/SKILL.md +194 -0
- package/skills/ground/SKILL.md +130 -0
- package/skills/integration-discovery/SKILL.md +168 -0
- package/skills/integration-discovery/refs/capabilities.md +282 -0
- package/skills/integration-discovery/refs/cli-detection.md +295 -0
- package/skills/integration-discovery/refs/discovery-sources.md +233 -0
- package/skills/integration-discovery/refs/task-patterns.md +206 -0
- package/skills/jam/SKILL.md +45 -0
- package/skills/jam/refs/facilitation-patterns.md +125 -0
- package/skills/jam/refs/quick.md +64 -0
- package/skills/jam/refs/synthesis-patterns.md +114 -0
- package/skills/multi-model/SKILL.md +168 -0
- package/skills/multi-model/refs/aichat.md +119 -0
- package/skills/multi-model/refs/aider.md +100 -0
- package/skills/multi-model/refs/auditability.md +238 -0
- package/skills/multi-model/refs/codex.md +169 -0
- package/skills/multi-model/refs/context.md +306 -0
- package/skills/multi-model/refs/copilot.md +161 -0
- package/skills/multi-model/refs/examples.md +224 -0
- package/skills/multi-model/refs/gemini.md +185 -0
- package/skills/multi-model/refs/goose.md +112 -0
- package/skills/multi-model/refs/llm.md +124 -0
- package/skills/multi-model/refs/opencode.md +196 -0
- package/skills/multi-model/refs/orchestration.md +188 -0
- package/skills/multi-model/refs/pi.md +208 -0
- package/skills/persona/SKILL.md +144 -0
- package/skills/persona/refs/define.md +133 -0
- package/skills/platform/actions/refs/actions.md +114 -0
- package/skills/platform/audit/SKILL.md +174 -0
- package/skills/platform/audit/refs/audit.md +145 -0
- package/skills/platform/audit/refs/checklists-evidence-operations.md +144 -0
- package/skills/platform/audit/refs/checklists-gdpr-pci-evidence.md +213 -0
- package/skills/platform/audit/refs/checklists-soc2-hipaa.md +120 -0
- package/skills/platform/audit/refs/frameworks-gdpr-pci.md +225 -0
- package/skills/platform/audit/refs/frameworks-soc2-hipaa.md +228 -0
- package/skills/platform/compliance/SKILL.md +169 -0
- package/skills/platform/compliance/refs/checklists.md +303 -0
- package/skills/platform/compliance/refs/compliance.md +117 -0
- package/skills/platform/compliance/refs/frameworks.md +282 -0
- package/skills/platform/errors/SKILL.md +183 -0
- package/skills/platform/errors/refs/patterns.md +271 -0
- package/skills/platform/errors/refs/severity.md +264 -0
- package/skills/platform/gate-benchmark-rebaseline/SKILL.md +108 -0
- package/skills/platform/gh/refs/gh.md +105 -0
- package/skills/platform/gh-cli/SKILL.md +120 -0
- package/skills/platform/gh-cli/refs/automation.md +63 -0
- package/skills/platform/gh-cli/refs/gh-ops.md +103 -0
- package/skills/platform/gh-cli/refs/patterns.md +132 -0
- package/skills/platform/gh-cli/scripts/gh_ops.py +454 -0
- package/skills/platform/github-actions/SKILL.md +159 -0
- package/skills/platform/github-actions/refs/security.md +150 -0
- package/skills/platform/github-actions/refs/templates.md +230 -0
- package/skills/platform/github-actions/refs/troubleshooting.md +174 -0
- package/skills/platform/github-actions/scripts/workflow_gen.py +215 -0
- package/skills/platform/gitlab-ci/SKILL.md +140 -0
- package/skills/platform/gitlab-ci/refs/templates.md +223 -0
- package/skills/platform/gitlab-ci/refs/troubleshooting.md +213 -0
- package/skills/platform/glab-cli/SKILL.md +133 -0
- package/skills/platform/glab-cli/refs/ci-debugging.md +95 -0
- package/skills/platform/glab-cli/refs/glab-ops.md +78 -0
- package/skills/platform/glab-cli/refs/patterns.md +131 -0
- package/skills/platform/glab-cli/scripts/glab_ops.py +313 -0
- package/skills/platform/health/SKILL.md +177 -0
- package/skills/platform/health/refs/health.md +72 -0
- package/skills/platform/health/refs/sources.md +302 -0
- package/skills/platform/incident/refs/incident.md +136 -0
- package/skills/platform/infra/refs/infra.md +104 -0
- package/skills/platform/observability/SKILL.md +128 -0
- package/skills/platform/observability/refs/toolchain-discovery.md +243 -0
- package/skills/platform/prereq-doctor/SKILL.md +57 -0
- package/skills/platform/prereq-doctor/refs/tool-registry.md +58 -0
- package/skills/platform/traces/refs/traces.md +101 -0
- package/skills/product/acceptance-criteria/SKILL.md +193 -0
- package/skills/product/acceptance-criteria/refs/ac-anti-patterns.md +291 -0
- package/skills/product/acceptance-criteria/refs/ac-examples.md +277 -0
- package/skills/product/accessibility/SKILL.md +197 -0
- package/skills/product/accessibility/refs/aria-patterns-basics.md +250 -0
- package/skills/product/accessibility/refs/aria-patterns-dynamic.md +187 -0
- package/skills/product/accessibility/refs/aria-patterns-interactive.md +246 -0
- package/skills/product/accessibility/refs/audit-report-findings.md +248 -0
- package/skills/product/accessibility/refs/audit-report-results.md +276 -0
- package/skills/product/accessibility/refs/common-violations-html-css.md +270 -0
- package/skills/product/accessibility/refs/common-violations-interactive.md +303 -0
- package/skills/product/accessibility/refs/keyboard-testing-basics.md +222 -0
- package/skills/product/accessibility/refs/keyboard-testing-patterns.md +173 -0
- package/skills/product/accessibility/refs/screen-reader-testing-advanced.md +294 -0
- package/skills/product/accessibility/refs/screen-reader-testing-commands.md +255 -0
- package/skills/product/accessibility/refs/wcag-checklist.md +262 -0
- package/skills/product/analyze/SKILL.md +164 -0
- package/skills/product/analyze/refs/algorithms.md +238 -0
- package/skills/product/analyze/refs/sentiment-patterns.md +180 -0
- package/skills/product/imagery/SKILL.md +97 -0
- package/skills/product/imagery/alter/SKILL.md +105 -0
- package/skills/product/imagery/alter/refs/editing-reference.md +146 -0
- package/skills/product/imagery/create/SKILL.md +109 -0
- package/skills/product/imagery/create/refs/prompt-engineering.md +112 -0
- package/skills/product/imagery/create/refs/provider-reference.md +219 -0
- package/skills/product/imagery/review/SKILL.md +101 -0
- package/skills/product/imagery/review/refs/analysis-lenses.md +136 -0
- package/skills/product/imagery/review/refs/quality-gates.md +153 -0
- package/skills/product/imagery/scripts/analyze.sh +23 -0
- package/skills/product/imagery/scripts/edit.sh +14 -0
- package/skills/product/imagery/scripts/generate.sh +13 -0
- package/skills/product/imagery/scripts/provider.py +787 -0
- package/skills/product/listen/SKILL.md +175 -0
- package/skills/product/listen/refs/channels.md +220 -0
- package/skills/product/mockup/SKILL.md +106 -0
- package/skills/product/mockup/refs/templates.md +95 -0
- package/skills/product/refs/a11y.md +109 -0
- package/skills/product/refs/acceptance.md +79 -0
- package/skills/product/refs/align.md +67 -0
- package/skills/product/refs/analyze.md +77 -0
- package/skills/product/refs/elicit.md +67 -0
- package/skills/product/refs/listen.md +58 -0
- package/skills/product/refs/mockup.md +77 -0
- package/skills/product/refs/screenshot.md +59 -0
- package/skills/product/refs/strategy.md +77 -0
- package/skills/product/refs/synthesize.md +54 -0
- package/skills/product/refs/ux-review.md +68 -0
- package/skills/product/refs/ux.md +101 -0
- package/skills/product/requirements-analysis/SKILL.md +136 -0
- package/skills/product/requirements-analysis/refs/requirements-example-auth.md +264 -0
- package/skills/product/requirements-analysis/refs/requirements-example-export-integration.md +88 -0
- package/skills/product/requirements-analysis/refs/requirements-output-format-template.md +247 -0
- package/skills/product/requirements-analysis/refs/user-story-guide.md +296 -0
- package/skills/product/requirements-graph/SKILL.md +155 -0
- package/skills/product/requirements-graph/refs/examples.md +223 -0
- package/skills/product/requirements-graph/refs/schema.md +162 -0
- package/skills/product/requirements-migrate/SKILL.md +90 -0
- package/skills/product/requirements-navigate/SKILL.md +141 -0
- package/skills/product/requirements-navigate/refs/meta-templates.md +141 -0
- package/skills/product/screenshot/SKILL.md +147 -0
- package/skills/product/strategy/SKILL.md +198 -0
- package/skills/product/strategy/refs/frameworks.md +295 -0
- package/skills/product/strategy/refs/templates-competitive-market.md +299 -0
- package/skills/product/strategy/refs/templates-roi-value.md +207 -0
- package/skills/product/synthesize/SKILL.md +116 -0
- package/skills/product/synthesize/refs/journey-mapping.md +212 -0
- package/skills/product/synthesize/refs/prioritization.md +193 -0
- package/skills/product/ux-review/SKILL.md +164 -0
- package/skills/product/visual-direction/SKILL.md +137 -0
- package/skills/product/visual-review/SKILL.md +131 -0
- package/skills/runtime-exec/SKILL.md +138 -0
- package/skills/search/codebase-narrator/SKILL.md +131 -0
- package/skills/search/codebase-narrator/refs/output-template.md +100 -0
- package/skills/smaht/SKILL.md +72 -0
- package/skills/smaht/discovery/SKILL.md +65 -0
- package/skills/smaht/intent/SKILL.md +89 -0
- package/skills/smaht/propose-skills/SKILL.md +142 -0
- package/skills/smaht/refs/state.md +76 -0
- package/skills/swarm/SKILL.md +132 -0
- package/skills/swarm/refs/fan-out.md +104 -0
- package/skills/swarm/refs/independent-verification.md +86 -0
- package/skills/swarm/refs/receipts-and-evidence.md +69 -0
- package/skills/swarm/refs/recon-synthesis.md +87 -0
- package/skills/swarm/refs/ship-discipline.md +90 -0
- package/skills/wickedizer/SKILL.md +147 -0
- package/skills/wickedizer/refs/artifact-types.md +238 -0
- package/skills/wickedizer/refs/complexity.md +278 -0
- package/skills/wickedizer/refs/de-ai-pass.md +140 -0
- package/skills/wickedizer/refs/failure-modes.md +249 -0
- package/skills/wickedizer/refs/patterns.md +282 -0
- package/skills/wickedizer/refs/review.md +221 -0
- package/skills/wickedizer/refs/structure.md +282 -0
- package/skills/wickedizer/refs/voice-profile.md +125 -0
- package/skills/workflow/SKILL.md +132 -0
- package/skills/workflow/refs/archetype-adjustments.md +205 -0
- package/skills/workflow/refs/evidence.md +58 -0
- package/skills/workflow/refs/integration.md +130 -0
- package/skills/workflow/refs/risk-dimension-signals.md +260 -0
- package/skills/workflow/refs/scoring-rubric.md +49 -0
- package/skills/workflow/refs/signal-keywords.md +176 -0
- package/skills/workflow/refs/specialist-routing-rules.md +159 -0
- package/skills/worktrees/SKILL.md +87 -0
- package/skills/worktrees/refs/recipes.md +96 -0
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gate-benchmark-rebaseline
|
|
3
|
+
description: |
|
|
4
|
+
Re-baseline procedure for the AC-11 gate-result benchmark lane
|
|
5
|
+
(`tests/crew/test_gate_result_benchmark.py`). The benchmark enforces a
|
|
6
|
+
2× p95 SLO on `gate-result.json` ingestion. When a deliberate perf change
|
|
7
|
+
lands on main (validator hardening, cache tuning, schema expansion), the
|
|
8
|
+
baseline needs updating. Never re-baseline to silence a regression.
|
|
9
|
+
|
|
10
|
+
Use when: "re-baseline AC-11 benchmark", "gate-result benchmark regression",
|
|
11
|
+
"p95 benchmark baseline out of date", "update benchmark_baseline.json",
|
|
12
|
+
"benchmark.yml failure", "gate-result p95 exceeds 2x baseline",
|
|
13
|
+
"rebaseline procedure", or `AC-11` baseline drift.
|
|
14
|
+
phase_relevance: ["build", "review", "operate"]
|
|
15
|
+
archetype_relevance: ["*"]
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
# Gate-Result Benchmark Re-baseline
|
|
19
|
+
|
|
20
|
+
Operational procedure for updating `tests/crew/benchmark_baseline.json` after a legitimate perf change on `main`.
|
|
21
|
+
|
|
22
|
+
## When to re-baseline
|
|
23
|
+
|
|
24
|
+
Re-baseline **only** when a deliberate perf change lands on `main`. Examples:
|
|
25
|
+
|
|
26
|
+
- Validator hardening (added / removed gate-result schema checks)
|
|
27
|
+
- Cache eviction tuning (changes to gate-result ingestion memoization)
|
|
28
|
+
- Schema expansion (new required fields in `gate-result.json`)
|
|
29
|
+
- Sanitizer pattern changes (`scripts/qe/content_sanitizer.py`)
|
|
30
|
+
|
|
31
|
+
**Do not re-baseline to silence a regression.** If the benchmark fails on a PR that didn't intend perf work, treat it as a real regression and find the cause.
|
|
32
|
+
|
|
33
|
+
## How the lane works
|
|
34
|
+
|
|
35
|
+
- **Workflow**: `.github/workflows/benchmark.yml`
|
|
36
|
+
- **Trigger**: PRs touching `scripts/crew/phase_manager.py`, the gate-result schema/sanitizer (`scripts/qe/content_sanitizer.py`), or the benchmark test/baseline themselves. Other PRs skip the lane to keep default CI cost flat.
|
|
37
|
+
- **Test**: `tests/crew/test_gate_result_benchmark.py::test_load_gate_result_p95_within_2x_baseline`
|
|
38
|
+
- **Marker**: `benchmark` — opt-in. Local `uv run pytest` deselects it (see `pyproject.toml` `addopts = "-m 'not benchmark'"`).
|
|
39
|
+
- **Explicit invocation**: `uv run pytest -m benchmark`
|
|
40
|
+
- **Fixtures**: 50 deterministic `gate-result.json` files cycling through 1 KB / 4 KB / 16 KB / 60 KB (bounded by `MAX_SUMMARY_BYTES`). Each round clears the memoization cache so the full validate + sanitize + cache-insert path is measured. Cache-hit timing is **not** part of the SLO.
|
|
41
|
+
- **Baseline**: `tests/crew/benchmark_baseline.json` — `p95_ns` in nanoseconds.
|
|
42
|
+
- **Assertion**: `p95_current ≤ slo_multiplier × p95_baseline` (default `slo_multiplier = 2.0`). The workflow comments the delta on every triggered PR.
|
|
43
|
+
- **Missing-baseline behavior**: if `benchmark_baseline.json` is deleted or malformed, the test soft-skips with a directive to record one. The SLO is not enforced until a valid baseline is present — so a re-baseline PR can merge without a circular dependency.
|
|
44
|
+
|
|
45
|
+
## Re-baseline procedure
|
|
46
|
+
|
|
47
|
+
1. **Check out the target main commit.**
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
git checkout main && git pull
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
2. **Run the benchmark three times.** The SLO is against p95, and CI noise varies — taking the highest of three local runs adds margin.
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
uv run pytest -m benchmark tests/crew/test_gate_result_benchmark.py -s
|
|
57
|
+
uv run pytest -m benchmark tests/crew/test_gate_result_benchmark.py -s
|
|
58
|
+
uv run pytest -m benchmark tests/crew/test_gate_result_benchmark.py -s
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
3. **Record the highest `p95_current` reading** from the three runs.
|
|
62
|
+
|
|
63
|
+
4. **Update `tests/crew/benchmark_baseline.json`:**
|
|
64
|
+
|
|
65
|
+
| Field | New value |
|
|
66
|
+
|-------|-----------|
|
|
67
|
+
| `p95_ns` | The highest `p95_current` from step 3, rounded **up** |
|
|
68
|
+
| `recorded_on` | Today's date (`YYYY-MM-DD`) |
|
|
69
|
+
| `recorded_from_commit` | Short SHA of the target main commit |
|
|
70
|
+
| `slo_multiplier` | Leave at `2.0` unless the AC-11 contract changes |
|
|
71
|
+
| `rebaseline_procedure` | Leave at `wicked-garden:platform:gate-benchmark-rebaseline` |
|
|
72
|
+
|
|
73
|
+
5. **Commit the baseline update in a dedicated PR.** Title convention:
|
|
74
|
+
|
|
75
|
+
```
|
|
76
|
+
chore(benchmark): re-baseline AC-11 after {change-summary}
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
6. **The benchmark workflow runs on the PR and must pass** (p95 should be well under 2× the new baseline since you just measured it).
|
|
80
|
+
|
|
81
|
+
## Pre-flip dependency (semantic-gate condition)
|
|
82
|
+
|
|
83
|
+
Strict mode for gate-result ingestion (`WG_GATE_RESULT_STRICT_AFTER`, default `2026-06-18`) **requires** the AC-11 benchmark lane to be active in CI. Rationale: once strict-mode activates, a silent 2×+ perf regression would push every `approve_phase` call over the SLO without a guard.
|
|
84
|
+
|
|
85
|
+
If the benchmark lane is broken or disabled on `main`:
|
|
86
|
+
|
|
87
|
+
- **Before the flip date**: push `WG_GATE_RESULT_STRICT_AFTER` out (env var or default-constant update). Do not let strict-mode activate without benchmark enforcement.
|
|
88
|
+
- **After the flip date**: fix the benchmark lane before touching the ingestion path.
|
|
89
|
+
|
|
90
|
+
## Env-var rollback (preferred over revert)
|
|
91
|
+
|
|
92
|
+
For production rollback of a specific ingestion check, prefer env-var soft-disable over git-revert:
|
|
93
|
+
|
|
94
|
+
| Variable | Effect |
|
|
95
|
+
|----------|--------|
|
|
96
|
+
| `WG_GATE_RESULT_SCHEMA_VALIDATION=off` | Skip schema validator |
|
|
97
|
+
| `WG_GATE_RESULT_CONTENT_SANITIZATION=off` | Skip content sanitizer |
|
|
98
|
+
| `WG_GATE_RESULT_DISPATCH_CHECK=off` | Skip dispatch-log orphan check |
|
|
99
|
+
|
|
100
|
+
All flags auto-expire at `WG_GATE_RESULT_STRICT_AFTER`.
|
|
101
|
+
|
|
102
|
+
## References
|
|
103
|
+
|
|
104
|
+
- Test: `tests/crew/test_gate_result_benchmark.py`
|
|
105
|
+
- Baseline: `tests/crew/benchmark_baseline.json`
|
|
106
|
+
- Workflow: `.github/workflows/benchmark.yml`
|
|
107
|
+
- Ingestion path: `scripts/crew/phase_manager.py` (gate-result load + memoization)
|
|
108
|
+
- Sanitizer: `scripts/qe/content_sanitizer.py`
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
# GitHub CLI Operations Rubric
|
|
2
|
+
|
|
3
|
+
Advanced gh CLI operations for workflow debugging, PR management, and release automation.
|
|
4
|
+
|
|
5
|
+
## Workflow Operations
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
# List recent workflow runs (failures first)
|
|
9
|
+
gh run list --limit 10
|
|
10
|
+
|
|
11
|
+
# View a failed workflow with logs
|
|
12
|
+
gh run view {run-id} --log-failed
|
|
13
|
+
|
|
14
|
+
# Re-run only failed jobs
|
|
15
|
+
gh run rerun {run-id} --failed
|
|
16
|
+
|
|
17
|
+
# Trigger a workflow manually
|
|
18
|
+
gh workflow run {workflow-name}
|
|
19
|
+
|
|
20
|
+
# List workflows
|
|
21
|
+
gh workflow list
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## PR Management Operations
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
# List open PRs with review status
|
|
28
|
+
gh pr list --state open
|
|
29
|
+
|
|
30
|
+
# View PR details and check status
|
|
31
|
+
gh pr view {number} --comments
|
|
32
|
+
|
|
33
|
+
# Check CI status for a PR
|
|
34
|
+
gh pr checks {number}
|
|
35
|
+
|
|
36
|
+
# Approve a PR
|
|
37
|
+
gh pr review {number} --approve
|
|
38
|
+
|
|
39
|
+
# Merge a PR
|
|
40
|
+
gh pr merge {number} --squash
|
|
41
|
+
|
|
42
|
+
# List PRs needing review
|
|
43
|
+
gh pr list --review-requested @me
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Release Automation
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
# List releases
|
|
50
|
+
gh release list
|
|
51
|
+
|
|
52
|
+
# Create release with auto-generated notes
|
|
53
|
+
gh release create v{version} --generate-notes
|
|
54
|
+
|
|
55
|
+
# Create release with specific notes
|
|
56
|
+
gh release create v{version} --notes "..."
|
|
57
|
+
|
|
58
|
+
# View a release
|
|
59
|
+
gh release view {tag}
|
|
60
|
+
|
|
61
|
+
# Upload artifact to release
|
|
62
|
+
gh release upload {tag} {file}
|
|
63
|
+
|
|
64
|
+
# Delete a release
|
|
65
|
+
gh release delete {tag}
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## Repository Operations
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
# Repo overview
|
|
72
|
+
gh repo view
|
|
73
|
+
|
|
74
|
+
# Clone traffic stats
|
|
75
|
+
gh api repos/{owner}/{repo}/traffic/clones
|
|
76
|
+
|
|
77
|
+
# View statistics
|
|
78
|
+
gh api repos/{owner}/{repo}/contributors
|
|
79
|
+
|
|
80
|
+
# List open issues
|
|
81
|
+
gh issue list
|
|
82
|
+
|
|
83
|
+
# Create an issue
|
|
84
|
+
gh issue create --title "..." --body "..."
|
|
85
|
+
|
|
86
|
+
# View issue
|
|
87
|
+
gh issue view {number}
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
## Multi-step / Complex Workflow Operations
|
|
91
|
+
|
|
92
|
+
When the request involves multi-step CI/CD setup, workflow generation from scratch,
|
|
93
|
+
or GitLab CI pipeline configuration — apply the workflow design rubric from
|
|
94
|
+
`${CLAUDE_PLUGIN_ROOT}/skills/platform/actions/refs/actions.md`.
|
|
95
|
+
|
|
96
|
+
## Output Format
|
|
97
|
+
|
|
98
|
+
Results should include:
|
|
99
|
+
- Summary of findings (table where appropriate)
|
|
100
|
+
- Specific actionable next steps
|
|
101
|
+
- Any exact commands to run (copy-pasteable)
|
|
102
|
+
|
|
103
|
+
For workflow failures: root cause + fix + re-run command.
|
|
104
|
+
For PR management: status summary + recommended action.
|
|
105
|
+
For releases: release URL when created.
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gh-cli
|
|
3
|
+
description: |
|
|
4
|
+
Use when you need gh CLI patterns beyond the basics — debugging failed workflow runs, bulk PR operations,
|
|
5
|
+
release automation, or repo health checks. Provides composable gh invocations for power users.
|
|
6
|
+
NOT for simple git commands (use Bash) or GitLab (use the glab-cli skill).
|
|
7
|
+
phase_relevance: ["build", "review", "operate"]
|
|
8
|
+
archetype_relevance: ["*"]
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# GitHub CLI Power Utilities
|
|
12
|
+
|
|
13
|
+
Intelligent wrappers and patterns for GitHub CLI that go beyond basic commands.
|
|
14
|
+
|
|
15
|
+
## When to Use
|
|
16
|
+
|
|
17
|
+
- Debugging failed GitHub Actions (get actionable errors, not walls of logs)
|
|
18
|
+
- Managing PRs across multiple repos
|
|
19
|
+
- Automating releases with proper changelogs
|
|
20
|
+
- Bulk operations on issues/PRs
|
|
21
|
+
- Repository health checks
|
|
22
|
+
|
|
23
|
+
## Prerequisites
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
brew install gh && gh auth login # macOS
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Core Capabilities
|
|
30
|
+
|
|
31
|
+
### 1. Smart Failure Analysis
|
|
32
|
+
|
|
33
|
+
Don't wade through logs - get the actual errors.
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
# Get actionable error summary
|
|
37
|
+
sh "${CLAUDE_PLUGIN_ROOT}/scripts/_python.sh" "${CLAUDE_PLUGIN_ROOT}/skills/platform/gh-cli/scripts/gh_ops.py" diagnose
|
|
38
|
+
|
|
39
|
+
# Specific repo
|
|
40
|
+
sh "${CLAUDE_PLUGIN_ROOT}/scripts/_python.sh" "${CLAUDE_PLUGIN_ROOT}/skills/platform/gh-cli/scripts/gh_ops.py" diagnose --repo owner/repo
|
|
41
|
+
|
|
42
|
+
# With suggested fixes
|
|
43
|
+
sh "${CLAUDE_PLUGIN_ROOT}/scripts/_python.sh" "${CLAUDE_PLUGIN_ROOT}/skills/platform/gh-cli/scripts/gh_ops.py" diagnose --suggest-fixes
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
**Output:** Structured error summary with job timelines, extracted failures, and fix suggestions based on common patterns.
|
|
47
|
+
|
|
48
|
+
### 2. PR Operations
|
|
49
|
+
|
|
50
|
+
Bulk PR management that scales.
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
# List PRs needing review across your repos
|
|
54
|
+
sh "${CLAUDE_PLUGIN_ROOT}/scripts/_python.sh" "${CLAUDE_PLUGIN_ROOT}/skills/platform/gh-cli/scripts/gh_ops.py" pr-review-queue
|
|
55
|
+
|
|
56
|
+
# Merge all approved PRs (with safety checks)
|
|
57
|
+
sh "${CLAUDE_PLUGIN_ROOT}/scripts/_python.sh" "${CLAUDE_PLUGIN_ROOT}/skills/platform/gh-cli/scripts/gh_ops.py" pr-merge-ready --dry-run
|
|
58
|
+
|
|
59
|
+
# PR health check (conflicts, checks, reviews)
|
|
60
|
+
sh "${CLAUDE_PLUGIN_ROOT}/scripts/_python.sh" "${CLAUDE_PLUGIN_ROOT}/skills/platform/gh-cli/scripts/gh_ops.py" pr-status 123
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### 3. Release Automation
|
|
64
|
+
|
|
65
|
+
Generate releases with proper changelogs.
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
# Create release from unreleased commits
|
|
69
|
+
sh "${CLAUDE_PLUGIN_ROOT}/scripts/_python.sh" "${CLAUDE_PLUGIN_ROOT}/skills/platform/gh-cli/scripts/gh_ops.py" release --bump minor
|
|
70
|
+
|
|
71
|
+
# Preview changelog without releasing
|
|
72
|
+
sh "${CLAUDE_PLUGIN_ROOT}/scripts/_python.sh" "${CLAUDE_PLUGIN_ROOT}/skills/platform/gh-cli/scripts/gh_ops.py" release --dry-run
|
|
73
|
+
|
|
74
|
+
# Release with custom notes
|
|
75
|
+
sh "${CLAUDE_PLUGIN_ROOT}/scripts/_python.sh" "${CLAUDE_PLUGIN_ROOT}/skills/platform/gh-cli/scripts/gh_ops.py" release --notes "Breaking: API v2"
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### 4. Repo Health
|
|
79
|
+
|
|
80
|
+
Quick health check for repositories.
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
sh "${CLAUDE_PLUGIN_ROOT}/scripts/_python.sh" "${CLAUDE_PLUGIN_ROOT}/skills/platform/gh-cli/scripts/gh_ops.py" health
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
**Checks:** Branch protection, required reviews, CI status, security advisories, dependency alerts.
|
|
87
|
+
|
|
88
|
+
## Quick Patterns
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
# Watch CI and notify on completion
|
|
92
|
+
gh run watch && osascript -e 'display notification "CI Done"'
|
|
93
|
+
|
|
94
|
+
# Open PR for current branch
|
|
95
|
+
gh pr create --fill --web
|
|
96
|
+
|
|
97
|
+
# Checkout PR locally
|
|
98
|
+
gh pr checkout 123
|
|
99
|
+
|
|
100
|
+
# View PR diff in terminal
|
|
101
|
+
gh pr diff 123
|
|
102
|
+
|
|
103
|
+
# Re-run failed jobs only
|
|
104
|
+
gh run rerun --failed
|
|
105
|
+
|
|
106
|
+
# List your open PRs across all repos
|
|
107
|
+
gh search prs --author=@me --state=open
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
## Integration with Other Tools
|
|
111
|
+
|
|
112
|
+
Works well with:
|
|
113
|
+
- **wicked-garden:search**: Find code patterns, then use gh to create issues
|
|
114
|
+
- **Native tasks**: Track PR status alongside tasks via TaskUpdate description appends
|
|
115
|
+
|
|
116
|
+
## References
|
|
117
|
+
|
|
118
|
+
- `refs/gh-ops.md` - Full script documentation
|
|
119
|
+
- `refs/patterns.md` - Common workflow patterns
|
|
120
|
+
- `refs/automation.md` - CI/CD integration examples
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
---
|
|
2
|
+
phase_relevance: ["build", "review", "operate"]
|
|
3
|
+
archetype_relevance: ["*"]
|
|
4
|
+
---
|
|
5
|
+
# CI/CD Integration Examples
|
|
6
|
+
|
|
7
|
+
Integrate gh_ops.py into your automation workflows.
|
|
8
|
+
|
|
9
|
+
## GitHub Actions Integration
|
|
10
|
+
|
|
11
|
+
```yaml
|
|
12
|
+
name: Monitor Failures
|
|
13
|
+
on:
|
|
14
|
+
workflow_run:
|
|
15
|
+
workflows: ["CI"]
|
|
16
|
+
types: [completed]
|
|
17
|
+
|
|
18
|
+
jobs:
|
|
19
|
+
report:
|
|
20
|
+
if: ${{ github.event.workflow_run.conclusion == 'failure' }}
|
|
21
|
+
runs-on: ubuntu-latest
|
|
22
|
+
steps:
|
|
23
|
+
- uses: actions/checkout@v4
|
|
24
|
+
- run: |
|
|
25
|
+
python3 scripts/gh_ops.py diagnose --suggest-fixes > report.json
|
|
26
|
+
# Send to Slack, email, etc.
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Slack Notification
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
#!/bin/bash
|
|
33
|
+
result=$(python3 gh_ops.py diagnose --suggest-fixes)
|
|
34
|
+
if echo "$result" | jq -e '.errors | length > 0' > /dev/null; then
|
|
35
|
+
curl -X POST "$SLACK_WEBHOOK" \
|
|
36
|
+
-H 'Content-type: application/json' \
|
|
37
|
+
-d "{\"text\": \"CI Failed: $(echo $result | jq -r '.run.url')\"}"
|
|
38
|
+
fi
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## Cron Job for Health Checks
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
# /etc/cron.d/repo-health
|
|
45
|
+
0 9 * * * /usr/bin/python3 /path/to/gh_ops.py health >> /var/log/repo-health.log
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## PR Dashboard
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
# Daily PR review reminder
|
|
52
|
+
python3 gh_ops.py pr-review-queue | jq -r '.[] | "- [\(.title)](\(.url))"'
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## Release Automation
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
#!/bin/bash
|
|
59
|
+
# Auto-release on tag push
|
|
60
|
+
if [[ "$GITHUB_REF" == refs/tags/* ]]; then
|
|
61
|
+
python3 gh_ops.py release --bump patch
|
|
62
|
+
fi
|
|
63
|
+
```
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
---
|
|
2
|
+
phase_relevance: ["build", "review", "operate"]
|
|
3
|
+
archetype_relevance: ["*"]
|
|
4
|
+
---
|
|
5
|
+
# gh_ops.py Reference
|
|
6
|
+
|
|
7
|
+
Unified GitHub operations CLI with intelligent features.
|
|
8
|
+
|
|
9
|
+
## Commands
|
|
10
|
+
|
|
11
|
+
### diagnose
|
|
12
|
+
|
|
13
|
+
Analyze failed workflow runs with categorized errors.
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
python3 gh_ops.py diagnose
|
|
17
|
+
python3 gh_ops.py diagnose --repo owner/name
|
|
18
|
+
python3 gh_ops.py diagnose --suggest-fixes
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
**Error categories detected:**
|
|
22
|
+
- npm/node dependency issues
|
|
23
|
+
- Python import errors
|
|
24
|
+
- Rust compilation errors
|
|
25
|
+
- Resource limits (OOM)
|
|
26
|
+
- Rate limiting
|
|
27
|
+
- Permission issues
|
|
28
|
+
- Timeouts
|
|
29
|
+
|
|
30
|
+
### pr-review-queue
|
|
31
|
+
|
|
32
|
+
List PRs requesting your review across all repos.
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
python3 gh_ops.py pr-review-queue
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### pr-merge-ready
|
|
39
|
+
|
|
40
|
+
Find PRs that are approved, passing CI, and mergeable.
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
python3 gh_ops.py pr-merge-ready --dry-run
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### pr-status
|
|
47
|
+
|
|
48
|
+
Comprehensive PR status with checks, reviews, and stats.
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
python3 gh_ops.py pr-status 123
|
|
52
|
+
python3 gh_ops.py pr-status 123 --repo owner/name
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### release
|
|
56
|
+
|
|
57
|
+
Auto-generate release with changelog from commits.
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
# Preview
|
|
61
|
+
python3 gh_ops.py release --dry-run
|
|
62
|
+
|
|
63
|
+
# Create patch release
|
|
64
|
+
python3 gh_ops.py release --bump patch
|
|
65
|
+
|
|
66
|
+
# Minor release with notes
|
|
67
|
+
python3 gh_ops.py release --bump minor --notes "Breaking: new API"
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
**Changelog categories:**
|
|
71
|
+
- Features: commits starting with "feat" or containing "add"
|
|
72
|
+
- Bug Fixes: commits starting with "fix" or containing "bug"
|
|
73
|
+
- Changes: everything else (excludes merge commits)
|
|
74
|
+
|
|
75
|
+
### health
|
|
76
|
+
|
|
77
|
+
Repository health check.
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
python3 gh_ops.py health
|
|
81
|
+
python3 gh_ops.py health --repo owner/name
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
**Checks:**
|
|
85
|
+
- Branch protection enabled
|
|
86
|
+
- Security advisories count
|
|
87
|
+
- Open Dependabot alerts
|
|
88
|
+
- Recent CI failure rate
|
|
89
|
+
|
|
90
|
+
## Output Format
|
|
91
|
+
|
|
92
|
+
All commands output JSON for easy parsing:
|
|
93
|
+
|
|
94
|
+
```bash
|
|
95
|
+
# Pretty print
|
|
96
|
+
python3 gh_ops.py diagnose | jq '.'
|
|
97
|
+
|
|
98
|
+
# Extract just errors
|
|
99
|
+
python3 gh_ops.py diagnose | jq '.errors[].message'
|
|
100
|
+
|
|
101
|
+
# Get PR URLs needing review
|
|
102
|
+
python3 gh_ops.py pr-review-queue | jq '.[].url'
|
|
103
|
+
```
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
---
|
|
2
|
+
phase_relevance: ["build", "review", "operate"]
|
|
3
|
+
archetype_relevance: ["*"]
|
|
4
|
+
---
|
|
5
|
+
# Common gh CLI Patterns
|
|
6
|
+
|
|
7
|
+
Quick reference for common GitHub CLI operations.
|
|
8
|
+
|
|
9
|
+
## Workflow Debugging
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
# Watch current run
|
|
13
|
+
gh run watch
|
|
14
|
+
|
|
15
|
+
# Re-run only failed jobs
|
|
16
|
+
gh run rerun --failed
|
|
17
|
+
|
|
18
|
+
# View logs for specific job
|
|
19
|
+
gh run view --log --job=build
|
|
20
|
+
|
|
21
|
+
# Cancel running workflow
|
|
22
|
+
gh run cancel
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## PR Management
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
# Create PR with auto-fill
|
|
29
|
+
gh pr create --fill
|
|
30
|
+
|
|
31
|
+
# Create draft PR
|
|
32
|
+
gh pr create --draft
|
|
33
|
+
|
|
34
|
+
# Checkout PR locally
|
|
35
|
+
gh pr checkout 123
|
|
36
|
+
|
|
37
|
+
# View PR diff
|
|
38
|
+
gh pr diff 123
|
|
39
|
+
|
|
40
|
+
# Merge PR
|
|
41
|
+
gh pr merge 123 --squash --delete-branch
|
|
42
|
+
|
|
43
|
+
# Request review
|
|
44
|
+
gh pr edit 123 --add-reviewer @username
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## Search
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
# Your open PRs
|
|
51
|
+
gh search prs --author=@me --state=open
|
|
52
|
+
|
|
53
|
+
# PRs needing review
|
|
54
|
+
gh search prs --review-requested=@me
|
|
55
|
+
|
|
56
|
+
# Recent issues
|
|
57
|
+
gh search issues --repo owner/name --sort=created
|
|
58
|
+
|
|
59
|
+
# Code search
|
|
60
|
+
gh search code "TODO" --language=python
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
## Repository
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
# Clone and cd
|
|
67
|
+
gh repo clone owner/name -- --depth=1
|
|
68
|
+
|
|
69
|
+
# Fork and clone
|
|
70
|
+
gh repo fork --clone
|
|
71
|
+
|
|
72
|
+
# Create from template
|
|
73
|
+
gh repo create new-name --template owner/template
|
|
74
|
+
|
|
75
|
+
# View repo info
|
|
76
|
+
gh repo view --json description,stargazerCount
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
## Issues
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
# Create issue
|
|
83
|
+
gh issue create --title "Bug" --body "Description"
|
|
84
|
+
|
|
85
|
+
# Close with comment
|
|
86
|
+
gh issue close 123 --comment "Fixed in #456"
|
|
87
|
+
|
|
88
|
+
# List your issues
|
|
89
|
+
gh issue list --assignee=@me
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
## Releases
|
|
93
|
+
|
|
94
|
+
```bash
|
|
95
|
+
# Create release
|
|
96
|
+
gh release create v1.0.0 --generate-notes
|
|
97
|
+
|
|
98
|
+
# Upload assets
|
|
99
|
+
gh release upload v1.0.0 ./dist/*
|
|
100
|
+
|
|
101
|
+
# Download assets
|
|
102
|
+
gh release download v1.0.0
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
## API
|
|
106
|
+
|
|
107
|
+
```bash
|
|
108
|
+
# GET request
|
|
109
|
+
gh api repos/:owner/:repo
|
|
110
|
+
|
|
111
|
+
# POST with data
|
|
112
|
+
gh api repos/:owner/:repo/issues -f title="Bug" -f body="desc"
|
|
113
|
+
|
|
114
|
+
# Paginate
|
|
115
|
+
gh api repos/:owner/:repo/issues --paginate
|
|
116
|
+
|
|
117
|
+
# JQ filter
|
|
118
|
+
gh api repos/:owner/:repo --jq '.stargazers_count'
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
## Aliases
|
|
122
|
+
|
|
123
|
+
```bash
|
|
124
|
+
# Create alias
|
|
125
|
+
gh alias set pv 'pr view'
|
|
126
|
+
|
|
127
|
+
# Use alias
|
|
128
|
+
gh pv 123
|
|
129
|
+
|
|
130
|
+
# List aliases
|
|
131
|
+
gh alias list
|
|
132
|
+
```
|