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,168 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: wicked-garden-multi-model
|
|
3
|
+
context: fork
|
|
4
|
+
description: |
|
|
5
|
+
Multi-model AI collaboration: discover installed LLM CLIs and orchestrate
|
|
6
|
+
council sessions, cross-model reviews, and diverse perspective gathering.
|
|
7
|
+
Detects 20+ agentic/chat/local CLIs at runtime from a machine-readable
|
|
8
|
+
registry (scripts/jam/agentic_cli_registry.py) and usability-probes them
|
|
9
|
+
(scripts/jam/detect_clis.py --probe) so auth-revoked / unconfigured /
|
|
10
|
+
daemon-down CLIs are excluded.
|
|
11
|
+
Decisions stored in wicked-brain:memory. Transcripts persisted via jam scripts.
|
|
12
|
+
|
|
13
|
+
Use when: running a council session across multiple LLM CLIs, getting a
|
|
14
|
+
second opinion from a different model on a decision, or doing a cross-model
|
|
15
|
+
code or architecture review.
|
|
16
|
+
phase_relevance: ["clarify", "design"]
|
|
17
|
+
archetype_relevance: ["*"]
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
# Multi-Model Collaboration Skill
|
|
21
|
+
|
|
22
|
+
Orchestrate multi-model AI collaboration using external LLM CLIs.
|
|
23
|
+
Each council member is a different model provider for genuine perspective diversity.
|
|
24
|
+
|
|
25
|
+
## How It Works
|
|
26
|
+
|
|
27
|
+
The multi-model system uses **external LLM CLIs** discovered + probed at runtime
|
|
28
|
+
from the registry — never a hand-maintained `which` list:
|
|
29
|
+
|
|
30
|
+
1. **Detect + Probe** — `detect_clis.py --probe` reads the registry, `shutil.which`-es
|
|
31
|
+
each binary, then runs each detected CLI's headless form (with registry trust
|
|
32
|
+
flags) on a trivial prompt to classify **usable** vs **installed-but-unusable**
|
|
33
|
+
(auth revoked / no provider / daemon down). Captures version strings to
|
|
34
|
+
disambiguate binary collisions (`grok`, `agent`, `forge`, `q`).
|
|
35
|
+
2. **Quorum Check** — Council requires 2+ **usable external** CLIs; below that,
|
|
36
|
+
fill seats with `Task()` subagents so a real council always convenes.
|
|
37
|
+
3. **Question Scaffold** — All models answer the same fixed 4-question set
|
|
38
|
+
4. **Parallel Dispatch** — Each usable CLI is invoked per its registry `input_mode`,
|
|
39
|
+
isolated + sandboxed + timeboxed, runs independently
|
|
40
|
+
5. **Synthesis** — Claude synthesizes all perspectives with model attribution
|
|
41
|
+
|
|
42
|
+
## Quick Start
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
# Council mode — dispatches to external CLIs in parallel
|
|
46
|
+
/jam:council "Should we use JWT or sessions for auth?"
|
|
47
|
+
|
|
48
|
+
# Quick jam — single model, 4 personas, fast
|
|
49
|
+
/jam:quick "How should we improve the visual design?"
|
|
50
|
+
|
|
51
|
+
# Full brainstorm — single model, 4-6 personas, 2-3 rounds
|
|
52
|
+
/jam:brainstorm "Architecture for the notification system"
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## Supported CLIs
|
|
56
|
+
|
|
57
|
+
The supported-CLI list is **not maintained here** — it lives in the registry
|
|
58
|
+
(`scripts/jam/agentic_cli_registry.py`), one record per CLI with its headless
|
|
59
|
+
invocation, input mode, model-flag style, trust flags, auth hint, and install
|
|
60
|
+
commands. Run `detect_clis.py --list` to dump it. This is the de-drift source
|
|
61
|
+
of truth; do not re-list flags in prose.
|
|
62
|
+
|
|
63
|
+
The registry currently covers **20+ CLIs** across three categories:
|
|
64
|
+
|
|
65
|
+
- **agentic-coder** — `claude`, `codex`, `gemini`, `agy` (Antigravity), `pi`,
|
|
66
|
+
`opencode`, `aider`, `copilot`, `goose`, `cursor-agent`, `amp`, `droid`,
|
|
67
|
+
`qwen`, `crush`, `openhands`, `gptme`, `interpreter` (+ confirm-on-probe:
|
|
68
|
+
`grok`, `forge`, `continue`, `cline`).
|
|
69
|
+
- **chat** — `llm`, `aichat`, `mods`, `sgpt`, `q` (Amazon Q / `kiro-cli`).
|
|
70
|
+
- **local-runner** — `ollama` (needs a running daemon + a pulled model).
|
|
71
|
+
|
|
72
|
+
Records flagged `confirm-on-probe` have an uncertain headless flag — the probe
|
|
73
|
+
verifies them before the council relies on them. Deprecated / winding-down
|
|
74
|
+
tools (`cody`, `plandex`) ship `enabled_for_council=False`.
|
|
75
|
+
|
|
76
|
+
Claude always participates as a council member (in-process host) alongside the
|
|
77
|
+
usable external CLIs.
|
|
78
|
+
|
|
79
|
+
## Architecture
|
|
80
|
+
|
|
81
|
+
```
|
|
82
|
+
┌─────────────────────────────────────────────────────┐
|
|
83
|
+
│ /jam:council Command │
|
|
84
|
+
│ - Parses topic, options, criteria │
|
|
85
|
+
│ - Dispatches to council agent │
|
|
86
|
+
├─────────────────────────────────────────────────────┤
|
|
87
|
+
│ Council Agent (agents/jam/council.md) │
|
|
88
|
+
│ - detect_clis.py --probe (registry-driven) │
|
|
89
|
+
│ - Builds question scaffold (4 fixed questions) │
|
|
90
|
+
│ - Renders each usable CLI per its input_mode │
|
|
91
|
+
│ - Claude answers the same scaffold independently │
|
|
92
|
+
├─────────────────────────────────────────────────────┤
|
|
93
|
+
│ Detect + Probe (scripts/jam/detect_clis.py) │
|
|
94
|
+
│ - registry → shutil.which → headless usability probe│
|
|
95
|
+
│ - usable vs installed-but-unusable (auth/provider/ │
|
|
96
|
+
│ daemon); version strings for collision disambig │
|
|
97
|
+
│ - <2 usable external → Task() subagent fallback tier│
|
|
98
|
+
├─────────────────────────────────────────────────────┤
|
|
99
|
+
│ Synthesis (3-stage) │
|
|
100
|
+
│ - Stage 1: Raw responses per model │
|
|
101
|
+
│ - Stage 2: Synthesis matrix + risk convergence │
|
|
102
|
+
│ - Stage 3: Verdict (consensus or fault lines) │
|
|
103
|
+
└─────────────────────────────────────────────────────┘
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
## Synthesis Framework
|
|
107
|
+
|
|
108
|
+
After gathering perspectives from different models, synthesize using:
|
|
109
|
+
|
|
110
|
+
| Signal | Meaning | Action |
|
|
111
|
+
|--------|---------|--------|
|
|
112
|
+
| **Consensus** (2+ models agree) | High confidence issue | Address immediately |
|
|
113
|
+
| **Unique insight** | One model caught it | Evaluate carefully |
|
|
114
|
+
| **Disagreement** | Genuine tradeoff | Human decides |
|
|
115
|
+
| **Silence** | No model flagged it | Lower priority |
|
|
116
|
+
|
|
117
|
+
## Persistence
|
|
118
|
+
|
|
119
|
+
### Automatic (via save_transcript.py)
|
|
120
|
+
|
|
121
|
+
Council responses are persisted as transcript entries:
|
|
122
|
+
- Each model's response stored with `persona_type: council`
|
|
123
|
+
- Synthesis appended as `entry_type: synthesis`
|
|
124
|
+
- Retrievable via `wicked-brain:query` for past session context
|
|
125
|
+
|
|
126
|
+
### Manual (via wicked-brain:memory)
|
|
127
|
+
|
|
128
|
+
Store decisions with full attribution:
|
|
129
|
+
|
|
130
|
+
```
|
|
131
|
+
Skill(skill="wicked-brain:memory", args="store \"Auth: JWT with 15min/7day expiry.\nConsensus: Claude, Gemini, Codex (idempotency critical).\nUnique: Gemini flagged session store scaling concern.\nDissent: none.\" --type decision --tags auth,multi-model-review")
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
## When to Use Multi-Model
|
|
135
|
+
|
|
136
|
+
| Situation | Recommendation |
|
|
137
|
+
|-----------|----------------|
|
|
138
|
+
| Architecture decisions | Yes — high impact, catch blind spots |
|
|
139
|
+
| Security review | Yes — different models flag different risks |
|
|
140
|
+
| Important PRs | Yes — diverse review perspectives |
|
|
141
|
+
| Visual/UX design | Yes — different aesthetic sensibilities |
|
|
142
|
+
| Quick bug fix | No — overhead not worth it |
|
|
143
|
+
| Routine code | No — single AI sufficient |
|
|
144
|
+
|
|
145
|
+
## Fallback Behavior
|
|
146
|
+
|
|
147
|
+
Quorum is counted over **usable external** CLIs (post-probe), not raw
|
|
148
|
+
detections. When fewer than 2 are usable, council fills the empty seats with
|
|
149
|
+
`Task()` subagents (distinct framing personas, isolated + parallel) so a real
|
|
150
|
+
council always convenes — these in-harness seats are weaker diversity than
|
|
151
|
+
external vendors and are labelled as such in the synthesis. With exactly 1
|
|
152
|
+
usable external CLI it runs as "single external guest" (optionally topped up
|
|
153
|
+
with subagent seats). Only if neither external CLIs nor subagents are available
|
|
154
|
+
does it suggest `/jam:brainstorm` (single-model, multi-persona).
|
|
155
|
+
|
|
156
|
+
## References
|
|
157
|
+
|
|
158
|
+
**Orchestration:**
|
|
159
|
+
- [Orchestration Patterns](refs/orchestration.md) — CLI dispatch, parallel execution, synthesis
|
|
160
|
+
- [Context Management](refs/context.md) — Session state, cross-AI handoffs, context windows
|
|
161
|
+
|
|
162
|
+
**CLI Providers:**
|
|
163
|
+
- [Codex](refs/codex.md) | [Copilot](refs/copilot.md) | [Gemini](refs/gemini.md) | [OpenCode](refs/opencode.md) | [Pi](refs/pi.md)
|
|
164
|
+
- [Aider](refs/aider.md) | [llm](refs/llm.md) | [aichat](refs/aichat.md) | [Goose](refs/goose.md)
|
|
165
|
+
|
|
166
|
+
**Quality:**
|
|
167
|
+
- [Auditability](refs/auditability.md) — Audit trails, compliance, decision tracking
|
|
168
|
+
- [Examples](refs/examples.md) — ADR templates, synthesis patterns, review templates
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
---
|
|
2
|
+
phase_relevance: ["clarify", "design"]
|
|
3
|
+
archetype_relevance: ["*"]
|
|
4
|
+
---
|
|
5
|
+
# aichat CLI — Usage Patterns
|
|
6
|
+
|
|
7
|
+
`aichat` is an all-in-one LLM CLI written in Rust — fast, pipe-native, multi-provider. Covers OpenAI, Anthropic, Gemini, Mistral, Groq, Ollama, and more via a single YAML config.
|
|
8
|
+
|
|
9
|
+
## Installation and Setup
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
# Install
|
|
13
|
+
brew install aichat
|
|
14
|
+
|
|
15
|
+
# Interactive config wizard (writes ~/.config/aichat/config.yaml)
|
|
16
|
+
aichat --info # inspects current config
|
|
17
|
+
aichat # first run opens setup
|
|
18
|
+
|
|
19
|
+
# Configure providers by editing ~/.config/aichat/config.yaml
|
|
20
|
+
# clients:
|
|
21
|
+
# - type: openai
|
|
22
|
+
# api_key: ...
|
|
23
|
+
# - type: claude
|
|
24
|
+
# api_key: ...
|
|
25
|
+
# - type: ollama
|
|
26
|
+
# api_base: http://localhost:11434/v1
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Core Usage Patterns
|
|
30
|
+
|
|
31
|
+
### Non-Interactive (pipe-native)
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
# Simple stdin
|
|
35
|
+
cat scaffold.md | aichat
|
|
36
|
+
|
|
37
|
+
# Pipe + system prompt
|
|
38
|
+
cat scaffold.md | aichat -S "Answer the 4 questions precisely and concisely."
|
|
39
|
+
|
|
40
|
+
# Pick a model for this call
|
|
41
|
+
cat scaffold.md | aichat -m claude:claude-sonnet-4-5 "Evaluate"
|
|
42
|
+
cat scaffold.md | aichat -m openai:gpt-4o "Evaluate"
|
|
43
|
+
cat scaffold.md | aichat -m ollama:llama3.1:70b "Evaluate"
|
|
44
|
+
|
|
45
|
+
# Disable streaming for clean capture
|
|
46
|
+
cat scaffold.md | aichat -S "Evaluate" -m openai:gpt-4o
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
### Include Files / URLs
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
# -f attaches files, directories, or URLs
|
|
53
|
+
aichat -f scaffold.md "Answer the 4 questions in the attached file."
|
|
54
|
+
aichat -f spec.pdf -f diagram.png "Critique this design."
|
|
55
|
+
aichat -f https://example.com/rfc.html "Summarize this RFC."
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### Roles, Sessions, RAG (NOT used for council)
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
# Role — reusable system prompt
|
|
62
|
+
aichat --role security-reviewer "Review this snippet"
|
|
63
|
+
|
|
64
|
+
# Session — keeps context across invocations
|
|
65
|
+
aichat -s design-review "Initial take"
|
|
66
|
+
aichat -s design-review "Now add the security angle"
|
|
67
|
+
|
|
68
|
+
# RAG — retrieval over a corpus
|
|
69
|
+
aichat --rag my-docs "What does the spec say about retries?"
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
## aichat's Distinct Role in Multi-Model Sessions
|
|
73
|
+
|
|
74
|
+
`aichat` is a lightweight, fast alternative to `llm` when plugin churn isn't wanted. Config is a single YAML file; providers live there side by side. Good for picking one model per council run without the overhead of `llm`'s plugin system.
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
# Provider diversity in one CLI
|
|
78
|
+
cat "$SCAFFOLD" | aichat -m claude:claude-sonnet-4-5 "Evaluate"
|
|
79
|
+
cat "$SCAFFOLD" | aichat -m gemini:gemini-2.0-flash "Evaluate"
|
|
80
|
+
cat "$SCAFFOLD" | aichat -m groq:llama-3.3-70b "Evaluate"
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
## Strengths
|
|
84
|
+
|
|
85
|
+
| Area | Description |
|
|
86
|
+
|------|-------------|
|
|
87
|
+
| Single-binary | Rust executable, no Python / node runtime dependency |
|
|
88
|
+
| Multi-provider | OpenAI, Anthropic, Gemini, Mistral, Groq, Ollama, Azure, Bedrock |
|
|
89
|
+
| RAG + sessions | Built-in retrieval and threaded sessions when needed |
|
|
90
|
+
| Shell integration | `-e` shell assistant, `-c` code output mode |
|
|
91
|
+
| Config unified | One YAML — no plugins to install |
|
|
92
|
+
|
|
93
|
+
## Important Flags for Council Use
|
|
94
|
+
|
|
95
|
+
| Flag | Purpose |
|
|
96
|
+
|------|---------|
|
|
97
|
+
| `-m MODEL` | `client:model` — e.g. `claude:claude-sonnet-4-5`, `openai:gpt-4o` |
|
|
98
|
+
| `--prompt TEXT` | System prompt |
|
|
99
|
+
| `-S` | Disable streaming; return one block |
|
|
100
|
+
| `-f PATH\|URL` | Include file, directory, or URL |
|
|
101
|
+
| `--empty-session` | Force a fresh context |
|
|
102
|
+
| `--dry-run` | Show the assembled prompt without sending |
|
|
103
|
+
|
|
104
|
+
## Caveats
|
|
105
|
+
|
|
106
|
+
1. **Model selection uses `client:model` syntax.** `-m claude-sonnet-4-5` is wrong; `-m claude:claude-sonnet-4-5` is right.
|
|
107
|
+
2. **Default model is implicit.** Council dispatches should pin the model explicitly.
|
|
108
|
+
3. **Session files persist.** `~/.config/aichat/sessions/` accumulates — `--empty-session` or `-r ''` avoids carry-over.
|
|
109
|
+
|
|
110
|
+
## Command Reference (council subset)
|
|
111
|
+
|
|
112
|
+
| Command | Description |
|
|
113
|
+
|---------|-------------|
|
|
114
|
+
| `aichat "PROMPT"` | One-shot with default model |
|
|
115
|
+
| `cat FILE \| aichat "PROMPT"` | Pipe content as input |
|
|
116
|
+
| `aichat -m CLIENT:MODEL "PROMPT"` | Pick a specific model |
|
|
117
|
+
| `aichat -f FILE "PROMPT"` | Include a file |
|
|
118
|
+
| `aichat --list-models` | List configured models |
|
|
119
|
+
| `aichat --info` | Show current config |
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
---
|
|
2
|
+
phase_relevance: ["clarify", "design"]
|
|
3
|
+
archetype_relevance: ["*"]
|
|
4
|
+
---
|
|
5
|
+
# Aider CLI — Usage Patterns
|
|
6
|
+
|
|
7
|
+
Aider is an AI pair-programmer designed to edit code inside a git repo. For council use it runs in a restricted one-shot mode: no git, no commits, no file edits — just an answer to the scaffold prompt.
|
|
8
|
+
|
|
9
|
+
## Installation and Setup
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
# Install
|
|
13
|
+
brew install aider
|
|
14
|
+
# or: pipx install aider-chat
|
|
15
|
+
|
|
16
|
+
# Configure a provider (reads env vars)
|
|
17
|
+
export ANTHROPIC_API_KEY="..." # claude models
|
|
18
|
+
export OPENAI_API_KEY="..." # gpt models
|
|
19
|
+
export DEEPSEEK_API_KEY="..." # deepseek
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Core Usage Patterns
|
|
23
|
+
|
|
24
|
+
### Non-Interactive (one-shot, no git, answer only)
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
# Preferred form for council — read scaffold from file
|
|
28
|
+
aider --message-file scaffold.md \
|
|
29
|
+
--no-git --yes-always --no-auto-commits --no-stream --no-analytics
|
|
30
|
+
|
|
31
|
+
# Ad-hoc question without a file
|
|
32
|
+
aider --message "Evaluate Option A vs Option B for JWT session storage." \
|
|
33
|
+
--no-git --yes-always --no-auto-commits --no-stream --no-analytics
|
|
34
|
+
|
|
35
|
+
# Pick a specific model
|
|
36
|
+
aider --model sonnet --message-file scaffold.md \
|
|
37
|
+
--no-git --yes-always --no-auto-commits --no-stream
|
|
38
|
+
aider --model gpt-4o --message-file scaffold.md \
|
|
39
|
+
--no-git --yes-always --no-auto-commits --no-stream
|
|
40
|
+
aider --model deepseek/deepseek-reasoner --message-file scaffold.md \
|
|
41
|
+
--no-git --yes-always --no-auto-commits --no-stream
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
### Interactive (NOT used for council)
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
aider # interactive repo-editing session
|
|
48
|
+
aider path/to/file.py # with file attached
|
|
49
|
+
aider --architect # architect mode
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## Aider's Distinct Role in Multi-Model Sessions
|
|
53
|
+
|
|
54
|
+
Aider's native orientation is code-editor, so it tends to answer from an *engineering-in-the-repo* lens rather than a purely architectural one. That produces concrete, diff-aware trade-offs — complementary to Gemini's broad analysis or Pi's human-factor framing.
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
# Council context: three models, three framings
|
|
58
|
+
cat "$SCAFFOLD" | codex exec "Architectural review"
|
|
59
|
+
cat "$SCAFFOLD" | gemini "Scalability + risk framing"
|
|
60
|
+
aider --message-file "$SCAFFOLD" --no-git --yes-always \
|
|
61
|
+
--no-auto-commits --no-stream --no-analytics
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## Strengths
|
|
65
|
+
|
|
66
|
+
| Area | Description |
|
|
67
|
+
|------|-------------|
|
|
68
|
+
| Code-grounded trade-offs | Reasons about diffs, edits, migration steps |
|
|
69
|
+
| Repo-awareness | Knows how changes will land in an actual codebase |
|
|
70
|
+
| Model flexibility | Supports OpenAI, Anthropic, DeepSeek, OpenRouter, Ollama, Bedrock, Azure |
|
|
71
|
+
| Architect + editor split | `--architect` mode for planning; editor for fine-grained diffs |
|
|
72
|
+
|
|
73
|
+
## Important Flags for Council Use
|
|
74
|
+
|
|
75
|
+
| Flag | Purpose |
|
|
76
|
+
|------|---------|
|
|
77
|
+
| `--message-file FILE` | Read the prompt from a file (use this for the scaffold) |
|
|
78
|
+
| `--message TEXT` | Inline prompt — escape carefully |
|
|
79
|
+
| `--no-git` | Do not initialize or require a git repo |
|
|
80
|
+
| `--yes-always` | Auto-accept any confirmation prompts |
|
|
81
|
+
| `--no-auto-commits` | Never commit in this run |
|
|
82
|
+
| `--no-stream` | Disable token streaming; return one block |
|
|
83
|
+
| `--no-analytics` | Disable anonymous usage reporting |
|
|
84
|
+
| `--model NAME` | Override the default model |
|
|
85
|
+
|
|
86
|
+
## Caveats
|
|
87
|
+
|
|
88
|
+
1. **Aider expects a writable cwd.** It will create `.aider.*` cache/history files. Call it from a scratch tempdir if that matters.
|
|
89
|
+
2. **Answers may be diff-flavored.** If aider drifts into proposing SEARCH/REPLACE blocks, treat them as code-ready annotations, not a council verdict.
|
|
90
|
+
3. **Interactive escape.** `--yes-always` is required — without it, aider will pause for input the moment a confirmation would normally fire.
|
|
91
|
+
4. **Streaming off is deliberate.** Council synthesis runs after all CLIs finish; streamed output wastes buffer and complicates transcript capture.
|
|
92
|
+
|
|
93
|
+
## Command Reference (council subset)
|
|
94
|
+
|
|
95
|
+
| Command | Description |
|
|
96
|
+
|---------|-------------|
|
|
97
|
+
| `aider --message TEXT` | One-shot prompt |
|
|
98
|
+
| `aider --message-file FILE` | One-shot prompt from a file |
|
|
99
|
+
| `aider --model MODEL` | Override model |
|
|
100
|
+
| `aider --architect` | Split planner/editor reasoning (interactive) |
|
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
---
|
|
2
|
+
phase_relevance: ["clarify", "design"]
|
|
3
|
+
archetype_relevance: ["*"]
|
|
4
|
+
---
|
|
5
|
+
# Auditability: Tracking AI Conversations
|
|
6
|
+
|
|
7
|
+
How to maintain audit trails for multi-AI conversations. Essential for compliance, team visibility, and learning from past decisions.
|
|
8
|
+
|
|
9
|
+
## Why Auditability Matters
|
|
10
|
+
|
|
11
|
+
1. **Compliance**: Some domains require documentation of AI-assisted decisions
|
|
12
|
+
2. **Team visibility**: Others can see what AI perspectives informed a decision
|
|
13
|
+
3. **Learning**: Review past AI conversations to improve prompts and workflows
|
|
14
|
+
4. **Accountability**: Know which AI said what, when
|
|
15
|
+
|
|
16
|
+
## The Audit Trail Stack
|
|
17
|
+
|
|
18
|
+
```
|
|
19
|
+
┌─────────────────────────────────────────┐
|
|
20
|
+
│ wicked-brain:memory (long-term decisions) │ ← Persist important decisions
|
|
21
|
+
├─────────────────────────────────────────┤
|
|
22
|
+
│ Native tasks (conversation tracking) │ ← Track active discussions
|
|
23
|
+
├─────────────────────────────────────────┤
|
|
24
|
+
│ Local logs (session artifacts) │ ← Raw AI outputs
|
|
25
|
+
└─────────────────────────────────────────┘
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Level 1: Local Logging
|
|
29
|
+
|
|
30
|
+
Capture raw AI outputs for immediate reference.
|
|
31
|
+
|
|
32
|
+
### Simple File Logging
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
# Log each AI response with timestamp
|
|
36
|
+
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
|
|
37
|
+
LOG_DIR="./ai-logs/$(date +%Y-%m)"
|
|
38
|
+
mkdir -p "$LOG_DIR"
|
|
39
|
+
|
|
40
|
+
# Gemini
|
|
41
|
+
cat design.md | gemini "Review for security" | tee "$LOG_DIR/gemini_${TIMESTAMP}.md"
|
|
42
|
+
|
|
43
|
+
# Codex
|
|
44
|
+
cat design.md | codex exec "Review for architecture" | tee "$LOG_DIR/codex_${TIMESTAMP}.md"
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### Structured Logging
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
#!/bin/bash
|
|
51
|
+
# log-ai-response.sh
|
|
52
|
+
|
|
53
|
+
MODEL=$1
|
|
54
|
+
PROMPT=$2
|
|
55
|
+
RESPONSE=$3
|
|
56
|
+
CONTEXT_FILE=$4
|
|
57
|
+
|
|
58
|
+
LOG_FILE="./ai-logs/$(date +%Y-%m-%d).jsonl"
|
|
59
|
+
|
|
60
|
+
jq -n \
|
|
61
|
+
--arg ts "$(date -Iseconds)" \
|
|
62
|
+
--arg model "$MODEL" \
|
|
63
|
+
--arg prompt "$PROMPT" \
|
|
64
|
+
--arg response "$RESPONSE" \
|
|
65
|
+
--arg context "$CONTEXT_FILE" \
|
|
66
|
+
'{timestamp: $ts, model: $model, prompt: $prompt, response: $response, context: $context}' \
|
|
67
|
+
>> "$LOG_FILE"
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
## Level 2: Native Task Tracking
|
|
71
|
+
|
|
72
|
+
Use TaskCreate/TaskUpdate for active conversations that need team visibility.
|
|
73
|
+
|
|
74
|
+
### Creating an Auditable Task
|
|
75
|
+
|
|
76
|
+
```
|
|
77
|
+
TaskCreate(
|
|
78
|
+
subject="Design review: Payment API",
|
|
79
|
+
metadata={
|
|
80
|
+
"event_type": "task",
|
|
81
|
+
"chain_id": "payment-api-review.root",
|
|
82
|
+
"source_agent": "multi-model-review",
|
|
83
|
+
"priority": "P1",
|
|
84
|
+
"initiative": "payment-api-review"
|
|
85
|
+
}
|
|
86
|
+
)
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
### Adding AI Perspectives as Comments
|
|
90
|
+
|
|
91
|
+
Each AI response becomes a comment with attribution:
|
|
92
|
+
|
|
93
|
+
```markdown
|
|
94
|
+
## Gemini Analysis (2026-01-25 14:32 UTC)
|
|
95
|
+
|
|
96
|
+
**Prompt**: Review for security vulnerabilities
|
|
97
|
+
|
|
98
|
+
**Response**:
|
|
99
|
+
[Gemini's full response here]
|
|
100
|
+
|
|
101
|
+
---
|
|
102
|
+
Model: gemini-2.0-flash | Context: docs/payment-api.md
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
### Comment Template
|
|
106
|
+
|
|
107
|
+
```bash
|
|
108
|
+
# Function to add attributed AI comment
|
|
109
|
+
add_ai_comment() {
|
|
110
|
+
local TASK_ID=$1
|
|
111
|
+
local MODEL=$2
|
|
112
|
+
local PROMPT=$3
|
|
113
|
+
local RESPONSE=$4
|
|
114
|
+
|
|
115
|
+
COMMENT="## ${MODEL} Analysis ($(date -u +"%Y-%m-%d %H:%M UTC"))
|
|
116
|
+
|
|
117
|
+
**Prompt**: ${PROMPT}
|
|
118
|
+
|
|
119
|
+
**Response**:
|
|
120
|
+
${RESPONSE}
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
Model: ${MODEL} | Logged by: $(whoami)"
|
|
124
|
+
|
|
125
|
+
# Append to the native task description via TaskUpdate
|
|
126
|
+
# TaskUpdate(taskId=$TASK_ID, description="{previous}\n\n${COMMENT}")
|
|
127
|
+
}
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
## Level 3: Decision Persistence (wicked-brain:memory)
|
|
131
|
+
|
|
132
|
+
For decisions that matter long-term, persist to wicked-brain:memory.
|
|
133
|
+
|
|
134
|
+
### What to Store
|
|
135
|
+
|
|
136
|
+
| Type | Store When | Example |
|
|
137
|
+
|------|------------|---------|
|
|
138
|
+
| **Decision** | AI consensus led to architectural choice | "Use Stripe based on multi-model security review" |
|
|
139
|
+
| **Dissent** | One AI flagged something others missed | "Gemini flagged rate limiting gap" |
|
|
140
|
+
| **Pattern** | Discovered effective prompt pattern | "Security review prompt that catches edge cases" |
|
|
141
|
+
| **Lesson** | AI was wrong, corrected later | "Codex suggested X, but Y was correct because..." |
|
|
142
|
+
|
|
143
|
+
### Storage Patterns
|
|
144
|
+
|
|
145
|
+
```
|
|
146
|
+
# Store a decision with full attribution
|
|
147
|
+
Skill(skill="wicked-brain:memory", args="store \"Payment API: Use webhook-based async processing.\nConsensus from Claude, Gemini, Codex (2026-01-25).\nKey factors: idempotency, retry handling, audit trail.\nDissent: None.\nTask: task-123\" --type decision --tags payments,architecture,ai-consensus")
|
|
148
|
+
|
|
149
|
+
# Store a dissent/unique insight
|
|
150
|
+
Skill(skill="wicked-brain:memory", args="store \"Auth review: Gemini uniquely flagged JWT refresh token rotation.\nOther models missed this. Added to security checklist.\" --type procedural --tags security,auth,gemini-insight")
|
|
151
|
+
|
|
152
|
+
# Store a lesson learned
|
|
153
|
+
Skill(skill="wicked-brain:memory", args="store \"AI code review limitation: All models missed SQL injection in dynamic query builder. Add explicit SQL injection check to review prompts.\" --type episodic --tags lesson-learned,security,ai-limitation")
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
## Audit Record Template
|
|
157
|
+
|
|
158
|
+
For formal audits, use this structure:
|
|
159
|
+
|
|
160
|
+
```markdown
|
|
161
|
+
# AI-Assisted Decision Record
|
|
162
|
+
|
|
163
|
+
## Metadata
|
|
164
|
+
- **Decision ID**: ADR-2026-001
|
|
165
|
+
- **Date**: 2026-01-25
|
|
166
|
+
- **Decision Maker**: [Human who approved]
|
|
167
|
+
- **AI Models Consulted**: Claude, Gemini, Codex
|
|
168
|
+
|
|
169
|
+
## Context
|
|
170
|
+
[What problem were we solving?]
|
|
171
|
+
|
|
172
|
+
## AI Consultation
|
|
173
|
+
|
|
174
|
+
### Claude (via Claude Code)
|
|
175
|
+
- **Timestamp**: 2026-01-25 14:00 UTC
|
|
176
|
+
- **Prompt**: [exact prompt used]
|
|
177
|
+
- **Key Points**: [summary of response]
|
|
178
|
+
- **Full Response**: [link or inline]
|
|
179
|
+
|
|
180
|
+
### Gemini (via gemini CLI)
|
|
181
|
+
- **Timestamp**: 2026-01-25 14:05 UTC
|
|
182
|
+
- **Prompt**: [exact prompt used]
|
|
183
|
+
- **Key Points**: [summary of response]
|
|
184
|
+
- **Full Response**: [link or inline]
|
|
185
|
+
|
|
186
|
+
### Codex (via codex CLI)
|
|
187
|
+
- **Timestamp**: 2026-01-25 14:10 UTC
|
|
188
|
+
- **Prompt**: [exact prompt used]
|
|
189
|
+
- **Key Points**: [summary of response]
|
|
190
|
+
- **Full Response**: [link or inline]
|
|
191
|
+
|
|
192
|
+
## Synthesis
|
|
193
|
+
[How human synthesized AI inputs]
|
|
194
|
+
|
|
195
|
+
## Decision
|
|
196
|
+
[Final decision made]
|
|
197
|
+
|
|
198
|
+
## Rationale
|
|
199
|
+
[Why this decision, including which AI inputs were influential]
|
|
200
|
+
|
|
201
|
+
## Dissenting Views
|
|
202
|
+
[Any AI perspectives that were noted but not followed, and why]
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
## Compliance Patterns
|
|
206
|
+
|
|
207
|
+
### Healthcare/HIPAA
|
|
208
|
+
|
|
209
|
+
```bash
|
|
210
|
+
# Never include PHI in AI prompts
|
|
211
|
+
# Log that AI was consulted without logging content
|
|
212
|
+
echo "$(date -Iseconds) | AI_CONSULT | gemini | code-review | NO_PHI" >> audit.log
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
### Financial/SOX
|
|
216
|
+
|
|
217
|
+
```
|
|
218
|
+
# Include decision chain
|
|
219
|
+
Skill(skill="wicked-brain:memory", args="store \"Trade algorithm change approved.\nAI review: Claude, Gemini confirmed no regression risk.\nHuman approval: [Name] on [Date].\nChange ticket: JIRA-456\" --type decision --tags sox-audit,trading,ai-review")
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
### General Best Practices
|
|
223
|
+
|
|
224
|
+
1. **Always log the prompt** - What you asked matters as much as the answer
|
|
225
|
+
2. **Attribute clearly** - Which model, which version, when
|
|
226
|
+
3. **Human in the loop** - Record who made the final decision
|
|
227
|
+
4. **Store dissent** - Minority AI opinions may be valuable later
|
|
228
|
+
5. **Link artifacts** - Connect logs to native task IDs to mem entries
|
|
229
|
+
|
|
230
|
+
## Quick Reference
|
|
231
|
+
|
|
232
|
+
| Need | Solution |
|
|
233
|
+
|------|----------|
|
|
234
|
+
| Raw AI outputs | Local file logging |
|
|
235
|
+
| Team visibility | Native task description appends via TaskUpdate |
|
|
236
|
+
| Long-term decisions | wicked-brain:memory storage |
|
|
237
|
+
| Formal compliance | Audit record template |
|
|
238
|
+
| Cross-reference | Link task ID in all artifacts |
|