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,196 @@
|
|
|
1
|
+
---
|
|
2
|
+
phase_relevance: ["clarify", "design"]
|
|
3
|
+
archetype_relevance: ["*"]
|
|
4
|
+
---
|
|
5
|
+
# OpenCode CLI — Usage Patterns
|
|
6
|
+
|
|
7
|
+
OpenCode CLI for AI-assisted coding with multiple providers. Supports OpenAI, Anthropic,
|
|
8
|
+
Google, and more. Includes TUI mode, session continuity, and GitHub PR integration.
|
|
9
|
+
|
|
10
|
+
## Installation and Setup
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
# Check if installed
|
|
14
|
+
which opencode
|
|
15
|
+
|
|
16
|
+
# Install
|
|
17
|
+
brew install opencode # or see https://github.com/sst/opencode
|
|
18
|
+
|
|
19
|
+
# Authentication (supports multiple providers)
|
|
20
|
+
opencode auth # Interactive auth setup
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Core Usage Patterns
|
|
24
|
+
|
|
25
|
+
### Non-Interactive (run)
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
# Simple query
|
|
29
|
+
opencode run "Explain this error: ${error_message}"
|
|
30
|
+
|
|
31
|
+
# With file context
|
|
32
|
+
opencode run "Review this code for security issues" -f src/auth.py
|
|
33
|
+
|
|
34
|
+
# Multiple files
|
|
35
|
+
opencode run "How do these modules interact?" -f src/api.ts -f src/db.ts
|
|
36
|
+
|
|
37
|
+
# Specific model
|
|
38
|
+
opencode run -m anthropic/claude-3-5-sonnet "Analyze this design" -f design.md
|
|
39
|
+
|
|
40
|
+
# Continue previous session
|
|
41
|
+
opencode run -c "What about error handling?"
|
|
42
|
+
|
|
43
|
+
# Continue specific session by ID
|
|
44
|
+
opencode run -s SESSION_ID "Follow-up question"
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### Interactive TUI Session
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
# Start in current directory
|
|
51
|
+
opencode
|
|
52
|
+
|
|
53
|
+
# Start in specific project
|
|
54
|
+
opencode /path/to/project
|
|
55
|
+
|
|
56
|
+
# Open web interface
|
|
57
|
+
opencode web
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### GitHub Integration
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
# Fetch and review a PR
|
|
64
|
+
opencode pr 123
|
|
65
|
+
|
|
66
|
+
# Work with GitHub agent
|
|
67
|
+
opencode github
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
## Model Selection
|
|
71
|
+
|
|
72
|
+
OpenCode's key differentiator: switch providers without changing workflow.
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
# OpenAI models
|
|
76
|
+
opencode run -m openai/gpt-4o "Query"
|
|
77
|
+
opencode run -m openai/o1 --variant high "Complex analysis"
|
|
78
|
+
|
|
79
|
+
# Anthropic models
|
|
80
|
+
opencode run -m anthropic/claude-3-5-sonnet "Query"
|
|
81
|
+
|
|
82
|
+
# Google models
|
|
83
|
+
opencode run -m google/gemini-1.5-pro "Query"
|
|
84
|
+
|
|
85
|
+
# List available models
|
|
86
|
+
opencode models
|
|
87
|
+
opencode models openai
|
|
88
|
+
opencode models anthropic
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
## Multi-Provider Comparison
|
|
92
|
+
|
|
93
|
+
Use OpenCode to get the same query answered by multiple providers:
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
PROMPT="Review this auth design for security issues"
|
|
97
|
+
FILE="docs/auth-design.md"
|
|
98
|
+
|
|
99
|
+
# GPT-4o perspective
|
|
100
|
+
opencode run -m openai/gpt-4o "$PROMPT" -f "$FILE" > gpt4o_review.md
|
|
101
|
+
|
|
102
|
+
# Claude perspective (via OpenCode, not current session)
|
|
103
|
+
opencode run -m anthropic/claude-3-5-sonnet "$PROMPT" -f "$FILE" > claude_review.md
|
|
104
|
+
|
|
105
|
+
# Gemini perspective
|
|
106
|
+
opencode run -m google/gemini-1.5-pro "$PROMPT" -f "$FILE" > gemini_review.md
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
## Native Task Tracking
|
|
110
|
+
|
|
111
|
+
```
|
|
112
|
+
# Create review task
|
|
113
|
+
TaskCreate(
|
|
114
|
+
subject="Multi-provider review: checkout flow",
|
|
115
|
+
metadata={
|
|
116
|
+
"event_type": "task",
|
|
117
|
+
"chain_id": "checkout-review.root",
|
|
118
|
+
"source_agent": "multi-model:opencode",
|
|
119
|
+
"priority": "P1"
|
|
120
|
+
}
|
|
121
|
+
)
|
|
122
|
+
|
|
123
|
+
# Capture GPT-4o perspective and append via TaskUpdate
|
|
124
|
+
# OPENCODE_REVIEW=$(opencode run -m openai/gpt-4o "Review" -f src/checkout.ts)
|
|
125
|
+
# TaskUpdate(taskId, description="{previous}\n\nopencode (gpt-4o): ${OPENCODE_REVIEW}")
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
## Command Reference
|
|
129
|
+
|
|
130
|
+
| Command | Description |
|
|
131
|
+
|---------|-------------|
|
|
132
|
+
| `opencode` | Interactive TUI session |
|
|
133
|
+
| `opencode run "message"` | Non-interactive one-shot |
|
|
134
|
+
| `opencode run -f file "query"` | Query with file context |
|
|
135
|
+
| `opencode run -c "follow up"` | Continue last session |
|
|
136
|
+
| `opencode pr 123` | Work on GitHub PR |
|
|
137
|
+
| `opencode models` | List available models |
|
|
138
|
+
| `opencode auth` | Configure provider authentication |
|
|
139
|
+
| `opencode web` | Open web interface |
|
|
140
|
+
|
|
141
|
+
## Options Reference
|
|
142
|
+
|
|
143
|
+
| Option | Description |
|
|
144
|
+
|--------|-------------|
|
|
145
|
+
| `-m provider/model` | Select model |
|
|
146
|
+
| `-f path` | Attach file(s) |
|
|
147
|
+
| `-c` | Continue last session |
|
|
148
|
+
| `-s SESSION_ID` | Continue specific session |
|
|
149
|
+
| `--variant high` | Reasoning effort variant |
|
|
150
|
+
|
|
151
|
+
## Strengths
|
|
152
|
+
|
|
153
|
+
| Area | Description |
|
|
154
|
+
|------|-------------|
|
|
155
|
+
| Multi-provider | One CLI, any provider — ideal for comparison |
|
|
156
|
+
| Session continuity | `-c` flag continues conversations naturally |
|
|
157
|
+
| GitHub integration | Native PR review and issue management |
|
|
158
|
+
| TUI mode | Full interactive coding sessions |
|
|
159
|
+
|
|
160
|
+
## Best Practices
|
|
161
|
+
|
|
162
|
+
1. **Use for multi-provider comparison** — OpenCode's main advantage is provider flexibility
|
|
163
|
+
2. **Session continuity** — Use `-c` for follow-up questions without losing context
|
|
164
|
+
3. **PR reviews** — `opencode pr 123` for native GitHub PR review
|
|
165
|
+
4. **File context** — Use `-f` to attach files cleanly (vs piping)
|
|
166
|
+
|
|
167
|
+
## Session Management
|
|
168
|
+
|
|
169
|
+
```bash
|
|
170
|
+
# Start a session
|
|
171
|
+
opencode run "Let's review the auth design" -f design.md
|
|
172
|
+
|
|
173
|
+
# Continue naturally
|
|
174
|
+
opencode run -c "What about the token refresh strategy?"
|
|
175
|
+
opencode run -c "How does this compare to session-based auth?"
|
|
176
|
+
|
|
177
|
+
# Or use specific session ID for parallel threads
|
|
178
|
+
SESSION_A=$(opencode run -m openai/gpt-4o "Review" -f design.md | grep "session:" | awk '{print $2}')
|
|
179
|
+
opencode run -s "$SESSION_A" -c "Deeper dive on security"
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
## Common Prompts
|
|
183
|
+
|
|
184
|
+
```bash
|
|
185
|
+
# Architecture review with GPT-4o
|
|
186
|
+
opencode run -m openai/gpt-4o "Architecture review: scalability, coupling, and missing abstractions" -f design.md
|
|
187
|
+
|
|
188
|
+
# PR review
|
|
189
|
+
opencode pr 123 # Interactive; or:
|
|
190
|
+
gh pr diff 123 | opencode run "Code review: flag issues and missing tests"
|
|
191
|
+
|
|
192
|
+
# Multi-provider comparison
|
|
193
|
+
for model in openai/gpt-4o anthropic/claude-3-5-sonnet google/gemini-1.5-pro; do
|
|
194
|
+
echo "=== $model ===" && opencode run -m "$model" "Security review" -f src/auth.py
|
|
195
|
+
done
|
|
196
|
+
```
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
---
|
|
2
|
+
phase_relevance: ["clarify", "design"]
|
|
3
|
+
archetype_relevance: ["*"]
|
|
4
|
+
---
|
|
5
|
+
# Multi-Model Orchestration Patterns
|
|
6
|
+
|
|
7
|
+
Patterns for coordinating multiple AI models via external CLI dispatch.
|
|
8
|
+
Each model responds independently to a fixed question scaffold, then Claude synthesizes.
|
|
9
|
+
|
|
10
|
+
## The Orchestration Loop
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
1. Detect CLIs (which codex gemini opencode pi)
|
|
14
|
+
2. Quorum check (need 2+ for true council)
|
|
15
|
+
3. Build question scaffold (4 fixed questions)
|
|
16
|
+
4. Dispatch scaffold to each CLI in parallel (stdin pipe)
|
|
17
|
+
5. Claude answers the same scaffold independently
|
|
18
|
+
6. Synthesize all responses (3-stage output)
|
|
19
|
+
7. Persist transcript + decision record
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## CLI Detection
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
# Council agent detects available CLIs at runtime
|
|
26
|
+
which codex 2>/dev/null && echo "codex:available" || echo "codex:missing"
|
|
27
|
+
which copilot 2>/dev/null && echo "copilot:available" || echo "copilot:missing"
|
|
28
|
+
which gemini 2>/dev/null && echo "gemini:available" || echo "gemini:missing"
|
|
29
|
+
which opencode 2>/dev/null && echo "opencode:available" || echo "opencode:missing"
|
|
30
|
+
which pi 2>/dev/null && echo "pi:available" || echo "pi:missing"
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
### Quorum Rules
|
|
34
|
+
|
|
35
|
+
| Available External CLIs | Behavior |
|
|
36
|
+
|------------------------|----------|
|
|
37
|
+
| 0 | Refuse council. Suggest `/jam:brainstorm` instead. |
|
|
38
|
+
| 1 | Run as "brainstorm with external guest" — warn not a true council. |
|
|
39
|
+
| 2+ | Full council mode. |
|
|
40
|
+
|
|
41
|
+
## Question Scaffold
|
|
42
|
+
|
|
43
|
+
Every external model answers the **same fixed question set** for comparability:
|
|
44
|
+
|
|
45
|
+
```
|
|
46
|
+
Topic: {topic}
|
|
47
|
+
Options under evaluation: {options}
|
|
48
|
+
Evaluation criteria: {criteria}
|
|
49
|
+
|
|
50
|
+
Answer these 4 questions:
|
|
51
|
+
|
|
52
|
+
1. RECOMMENDATION: Which option do you recommend and why?
|
|
53
|
+
2. TOP RISK: What is the single biggest risk in your recommendation?
|
|
54
|
+
3. WHAT WOULD CHANGE YOUR MIND: What evidence would reverse your recommendation?
|
|
55
|
+
4. DISQUALIFIER: Is any option fundamentally unviable? If so, which and why?
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## Parallel Dispatch
|
|
59
|
+
|
|
60
|
+
**Non-negotiable**: Each model responds independently. No model sees another's output.
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
# Write scaffold to temp file (avoids shell quoting issues)
|
|
64
|
+
SCAFFOLD_FILE="${TMPDIR:-/tmp}/council-scaffold-$$.md"
|
|
65
|
+
cat > "$SCAFFOLD_FILE" <<'SCAFFOLD_EOF'
|
|
66
|
+
{question_scaffold_content}
|
|
67
|
+
SCAFFOLD_EOF
|
|
68
|
+
|
|
69
|
+
# Dispatch in parallel (all run simultaneously via multiple Bash calls)
|
|
70
|
+
cat "$SCAFFOLD_FILE" | codex exec "Evaluate the options. Answer the 4 questions."
|
|
71
|
+
cat "$SCAFFOLD_FILE" | copilot -p "Evaluate the options. Answer the 4 questions." --output-format text --available-tools=""
|
|
72
|
+
cat "$SCAFFOLD_FILE" | gemini "Evaluate the options. Answer the 4 questions."
|
|
73
|
+
cat "$SCAFFOLD_FILE" | opencode run "Evaluate the options. Answer the 4 questions."
|
|
74
|
+
cat "$SCAFFOLD_FILE" | pi exec "Evaluate the options. Answer the 4 questions."
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
Claude also answers the scaffold independently before reading external responses.
|
|
78
|
+
|
|
79
|
+
## Synthesis Framework
|
|
80
|
+
|
|
81
|
+
### Three-Stage Output
|
|
82
|
+
|
|
83
|
+
**Stage 1: Independent Responses** — Raw answers per model, clearly separated.
|
|
84
|
+
|
|
85
|
+
```markdown
|
|
86
|
+
## Council Evaluation: {topic}
|
|
87
|
+
|
|
88
|
+
*Each model responded independently. No model saw another's output.*
|
|
89
|
+
|
|
90
|
+
### Claude
|
|
91
|
+
{Claude's 4 answers}
|
|
92
|
+
|
|
93
|
+
### Codex
|
|
94
|
+
{Codex's 4 answers}
|
|
95
|
+
|
|
96
|
+
### Gemini
|
|
97
|
+
{Gemini's 4 answers}
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
**Stage 2: Synthesis Matrix** — Structured comparison.
|
|
101
|
+
|
|
102
|
+
```markdown
|
|
103
|
+
| Model | Recommendation | Top Risk | Disqualifier |
|
|
104
|
+
|-------|---------------|----------|-------------|
|
|
105
|
+
| Claude | {option} | {risk} | {disqualifier or None} |
|
|
106
|
+
| Codex | {option} | {risk} | {disqualifier or None} |
|
|
107
|
+
| Gemini | {option} | {risk} | {disqualifier or None} |
|
|
108
|
+
|
|
109
|
+
### Risk Convergence
|
|
110
|
+
**High signal** (3+ models cite): {risks in 3+ responses}
|
|
111
|
+
**Notable** (1-2 models cite): {risks from 1-2 responses}
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
**Stage 3: Verdict** — Consensus or fault lines.
|
|
115
|
+
|
|
116
|
+
```markdown
|
|
117
|
+
## Verdict
|
|
118
|
+
**Council recommends {Option X}** ({count}-{dissent}).
|
|
119
|
+
Primary risk: {most-cited risk}.
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
Or if no consensus:
|
|
123
|
+
```markdown
|
|
124
|
+
## Verdict
|
|
125
|
+
**No consensus.** Fault lines: {Option A} vs {Option B}.
|
|
126
|
+
Key disagreement: {fundamental question models disagree on}.
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
## Transcript Persistence
|
|
130
|
+
|
|
131
|
+
Council responses are persisted via `save_transcript.py`:
|
|
132
|
+
|
|
133
|
+
```bash
|
|
134
|
+
sh "${CLAUDE_PLUGIN_ROOT}/scripts/_python.sh" "${CLAUDE_PLUGIN_ROOT}/scripts/jam/save_transcript.py" \
|
|
135
|
+
--session-id "{session_id}" \
|
|
136
|
+
--entries '{json_array_of_entries}'
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
Each model response becomes one entry:
|
|
140
|
+
```json
|
|
141
|
+
{
|
|
142
|
+
"session_id": "{session_id}",
|
|
143
|
+
"round": 1,
|
|
144
|
+
"persona_name": "Gemini",
|
|
145
|
+
"persona_type": "council",
|
|
146
|
+
"raw_text": "{full response}",
|
|
147
|
+
"timestamp": "{ISO timestamp}",
|
|
148
|
+
"entry_type": "council_response"
|
|
149
|
+
}
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
Synthesis is appended as `entry_type: synthesis`, `persona_name: Council`.
|
|
153
|
+
|
|
154
|
+
### Decision Records (via wicked-brain:memory)
|
|
155
|
+
|
|
156
|
+
```
|
|
157
|
+
Skill(skill="wicked-brain:memory", args="store \"Auth: JWT with 15min/7day expiry.\nCouncil: Claude (architect), Gemini (security), Codex (ux).\nConsensus: idempotency critical, session store risky at scale.\nUnique: Gemini flagged Redis cluster cost.\" --type decision --tags auth,council")
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
## Anti-Patterns
|
|
161
|
+
|
|
162
|
+
```
|
|
163
|
+
# BAD: No quorum check
|
|
164
|
+
Run council with 0 external CLIs # just Claude talking to itself
|
|
165
|
+
|
|
166
|
+
# GOOD: Check quorum first
|
|
167
|
+
which codex copilot gemini opencode pi # need 2+ for real council
|
|
168
|
+
|
|
169
|
+
# BAD: Sequential dispatch (one model could influence the next)
|
|
170
|
+
response1=$(codex exec "$q"); echo "$response1" | gemini "$q"
|
|
171
|
+
|
|
172
|
+
# GOOD: Parallel dispatch (all independent)
|
|
173
|
+
codex exec "$q" & gemini "$q" & # simultaneous, isolated
|
|
174
|
+
|
|
175
|
+
# BAD: Confidence scores in synthesis
|
|
176
|
+
"Gemini is 85% confident..." # LLMs produce uncalibrated numbers
|
|
177
|
+
|
|
178
|
+
# GOOD: Risk convergence
|
|
179
|
+
"3/3 models flagged this risk" # count-based signal
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
## Important Rules
|
|
183
|
+
|
|
184
|
+
1. **No confidence scores** — Use risk convergence (count-based) instead
|
|
185
|
+
2. **No rounds** — Single structured pass; rounds break isolation
|
|
186
|
+
3. **No editorial gloss on Stage 1** — Present raw answers without interpretation
|
|
187
|
+
4. **Parallel only** — Never run CLIs sequentially
|
|
188
|
+
5. **Claude participates** — Always a council member, same scaffold
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
---
|
|
2
|
+
phase_relevance: ["clarify", "design"]
|
|
3
|
+
archetype_relevance: ["*"]
|
|
4
|
+
---
|
|
5
|
+
# Pi CLI — Usage Patterns
|
|
6
|
+
|
|
7
|
+
`pi` is a coding-agent CLI (`@mariozechner/pi-coding-agent` on npm). Configurable across Google, OpenAI, Anthropic, and more; works as a council member via non-interactive `-p` mode with `@file` attachments.
|
|
8
|
+
|
|
9
|
+
> **Note:** This is *not* the retired Inflection Pi-Mono CLI. That project ended; `pi` today is Mario Zechner's coding agent.
|
|
10
|
+
|
|
11
|
+
## Installation and Setup
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
# Check if installed
|
|
15
|
+
which pi
|
|
16
|
+
|
|
17
|
+
# Install (npm global)
|
|
18
|
+
npm install -g @mariozechner/pi-coding-agent
|
|
19
|
+
|
|
20
|
+
# Configure provider — picks Google by default
|
|
21
|
+
# Set provider API keys as env vars
|
|
22
|
+
export GEMINI_API_KEY="..." # default provider
|
|
23
|
+
export OPENAI_API_KEY="..."
|
|
24
|
+
export ANTHROPIC_API_KEY="..."
|
|
25
|
+
|
|
26
|
+
# Override default provider/model per call
|
|
27
|
+
pi --provider anthropic --model claude-sonnet-4-5 "..."
|
|
28
|
+
pi --model openai/gpt-4o "..."
|
|
29
|
+
pi --model sonnet:high "..." # thinking-level shorthand
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## Core Usage Patterns
|
|
33
|
+
|
|
34
|
+
### Non-Interactive (`-p` / `--print`)
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
# Simple query
|
|
38
|
+
pi -p "Evaluate this user onboarding flow for clarity and warmth"
|
|
39
|
+
|
|
40
|
+
# Attach files via @file syntax
|
|
41
|
+
pi -p "Review this welcome email for tone and empathy" @src/emails/welcome.md
|
|
42
|
+
|
|
43
|
+
# Multiple attachments
|
|
44
|
+
pi -p "Answer the 4 questions in the attached scaffold." @scaffold.md
|
|
45
|
+
|
|
46
|
+
# Specific provider + model
|
|
47
|
+
pi --provider anthropic --model claude-sonnet-4-5 -p "Analyze trade-offs" @options.md
|
|
48
|
+
|
|
49
|
+
# Thinking level
|
|
50
|
+
pi --thinking high -p "Solve this complex decision" @context.md
|
|
51
|
+
|
|
52
|
+
# Ephemeral — do not save session
|
|
53
|
+
pi --no-session -p "One-off question" @scaffold.md
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### Interactive Session
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
# Start interactive
|
|
60
|
+
pi
|
|
61
|
+
|
|
62
|
+
# Start with initial prompt
|
|
63
|
+
pi "Let's discuss the user experience implications of this design"
|
|
64
|
+
|
|
65
|
+
# Continue previous session
|
|
66
|
+
pi --continue "What did we decide?"
|
|
67
|
+
|
|
68
|
+
# Select a session to resume
|
|
69
|
+
pi --resume
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
### Decision Evaluation
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
# Human factors analysis
|
|
76
|
+
pi -p "What are the human factors in this technical decision?" @decision.md
|
|
77
|
+
|
|
78
|
+
# Communication review
|
|
79
|
+
pi -p "How will different stakeholders interpret this announcement?" @announcement.md
|
|
80
|
+
|
|
81
|
+
# User journey review
|
|
82
|
+
pi -p "Where will users get confused or frustrated?" @flows/checkout.md
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
## Pi's Distinct Role in Multi-Model Sessions
|
|
86
|
+
|
|
87
|
+
Pi is configurable across providers, so its "voice" depends on which model is selected. When pointed at a capable conversational model, it contributes empathetic perspective-taking and stakeholder framing — a useful counterweight to the code-editor framing of `aider` or the architectural framing of `codex`.
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
# Technical review via codex
|
|
91
|
+
cat src/auth.py | codex exec "Technical security review"
|
|
92
|
+
|
|
93
|
+
# Human-factor framing via pi (anthropic Sonnet)
|
|
94
|
+
pi --provider anthropic --model claude-sonnet-4-5 -p \
|
|
95
|
+
"How will error states and edge cases affect the user experience?" @src/auth.py
|
|
96
|
+
|
|
97
|
+
# Communication review via pi (google)
|
|
98
|
+
pi -p "Is this message clear and empathetic to affected users?" @docs/deprecation-notice.md
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
## Strengths
|
|
102
|
+
|
|
103
|
+
| Area | Description |
|
|
104
|
+
|------|-------------|
|
|
105
|
+
| Empathetic reasoning | Evaluates human factors and emotional impact |
|
|
106
|
+
| Communication tone | Analyzes and improves tone, clarity, and warmth |
|
|
107
|
+
| User advocacy | Champions end-user experience in technical decisions |
|
|
108
|
+
| Balanced perspective | Provides nuanced trade-off analysis |
|
|
109
|
+
| Stakeholder analysis | Considers diverse stakeholder responses |
|
|
110
|
+
|
|
111
|
+
## Multi-Model Collaboration
|
|
112
|
+
|
|
113
|
+
Pi provides the human-factor voice in council sessions:
|
|
114
|
+
|
|
115
|
+
```bash
|
|
116
|
+
CONTEXT="docs/auth-design.md"
|
|
117
|
+
|
|
118
|
+
# Technical reviews
|
|
119
|
+
cat "$CONTEXT" | codex exec "Architecture review: technical risks"
|
|
120
|
+
cat "$CONTEXT" | gemini "Security and scalability analysis"
|
|
121
|
+
|
|
122
|
+
# Human factors review (Pi's unique contribution)
|
|
123
|
+
cat "$CONTEXT" | pi exec "User experience and human factors: where will users struggle? \
|
|
124
|
+
What error states are confusing? What emotional impact does this design have?"
|
|
125
|
+
|
|
126
|
+
# Synthesize all perspectives
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
## Native Task Tracking
|
|
130
|
+
|
|
131
|
+
```
|
|
132
|
+
# Create review task
|
|
133
|
+
TaskCreate(
|
|
134
|
+
subject="UX impact review: new auth flow",
|
|
135
|
+
metadata={
|
|
136
|
+
"event_type": "task",
|
|
137
|
+
"chain_id": "ux-review.root",
|
|
138
|
+
"source_agent": "multi-model:pi",
|
|
139
|
+
"priority": "P1"
|
|
140
|
+
}
|
|
141
|
+
)
|
|
142
|
+
|
|
143
|
+
# Get Pi's perspective and append to the task description via TaskUpdate
|
|
144
|
+
# PI_REVIEW=$(cat design.md | pi exec "User experience analysis")
|
|
145
|
+
# TaskUpdate(taskId, description="{previous}\n\nPi (user advocacy): ${PI_REVIEW}")
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
## Command Reference
|
|
149
|
+
|
|
150
|
+
| Command | Description |
|
|
151
|
+
|---------|-------------|
|
|
152
|
+
| `pi [PROMPT]` | Interactive session |
|
|
153
|
+
| `pi -p PROMPT` | Non-interactive, one-shot |
|
|
154
|
+
| `pi -p PROMPT @FILE` | Non-interactive with file attached |
|
|
155
|
+
| `pi --continue` | Continue previous session |
|
|
156
|
+
| `pi --resume` | Select a session to resume |
|
|
157
|
+
|
|
158
|
+
## Options Reference
|
|
159
|
+
|
|
160
|
+
| Option | Description |
|
|
161
|
+
|--------|-------------|
|
|
162
|
+
| `-p`, `--print` | Non-interactive mode |
|
|
163
|
+
| `--provider NAME` | `google` (default), `openai`, `anthropic`, `github-copilot`, etc. |
|
|
164
|
+
| `--model PATTERN` | e.g. `claude-sonnet-4-5`, `openai/gpt-4o`, `sonnet:high` |
|
|
165
|
+
| `--thinking LEVEL` | `off`, `minimal`, `low`, `medium`, `high`, `xhigh` |
|
|
166
|
+
| `--system-prompt TEXT` | Override default system prompt |
|
|
167
|
+
| `--append-system-prompt TEXT` | Append to default system prompt |
|
|
168
|
+
| `--no-tools` | Disable tool use (pure Q&A) |
|
|
169
|
+
| `--no-session` | Do not persist this session |
|
|
170
|
+
| `@FILE` | Attach file content to the message |
|
|
171
|
+
|
|
172
|
+
## Council Sessions
|
|
173
|
+
|
|
174
|
+
Pi is particularly valuable in `/wicked-garden:jam:council` sessions. Pi's voice represents
|
|
175
|
+
user empathy and human-centered design in a panel of technical perspectives:
|
|
176
|
+
|
|
177
|
+
```bash
|
|
178
|
+
/wicked-garden:jam:council "Should we use biometric auth or PIN codes for mobile login?"
|
|
179
|
+
# Pi's persona argues for user comfort, accessibility, and emotional safety
|
|
180
|
+
# Technical personas argue implementation and security trade-offs
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
## Best Practices
|
|
184
|
+
|
|
185
|
+
1. **Use for human factors** — Pi excels at evaluating user impact and communication
|
|
186
|
+
2. **Review communications** — Error messages, announcements, onboarding copy all benefit from Pi
|
|
187
|
+
3. **Pipe content** — Use stdin or `-f` for context
|
|
188
|
+
4. **Council sessions** — Pi's empathetic voice is essential in decision councils
|
|
189
|
+
5. **Track insights** — Record Pi's perspectives via native TaskUpdate or wicked-brain:memory
|
|
190
|
+
|
|
191
|
+
## Common Prompts
|
|
192
|
+
|
|
193
|
+
```bash
|
|
194
|
+
# Error message review
|
|
195
|
+
pi -p "Are these error messages helpful and non-alarming for users?" @src/errors.ts
|
|
196
|
+
|
|
197
|
+
# Onboarding flow
|
|
198
|
+
pi -p "Where will new users get confused? What's missing?" @docs/onboarding.md
|
|
199
|
+
|
|
200
|
+
# Technical decision — user impact
|
|
201
|
+
pi -p "What is the user impact of this technical choice? Who is most affected and how?" @decision.md
|
|
202
|
+
|
|
203
|
+
# Stakeholder communication
|
|
204
|
+
pi -p "How will engineers, managers, and end-users each interpret this announcement? What's unclear or alarming?" @announcement.md
|
|
205
|
+
|
|
206
|
+
# Trade-off analysis
|
|
207
|
+
pi --thinking high -p "Analyze these options from a human perspective. Which is more intuitive? Which creates more user burden?" @options.md
|
|
208
|
+
```
|