@haposoft/cafekit 0.16.0-rc.7 → 0.16.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/README.md +116 -27
- package/bin/__tests__/codex-hooks-ownership.test.js +239 -0
- package/bin/__tests__/codex-hooks.test.js +295 -0
- package/bin/__tests__/codex-native.test.js +2289 -34
- package/bin/__tests__/develop-contract.test.js +400 -23
- package/bin/__tests__/installer-safety.test.js +3 -3
- package/bin/__tests__/optional-skill-inventory.test.js +249 -0
- package/bin/__tests__/output-styles.test.js +214 -0
- package/bin/__tests__/package-inventory.test.js +2131 -16
- package/bin/__tests__/runtime-schema.test.js +111 -0
- package/bin/__tests__/secret-output-guardrail.test.js +122 -0
- package/bin/__tests__/skill-routing-source.test.js +172 -0
- package/bin/__tests__/specs-v2-execution-closeout.test.js +1 -1
- package/bin/install.js +10 -0
- package/bin/lib/codex-install.js +170 -5
- package/bin/lib/context.js +14 -0
- package/bin/lib/i18n.js +12 -6
- package/bin/lib/skill-deps.js +5 -5
- package/bin/phases/claude-runtime.js +23 -0
- package/bin/phases/claude-settings.js +8 -0
- package/bin/phases/codex-hooks.js +156 -0
- package/bin/phases/codex-runtime.js +29 -38
- package/bin/phases/copy-payload.js +8 -2
- package/bin/phases/select-skill-bundles.js +96 -0
- package/bin/phases/skill-inventory.js +71 -0
- package/bin/phases/skills-setup.js +9 -2
- package/bin/phases/write-metadata.js +8 -5
- package/package.json +8 -2
- package/src/claude/CLAUDE.md +3 -3
- package/src/claude/agents/brainstormer.md +52 -69
- package/src/claude/agents/code-auditor.md +32 -14
- package/src/claude/agents/debugger.md +35 -20
- package/src/claude/agents/deployer.md +12 -5
- package/src/claude/agents/docs-keeper.md +11 -1
- package/src/claude/agents/implementer.md +25 -13
- package/src/claude/agents/inspector.md +6 -3
- package/src/claude/agents/project-manager.md +1 -1
- package/src/claude/agents/researcher.md +26 -55
- package/src/claude/agents/spec-maker.md +24 -13
- package/src/claude/agents/strategist.md +52 -0
- package/src/claude/agents/test-runner.md +117 -132
- package/src/claude/agents/ui-ux-designer.md +1 -1
- package/src/claude/hooks/__tests__/fixtures/statusline-default.golden +1 -0
- package/src/claude/hooks/__tests__/precompact.test.js +158 -0
- package/src/claude/hooks/__tests__/spec-gate.test.js +87 -4
- package/src/claude/hooks/__tests__/state.test.js +254 -3
- package/src/claude/hooks/__tests__/statusline.test.js +196 -0
- package/src/claude/hooks/agent.cjs +1 -1
- package/src/claude/hooks/docs-sync.cjs +12 -10
- package/src/claude/hooks/inspect-block.cjs +1 -1
- package/src/claude/hooks/lib/config.cjs +3 -0
- package/src/claude/hooks/lib/hook-state-dir.cjs +39 -0
- package/src/claude/hooks/lib/secret-keywords.cjs +42 -0
- package/src/claude/hooks/precompact.cjs +105 -0
- package/src/claude/hooks/rules.cjs +1 -1
- package/src/claude/hooks/secret-output-guardrail.cjs +43 -0
- package/src/claude/hooks/session.cjs +27 -1
- package/src/claude/hooks/spec-gate.cjs +3 -3
- package/src/claude/hooks/spec-state.cjs +32 -5
- package/src/claude/hooks/state.cjs +1 -1
- package/src/claude/hooks/task-scaffold-guard.cjs +1 -1
- package/src/claude/hooks/usage.cjs +1 -1
- package/src/claude/migration-manifest.json +29 -15
- package/src/claude/output-styles/coding-level-0-eli5.md +103 -0
- package/src/claude/output-styles/coding-level-1-junior.md +124 -0
- package/src/claude/output-styles/coding-level-2-mid.md +146 -0
- package/src/claude/output-styles/coding-level-3-senior.md +148 -0
- package/src/claude/output-styles/coding-level-4-lead.md +159 -0
- package/src/claude/output-styles/coding-level-5-god.md +91 -0
- package/src/claude/references/debugger/core-philosophy.md +5 -3
- package/src/claude/references/debugger/frontend-verification.md +2 -2
- package/src/claude/references/debugger/log-ci-analysis.md +13 -1
- package/src/claude/references/debugger/parallel-agent-hydration.md +19 -34
- package/src/claude/references/debugger/performance-diagnostics.md +2 -2
- package/src/claude/references/debugger/root-cause-tracing.md +37 -6
- package/src/claude/references/debugger/side-effect-gate.md +3 -1
- package/src/claude/references/debugger/verification-protocol.md +13 -12
- package/src/claude/rules/orchestrator.md +7 -1
- package/src/claude/rules/process-management.md +39 -0
- package/src/claude/rules/review-audit-self-decision.md +48 -0
- package/src/claude/rules/skill-domain-routing.md +26 -24
- package/src/claude/rules/skill-workflow-routing.md +22 -14
- package/src/claude/rules/workflow.md +3 -3
- package/src/claude/runtime.json +1 -0
- package/src/claude/runtime.schema.json +205 -0
- package/src/claude/scripts/generate-skill-catalog.cjs +156 -122
- package/src/claude/scripts/provenance.cjs +18 -5
- package/src/claude/scripts/spec-receipt.cjs +76 -21
- package/src/claude/scripts/spec-resolver.cjs +144 -4
- package/src/claude/scripts/workflow-policy.cjs +1 -1
- package/src/claude/settings/settings.json +16 -0
- package/src/claude/skills/agent-browser/SKILL.md +1 -1
- package/src/claude/skills/ai-multimodal/SKILL.md +1 -1
- package/src/claude/skills/brainstorm/SKILL.md +193 -172
- package/src/claude/skills/brainstorm/references/question-framework.md +105 -167
- package/src/claude/skills/chrome-devtools/SKILL.md +1 -1
- package/src/claude/skills/code-review/SKILL.md +43 -25
- package/src/claude/skills/code-review/references/spec-compliance-review.md +3 -4
- package/src/claude/skills/code-review/references/verification-gate.md +1 -1
- package/src/claude/skills/debug/SKILL.md +48 -19
- package/src/claude/skills/delegate/SKILL.md +1 -1
- package/src/claude/skills/develop/SKILL.md +92 -65
- package/src/claude/skills/develop/references/parallel-waves.md +36 -63
- package/src/claude/skills/develop/references/quality-gate.md +31 -4
- package/src/claude/skills/develop/references/subagent-patterns.md +21 -7
- package/src/claude/skills/docs/SKILL.md +42 -23
- package/src/claude/skills/docs/references/init-workflow.md +4 -4
- package/src/claude/skills/docs/references/reconstruct-workflow.md +6 -6
- package/src/claude/skills/docs/references/standard-docs-workflow.md +6 -2
- package/src/claude/skills/docs/references/summarize-workflow.md +2 -2
- package/src/claude/skills/docs/references/update-workflow.md +9 -7
- package/src/claude/skills/docs/templates/requirements-as-is.md +1 -1
- package/src/claude/skills/docx/SKILL.md +1 -1
- package/src/claude/skills/git/SKILL.md +1 -1
- package/src/claude/skills/git/references/commit-protocols.md +1 -1
- package/src/claude/skills/git/references/finish-branch.md +1 -1
- package/src/claude/skills/hotfix/SKILL.md +159 -170
- package/src/claude/skills/hotfix/references/diagnosis-protocol.md +14 -9
- package/src/claude/skills/hotfix/references/parallel-patterns.md +27 -13
- package/src/claude/skills/hotfix/references/prevention-gate.md +5 -0
- package/src/claude/skills/hotfix/references/review-cycle.md +21 -15
- package/src/claude/skills/hotfix/references/workflow-specialized.md +53 -21
- package/src/claude/skills/inspect/SKILL.md +55 -46
- package/src/claude/skills/inspect/references/internal-inspection.md +21 -5
- package/src/claude/skills/loop/SKILL.md +114 -0
- package/src/claude/skills/loop/references/bounded-loop-protocol.md +104 -0
- package/src/claude/skills/loop/references/metric-and-guard-contract.md +76 -0
- package/src/claude/skills/pdf/SKILL.md +1 -1
- package/src/claude/skills/pptx/SKILL.md +1 -1
- package/src/claude/skills/question/SKILL.md +16 -13
- package/src/claude/skills/research/SKILL.md +70 -43
- package/src/claude/skills/route/SKILL.md +94 -0
- package/src/claude/skills/route/references/agent-timing.md +46 -0
- package/src/claude/skills/route/references/chaining-patterns.md +53 -0
- package/src/claude/skills/route/references/task-taxonomy.md +48 -0
- package/src/claude/skills/specs/SKILL.md +48 -57
- package/src/claude/skills/specs/references/review.md +26 -8
- package/src/claude/skills/specs/references/templates.md +76 -31
- package/src/claude/skills/specs/templates/requirements-init.md +1 -1
- package/src/claude/skills/specs/templates/research.md +2 -2
- package/src/claude/skills/sync/SKILL.md +6 -6
- package/src/claude/skills/sync/references/sync-protocols.md +1 -1
- package/src/claude/skills/test/SKILL.md +120 -120
- package/src/claude/skills/test/references/execution-strategy.md +208 -361
- package/src/claude/skills/test/references/failure-triage.md +55 -121
- package/src/claude/skills/test/references/test-memory.md +20 -34
- package/src/claude/skills/ui-ux-pro-max/SKILL.md +1 -1
- package/src/claude/skills/web-testing/SKILL.md +1 -1
- package/src/claude/skills/xlsx/SKILL.md +1 -1
- package/src/claude/status.cjs +135 -33
- package/src/codex/AGENTS.md +14 -4
- package/src/codex/hooks/docs-sync.cjs +8 -3
- package/src/codex/hooks/lib/hook-context.cjs +18 -4
- package/src/codex/hooks/rules.cjs +29 -1
- package/src/codex/hooks/secret-output-guardrail.cjs +30 -0
- package/src/codex/hooks/spec-gate.cjs +3 -8
- package/src/codex/hooks/spec-state.cjs +34 -5
- package/src/codex/hooks.json +5 -0
- package/src/codex/runtime.json +2 -0
- package/src/common/.env.example +1 -1
- package/src/claude/skills/backend-development/SKILL.md +0 -101
- package/src/claude/skills/backend-development/references/backend-api-design.md +0 -495
- package/src/claude/skills/backend-development/references/backend-architecture.md +0 -454
- package/src/claude/skills/backend-development/references/backend-authentication.md +0 -338
- package/src/claude/skills/backend-development/references/backend-code-quality.md +0 -659
- package/src/claude/skills/backend-development/references/backend-debugging.md +0 -904
- package/src/claude/skills/backend-development/references/backend-devops.md +0 -491
- package/src/claude/skills/backend-development/references/backend-mindset.md +0 -387
- package/src/claude/skills/backend-development/references/backend-performance.md +0 -397
- package/src/claude/skills/backend-development/references/backend-security.md +0 -342
- package/src/claude/skills/backend-development/references/backend-technologies.md +0 -256
- package/src/claude/skills/backend-development/references/backend-testing.md +0 -429
- package/src/claude/skills/devops/.env.example +0 -76
- package/src/claude/skills/devops/SKILL.md +0 -102
- package/src/claude/skills/devops/references/browser-rendering.md +0 -305
- package/src/claude/skills/devops/references/cloudflare-d1-kv.md +0 -123
- package/src/claude/skills/devops/references/cloudflare-platform.md +0 -271
- package/src/claude/skills/devops/references/cloudflare-r2-storage.md +0 -280
- package/src/claude/skills/devops/references/cloudflare-workers-advanced.md +0 -312
- package/src/claude/skills/devops/references/cloudflare-workers-apis.md +0 -309
- package/src/claude/skills/devops/references/cloudflare-workers-basics.md +0 -418
- package/src/claude/skills/devops/references/docker-basics.md +0 -297
- package/src/claude/skills/devops/references/docker-compose.md +0 -292
- package/src/claude/skills/devops/references/gcloud-platform.md +0 -297
- package/src/claude/skills/devops/references/gcloud-services.md +0 -304
- package/src/claude/skills/devops/references/kubernetes-basics.md +0 -95
- package/src/claude/skills/devops/references/kubernetes-helm-advanced.md +0 -70
- package/src/claude/skills/devops/references/kubernetes-helm.md +0 -81
- package/src/claude/skills/devops/references/kubernetes-kubectl.md +0 -74
- package/src/claude/skills/devops/references/kubernetes-security-advanced.md +0 -94
- package/src/claude/skills/devops/references/kubernetes-security.md +0 -89
- package/src/claude/skills/devops/references/kubernetes-troubleshooting-advanced.md +0 -74
- package/src/claude/skills/devops/references/kubernetes-troubleshooting.md +0 -49
- package/src/claude/skills/devops/references/kubernetes-workflows-advanced.md +0 -75
- package/src/claude/skills/devops/references/kubernetes-workflows.md +0 -76
- package/src/claude/skills/devops/scripts/cloudflare_deploy.py +0 -269
- package/src/claude/skills/devops/scripts/docker_optimize.py +0 -332
- package/src/claude/skills/devops/scripts/requirements.txt +0 -20
- package/src/claude/skills/devops/scripts/tests/requirements.txt +0 -3
- package/src/claude/skills/devops/scripts/tests/test_cloudflare_deploy.py +0 -285
- package/src/claude/skills/devops/scripts/tests/test_docker_optimize.py +0 -436
- package/src/claude/skills/frontend-design/SKILL.md +0 -135
- package/src/claude/skills/frontend-design/references/ai-multimodal-overview.md +0 -165
- package/src/claude/skills/frontend-design/references/analysis-best-practices.md +0 -80
- package/src/claude/skills/frontend-design/references/analysis-prompts.md +0 -141
- package/src/claude/skills/frontend-design/references/analysis-techniques.md +0 -118
- package/src/claude/skills/frontend-design/references/animejs.md +0 -396
- package/src/claude/skills/frontend-design/references/anti-slop-rules.md +0 -103
- package/src/claude/skills/frontend-design/references/asset-generation.md +0 -337
- package/src/claude/skills/frontend-design/references/bento-motion-engine.md +0 -142
- package/src/claude/skills/frontend-design/references/design-extraction-overview.md +0 -71
- package/src/claude/skills/frontend-design/references/extraction-best-practices.md +0 -141
- package/src/claude/skills/frontend-design/references/extraction-output-templates.md +0 -162
- package/src/claude/skills/frontend-design/references/extraction-prompts.md +0 -127
- package/src/claude/skills/frontend-design/references/magicui-components.md +0 -129
- package/src/claude/skills/frontend-design/references/performance-guardrails.md +0 -169
- package/src/claude/skills/frontend-design/references/premium-design-patterns.md +0 -93
- package/src/claude/skills/frontend-design/references/redesign-audit-checklist.md +0 -114
- package/src/claude/skills/frontend-design/references/technical-accessibility.md +0 -119
- package/src/claude/skills/frontend-design/references/technical-best-practices.md +0 -97
- package/src/claude/skills/frontend-design/references/technical-optimization.md +0 -44
- package/src/claude/skills/frontend-design/references/technical-overview.md +0 -90
- package/src/claude/skills/frontend-design/references/technical-workflows.md +0 -150
- package/src/claude/skills/frontend-design/references/visual-analysis-overview.md +0 -95
- package/src/claude/skills/frontend-design/references/workflow-3d.md +0 -102
- package/src/claude/skills/frontend-design/references/workflow-describe.md +0 -87
- package/src/claude/skills/frontend-design/references/workflow-immersive.md +0 -87
- package/src/claude/skills/frontend-design/references/workflow-quick.md +0 -57
- package/src/claude/skills/frontend-design/references/workflow-screenshot.md +0 -63
- package/src/claude/skills/frontend-design/references/workflow-video.md +0 -74
- package/src/claude/skills/frontend-development/SKILL.md +0 -406
- package/src/claude/skills/frontend-development/resources/common-patterns.md +0 -331
- package/src/claude/skills/frontend-development/resources/complete-examples.md +0 -872
- package/src/claude/skills/frontend-development/resources/component-patterns.md +0 -502
- package/src/claude/skills/frontend-development/resources/data-fetching.md +0 -767
- package/src/claude/skills/frontend-development/resources/file-organization.md +0 -502
- package/src/claude/skills/frontend-development/resources/loading-and-error-states.md +0 -501
- package/src/claude/skills/frontend-development/resources/performance.md +0 -406
- package/src/claude/skills/frontend-development/resources/routing-guide.md +0 -364
- package/src/claude/skills/frontend-development/resources/styling-guide.md +0 -428
- package/src/claude/skills/frontend-development/resources/typescript-standards.md +0 -418
- package/src/claude/skills/mobile-development/SKILL.md +0 -218
- package/src/claude/skills/mobile-development/references/mobile-android.md +0 -604
- package/src/claude/skills/mobile-development/references/mobile-best-practices.md +0 -544
- package/src/claude/skills/mobile-development/references/mobile-debugging.md +0 -1089
- package/src/claude/skills/mobile-development/references/mobile-frameworks.md +0 -465
- package/src/claude/skills/mobile-development/references/mobile-ios.md +0 -496
- package/src/claude/skills/mobile-development/references/mobile-mindset.md +0 -542
- package/src/claude/skills/react-best-practices/AGENTS.md +0 -2249
- package/src/claude/skills/react-best-practices/README.md +0 -123
- package/src/claude/skills/react-best-practices/SKILL.md +0 -128
- package/src/claude/skills/react-best-practices/metadata.json +0 -15
- package/src/claude/skills/react-best-practices/rules/_sections.md +0 -46
- package/src/claude/skills/react-best-practices/rules/_template.md +0 -28
- package/src/claude/skills/react-best-practices/rules/advanced-event-handler-refs.md +0 -55
- package/src/claude/skills/react-best-practices/rules/advanced-use-latest.md +0 -49
- package/src/claude/skills/react-best-practices/rules/async-api-routes.md +0 -38
- package/src/claude/skills/react-best-practices/rules/async-defer-await.md +0 -80
- package/src/claude/skills/react-best-practices/rules/async-dependencies.md +0 -36
- package/src/claude/skills/react-best-practices/rules/async-parallel.md +0 -28
- package/src/claude/skills/react-best-practices/rules/async-suspense-boundaries.md +0 -99
- package/src/claude/skills/react-best-practices/rules/bundle-barrel-imports.md +0 -59
- package/src/claude/skills/react-best-practices/rules/bundle-conditional.md +0 -31
- package/src/claude/skills/react-best-practices/rules/bundle-defer-third-party.md +0 -49
- package/src/claude/skills/react-best-practices/rules/bundle-dynamic-imports.md +0 -35
- package/src/claude/skills/react-best-practices/rules/bundle-preload.md +0 -50
- package/src/claude/skills/react-best-practices/rules/client-event-listeners.md +0 -74
- package/src/claude/skills/react-best-practices/rules/client-swr-dedup.md +0 -56
- package/src/claude/skills/react-best-practices/rules/js-batch-dom-css.md +0 -82
- package/src/claude/skills/react-best-practices/rules/js-cache-function-results.md +0 -80
- package/src/claude/skills/react-best-practices/rules/js-cache-property-access.md +0 -28
- package/src/claude/skills/react-best-practices/rules/js-cache-storage.md +0 -70
- package/src/claude/skills/react-best-practices/rules/js-combine-iterations.md +0 -32
- package/src/claude/skills/react-best-practices/rules/js-early-exit.md +0 -50
- package/src/claude/skills/react-best-practices/rules/js-hoist-regexp.md +0 -45
- package/src/claude/skills/react-best-practices/rules/js-index-maps.md +0 -37
- package/src/claude/skills/react-best-practices/rules/js-length-check-first.md +0 -49
- package/src/claude/skills/react-best-practices/rules/js-min-max-loop.md +0 -82
- package/src/claude/skills/react-best-practices/rules/js-set-map-lookups.md +0 -24
- package/src/claude/skills/react-best-practices/rules/js-tosorted-immutable.md +0 -57
- package/src/claude/skills/react-best-practices/rules/rendering-activity.md +0 -26
- package/src/claude/skills/react-best-practices/rules/rendering-animate-svg-wrapper.md +0 -47
- package/src/claude/skills/react-best-practices/rules/rendering-conditional-render.md +0 -40
- package/src/claude/skills/react-best-practices/rules/rendering-content-visibility.md +0 -38
- package/src/claude/skills/react-best-practices/rules/rendering-hoist-jsx.md +0 -46
- package/src/claude/skills/react-best-practices/rules/rendering-hydration-no-flicker.md +0 -82
- package/src/claude/skills/react-best-practices/rules/rendering-svg-precision.md +0 -28
- package/src/claude/skills/react-best-practices/rules/rerender-defer-reads.md +0 -39
- package/src/claude/skills/react-best-practices/rules/rerender-dependencies.md +0 -45
- package/src/claude/skills/react-best-practices/rules/rerender-derived-state.md +0 -29
- package/src/claude/skills/react-best-practices/rules/rerender-functional-setstate.md +0 -74
- package/src/claude/skills/react-best-practices/rules/rerender-lazy-state-init.md +0 -58
- package/src/claude/skills/react-best-practices/rules/rerender-memo.md +0 -44
- package/src/claude/skills/react-best-practices/rules/rerender-transitions.md +0 -40
- package/src/claude/skills/react-best-practices/rules/server-after-nonblocking.md +0 -73
- package/src/claude/skills/react-best-practices/rules/server-cache-lru.md +0 -41
- package/src/claude/skills/react-best-practices/rules/server-cache-react.md +0 -26
- package/src/claude/skills/react-best-practices/rules/server-parallel-fetching.md +0 -79
- package/src/claude/skills/react-best-practices/rules/server-serialization.md +0 -38
|
@@ -1,188 +1,209 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
3
|
-
description: "
|
|
2
|
+
name: cf:brainstorm
|
|
3
|
+
description: "Turn unresolved product or architecture intent into a bounded decision contract, with proportional routing, evidence, and safe handoff."
|
|
4
4
|
user-invocable: true
|
|
5
|
-
when_to_use: "
|
|
5
|
+
when_to_use: "Use when material product, scope, or architecture choices remain; skip direct factual answers and already-concrete Specs work."
|
|
6
6
|
category: utilities
|
|
7
7
|
keywords: [ideation, tradeoffs, decisions, scope]
|
|
8
8
|
argument-hint: "<idea_or_problem>"
|
|
9
9
|
metadata:
|
|
10
10
|
author: haposoft
|
|
11
|
-
version: "
|
|
11
|
+
version: "3.0.0"
|
|
12
12
|
---
|
|
13
|
-
#
|
|
13
|
+
# Brainstorm — proportional pre-delivery design
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
## Core Stance
|
|
20
|
-
|
|
21
|
-
- Scout before asking. Do not ask generic questions when the repository can make the question concrete.
|
|
22
|
-
- Make requirements exact before proposing architecture.
|
|
23
|
-
- Challenge assumptions without turning the session into a debate for its own sake.
|
|
24
|
-
- Prefer the simplest design that satisfies the agreed acceptance criteria.
|
|
25
|
-
- Keep design approval incremental: small sections, explicit confirmation, then handoff.
|
|
15
|
+
Turn unresolved intent into a bounded contract without turning clear work into
|
|
16
|
+
an interview. `cf:brainstorm` owns the workflow; `brainstormer` is an optional
|
|
17
|
+
specialist for real architectural trade-offs.
|
|
26
18
|
|
|
27
19
|
<HARD-GATE>
|
|
28
|
-
|
|
20
|
+
Brainstorm never writes implementation, invokes Develop, or treats approval as
|
|
21
|
+
implementation authority. Feature or documentation delivery may prepare context
|
|
22
|
+
for a new explicit `cf:specs` invocation; it never starts Specs implicitly.
|
|
29
23
|
</HARD-GATE>
|
|
30
24
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
-
|
|
73
|
-
|
|
25
|
+
## Control flags
|
|
26
|
+
|
|
27
|
+
Parse controls only from the leading consecutive token segment. Accept
|
|
28
|
+
`--deep`, `--visual`, and `--advice` in any order, each at most once. `--` ends
|
|
29
|
+
the control segment. After it or the first content token, every token is user
|
|
30
|
+
content. An unknown or duplicate `--*` inside the leading segment returns usage
|
|
31
|
+
and performs no scout, question, tool call, write, or workflow action.
|
|
32
|
+
|
|
33
|
+
Parsing identifies controls but does not apply them. Route Direct first, then
|
|
34
|
+
apply controls only to requests that remain in Brainstorm. `--deep` may raise
|
|
35
|
+
non-direct analysis depth but never lower a gate; `--visual` changes presentation
|
|
36
|
+
only; and no control grants persistence, approval, dispatch, or implementation
|
|
37
|
+
authority. Use `-- --dry-run` when literal flag-like content leads the prompt.
|
|
38
|
+
|
|
39
|
+
## Front-door routing — before scout or questions
|
|
40
|
+
|
|
41
|
+
Classify intent first. This routing never waives safety or permission rules.
|
|
42
|
+
|
|
43
|
+
1. **Direct request:** for a factual answer, a specific command, or an explicitly
|
|
44
|
+
different workflow, leave Brainstorm before scout, questions, approval, or
|
|
45
|
+
persistence. Read-only product or architecture exploration is not direct merely
|
|
46
|
+
because it writes no files.
|
|
47
|
+
2. **Hydrate the contract, then keep routing:** for every request that remains,
|
|
48
|
+
reuse accepted Outcome, Constraints, Non-goals, and Acceptance field by field
|
|
49
|
+
only when current user text or an approved artifact binds them to the same
|
|
50
|
+
target and revision. Preserve current non-conflicting fields; treat missing,
|
|
51
|
+
stale, or conflicting fields as gaps. Never infer approval. Hydration is not a
|
|
52
|
+
terminal route; continue to exactly one intent route below.
|
|
53
|
+
3. **Bug or failure:** before diagnosis, capture the repaired-behavior Outcome,
|
|
54
|
+
Constraints, Non-goals, and Acceptance evidence. Then use `cf:debug` until
|
|
55
|
+
root cause is evidenced. Do not brainstorm fixes from a symptom. If at least
|
|
56
|
+
two cause-aligned remedies remain, compare 2–3 here. Hand off to `cf:fix`
|
|
57
|
+
only when the user explicitly requested a fix; diagnosis-only work returns the
|
|
58
|
+
root-cause report and stops.
|
|
59
|
+
4. **Non-bug exploration only:** inspect enough evidence, give a chat
|
|
60
|
+
recommendation, and stop. Do not request design approval, persist a report, or
|
|
61
|
+
invoke another workflow without a new explicit request.
|
|
62
|
+
5. **Feature or documentation delivery:** continue through the design workflow.
|
|
63
|
+
|
|
64
|
+
## Adaptive analysis depth
|
|
65
|
+
|
|
66
|
+
For every non-direct request, choose the smallest adequate depth from current
|
|
67
|
+
evidence and material risk:
|
|
68
|
+
|
|
69
|
+
- **Standard:** bounded single-surface work with no material risk signal.
|
|
70
|
+
- **Deep:** critical safety/security risk; public compatibility or data migration;
|
|
71
|
+
cross-service state or concurrency; costly or irreversible rollback; or
|
|
72
|
+
unresolved feasibility at a material boundary.
|
|
73
|
+
- With no Deep signal, use Standard. `--deep` raises Standard to Deep. If three
|
|
74
|
+
or more subsystems are independently deliverable, split them instead of using
|
|
75
|
+
Deep as a monolithic substitute.
|
|
76
|
+
|
|
77
|
+
Deep is selective, not a checklist. Apply a lens only when its trigger is
|
|
78
|
+
present and otherwise record `skipped: <reason>`: feasibility for an unresolved
|
|
79
|
+
material boundary; stakeholders for externally affected roles; system boundaries
|
|
80
|
+
for cross-component state; failure isolation for partial or cascading failure
|
|
81
|
+
across boundaries; reversibility and recovery for costly or irreversible failure;
|
|
82
|
+
operability for runtime ownership; migration/rollback for data or public
|
|
83
|
+
compatibility; testability for a material proof gap; and second-order effects
|
|
84
|
+
for downstream behavior or incentives.
|
|
85
|
+
|
|
86
|
+
## Contract and evidence
|
|
87
|
+
|
|
88
|
+
For feature/docs delivery and every bug/failure, resolve four user-owned fields:
|
|
89
|
+
|
|
90
|
+
- **Outcome:** observable end state.
|
|
91
|
+
- **Constraints:** safety, compatibility, time, technology, and ownership limits.
|
|
92
|
+
- **Non-goals:** nearby work excluded from this delivery.
|
|
93
|
+
- **Acceptance:** observable evidence that proves completion.
|
|
94
|
+
|
|
95
|
+
After front-door routing, run `cf:scout` or a narrow equivalent before
|
|
96
|
+
technical design. Inspect relevant modules, patterns, docs/plans, contracts, and
|
|
97
|
+
runtime constraints; summarize only useful findings in 3–6 bullets.
|
|
98
|
+
|
|
99
|
+
For supplied images, video, PDFs, or mockups, use `cf:ai-multimodal` when the
|
|
100
|
+
optional document bundle is installed; otherwise use the runtime's available
|
|
101
|
+
multimodal capability or report the evidence gap. Add a diagram only when it
|
|
102
|
+
clarifies a material choice or flow.
|
|
103
|
+
|
|
104
|
+
Derive technical touchpoints from repository evidence. Ask the user about a
|
|
105
|
+
touchpoint only when its ownership or scope boundary is a product decision that
|
|
106
|
+
cannot be discovered. Keep intent separate from current-state evidence.
|
|
107
|
+
|
|
108
|
+
On every route, keep feasibility (`confirmed | plausible | unknown |
|
|
109
|
+
infeasible`), confidence (`high | medium | low`), and disposition (`chosen |
|
|
110
|
+
rejected | deferred`) separate and cite evidence or basis. Missing evidence
|
|
111
|
+
forces feasibility `unknown` and confidence `low`. A numeric estimate requires
|
|
112
|
+
range, unit, basis, evidence, and assumptions; otherwise report `unknown`.
|
|
113
|
+
|
|
114
|
+
If the request spans three or more independently deliverable subsystems, split
|
|
115
|
+
it. A subsystem is independent only when its outcome, boundary, and verification
|
|
116
|
+
or deployment path can move through the lifecycle separately.
|
|
74
117
|
|
|
75
118
|
## Discovery Question Framework
|
|
76
119
|
|
|
77
|
-
Load
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
-
|
|
157
|
-
|
|
158
|
-
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
-
|
|
165
|
-
-
|
|
166
|
-
|
|
167
|
-
### 7. 4-Point Spec Review
|
|
168
|
-
Before passing the completed design to the user for final review, you must internally sanitize the drafted document:
|
|
169
|
-
1. **Placeholder Scan:** Hunt and eliminate any "TBD", "TODO", or vague placeholder variables.
|
|
170
|
-
2. **Consistency Check:** Ensure no contradictory flows exist between architecture and behavior segments.
|
|
171
|
-
3. **Scope Check:** Verify the design addresses only the agreed feature bounds without uncontrolled scope creep.
|
|
172
|
-
4. **Ambiguity Check:** Replace abstract claims ("we will implement logic here") with concrete instructions.
|
|
173
|
-
|
|
174
|
-
### 8. Final Handoff & Documentation
|
|
175
|
-
Upon the user's explicit final approval of the sanitized design document:
|
|
176
|
-
1. Generate the final **Design Doc / Summary Report**.
|
|
177
|
-
2. Include: problem statement, exact requirements, evaluated approaches, recommended solution, risks, validation criteria, decision register, open questions, and next steps.
|
|
178
|
-
3. Invoke `/hapo:specs` with the report context to hand off into CafeKit's structured specification phase.
|
|
179
|
-
4. Optionally update an existing project notes, docs, or report file if the approved design context should be persisted for future work.
|
|
180
|
-
|
|
181
|
-
## Completion Bar
|
|
182
|
-
|
|
183
|
-
You are done only when:
|
|
184
|
-
- Scout findings were summarized.
|
|
185
|
-
- The five exact requirement fields are concrete.
|
|
186
|
-
- The selected design was approved by the user.
|
|
187
|
-
- The 4-point review found no blocking gaps.
|
|
188
|
-
- The summary/report is ready for `/hapo:specs`.
|
|
120
|
+
Load `references/question-framework.md` before the first discovery question.
|
|
121
|
+
Generate questions from scout evidence, user intent, contract gaps, applicable
|
|
122
|
+
domain guidance, and risk surfaces. Never ask the user for a technical fact that
|
|
123
|
+
code, docs, or trusted current research can answer.
|
|
124
|
+
|
|
125
|
+
Use the runtime's native structured user-input tool when available. Ask one
|
|
126
|
+
highest-impact question by default; batch at most three independent questions
|
|
127
|
+
only when none depends on an earlier answer. Record confirmed decisions,
|
|
128
|
+
assumptions, and open questions separately in the decision register.
|
|
129
|
+
|
|
130
|
+
Stop asking when remaining details have safe implementation defaults. Do not
|
|
131
|
+
force questions merely to consume a budget.
|
|
132
|
+
|
|
133
|
+
## Options and specialist use
|
|
134
|
+
|
|
135
|
+
A material design choice exists only when at least two viable paths would satisfy
|
|
136
|
+
the contract with meaningfully different consequences.
|
|
137
|
+
|
|
138
|
+
- For a material choice, compare 2–3 mechanically distinct viable approaches by
|
|
139
|
+
setup cost, runtime complexity, maintenance, UX/DX, compatibility/migration,
|
|
140
|
+
risk, and time-to-value.
|
|
141
|
+
- With one viable path, present it and explain briefly why alternatives would be
|
|
142
|
+
artificial or fail the contract. Never create strawman options.
|
|
143
|
+
- Recommend the smallest path that satisfies the contract.
|
|
144
|
+
|
|
145
|
+
Call `brainstormer` only for a material architectural choice that benefits from
|
|
146
|
+
deeper pressure-testing. Use researcher only for current external facts the
|
|
147
|
+
repository cannot establish. The controller remains responsible for questions,
|
|
148
|
+
approval, persistence, and handoff.
|
|
149
|
+
|
|
150
|
+
`--visual` may present inline Mermaid or ASCII for any non-direct analysis and
|
|
151
|
+
falls back to equivalent text when rendering is unavailable. Durable or external
|
|
152
|
+
rendering requires explicit user authority before invocation. `--advice` invokes
|
|
153
|
+
`brainstormer` only after the material-choice gate; if advice is unavailable or
|
|
154
|
+
fails, label it unavailable and continue with controller analysis. Before an
|
|
155
|
+
external visual tool or adviser handoff, minimize context and redact secrets,
|
|
156
|
+
credentials, private keys, access tokens, and unnecessary PII. Neither overlay
|
|
157
|
+
writes, approves, persists, dispatches, or completes work.
|
|
158
|
+
|
|
159
|
+
## Delivery design and approval
|
|
160
|
+
|
|
161
|
+
For feature or documentation delivery:
|
|
162
|
+
|
|
163
|
+
1. Draft one coherent candidate scaled to the work: architecture, data flow,
|
|
164
|
+
interfaces/UX, error behavior, verification, and rollout only when material.
|
|
165
|
+
2. Run the internal 4-point review before presentation:
|
|
166
|
+
- remove placeholders and vague instructions;
|
|
167
|
+
- reconcile contradictory behavior;
|
|
168
|
+
- remove scope creep;
|
|
169
|
+
- make observable behavior and proof concrete.
|
|
170
|
+
3. Present the reviewed candidate.
|
|
171
|
+
4. Before final approval, require a separate explicit section decision when
|
|
172
|
+
the design changes auth/secrets/privacy, destructive or irreversible behavior
|
|
173
|
+
or data-loss risk, money/privilege/safety, or production-state mutation.
|
|
174
|
+
5. After critical section decisions and revisions, request one final approval by
|
|
175
|
+
default.
|
|
176
|
+
|
|
177
|
+
Revise material disagreement before handoff. An already accepted, current
|
|
178
|
+
contract is not re-approved unless new evidence changes it.
|
|
179
|
+
|
|
180
|
+
## Persistence and handoff
|
|
181
|
+
|
|
182
|
+
Persist only approved decisions and semantics, only with user authority, and
|
|
183
|
+
only when they must survive the session or feed Specs. Use the repository's
|
|
184
|
+
configured report path and naming convention. Do not create a report merely to
|
|
185
|
+
satisfy this skill. Before writing, redact live secrets, credentials, private
|
|
186
|
+
keys, access tokens, and unnecessary PII; preserve exact approved meaning with a
|
|
187
|
+
safe placeholder and ownership reference instead of copying the sensitive value.
|
|
188
|
+
|
|
189
|
+
The default handoff stays in chat Markdown. Use these exact headings:
|
|
190
|
+
`Target and evidence freshness`, `Outcome`, `Constraints`, `Non-goals`,
|
|
191
|
+
`Acceptance`, `Touchpoints`, `Direction and alternatives`, `Relevant impacts
|
|
192
|
+
and failure behavior`, `Rollout and recovery`, `Proof mapping`, `Decision
|
|
193
|
+
register`, `Assumptions`, and `Open questions`. The first section records target
|
|
194
|
+
identity, current source revision and worktree state or `[UNVERIFIED]`, an
|
|
195
|
+
evidence-as-of value, and what change invalidates the brief. Durable file output
|
|
196
|
+
requires explicit authority and creates no readiness, approval, proof, or
|
|
197
|
+
execution state.
|
|
198
|
+
|
|
199
|
+
- Feature/docs delivery: provide the approved summary and ask the user to invoke
|
|
200
|
+
`cf:specs` explicitly in a new request.
|
|
201
|
+
- Diagnosed bug: follow the fix-authority rule in front-door routing.
|
|
202
|
+
- Non-bug exploration: recommendation already returned in chat; stop.
|
|
203
|
+
|
|
204
|
+
## Completion bar
|
|
205
|
+
|
|
206
|
+
Brainstorm is complete when the selected route is explicit, current evidence is
|
|
207
|
+
separated from intent, every material user-owned gap is resolved or named, and
|
|
208
|
+
the route-specific output has been returned without unauthorized persistence or
|
|
209
|
+
implementation. Never claim live behavior from this written contract alone.
|