@hassangameryt/freeflow 0.2.0 → 0.4.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/.agents/plugins/marketplace.json +1 -1
- package/.claude-plugin/marketplace.json +4 -4
- package/{plugins/freeflow/.claude-plugin → .claude-plugin}/plugin.json +5 -2
- package/{plugins/freeflow/.codex-plugin → .codex-plugin}/plugin.json +8 -9
- package/README.md +194 -127
- package/assets/feedback-loop.png +0 -0
- package/assets/freeflow-plugin-icon.png +0 -0
- package/assets/freeflow_workflow_map.png +0 -0
- package/assets/workflow.png +0 -0
- package/command-surface.json +129 -0
- package/hooks/freeflow-runtime-context.mjs +419 -0
- package/hooks/tests/check-runtime-context-hook.sh +223 -0
- package/package.json +41 -22
- package/pi-extension/dist/index.js +269 -0
- package/pi-extension/dist/integrations/mcp-config.js +29 -0
- package/pi-extension/dist/output-router/host-producer-identification.js +232 -0
- package/pi-extension/dist/output-router/native-safety-net.js +216 -0
- package/pi-extension/dist/output-router/observed-tool-routing.js +122 -0
- package/pi-extension/dist/output-router/renderers.js +1023 -0
- package/pi-extension/dist/output-router/router-tools.js +554 -0
- package/pi-extension/dist/output-router/schemas.js +383 -0
- package/pi-extension/dist/output-router/status.js +744 -0
- package/pi-extension/dist/output-router/utils.js +502 -0
- package/pi-extension/dist/runtime/runtime-context.js +798 -0
- package/pi-extension/dist/settings/settings-tui.js +314 -0
- package/pi-extension/dist/settings/settings-ui.js +1487 -0
- package/pi-extension/freeflow/index.js +1 -0
- package/pi-extension/src/index.ts +295 -0
- package/pi-extension/src/integrations/mcp-config.ts +32 -0
- package/pi-extension/src/output-router/host-producer-identification.ts +256 -0
- package/pi-extension/src/output-router/native-safety-net.ts +248 -0
- package/pi-extension/src/output-router/observed-tool-routing.ts +134 -0
- package/pi-extension/src/output-router/renderers.ts +1108 -0
- package/pi-extension/src/output-router/router-tools.ts +579 -0
- package/pi-extension/src/output-router/schemas.ts +387 -0
- package/pi-extension/src/output-router/status.ts +791 -0
- package/pi-extension/src/output-router/utils.ts +554 -0
- package/pi-extension/src/runtime/runtime-context.ts +895 -0
- package/pi-extension/src/settings/settings-tui.ts +408 -0
- package/pi-extension/src/settings/settings-ui.ts +1730 -0
- package/pi-extension/tests/integration/pi-extension.test.js +4018 -0
- package/pi-extension/tests/output-router/observed-producers.test.js +132 -0
- package/pi-extension/tests/output-router/search.test.js +722 -0
- package/pi-extension/tests/settings/settings-tui.test.js +243 -0
- package/pi-extension/tsconfig.json +16 -0
- package/{plugins/freeflow/router/dist → router/dist/benchmarks}/benchmark-harness.d.ts +16 -13
- package/router/dist/benchmarks/benchmark-harness.js +92 -0
- package/router/dist/benchmarks/benchmarks.d.ts +109 -0
- package/router/dist/benchmarks/benchmarks.js +979 -0
- package/router/dist/benchmarks/codex-qa-benchmarks.d.ts +95 -0
- package/router/dist/benchmarks/codex-qa-benchmarks.js +500 -0
- package/router/dist/benchmarks/command-benchmarks.d.ts +143 -0
- package/router/dist/benchmarks/command-benchmarks.js +698 -0
- package/router/dist/benchmarks/context-mode-normalized-benchmarks.d.ts +82 -0
- package/router/dist/benchmarks/context-mode-normalized-benchmarks.js +773 -0
- package/router/dist/benchmarks/context-mode-real-deep-benchmark.d.ts +132 -0
- package/router/dist/benchmarks/context-mode-real-deep-benchmark.js +1380 -0
- package/router/dist/benchmarks/context-saving-baseline.d.ts +60 -0
- package/router/dist/benchmarks/context-saving-baseline.js +470 -0
- package/router/dist/benchmarks/index-benchmarks.d.ts +103 -0
- package/router/dist/benchmarks/index-benchmarks.js +862 -0
- package/router/dist/benchmarks/storage-policy-benchmarks.d.ts +101 -0
- package/router/dist/benchmarks/storage-policy-benchmarks.js +618 -0
- package/router/dist/benchmarks/vault-index-benchmarks.d.ts +56 -0
- package/router/dist/benchmarks/vault-index-benchmarks.js +322 -0
- package/router/dist/config/config.d.ts +103 -0
- package/router/dist/config/config.js +632 -0
- package/{plugins/freeflow/router/dist → router/dist/config}/router-contract.d.ts +2 -2
- package/router/dist/config/router-contract.js +54 -0
- package/{plugins/freeflow/router/dist → router/dist/config}/schema.d.ts +19 -10
- package/router/dist/config/schema.js +648 -0
- package/router/dist/config/types.d.ts +573 -0
- package/router/dist/config/types.js +41 -0
- package/router/dist/evidence/bounded-evidence.d.ts +40 -0
- package/router/dist/evidence/bounded-evidence.js +323 -0
- package/router/dist/evidence/evidence-range-selector.d.ts +24 -0
- package/router/dist/evidence/evidence-range-selector.js +232 -0
- package/router/dist/evidence/evidence-search.d.ts +27 -0
- package/router/dist/evidence/evidence-search.js +490 -0
- package/{plugins/freeflow/router/dist → router/dist/evidence}/evidence.d.ts +18 -18
- package/router/dist/evidence/evidence.js +200 -0
- package/router/dist/evidence/failure-contracts.d.ts +37 -0
- package/router/dist/evidence/failure-contracts.js +166 -0
- package/router/dist/evidence/line-ranges.d.ts +24 -0
- package/router/dist/evidence/line-ranges.js +22 -0
- package/router/dist/experiments/local-index.d.ts +64 -0
- package/router/dist/experiments/local-index.js +581 -0
- package/router/dist/index.d.ts +30 -0
- package/router/dist/index.js +32 -0
- package/router/dist/local/local-traversal.d.ts +18 -0
- package/router/dist/local/local-traversal.js +334 -0
- package/router/dist/processing/engine.d.ts +132 -0
- package/router/dist/processing/engine.js +533 -0
- package/router/dist/processing/reducers.d.ts +280 -0
- package/router/dist/processing/reducers.js +1673 -0
- package/router/dist/processing/renderers.d.ts +31 -0
- package/router/dist/processing/renderers.js +195 -0
- package/router/dist/processing/scripts.d.ts +91 -0
- package/router/dist/processing/scripts.js +386 -0
- package/{plugins/freeflow/router/dist → router/dist/repo}/repo-traversal.d.ts +9 -9
- package/router/dist/repo/repo-traversal.js +245 -0
- package/router/dist/routing/observed-reducers.d.ts +41 -0
- package/router/dist/routing/observed-reducers.js +661 -0
- package/router/dist/routing/observed-routing.d.ts +26 -0
- package/router/dist/routing/observed-routing.js +378 -0
- package/router/dist/routing/parsers.d.ts +16 -0
- package/router/dist/routing/parsers.js +521 -0
- package/router/dist/routing/run-filters.d.ts +60 -0
- package/router/dist/routing/run-filters.js +238 -0
- package/router/dist/routing/run-reducers.d.ts +49 -0
- package/router/dist/routing/run-reducers.js +122 -0
- package/router/dist/sandbox/adapter-roots.d.ts +46 -0
- package/router/dist/sandbox/adapter-roots.js +66 -0
- package/router/dist/sandbox/eryx-python-adapter.d.ts +13 -0
- package/router/dist/sandbox/eryx-python-adapter.js +868 -0
- package/router/dist/sandbox/jq-wasm-adapter.d.ts +9 -0
- package/router/dist/sandbox/jq-wasm-adapter.js +429 -0
- package/router/dist/sandbox/quickjs-wasi-adapter.d.ts +13 -0
- package/router/dist/sandbox/quickjs-wasi-adapter.js +384 -0
- package/router/dist/sandbox/script-sandbox.d.ts +134 -0
- package/router/dist/sandbox/script-sandbox.js +337 -0
- package/router/dist/setup/script-transform-adapters.d.ts +32 -0
- package/router/dist/setup/script-transform-adapters.js +278 -0
- package/router/dist/tools/batch.d.ts +33 -0
- package/router/dist/tools/batch.js +586 -0
- package/router/dist/tools/run.d.ts +62 -0
- package/router/dist/tools/run.js +1304 -0
- package/router/dist/tools/search.d.ts +66 -0
- package/router/dist/tools/search.js +1364 -0
- package/router/dist/transform/engine.d.ts +168 -0
- package/router/dist/transform/engine.js +2072 -0
- package/router/dist/vault/vault-index.d.ts +125 -0
- package/router/dist/vault/vault-index.js +416 -0
- package/router/dist/vault/vault.d.ts +138 -0
- package/router/dist/vault/vault.js +630 -0
- package/runtime/interaction-contract.md +16 -0
- package/skills/bypass/SKILL.md +82 -0
- package/skills/commit-work/SKILL.md +106 -0
- package/skills/commit-work/references/staging-decisions.md +73 -0
- package/skills/decision-gate/SKILL.md +48 -0
- package/skills/design-for-depth/SKILL.md +106 -0
- package/skills/design-for-depth/references/design-pressure-signals.md +314 -0
- package/skills/design-for-depth/references/interface-design-loop.md +156 -0
- package/skills/design-for-depth/references/software-design-philosophy.md +248 -0
- package/skills/diagnose-failure/SKILL.md +105 -0
- package/skills/diagnose-failure/references/diagnostic-loop-catalog.md +36 -0
- package/skills/diagnose-failure/references/flaky-and-performance.md +43 -0
- package/skills/discuss/SKILL.md +121 -0
- package/skills/discuss/references/checkpoints.md +66 -0
- package/skills/evaluate-skill/SKILL.md +105 -0
- package/skills/evaluate-skill/references/definition-schema.md +345 -0
- package/skills/evaluate-skill/references/evaluation-design.md +86 -0
- package/skills/evaluate-skill/references/execution-and-evidence.md +85 -0
- package/skills/evaluate-skill/references/review-and-revision.md +51 -0
- package/skills/evaluate-skill/scripts/lib/definitions.mjs +296 -0
- package/skills/evaluate-skill/scripts/lib/evidence.mjs +46 -0
- package/skills/evaluate-skill/scripts/lib/grade-comparison.mjs +60 -0
- package/skills/evaluate-skill/scripts/lib/grade-interaction.mjs +148 -0
- package/skills/evaluate-skill/scripts/lib/grade-support.mjs +126 -0
- package/skills/evaluate-skill/scripts/lib/grade-workspace.mjs +192 -0
- package/skills/evaluate-skill/scripts/lib/grade.mjs +56 -0
- package/skills/evaluate-skill/scripts/lib/pi.mjs +489 -0
- package/skills/evaluate-skill/scripts/lib/process.mjs +79 -0
- package/skills/evaluate-skill/scripts/lib/rpc.mjs +444 -0
- package/skills/evaluate-skill/scripts/lib/runner.mjs +346 -0
- package/skills/evaluate-skill/scripts/lib/sandbox.mjs +409 -0
- package/skills/evaluate-skill/scripts/lib/view.mjs +337 -0
- package/skills/evaluate-skill/scripts/pi-guard.mjs +164 -0
- package/skills/evaluate-skill/scripts/skill-eval.mjs +101 -0
- package/skills/execute-work/SKILL.md +99 -0
- package/skills/execute-work/references/code-practices.md +78 -0
- package/skills/execute-work/references/execution-loop.md +77 -0
- package/skills/finish-branch/SKILL.md +117 -0
- package/skills/finish-branch/references/integration-options.md +80 -0
- package/skills/handoff/SKILL.md +92 -0
- package/skills/handoff/references/templates.md +141 -0
- package/skills/launch-work/SKILL.md +116 -0
- package/skills/launch-work/references/launch-readiness.md +85 -0
- package/skills/migration-work/SKILL.md +115 -0
- package/skills/migration-work/references/migration-lifecycle.md +82 -0
- package/skills/mode-contract/SKILL.md +82 -0
- package/skills/output-router/SKILL.md +206 -0
- package/skills/output-router/references/safety-policy.md +40 -0
- package/skills/release-work/SKILL.md +118 -0
- package/skills/release-work/references/release-evidence.md +78 -0
- package/skills/review-artifact/SKILL.md +126 -0
- package/skills/review-artifact/references/reviewer-prompt.md +148 -0
- package/skills/review-work/SKILL.md +126 -0
- package/skills/review-work/references/reviewer-prompt.md +134 -0
- package/skills/review-work/references/security-risk-lens.md +67 -0
- package/skills/setup-freeflow/SKILL.md +98 -0
- package/skills/setup-freeflow/references/activation-contract.md +120 -0
- package/skills/setup-freeflow/references/host-setup.md +72 -0
- package/skills/setup-freeflow/references/output-router-setup.md +110 -0
- package/skills/simplify-code/SKILL.md +80 -0
- package/skills/simplify-code/references/simplification-patterns.md +70 -0
- package/skills/tdd/SKILL.md +96 -0
- package/skills/tdd/references/test-design.md +96 -0
- package/skills/track-work/SKILL.md +84 -0
- package/skills/track-work/references/working-record-schema.md +378 -0
- package/skills/verify-work/SKILL.md +85 -0
- package/skills/verify-work/references/browser-runtime-evidence.md +55 -0
- package/skills/verify-work/references/integration-evidence.md +51 -0
- package/skills/verify-work/references/performance-evidence.md +57 -0
- package/skills/workflow/SKILL.md +91 -0
- package/skills/workflow/references/domain-skill-composition.md +57 -0
- package/skills/workflow/references/workflow-loop.md +92 -0
- package/skills/write-plan/SKILL.md +123 -0
- package/skills/write-plan/references/plan-shapes.md +156 -0
- package/skills/write-skill/SKILL.md +119 -0
- package/skills/write-skill/references/activation-boundaries.md +62 -0
- package/skills/write-skill/references/agent-first-instructions.md +87 -0
- package/skills/write-skill/references/progressive-disclosure.md +63 -0
- package/skills/write-skill/scripts/lib/skill-author.mjs +653 -0
- package/skills/write-skill/scripts/skill-author.mjs +104 -0
- package/skills/write-spec/SKILL.md +104 -0
- package/skills/write-spec/references/artifact-standards.md +86 -0
- package/skills/write-spec/references/decision-records.md +77 -0
- package/skills/write-spec/references/spec-shapes.md +128 -0
- package/plugins/freeflow/command-surface.json +0 -77
- package/plugins/freeflow/docs/README.md +0 -40
- package/plugins/freeflow/docs/adr/0001-three-modes.md +0 -27
- package/plugins/freeflow/docs/adr/0002-evals-before-hooks.md +0 -17
- package/plugins/freeflow/docs/adr/0003-release-boundary.md +0 -21
- package/plugins/freeflow/docs/adr/0004-research-replaces-shallow-discovery-skills.md +0 -26
- package/plugins/freeflow/docs/adr/README.md +0 -8
- package/plugins/freeflow/docs/architecture.md +0 -86
- package/plugins/freeflow/docs/output-router.md +0 -212
- package/plugins/freeflow/docs/release-evidence.md +0 -69
- package/plugins/freeflow/docs/skills.md +0 -43
- package/plugins/freeflow/docs/workflow.md +0 -57
- package/plugins/freeflow/hooks/freeflow-runtime-context.mjs +0 -257
- package/plugins/freeflow/pi-extension/index.js +0 -1176
- package/plugins/freeflow/router/dist/benchmark-harness.js +0 -92
- package/plugins/freeflow/router/dist/benchmarks.d.ts +0 -102
- package/plugins/freeflow/router/dist/benchmarks.js +0 -880
- package/plugins/freeflow/router/dist/bounded-evidence.d.ts +0 -40
- package/plugins/freeflow/router/dist/bounded-evidence.js +0 -310
- package/plugins/freeflow/router/dist/codex-qa-benchmarks.d.ts +0 -91
- package/plugins/freeflow/router/dist/codex-qa-benchmarks.js +0 -461
- package/plugins/freeflow/router/dist/command-benchmarks.d.ts +0 -128
- package/plugins/freeflow/router/dist/command-benchmarks.js +0 -652
- package/plugins/freeflow/router/dist/config.d.ts +0 -22
- package/plugins/freeflow/router/dist/config.js +0 -114
- package/plugins/freeflow/router/dist/evidence-range-selector.d.ts +0 -22
- package/plugins/freeflow/router/dist/evidence-range-selector.js +0 -180
- package/plugins/freeflow/router/dist/evidence-search.d.ts +0 -25
- package/plugins/freeflow/router/dist/evidence-search.js +0 -450
- package/plugins/freeflow/router/dist/evidence.js +0 -196
- package/plugins/freeflow/router/dist/experimental-local-index.d.ts +0 -1
- package/plugins/freeflow/router/dist/experimental-local-index.js +0 -1
- package/plugins/freeflow/router/dist/experiments/local-index.d.ts +0 -58
- package/plugins/freeflow/router/dist/experiments/local-index.js +0 -562
- package/plugins/freeflow/router/dist/index-benchmarks.d.ts +0 -84
- package/plugins/freeflow/router/dist/index-benchmarks.js +0 -458
- package/plugins/freeflow/router/dist/index.d.ts +0 -12
- package/plugins/freeflow/router/dist/index.js +0 -12
- package/plugins/freeflow/router/dist/line-ranges.d.ts +0 -22
- package/plugins/freeflow/router/dist/line-ranges.js +0 -22
- package/plugins/freeflow/router/dist/parsers.d.ts +0 -16
- package/plugins/freeflow/router/dist/parsers.js +0 -473
- package/plugins/freeflow/router/dist/repo-traversal.js +0 -242
- package/plugins/freeflow/router/dist/retrieve.d.ts +0 -33
- package/plugins/freeflow/router/dist/retrieve.js +0 -855
- package/plugins/freeflow/router/dist/router-contract.js +0 -54
- package/plugins/freeflow/router/dist/run.d.ts +0 -26
- package/plugins/freeflow/router/dist/run.js +0 -356
- package/plugins/freeflow/router/dist/schema.js +0 -354
- package/plugins/freeflow/router/dist/types.d.ts +0 -234
- package/plugins/freeflow/router/dist/types.js +0 -9
- package/plugins/freeflow/router/dist/vault.d.ts +0 -80
- package/plugins/freeflow/router/dist/vault.js +0 -484
- package/plugins/freeflow/skills/bypass/SKILL.md +0 -68
- package/plugins/freeflow/skills/commit-work/SKILL.md +0 -98
- package/plugins/freeflow/skills/commit-work/references/staging-decisions.md +0 -51
- package/plugins/freeflow/skills/diagnose-failure/SKILL.md +0 -95
- package/plugins/freeflow/skills/diagnose-failure/references/feedback-loop-catalog.md +0 -25
- package/plugins/freeflow/skills/diagnose-failure/references/flaky-and-performance.md +0 -31
- package/plugins/freeflow/skills/evaluate-skill/SKILL.md +0 -96
- package/plugins/freeflow/skills/evaluate-skill/references/eval-patterns.md +0 -41
- package/plugins/freeflow/skills/evaluate-skill/references/grading-priority.md +0 -33
- package/plugins/freeflow/skills/execute-plan/SKILL.md +0 -132
- package/plugins/freeflow/skills/execute-plan/references/execution-map.md +0 -122
- package/plugins/freeflow/skills/handoff/SKILL.md +0 -66
- package/plugins/freeflow/skills/handoff/references/templates.md +0 -64
- package/plugins/freeflow/skills/interview-gate/SKILL.md +0 -90
- package/plugins/freeflow/skills/mode-contract/SKILL.md +0 -79
- package/plugins/freeflow/skills/output-router/SKILL.md +0 -69
- package/plugins/freeflow/skills/output-router/references/safety-policy.md +0 -33
- package/plugins/freeflow/skills/research/ARTIFACT-DESTINATIONS.md +0 -58
- package/plugins/freeflow/skills/research/CHECKPOINTS.md +0 -74
- package/plugins/freeflow/skills/research/LANGUAGE.md +0 -61
- package/plugins/freeflow/skills/research/SKILL.md +0 -128
- package/plugins/freeflow/skills/review-artifact/SKILL.md +0 -115
- package/plugins/freeflow/skills/review-artifact/references/reviewer-prompt.md +0 -56
- package/plugins/freeflow/skills/review-work/SKILL.md +0 -96
- package/plugins/freeflow/skills/review-work/references/reviewer-prompt.md +0 -97
- package/plugins/freeflow/skills/setup-freeflow/SKILL.md +0 -94
- package/plugins/freeflow/skills/setup-freeflow/references/activation-contract.md +0 -99
- package/plugins/freeflow/skills/setup-freeflow/references/host-setup.md +0 -35
- package/plugins/freeflow/skills/setup-freeflow/references/output-router-setup.md +0 -52
- package/plugins/freeflow/skills/verify-work/SKILL.md +0 -62
- package/plugins/freeflow/skills/workflow/SKILL.md +0 -95
- package/plugins/freeflow/skills/workflow/references/workflow-map.md +0 -102
- package/plugins/freeflow/skills/write-plan/SKILL.md +0 -88
- package/plugins/freeflow/skills/write-plan/references/plan-shapes.md +0 -70
- package/plugins/freeflow/skills/write-skill/SKILL.md +0 -88
- package/plugins/freeflow/skills/write-spec/SKILL.md +0 -90
- package/plugins/freeflow/skills/write-spec/references/artifact-standards.md +0 -67
- package/plugins/freeflow/skills/write-spec/references/spec-shapes.md +0 -69
- /package/{plugins/freeflow/assets → assets}/freeflow-plugin-icon-transparent.png +0 -0
- /package/{plugins/freeflow/hooks → hooks}/hooks.json +0 -0
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: verify-work
|
|
3
|
-
description: Use before claiming work is done, fixed, passing, implemented, reviewed, or ready; when verification fails; or when the user asks to skip checks but still wants a completion claim.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Verify Work
|
|
7
|
-
|
|
8
|
-
Do not claim completion without fresh evidence.
|
|
9
|
-
|
|
10
|
-
## Evidence Rule
|
|
11
|
-
|
|
12
|
-
Before saying work is done, fixed, passing, implemented, reviewed, or ready, verify the claim.
|
|
13
|
-
|
|
14
|
-
Good evidence can be:
|
|
15
|
-
|
|
16
|
-
- Passing tests.
|
|
17
|
-
- Typecheck, lint, build, or formatter output.
|
|
18
|
-
- Reproducing a bug before and after a fix.
|
|
19
|
-
- Inspecting the changed file when no executable check exists.
|
|
20
|
-
- A targeted manual check.
|
|
21
|
-
|
|
22
|
-
Use the smallest verification that proves the claim.
|
|
23
|
-
|
|
24
|
-
## Claim Rule
|
|
25
|
-
|
|
26
|
-
Match the claim to the evidence.
|
|
27
|
-
|
|
28
|
-
- If tests passed, say which tests passed.
|
|
29
|
-
- If only a file was inspected, say that.
|
|
30
|
-
- If no runnable check exists, say the work is unverified by automation.
|
|
31
|
-
- If the user asks to skip checks, skip the checks but do not claim verified or passing.
|
|
32
|
-
|
|
33
|
-
Never convert "I changed the code" into "it works" without evidence.
|
|
34
|
-
|
|
35
|
-
## Failure Rule
|
|
36
|
-
|
|
37
|
-
If verification fails, stop and report the evidence.
|
|
38
|
-
|
|
39
|
-
Do not patch randomly. Decide whether the failure means:
|
|
40
|
-
|
|
41
|
-
- Implementation bug.
|
|
42
|
-
- Bad or stale test.
|
|
43
|
-
- Source-of-truth conflict.
|
|
44
|
-
- Missing environment/dependency.
|
|
45
|
-
- User-owned product/domain decision.
|
|
46
|
-
|
|
47
|
-
If the failure challenges the spec, plan, docs, policy, or tests, re-enter the interview gate before changing direction.
|
|
48
|
-
|
|
49
|
-
## Final Response
|
|
50
|
-
|
|
51
|
-
Use this shape:
|
|
52
|
-
|
|
53
|
-
```text
|
|
54
|
-
Changed: ...
|
|
55
|
-
Verified: ...
|
|
56
|
-
Not verified: ...
|
|
57
|
-
Next: ...
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
For completed consequential work, `Next:` is mandatory. Omit it only for direct question answers, mid-task status, or clarification-only turns.
|
|
61
|
-
|
|
62
|
-
Keep it short.
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: workflow
|
|
3
|
-
description: Use when doing consequential work such as implementation, bug fixing, planning, research-for-action, review, verification, or handoff.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Workflow
|
|
7
|
-
|
|
8
|
-
Follow a lightweight forward workflow. Scale process to task risk.
|
|
9
|
-
|
|
10
|
-
Move forward when context is sufficient. Re-enter clarification when new ambiguity would change the next action.
|
|
11
|
-
|
|
12
|
-
Question means answer. Do not turn a question into a file edit, report, plan, or implementation.
|
|
13
|
-
|
|
14
|
-
```text
|
|
15
|
-
Clarify / Research
|
|
16
|
-
-> Decision / Spec
|
|
17
|
-
-> Plan
|
|
18
|
-
-> Execute
|
|
19
|
-
-> Review
|
|
20
|
-
-> Verify
|
|
21
|
-
-> Handoff
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
This is a guide, not ceremony. Small reversible work can skip spec/plan artifacts.
|
|
25
|
-
|
|
26
|
-
Method skills such as TDD, diagnosis, or execute-plan run inside the current workflow phase. Workflow owns routing, source-truth conflicts, user-owned decisions, review, verification, and handoff boundaries.
|
|
27
|
-
|
|
28
|
-
Read `references/workflow-map.md` when the user asks for the full pipeline, public docs need a diagram, or the next workflow entry point is unclear.
|
|
29
|
-
|
|
30
|
-
## Route Closeout
|
|
31
|
-
|
|
32
|
-
When a consequential workflow phase completes, name the next route.
|
|
33
|
-
|
|
34
|
-
Use `Next:` in the final response unless this is a direct question answer, mid-task status, or clarification-only turn.
|
|
35
|
-
|
|
36
|
-
Choose one:
|
|
37
|
-
|
|
38
|
-
- Forward: the next workflow entry point is clear.
|
|
39
|
-
- Backward: new evidence requires clarification, research, or interview gate.
|
|
40
|
-
- Branch: 2-3 valid next routes exist.
|
|
41
|
-
- Stop: no required next action remains.
|
|
42
|
-
|
|
43
|
-
Recommend the route supported by evidence. Do not ask a vague "what next?" question.
|
|
44
|
-
|
|
45
|
-
After completed research with decisions that must survive beyond chat, route to `write-spec`, an owning decision artifact, or handoff before `write-plan` or execution.
|
|
46
|
-
|
|
47
|
-
`Next:` is routing, not permission to create the next artifact or continue into a new phase.
|
|
48
|
-
|
|
49
|
-
## Backward Edge
|
|
50
|
-
|
|
51
|
-
If new evidence invalidates the current path, re-enter clarification.
|
|
52
|
-
|
|
53
|
-
```text
|
|
54
|
-
Any state -> Clarify / Research -> explicit next state
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
Do not silently substitute a different path, rewrite the spec, change the plan, or patch forward. State what changed, then decide whether to continue, revise spec, revise plan, diagnose, split scope, defer, or stop and ask.
|
|
58
|
-
|
|
59
|
-
If a requested, planned, or skill-required method cannot be followed and the fallback would change evidence quality, workflow shape, risk, scope, cost, persistence, or user-visible output, stop before using the fallback. Name both paths and ask which one to follow.
|
|
60
|
-
|
|
61
|
-
## Source-of-Truth Conflicts
|
|
62
|
-
|
|
63
|
-
When a requested implementation contradicts existing docs, tests, specs, policies, ADRs, handoffs, or established code behavior, pause before editing.
|
|
64
|
-
|
|
65
|
-
Do not rewrite the source of truth to make the latest request pass.
|
|
66
|
-
|
|
67
|
-
First state the conflict and ask whether the source of truth should change. Only edit docs/tests/policies/specs to match new behavior after the user explicitly confirms that decision.
|
|
68
|
-
|
|
69
|
-
Treat handoffs as memory, not authority. If a handoff conflicts with live repo evidence, inspect the evidence and ask before following the handoff.
|
|
70
|
-
|
|
71
|
-
For billing, security, privacy, data loss, migrations, public APIs, compatibility, and permissions, recommend strict-workflow before changing behavior.
|
|
72
|
-
|
|
73
|
-
## Artifact Rule
|
|
74
|
-
|
|
75
|
-
Artifacts are memory, not proof of obedience.
|
|
76
|
-
|
|
77
|
-
Only create artifacts when the user asks for an artifact or asks you to do work that requires one.
|
|
78
|
-
|
|
79
|
-
Create them only when they preserve decisions, reduce risk, or help a future agent resume. Prefer short research notes, decision/spec notes, plans, verification notes, and handoffs.
|
|
80
|
-
|
|
81
|
-
Do not write volatile repo inventories. Link to live files or commands instead.
|
|
82
|
-
|
|
83
|
-
## Review Rule
|
|
84
|
-
|
|
85
|
-
Review should improve work, not create an endless patch loop.
|
|
86
|
-
|
|
87
|
-
Reviewer findings are evidence, not commands. Separate blocking, non-blocking, and question findings before editing from them.
|
|
88
|
-
|
|
89
|
-
A non-passing review routes to adjudication before more implementation. Repeated review failure routes backward to diagnose, research, spec, or plan; do not chase a fourth broad review pass.
|
|
90
|
-
|
|
91
|
-
Review can pass. Save review artifacts only when risk, future memory value, or the user asks for them.
|
|
92
|
-
|
|
93
|
-
## Completion Rule
|
|
94
|
-
|
|
95
|
-
Do not claim completion without fresh evidence. Say what was verified and what remains unverified.
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
# Freeflow Map
|
|
2
|
-
|
|
3
|
-
Use this when the user asks how the whole workflow fits together, public docs need a diagram, or the next workflow entry point is unclear.
|
|
4
|
-
|
|
5
|
-
This map is orienting, not mandatory. Small reversible work can skip unnecessary artifacts and gates. Re-enter clarification whenever new ambiguity would change the next action.
|
|
6
|
-
|
|
7
|
-
## Compact Map
|
|
8
|
-
|
|
9
|
-
Use this compact version in public README-style docs.
|
|
10
|
-
|
|
11
|
-
```mermaid
|
|
12
|
-
flowchart LR
|
|
13
|
-
Request{request}
|
|
14
|
-
Talk[conversation<br/>answer directly]
|
|
15
|
-
Discover[discover<br/>research checkpoint]
|
|
16
|
-
Spec[spec]
|
|
17
|
-
Plan[plan]
|
|
18
|
-
Build[build<br/>execute / diagnose / TDD]
|
|
19
|
-
Check[review + verify]
|
|
20
|
-
Close[commit / handoff]
|
|
21
|
-
|
|
22
|
-
Request -->|question| Talk
|
|
23
|
-
Request -->|work| Discover
|
|
24
|
-
Discover --> Spec --> Plan --> Build --> Check --> Close
|
|
25
|
-
Check -. new evidence or failed check .-> Discover
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
```text
|
|
29
|
-
Use conversation mode for questions. Use workflow mode for consequential work.
|
|
30
|
-
Use strict-workflow for risky work; same spine, stronger gates.
|
|
31
|
-
Loop back when new evidence, source conflicts, user-owned decisions, or failed checks change the path.
|
|
32
|
-
After each completed consequential phase, name the next route: forward, backward, branch, or stop.
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
## Reference Map
|
|
36
|
-
|
|
37
|
-
Use this fuller version when choosing an entry point or explaining the workflow lifecycle.
|
|
38
|
-
|
|
39
|
-
```mermaid
|
|
40
|
-
flowchart TD
|
|
41
|
-
Request([User request]) --> Mode{Mode}
|
|
42
|
-
|
|
43
|
-
Mode -->|question, critique, explanation| Conversation[conversation mode<br/>answer directly]
|
|
44
|
-
Conversation --> Done([done])
|
|
45
|
-
|
|
46
|
-
Mode -->|consequential work| Workflow[workflow mode<br/>scale to risk]
|
|
47
|
-
Mode -->|high-risk or hard to reverse| Strict[strict-workflow mode<br/>stronger gates]
|
|
48
|
-
|
|
49
|
-
Workflow --> Entry{Choose entry point}
|
|
50
|
-
Strict --> Entry
|
|
51
|
-
|
|
52
|
-
Entry --> Discovery[Discovery<br/>research<br/>interview-gate]
|
|
53
|
-
Entry --> Spec[Spec<br/>write-spec<br/>review-artifact]
|
|
54
|
-
Entry --> Plan[Plan<br/>write-plan<br/>review-artifact]
|
|
55
|
-
Entry --> Build[Build, diagnose, or TDD<br/>execute-plan<br/>diagnose-failure]
|
|
56
|
-
Entry --> Closeout[Closeout<br/>review-work<br/>verify-work<br/>commit-work]
|
|
57
|
-
|
|
58
|
-
Discovery --> Spec
|
|
59
|
-
Spec --> Plan
|
|
60
|
-
Plan --> Build
|
|
61
|
-
Build --> Closeout
|
|
62
|
-
Closeout --> Handoff[handoff<br/>durable checkpoint when needed]
|
|
63
|
-
Handoff --> Done
|
|
64
|
-
|
|
65
|
-
Reenter[Re-enter discovery<br/>new evidence, owner decision,<br/>source conflict, or failed check]
|
|
66
|
-
Spec -.-> Reenter
|
|
67
|
-
Plan -.-> Reenter
|
|
68
|
-
Build -.-> Reenter
|
|
69
|
-
Closeout -.-> Reenter
|
|
70
|
-
Handoff -.-> Reenter
|
|
71
|
-
Reenter --> Discovery
|
|
72
|
-
|
|
73
|
-
Bypass[bypass<br/>skip ceremony, not judgment] -.-> Entry
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
## Common Entry Points
|
|
77
|
-
|
|
78
|
-
- Use `conversation mode` when the user asks a question, wants critique, or is exploring.
|
|
79
|
-
- Use `research` when repo, domain, evidence, current facts, brainstorming, targeted questions, or a decision checkpoint are needed before spec, plan, build, or durable memory.
|
|
80
|
-
- Use `interview-gate` when direction is vague, source truth conflicts, or user-owned decisions are still open.
|
|
81
|
-
- Use `write-spec` when requirements are agreed but not durable.
|
|
82
|
-
- Use `review-artifact` when a spec, plan, handoff, or decision note must guide future work.
|
|
83
|
-
- Use `write-plan` when an approved spec or explicit task context exists.
|
|
84
|
-
- Use `execute-plan` when an approved plan exists; method skills like TDD run inside that build phase when requested or appropriate.
|
|
85
|
-
- Use `diagnose-failure` when behavior is broken, failing, flaky, slow, or unclear.
|
|
86
|
-
- Use `review-work` and `verify-work` before claiming consequential work is ready.
|
|
87
|
-
- Use `commit-work` only after the intended diff is reviewed and verification evidence exists.
|
|
88
|
-
- Use `handoff` when pausing, compacting, or transferring context.
|
|
89
|
-
- Use `bypass` only to skip unnecessary ceremony. It cannot skip user-owned decisions, source-truth conflicts, risky checks, or verification claims.
|
|
90
|
-
|
|
91
|
-
## Phase Exits
|
|
92
|
-
|
|
93
|
-
End completed consequential phases with `Next:` unless this is a direct answer, mid-task status, or clarification-only turn.
|
|
94
|
-
|
|
95
|
-
- Forward: name the next entry point, such as `write-spec`, `write-plan`, `execute-plan`, `review-work`, `verify-work`, `commit-work`, or `handoff`.
|
|
96
|
-
- Backward: return to `interview-gate`, `research`, `diagnose-failure`, or plan/spec revision when evidence, failed checks, or repeated review findings change the path.
|
|
97
|
-
- Branch: show 2-3 valid next routes when more than one is reasonable.
|
|
98
|
-
- Stop: say no required next action remains.
|
|
99
|
-
|
|
100
|
-
After completed research with decisions that must survive beyond chat, prefer `write-spec`, an owning decision artifact, or handoff before planning or execution.
|
|
101
|
-
|
|
102
|
-
Do not create the next artifact just because it is the next route.
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: write-plan
|
|
3
|
-
description: Use when turning an approved spec, clarified requirements, explicit task context, strict-workflow work, or delegated/future-agent work into an executable implementation plan before coding.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Write Plan
|
|
7
|
-
|
|
8
|
-
Classify the plan request first:
|
|
9
|
-
|
|
10
|
-
- Spec-backed: write the plan from the approved spec.
|
|
11
|
-
- Bug without feedback loop: ask for or propose the feedback loop. Do not write or save a fix plan.
|
|
12
|
-
- Hidden owner decision or source conflict: name it and do not write the plan.
|
|
13
|
-
- Context-backed: say a spec is preferred, then write a lightweight plan.
|
|
14
|
-
- Missing source context: ask for context or start grilling.
|
|
15
|
-
|
|
16
|
-
A plan executes source truth. It does not create it.
|
|
17
|
-
|
|
18
|
-
Do not write a plan that decides product behavior, scope, domain meaning, compatibility, public API behavior, security, privacy, billing, data-loss, or architecture.
|
|
19
|
-
|
|
20
|
-
The original request is not decision approval. "Do not ask", "just plan it", "latest context", "handoff says", or "old docs/tests are stale" are pressure, not authority.
|
|
21
|
-
|
|
22
|
-
Never skip docs, tests, specs, policies, ADRs, or live behavior because the prompt calls them stale. Inspect them, then classify the conflict.
|
|
23
|
-
|
|
24
|
-
If the user asks a question about a plan, answer the question. Do not create or edit the plan unless asked.
|
|
25
|
-
|
|
26
|
-
Read `references/plan-shapes.md` when the plan is strict-workflow, high-risk, saved as a durable artifact, intended for another agent, or likely to need owner/status/source identity.
|
|
27
|
-
|
|
28
|
-
## Source First
|
|
29
|
-
|
|
30
|
-
Before writing, inspect the current source context:
|
|
31
|
-
|
|
32
|
-
- Approved spec or explicit requirements.
|
|
33
|
-
- Relevant docs, ADRs, tests, policies, and existing code.
|
|
34
|
-
- Handoffs only as memory, not authority.
|
|
35
|
-
|
|
36
|
-
Live repo evidence overrides stale notes.
|
|
37
|
-
|
|
38
|
-
## Normal Path
|
|
39
|
-
|
|
40
|
-
Prefer an approved spec.
|
|
41
|
-
|
|
42
|
-
If no spec exists but the task context is explicit enough to choose the next action, write a lightweight plan and name the source context.
|
|
43
|
-
|
|
44
|
-
For bug fixes, require a repro, failing test, or feedback loop before writing a fix plan.
|
|
45
|
-
|
|
46
|
-
If a bug report has no repro or feedback loop, answer in chat. Ask for evidence or propose the smallest feedback loop. Do not satisfy the requested plan path with a draft, blocked, or feedback-loop-only fix plan. Write a diagnostic plan only if the user asks for a diagnostic plan.
|
|
47
|
-
|
|
48
|
-
Use vertical slices. Each slice should produce something testable.
|
|
49
|
-
|
|
50
|
-
## Stop Conditions
|
|
51
|
-
|
|
52
|
-
Stop before writing when the plan would:
|
|
53
|
-
|
|
54
|
-
- Invent requirements from thin or adjacent context.
|
|
55
|
-
- Resolve a user-owned decision.
|
|
56
|
-
- Override docs, tests, specs, policies, ADRs, or live behavior.
|
|
57
|
-
- Treat a handoff, review comment, or plan as authority over source-of-truth files.
|
|
58
|
-
- Plan a bug fix without a repro, failing test, feedback loop, or accepted diagnostic risk.
|
|
59
|
-
- Turn a missing bug repro into guessed fix steps, TTLs, invalidation rules, concurrency rules, or instrumentation requirements.
|
|
60
|
-
- Hide uncertainty inside implementation steps.
|
|
61
|
-
|
|
62
|
-
Name the missing decision or conflict. Ask which path to follow. Recommend the path supported by evidence.
|
|
63
|
-
|
|
64
|
-
For source-truth conflicts, the final line must be a direct choice question.
|
|
65
|
-
|
|
66
|
-
## Shape
|
|
67
|
-
|
|
68
|
-
Adapt the plan to risk. Prefer:
|
|
69
|
-
|
|
70
|
-
- Durable plan identity when the plan is saved for future agents or teammates.
|
|
71
|
-
- Goal.
|
|
72
|
-
- Source spec or context.
|
|
73
|
-
- Files likely touched.
|
|
74
|
-
- Vertical slices.
|
|
75
|
-
- Tests or checks per slice.
|
|
76
|
-
- Commands where known.
|
|
77
|
-
- Stop conditions.
|
|
78
|
-
- Review or verification checkpoints.
|
|
79
|
-
|
|
80
|
-
Keep it concise. Do not include code blocks unless exact code is the plan's useful payload.
|
|
81
|
-
|
|
82
|
-
## Completion
|
|
83
|
-
|
|
84
|
-
After writing, report:
|
|
85
|
-
|
|
86
|
-
- The artifact path, if saved.
|
|
87
|
-
- The source context used.
|
|
88
|
-
- Any decisions still blocked.
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
# Plan Shapes
|
|
2
|
-
|
|
3
|
-
Use this for strict-workflow, high-risk, durable, or delegated plans.
|
|
4
|
-
|
|
5
|
-
## Durable Plan Identity
|
|
6
|
-
|
|
7
|
-
When saving a plan that future agents or teammates will rely on, start with a compact header:
|
|
8
|
-
|
|
9
|
-
```md
|
|
10
|
-
> **Doc ID:** PLAN-001-billing-webhook-api
|
|
11
|
-
> **Date:** 2026-05-26
|
|
12
|
-
> **Owner:** Hassan Mohiddin
|
|
13
|
-
> **Type:** Plan
|
|
14
|
-
> **Status:** Ready
|
|
15
|
-
> **Source:** docs/specs/billing-webhook-api.md
|
|
16
|
-
```
|
|
17
|
-
|
|
18
|
-
Rules:
|
|
19
|
-
|
|
20
|
-
- `Doc ID`: stable and readable. Prefer `PLAN-###-slug` when no repo convention exists.
|
|
21
|
-
- `Owner`: use the spec/product owner when known. In normal workflow, use `User` only when the requester is the only known owner.
|
|
22
|
-
- `Status`: use `Draft` when decisions/checks are still incomplete; use `Ready` when the plan is executable.
|
|
23
|
-
- `Source`: cite the approved spec, clarified context, issue, ADR, or docs used as authority.
|
|
24
|
-
|
|
25
|
-
In strict-workflow for security, billing, privacy, public API, migration, data-loss, or architecture work, stop and ask if owner/status/source would be guessed.
|
|
26
|
-
|
|
27
|
-
Do not add a changelog on first creation.
|
|
28
|
-
|
|
29
|
-
## Lightweight Plans
|
|
30
|
-
|
|
31
|
-
Use for low-risk context-backed work:
|
|
32
|
-
|
|
33
|
-
- goal
|
|
34
|
-
- source context
|
|
35
|
-
- files likely touched
|
|
36
|
-
- short slices
|
|
37
|
-
- checks
|
|
38
|
-
|
|
39
|
-
Mention that a spec is preferred when no approved spec exists, but do not add artifact pressure for tiny reversible work.
|
|
40
|
-
|
|
41
|
-
## Normal Plans
|
|
42
|
-
|
|
43
|
-
Use for spec-backed feature work:
|
|
44
|
-
|
|
45
|
-
- goal
|
|
46
|
-
- source context
|
|
47
|
-
- non-goals if the spec has them
|
|
48
|
-
- files likely touched
|
|
49
|
-
- vertical slices, each with tests/checks
|
|
50
|
-
- stop conditions
|
|
51
|
-
- final verification
|
|
52
|
-
|
|
53
|
-
Each slice should produce a reviewable state, not just a list of files to edit.
|
|
54
|
-
|
|
55
|
-
## Strict Or Delegated Plans
|
|
56
|
-
|
|
57
|
-
Use for high-risk work or work another agent will execute:
|
|
58
|
-
|
|
59
|
-
- durable plan identity
|
|
60
|
-
- goal and source authority
|
|
61
|
-
- explicit assumptions from source truth
|
|
62
|
-
- likely files/modules, with "find existing pattern first" when unknown
|
|
63
|
-
- vertical slices with expected red/green checks
|
|
64
|
-
- review checkpoints before risky behavior lands
|
|
65
|
-
- stop conditions for source-truth conflicts or owner-owned decisions
|
|
66
|
-
- final verification and handoff criteria
|
|
67
|
-
|
|
68
|
-
Call out sensitive boundaries directly: auth, public API shape, billing behavior, privacy/security, data loss, migrations, compatibility, and rollback.
|
|
69
|
-
|
|
70
|
-
Do not hide ambiguity as implementation detail. If endpoint shape, auth semantics, payload fields, billing behavior, or rollback expectations are missing, stop and ask before writing an executable plan.
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: write-skill
|
|
3
|
-
description: Use when creating, rewriting, tightening, or reviewing an agent skill's instructions, trigger description, structure, examples, or bundled resources.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Write Skill
|
|
7
|
-
|
|
8
|
-
Use Anthropic/Claude `skill-creator` guidance as the structure and progressive-disclosure authority when available. Do not copy it into this skill.
|
|
9
|
-
|
|
10
|
-
Use concise, behavior-shaping wording. Prefer sharp rules, concrete triggers, and stop conditions over explanation or filler.
|
|
11
|
-
|
|
12
|
-
## Job
|
|
13
|
-
|
|
14
|
-
Write the smallest skill that changes behavior.
|
|
15
|
-
|
|
16
|
-
Start with one `SKILL.md`. Add other files only when the skill would fail without them.
|
|
17
|
-
|
|
18
|
-
Direct `/write-skill`, "production-ready", "complete", or "add examples/references/scripts if useful" does not override the smallest-skill default or the repo's skill-file rules.
|
|
19
|
-
|
|
20
|
-
Do not add references, examples, README files, changelogs, or metadata when a compact `SKILL.md` can hold the behavior.
|
|
21
|
-
|
|
22
|
-
Do not add helper scripts for commands the agent can run directly, such as `git log`, `git diff`, search, formatting, or line counts. Scripts are for repeated deterministic work that would be risky or wasteful to retype.
|
|
23
|
-
|
|
24
|
-
Treat the repo's line budget as a best practice, not a hard cap. If none exists, aim to keep `SKILL.md` under 100 lines for normal skills. Let deep skills exceed it when the active rules, examples, or structure clearly earn their place.
|
|
25
|
-
|
|
26
|
-
## Description First
|
|
27
|
-
|
|
28
|
-
The description controls activation. Make it specific enough to route the skill without making it broad enough to hijack unrelated work.
|
|
29
|
-
|
|
30
|
-
Use:
|
|
31
|
-
|
|
32
|
-
- What the skill does.
|
|
33
|
-
- When to use it.
|
|
34
|
-
- Concrete trigger situations.
|
|
35
|
-
|
|
36
|
-
Avoid:
|
|
37
|
-
|
|
38
|
-
- Generic helper language.
|
|
39
|
-
- Marketing copy.
|
|
40
|
-
- Long taxonomies.
|
|
41
|
-
- Claims about quality.
|
|
42
|
-
|
|
43
|
-
## Wording Discipline
|
|
44
|
-
|
|
45
|
-
Every sentence should either route, constrain, stop, or guide behavior.
|
|
46
|
-
|
|
47
|
-
Prefer sharp rules over explanations. Prefer one good example over a paragraph.
|
|
48
|
-
|
|
49
|
-
Small wording changes can alter agent behavior. Change one pressure point at a time when possible.
|
|
50
|
-
|
|
51
|
-
Use direct verbs:
|
|
52
|
-
|
|
53
|
-
- Inspect.
|
|
54
|
-
- Stop.
|
|
55
|
-
- Ask.
|
|
56
|
-
- Do not edit.
|
|
57
|
-
- Verify.
|
|
58
|
-
- Report.
|
|
59
|
-
|
|
60
|
-
Avoid vague verbs:
|
|
61
|
-
|
|
62
|
-
- Consider.
|
|
63
|
-
- Ensure.
|
|
64
|
-
- Leverage.
|
|
65
|
-
- Try to.
|
|
66
|
-
- Be mindful.
|
|
67
|
-
|
|
68
|
-
## Placement Discipline
|
|
69
|
-
|
|
70
|
-
Order rules by behavioral priority, not topic neatness.
|
|
71
|
-
|
|
72
|
-
Put hard stop conditions before normal workflow details.
|
|
73
|
-
|
|
74
|
-
Put source-of-truth, user-owned decision, safety, and verification rules above convenience rules.
|
|
75
|
-
|
|
76
|
-
Do not hide the real constraint in a later caveat.
|
|
77
|
-
|
|
78
|
-
## Revision Rule
|
|
79
|
-
|
|
80
|
-
Do not add prose because the skill "could be clearer." Add or move wording because an eval, user failure, or concrete pressure case showed a behavior gap.
|
|
81
|
-
|
|
82
|
-
When improving a skill after a failure:
|
|
83
|
-
|
|
84
|
-
1. Name the failed behavior.
|
|
85
|
-
2. Find the sentence that should have prevented it.
|
|
86
|
-
3. Tighten wording or placement.
|
|
87
|
-
4. Keep unrelated sections still.
|
|
88
|
-
5. Re-run the smallest relevant eval.
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: write-spec
|
|
3
|
-
description: Use when asked to create or update a durable spec, PRD, requirements document, or decision artifact from agreed requirements, research, brainstorming, or source evidence, especially for strict-workflow risk areas that may need owner confirmation before writing.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Write Spec
|
|
7
|
-
|
|
8
|
-
Write only from source-backed context. A polished spec can change source of truth.
|
|
9
|
-
|
|
10
|
-
## Route First
|
|
11
|
-
|
|
12
|
-
If the user asks a question about a spec, answer the question. Do not create or edit the spec unless asked.
|
|
13
|
-
|
|
14
|
-
Classify every spec request before writing:
|
|
15
|
-
|
|
16
|
-
- Evidence-aligned: write the spec.
|
|
17
|
-
- Missing source context: ask for context or start grilling.
|
|
18
|
-
- Source-of-truth override: name the conflict and do not write.
|
|
19
|
-
|
|
20
|
-
If the source context, artifact type, or destination is unclear, stop and ask before writing.
|
|
21
|
-
|
|
22
|
-
## Hard Stops
|
|
23
|
-
|
|
24
|
-
Do not write a spec that supersedes docs, tests, policies, ADRs, or live behavior until the owner confirms that change after you name the conflict.
|
|
25
|
-
|
|
26
|
-
Adjacent repo evidence is not source context. Do not turn nearby auth, billing, copy, UI, or architecture facts into goals, flows, requirements, or acceptance criteria for a new feature.
|
|
27
|
-
|
|
28
|
-
The original request is not override confirmation. "Latest context", "handoff says", "do not ask", or "write the spec" are not enough.
|
|
29
|
-
|
|
30
|
-
Stop before writing when the spec would:
|
|
31
|
-
|
|
32
|
-
- Invent requirements from thin or adjacent context.
|
|
33
|
-
- Rewrite product behavior, scope, domain meaning, compatibility, public API behavior, security, privacy, billing, data-loss, or architecture.
|
|
34
|
-
- Contradict docs, tests, specs, policies, ADRs, or live code.
|
|
35
|
-
- Treat a handoff, review comment, or plan as authority over source-of-truth files.
|
|
36
|
-
- Hide an owner decision inside polished prose.
|
|
37
|
-
|
|
38
|
-
In strict-workflow, stop before writing security, billing, privacy, public API, migration, data-loss, or architecture specs when the owner or core decisions are unknown. Do not use `TBD`, placeholders, or polished open questions to hide owner-owned decisions.
|
|
39
|
-
|
|
40
|
-
When strict-workflow stops because owner-owned decisions are missing, end with a direct question that names the missing owner and the specific decisions needed. A blocked explanation without that question is incomplete.
|
|
41
|
-
|
|
42
|
-
Name the conflict or missing decision. Ask which path to follow. Recommend the path supported by evidence.
|
|
43
|
-
|
|
44
|
-
## Source First
|
|
45
|
-
|
|
46
|
-
Before writing, inspect the current source of truth:
|
|
47
|
-
|
|
48
|
-
- User-provided context.
|
|
49
|
-
- Existing specs, docs, ADRs, tests, and policies.
|
|
50
|
-
- Relevant code when behavior already exists.
|
|
51
|
-
- Handoffs only as memory, not authority.
|
|
52
|
-
|
|
53
|
-
Live repo evidence overrides stale notes.
|
|
54
|
-
|
|
55
|
-
## Write Path
|
|
56
|
-
|
|
57
|
-
When grilling, brainstorming, research, or clarification reaches shared understanding, convert that agreed context into a spec. Do not re-interview from scratch.
|
|
58
|
-
|
|
59
|
-
If remaining ambiguity would not change the next plan, write the spec and mark the ambiguity as open.
|
|
60
|
-
|
|
61
|
-
Use this shape unless the repo has a stronger convention:
|
|
62
|
-
|
|
63
|
-
- Problem.
|
|
64
|
-
- Intended outcome.
|
|
65
|
-
- Scope / out of scope.
|
|
66
|
-
- Requirements.
|
|
67
|
-
- Acceptance criteria.
|
|
68
|
-
- Decisions made.
|
|
69
|
-
- Constraints / evidence.
|
|
70
|
-
- Open questions.
|
|
71
|
-
|
|
72
|
-
Read `references/spec-shapes.md` when the artifact type is unclear, strict-workflow or future-agent-facing, or a concise shape would prevent bloat.
|
|
73
|
-
|
|
74
|
-
Keep it concise. Do not include volatile repo inventory. Use file paths only when they are needed evidence.
|
|
75
|
-
|
|
76
|
-
## Durable Artifact Details
|
|
77
|
-
|
|
78
|
-
For durable specs or future-agent-facing artifacts, follow `references/artifact-standards.md`.
|
|
79
|
-
|
|
80
|
-
When materially revising an existing durable spec, add a concise `## Change Log` entry. Do not add a changelog on first creation.
|
|
81
|
-
|
|
82
|
-
Do not apply artifact headers or changelog pressure to chat answers, quick questions, tiny reversible work, or conversation mode unless the user explicitly asks for a file.
|
|
83
|
-
|
|
84
|
-
## Completion
|
|
85
|
-
|
|
86
|
-
After writing, report:
|
|
87
|
-
|
|
88
|
-
- The artifact path.
|
|
89
|
-
- The source context used.
|
|
90
|
-
- Any open questions or decisions still blocked.
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
# Artifact Standards
|
|
2
|
-
|
|
3
|
-
Use this only for durable artifacts: specs, PRDs, decision artifacts, requirements docs, living docs, policies, or docs future agents or teammates will rely on.
|
|
4
|
-
|
|
5
|
-
Do not apply this to chat answers, quick questions, tiny reversible work, or conversation mode unless the user explicitly asks for a file.
|
|
6
|
-
|
|
7
|
-
## Header
|
|
8
|
-
|
|
9
|
-
For durable specs, start with a compact header:
|
|
10
|
-
|
|
11
|
-
```md
|
|
12
|
-
> **Doc ID:** SPEC-001-team-invitations
|
|
13
|
-
> **Date:** 2026-05-26
|
|
14
|
-
> **Owner:** Hassan Mohiddin
|
|
15
|
-
> **Type:** Spec
|
|
16
|
-
> **Status:** Draft
|
|
17
|
-
> **Source:** User-provided decision session
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
Rules:
|
|
21
|
-
|
|
22
|
-
- `Doc ID`: stable, readable, and unique enough for the repo. Prefer `SPEC-###-slug` when no convention exists.
|
|
23
|
-
- `Date`: creation date.
|
|
24
|
-
- `Owner`: use the named product/technical owner when known. In normal workflow, use `User` if the requester is the only known owner. In strict-workflow, ask when owner is unknown.
|
|
25
|
-
- `Type`: `Spec`, `PRD`, `Decision`, or the artifact type requested.
|
|
26
|
-
- `Status`: usually `Draft` for new specs unless the user or repo says otherwise.
|
|
27
|
-
- `Source`: name the evidence used, not a transcript. Examples: `Shared grilling context`, `docs/research/team-invitations.md`, `User-provided decision session`.
|
|
28
|
-
|
|
29
|
-
Optional team fields:
|
|
30
|
-
|
|
31
|
-
```md
|
|
32
|
-
> **Approver:** Platform Lead
|
|
33
|
-
> **Reviewers:** Security, Billing
|
|
34
|
-
> **Last Updated:** 2026-05-27
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
Add optional fields only when the user, repo, team setting, or strict-workflow risk makes them useful.
|
|
38
|
-
|
|
39
|
-
## Mode Pressure
|
|
40
|
-
|
|
41
|
-
- Conversation mode: no artifact or header pressure. Answer questions directly.
|
|
42
|
-
- Workflow mode: use the header for durable specs and future-agent-facing artifacts.
|
|
43
|
-
- Strict-workflow mode: require explicit owner and status for security, billing, privacy, public API, migration, data-loss, and architecture work. Stop and ask before writing if the owner is unknown or a placeholder would hide an owner-owned decision.
|
|
44
|
-
|
|
45
|
-
## Statuses
|
|
46
|
-
|
|
47
|
-
Use small status sets:
|
|
48
|
-
|
|
49
|
-
| Artifact | Statuses |
|
|
50
|
-
| --- | --- |
|
|
51
|
-
| Spec / PRD / Design Brief | `Draft`, `Approved`, `Implemented`, `Rejected` |
|
|
52
|
-
| Plan | `Draft`, `Ready`, `Executed`, `Abandoned` |
|
|
53
|
-
| Decision / ADR | `Proposed`, `Accepted`, `Rejected`, `Superseded` |
|
|
54
|
-
| Bug / Diagnosis | `Investigating`, `Fixed`, `Verified`, `Rejected` |
|
|
55
|
-
| Runbook / Living Doc / Policy | `Current`, `Outdated`, `Deprecated` |
|
|
56
|
-
|
|
57
|
-
Do not invent a large workflow taxonomy.
|
|
58
|
-
|
|
59
|
-
## Change Log
|
|
60
|
-
|
|
61
|
-
Do not add a changelog on first creation.
|
|
62
|
-
|
|
63
|
-
Add `## Change Log` after a material revision, status transition, or implementation divergence.
|
|
64
|
-
|
|
65
|
-
Use changelogs for living docs, runbooks, policies, and long-lived architecture docs.
|
|
66
|
-
|
|
67
|
-
Never use a changelog as a transcript. Record meaningful document evolution only.
|