@hassangameryt/freeflow 0.8.0 → 0.9.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 +2 -2
- package/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +2 -2
- package/.codex-plugin/plugin.json +3 -3
- package/.cursor-plugin/plugin.json +1 -1
- package/README.md +96 -149
- package/capabilities/cognitive-routing/SKILL.md +21 -129
- package/capabilities/cognitive-routing/references/coordinator.md +163 -0
- package/capabilities/cognitive-routing/references/worker.md +38 -0
- package/capabilities/compaction/SKILL.md +3 -3
- package/capabilities/compaction/references/summary-format.md +26 -15
- package/capabilities/messaging/SKILL.md +49 -0
- package/capabilities/task-memory/SKILL.md +87 -0
- package/command-surface.json +6 -54
- package/gemini-extension.json +1 -1
- package/hooks/claude/hooks.json +13 -3
- package/hooks/codex/hooks.json +2 -1
- package/hooks/shared/runtime-context.mjs +69 -77
- package/package.json +25 -8
- package/pi-extension/dist/ask-user/ask.js +108 -0
- package/pi-extension/dist/ask-user/form.js +250 -0
- package/pi-extension/dist/ask-user/questions.js +66 -0
- package/pi-extension/dist/ask-user/tool.js +124 -0
- package/pi-extension/dist/cognitive-routing/assembler.js +35 -11
- package/pi-extension/dist/cognitive-routing/bootstrap.js +90 -0
- package/pi-extension/dist/cognitive-routing/config.js +3 -4
- package/pi-extension/dist/cognitive-routing/event-store.js +4 -1
- package/pi-extension/dist/cognitive-routing/gate.js +20 -5
- package/pi-extension/dist/cognitive-routing/handlers.js +15 -13
- package/pi-extension/dist/cognitive-routing/model-control.js +17 -8
- package/pi-extension/dist/cognitive-routing/projection.js +23 -6
- package/pi-extension/dist/cognitive-routing/provenance.js +3 -1
- package/pi-extension/dist/cognitive-routing/render.js +15 -15
- package/pi-extension/dist/cognitive-routing/runtime.js +4 -2
- package/pi-extension/dist/cognitive-routing/schemas.js +4 -4
- package/pi-extension/dist/cognitive-routing/session.js +3 -1
- package/pi-extension/dist/cognitive-routing/sources.js +29 -4
- package/pi-extension/dist/cognitive-routing/state.js +18 -8
- package/pi-extension/dist/cognitive-routing/status.js +4 -3
- package/pi-extension/dist/cognitive-routing/tools.js +29 -15
- package/pi-extension/dist/cognitive-routing/types.js +10 -1
- package/pi-extension/dist/compaction/carry.js +36 -22
- package/pi-extension/dist/compaction/config.js +4 -2
- package/pi-extension/dist/compaction/controller.js +52 -29
- package/pi-extension/dist/compaction/harness.js +19 -3
- package/pi-extension/dist/compaction/results.js +14 -13
- package/pi-extension/dist/compaction/tool.js +6 -6
- package/pi-extension/dist/host/catalog.js +20 -35
- package/pi-extension/dist/host/config-validation.js +233 -0
- package/pi-extension/dist/host/config.js +78 -91
- package/pi-extension/dist/host/inbound.js +142 -0
- package/pi-extension/dist/host/projection-tags.js +1 -1
- package/pi-extension/dist/host/prompts.js +24 -13
- package/pi-extension/dist/host/read-only-session.js +6 -1
- package/pi-extension/dist/host/request-history.js +7 -3
- package/pi-extension/dist/host/rows.js +25 -0
- package/pi-extension/dist/host/runtime-state.js +17 -2
- package/pi-extension/dist/host/section-keeper.js +85 -0
- package/pi-extension/dist/host/settings/freeflow-command.js +846 -93
- package/pi-extension/dist/host/settings/settings-view.js +27 -8
- package/pi-extension/dist/host/status.js +19 -5
- package/pi-extension/dist/index.js +638 -72
- package/pi-extension/dist/messaging/config.js +27 -0
- package/pi-extension/dist/messaging/messaging.js +398 -0
- package/pi-extension/dist/messaging/registry.js +57 -0
- package/pi-extension/dist/messaging/render.js +90 -0
- package/pi-extension/dist/messaging/tools.js +109 -0
- package/pi-extension/dist/messaging/transport.js +101 -0
- package/pi-extension/dist/provider-support/cache/keepalive.js +16 -4
- package/pi-extension/dist/task-memory/config.js +49 -0
- package/pi-extension/dist/task-memory/registry.js +119 -0
- package/pi-extension/dist/task-memory/render.js +107 -0
- package/pi-extension/dist/task-memory/runtime.js +994 -0
- package/pi-extension/dist/task-memory/tool.js +233 -0
- package/pi-extension/dist/tool-execution/apply-patch/tool.js +1 -1
- package/pi-extension/dist/tool-execution/background.js +220 -28
- package/pi-extension/dist/tool-execution/config.js +14 -3
- package/pi-extension/dist/tool-execution/file-tracking.js +24 -4
- package/pi-extension/dist/tool-execution/guidance-notices.js +124 -0
- package/pi-extension/dist/tool-execution/skill-reads.js +143 -0
- package/pi-extension/dist/tool-execution/tools.js +2 -2
- package/runtime/prompts/cognitive-routing.md +4 -4
- package/runtime/prompts/core.md +24 -14
- package/runtime/prompts/interaction-contract.md +7 -4
- package/runtime/prompts/tool-execution.md +3 -16
- package/runtime/prompts/working-method.md +16 -99
- package/skills/deliver-work/SKILL.md +76 -0
- package/skills/deliver-work/references/branch-closeout.md +134 -0
- package/skills/deliver-work/references/commit.md +83 -0
- package/skills/deliver-work/references/launch.md +94 -0
- package/skills/deliver-work/references/release.md +85 -0
- package/skills/deliver-work/scripts/commit-state.mjs +139 -0
- package/skills/deliver-work/scripts/delivery-state.mjs +107 -0
- package/skills/deliver-work/scripts/lib/git-state.mjs +178 -0
- package/skills/deliver-work/scripts/push-route.mjs +122 -0
- package/skills/deliver-work/scripts/release-preflight.mjs +177 -0
- package/skills/discuss-work/SKILL.md +148 -0
- package/skills/{discuss → discuss-work}/references/discussion-continuity.md +10 -27
- package/skills/discuss-work/references/learning-action.md +36 -0
- package/skills/discuss-work/scripts/choices.mjs +101 -0
- package/skills/discuss-work/scripts/lib/choices.mjs +159 -0
- package/skills/evaluate-behavior/SKILL.md +107 -0
- package/skills/evaluate-behavior/references/authoring.md +381 -0
- package/skills/evaluate-behavior/references/coding-tasks.md +145 -0
- package/skills/evaluate-behavior/references/conversations-pipelines-judges.md +177 -0
- package/skills/evaluate-behavior/references/design-and-measurement.md +273 -0
- package/skills/evaluate-behavior/references/running-and-evidence.md +245 -0
- package/skills/evaluate-behavior/scripts/claude-guard.mjs +76 -0
- package/skills/evaluate-behavior/scripts/guard-rules.mjs +309 -0
- package/skills/evaluate-behavior/scripts/lib/agreement.mjs +90 -0
- package/skills/evaluate-behavior/scripts/lib/arms.mjs +55 -0
- package/skills/evaluate-behavior/scripts/lib/budget.mjs +87 -0
- package/skills/evaluate-behavior/scripts/lib/build-source.mjs +287 -0
- package/skills/evaluate-behavior/scripts/lib/clear.mjs +74 -0
- package/skills/evaluate-behavior/scripts/lib/container.mjs +395 -0
- package/skills/evaluate-behavior/scripts/lib/decision.mjs +418 -0
- package/skills/evaluate-behavior/scripts/lib/definitions.mjs +1072 -0
- package/skills/evaluate-behavior/scripts/lib/freeflow.mjs +103 -0
- package/skills/evaluate-behavior/scripts/lib/grade-command.mjs +591 -0
- package/skills/evaluate-behavior/scripts/lib/grade-comparison.mjs +90 -0
- package/skills/{evaluate-skill → evaluate-behavior}/scripts/lib/grade-interaction.mjs +19 -18
- package/skills/{evaluate-skill → evaluate-behavior}/scripts/lib/grade-support.mjs +32 -5
- package/skills/{evaluate-skill → evaluate-behavior}/scripts/lib/grade-workspace.mjs +28 -12
- package/skills/evaluate-behavior/scripts/lib/grade.mjs +101 -0
- package/skills/evaluate-behavior/scripts/lib/hooks.mjs +98 -0
- package/skills/evaluate-behavior/scripts/lib/hosts/claude-code/confinement.mjs +196 -0
- package/skills/evaluate-behavior/scripts/lib/hosts/claude-code/constraints.mjs +111 -0
- package/skills/evaluate-behavior/scripts/lib/hosts/claude-code/index.mjs +48 -0
- package/skills/evaluate-behavior/scripts/lib/hosts/claude-code/isolation.mjs +74 -0
- package/skills/evaluate-behavior/scripts/lib/hosts/claude-code/launch.mjs +123 -0
- package/skills/evaluate-behavior/scripts/lib/hosts/claude-code/model-call.mjs +73 -0
- package/skills/evaluate-behavior/scripts/lib/hosts/claude-code/recorder.mjs +178 -0
- package/skills/evaluate-behavior/scripts/lib/hosts/claude-code/session.mjs +494 -0
- package/skills/evaluate-behavior/scripts/lib/hosts/claude-code/skills.mjs +81 -0
- package/skills/evaluate-behavior/scripts/lib/hosts/index.mjs +31 -0
- package/skills/evaluate-behavior/scripts/lib/hosts/names.mjs +3 -0
- package/skills/evaluate-behavior/scripts/lib/hosts/pi/confinement.mjs +173 -0
- package/skills/evaluate-behavior/scripts/lib/hosts/pi/host.mjs +148 -0
- package/skills/evaluate-behavior/scripts/lib/hosts/pi/index.mjs +70 -0
- package/skills/evaluate-behavior/scripts/lib/hosts/pi/isolation.mjs +81 -0
- package/skills/evaluate-behavior/scripts/lib/hosts/pi/model-call.mjs +79 -0
- package/skills/evaluate-behavior/scripts/lib/hosts/pi/process.mjs +241 -0
- package/skills/{evaluate-skill/scripts/lib → evaluate-behavior/scripts/lib/hosts/pi}/rpc.mjs +144 -26
- package/skills/evaluate-behavior/scripts/lib/identity.mjs +82 -0
- package/skills/evaluate-behavior/scripts/lib/judge.mjs +688 -0
- package/skills/evaluate-behavior/scripts/lib/metrics.mjs +332 -0
- package/skills/evaluate-behavior/scripts/lib/model-call.mjs +17 -0
- package/skills/evaluate-behavior/scripts/lib/participants.mjs +616 -0
- package/skills/{evaluate-skill → evaluate-behavior}/scripts/lib/process.mjs +22 -0
- package/skills/evaluate-behavior/scripts/lib/queue.mjs +54 -0
- package/skills/evaluate-behavior/scripts/lib/reference.mjs +343 -0
- package/skills/evaluate-behavior/scripts/lib/reuse.mjs +277 -0
- package/skills/evaluate-behavior/scripts/lib/review.mjs +933 -0
- package/skills/evaluate-behavior/scripts/lib/runner.mjs +732 -0
- package/skills/{evaluate-skill → evaluate-behavior}/scripts/lib/sandbox.mjs +119 -14
- package/skills/evaluate-behavior/scripts/lib/scan-shell.mjs +457 -0
- package/skills/evaluate-behavior/scripts/lib/scan.mjs +479 -0
- package/skills/evaluate-behavior/scripts/lib/seal.mjs +91 -0
- package/skills/evaluate-behavior/scripts/lib/shell.mjs +560 -0
- package/skills/evaluate-behavior/scripts/lib/source-override.mjs +64 -0
- package/skills/evaluate-behavior/scripts/lib/subject-file.mjs +88 -0
- package/skills/{evaluate-skill/scripts/lib/pi.mjs → evaluate-behavior/scripts/lib/subject.mjs} +235 -265
- package/skills/evaluate-behavior/scripts/lib/task-copy.mjs +124 -0
- package/skills/evaluate-behavior/scripts/lib/trials.mjs +524 -0
- package/skills/evaluate-behavior/scripts/lib/validity.mjs +68 -0
- package/skills/evaluate-behavior/scripts/lib/view-html.mjs +454 -0
- package/skills/{evaluate-skill → evaluate-behavior}/scripts/lib/view.mjs +159 -18
- package/skills/{evaluate-skill → evaluate-behavior}/scripts/pi-command-tool.mjs +21 -6
- package/skills/evaluate-behavior/scripts/pi-container-route.mjs +23 -0
- package/skills/evaluate-behavior/scripts/pi-guard.mjs +77 -0
- package/skills/evaluate-behavior/scripts/pi-login-refresh.mjs +31 -0
- package/skills/evaluate-behavior/scripts/skill-eval.mjs +586 -0
- package/skills/execute-work/SKILL.md +96 -104
- package/skills/execute-work/references/code-practices.md +27 -51
- package/skills/execute-work/references/design.md +271 -0
- package/skills/execute-work/references/diagnose.md +117 -0
- package/skills/execute-work/references/migration.md +108 -0
- package/skills/execute-work/references/simplify.md +65 -0
- package/skills/execute-work/scripts/self-review.mjs +422 -0
- package/skills/execute-work/scripts/touch-map.mjs +290 -0
- package/skills/review-work/SKILL.md +89 -65
- package/skills/review-work/references/adjudication.md +94 -0
- package/skills/review-work/references/artifact.md +198 -0
- package/skills/review-work/references/evals-and-judges.md +66 -0
- package/skills/review-work/references/work.md +177 -0
- package/skills/review-work/scripts/check-brief.mjs +128 -0
- package/skills/review-work/scripts/review-packet.mjs +233 -0
- package/skills/setup-freeflow/SKILL.md +68 -17
- package/skills/track-work/SKILL.md +52 -20
- package/skills/track-work/references/handoff.md +190 -0
- package/skills/track-work/references/projects.md +51 -0
- package/skills/track-work/references/working-record-format.md +36 -18
- package/skills/track-work/scripts/lib/document.mjs +17 -13
- package/skills/track-work/scripts/lib/format.mjs +2 -0
- package/skills/track-work/scripts/lib/recover.mjs +254 -0
- package/skills/track-work/scripts/lib/registry.mjs +656 -0
- package/skills/track-work/scripts/lib/search.mjs +40 -0
- package/skills/track-work/scripts/lib/store.mjs +46 -15
- package/skills/track-work/scripts/lib/views.mjs +50 -1
- package/skills/track-work/scripts/working-record.mjs +232 -13
- package/skills/verify-work/SKILL.md +45 -37
- package/skills/verify-work/references/feature-map.md +120 -0
- package/skills/verify-work/references/runtime-evidence.md +203 -0
- package/skills/verify-work/references/test-design.md +25 -6
- package/skills/verify-work/scripts/test-changes.mjs +246 -0
- package/skills/write-docs/SKILL.md +113 -25
- package/skills/write-docs/references/documentation-shapes.md +68 -3
- package/skills/write-docs/references/spec-and-plan-shapes.md +308 -0
- package/skills/write-docs/scripts/artifact-check.mjs +148 -0
- package/skills/write-docs/scripts/docs-check.mjs +96 -6
- package/skills/write-docs/scripts/plan-lint.mjs +123 -0
- package/skills/write-skill/SKILL.md +92 -52
- package/skills/write-skill/references/activation-and-wording.md +143 -0
- package/skills/write-skill/references/placement-and-dependencies.md +154 -0
- package/skills/write-skill/scripts/lib/compare.mjs +701 -0
- package/skills/write-skill/scripts/lib/skill-author.mjs +197 -3
- package/skills/write-skill/scripts/skill-author.mjs +51 -8
- package/capabilities/cognitive-routing/references/both-mode.md +0 -36
- package/capabilities/cognitive-routing/references/executor-mode.md +0 -48
- package/capabilities/cognitive-routing/references/helper-mode.md +0 -47
- package/plugin.json +0 -33
- package/skills/action-selection/SKILL.md +0 -92
- package/skills/action-selection/references/trajectory-stalls.md +0 -73
- package/skills/bypass/SKILL.md +0 -153
- package/skills/commit-work/SKILL.md +0 -93
- package/skills/commit-work/references/git-state-edges.md +0 -94
- package/skills/commit-work/references/simple-push.md +0 -94
- package/skills/commit-work/references/staging-decisions.md +0 -106
- package/skills/decision-gate/SKILL.md +0 -87
- package/skills/design-for-depth/SKILL.md +0 -108
- package/skills/design-for-depth/references/design-pressure-signals.md +0 -84
- package/skills/design-for-depth/references/implementation-decisions.md +0 -76
- package/skills/design-for-depth/references/interface-design-loop.md +0 -105
- package/skills/design-for-depth/references/module-and-dependency-design.md +0 -117
- package/skills/design-for-depth/references/state-and-failure-boundaries.md +0 -125
- package/skills/diagnose-failure/SKILL.md +0 -140
- package/skills/diagnose-failure/references/diagnostic-loop-catalog.md +0 -50
- package/skills/diagnose-failure/references/flaky-and-performance-diagnosis.md +0 -51
- package/skills/discuss/SKILL.md +0 -140
- package/skills/evaluate-skill/SKILL.md +0 -188
- package/skills/evaluate-skill/references/evaluation-definition-schema.md +0 -415
- package/skills/evaluate-skill/references/evaluation-design.md +0 -112
- package/skills/evaluate-skill/references/execution-and-evidence.md +0 -111
- package/skills/evaluate-skill/references/review-and-revision.md +0 -94
- package/skills/evaluate-skill/scripts/lib/definitions.mjs +0 -448
- package/skills/evaluate-skill/scripts/lib/grade-comparison.mjs +0 -60
- package/skills/evaluate-skill/scripts/lib/grade.mjs +0 -64
- package/skills/evaluate-skill/scripts/lib/review.mjs +0 -196
- package/skills/evaluate-skill/scripts/lib/runner.mjs +0 -405
- package/skills/evaluate-skill/scripts/lib/trials.mjs +0 -103
- package/skills/evaluate-skill/scripts/pi-guard.mjs +0 -181
- package/skills/evaluate-skill/scripts/skill-eval.mjs +0 -182
- package/skills/execute-work/references/execute-work-edges.md +0 -78
- package/skills/finish-branch/SKILL.md +0 -117
- package/skills/finish-branch/references/integration-options.md +0 -80
- package/skills/handoff/SKILL.md +0 -82
- package/skills/handoff/references/handoff-templates.md +0 -150
- package/skills/launch-work/SKILL.md +0 -116
- package/skills/launch-work/references/launch-readiness.md +0 -85
- package/skills/migration-work/SKILL.md +0 -115
- package/skills/migration-work/references/migration-lifecycle.md +0 -82
- package/skills/release-work/SKILL.md +0 -118
- package/skills/release-work/references/release-evidence.md +0 -78
- package/skills/review-artifact/SKILL.md +0 -143
- package/skills/review-artifact/references/adjudicate-artifact-review.md +0 -101
- package/skills/review-artifact/references/independent-artifact-reviewer-contract.md +0 -159
- package/skills/review-work/references/adjudicate-work-review.md +0 -97
- package/skills/review-work/references/independent-work-reviewer-contract.md +0 -139
- package/skills/review-work/references/security-risk-lens.md +0 -67
- package/skills/setup-freeflow/references/activation-contract.md +0 -103
- package/skills/setup-freeflow/references/host-setup.md +0 -67
- package/skills/simplify-code/SKILL.md +0 -85
- package/skills/simplify-code/references/simplification-patterns.md +0 -70
- package/skills/verify-work/references/browser-runtime-evidence.md +0 -51
- package/skills/verify-work/references/integration-evidence.md +0 -49
- package/skills/verify-work/references/performance-evidence.md +0 -59
- package/skills/workflow/SKILL.md +0 -171
- package/skills/workflow/references/domain-skill-composition.md +0 -45
- package/skills/write-plan/SKILL.md +0 -92
- package/skills/write-plan/references/plan-shapes.md +0 -156
- package/skills/write-skill/references/activation-boundaries.md +0 -106
- package/skills/write-skill/references/agent-first-instructions.md +0 -133
- package/skills/write-skill/references/progressive-disclosure.md +0 -129
- package/skills/write-skill/references/skill-dependency-graphs.md +0 -192
- package/skills/write-spec/SKILL.md +0 -85
- package/skills/write-spec/references/artifact-standards.md +0 -86
- package/skills/write-spec/references/decision-records.md +0 -80
- package/skills/write-spec/references/spec-shapes.md +0 -143
- /package/skills/{evaluate-skill → evaluate-behavior}/scripts/lib/evidence.mjs +0 -0
- /package/skills/{evaluate-skill → evaluate-behavior}/scripts/pi-observer.mjs +0 -0
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
# Activation Boundaries
|
|
2
|
-
|
|
3
|
-
Read this when activation is unclear or evidence shows missed, late, early, task-hijacking, or retained-interference behavior.
|
|
4
|
-
|
|
5
|
-
This reference is judgment: adapt it to the skill's goal. Its binding statements restate [Write Skill](../SKILL.md) Rules.
|
|
6
|
-
|
|
7
|
-
A description should make the skill available at the earliest useful decision without requiring language introduced by the skill itself.
|
|
8
|
-
|
|
9
|
-
## Diagnose The First Read
|
|
10
|
-
|
|
11
|
-
Identify:
|
|
12
|
-
|
|
13
|
-
- the earliest natural prompt or task state where the skill can change behavior;
|
|
14
|
-
- cues visible before the body is read;
|
|
15
|
-
- context guaranteed before activation;
|
|
16
|
-
- the consequence of missing or delaying the read;
|
|
17
|
-
- the consequence if a nearby prompt also loads the skill;
|
|
18
|
-
- how retained guidance should behave after the immediate method ends.
|
|
19
|
-
|
|
20
|
-
Do not optimize for repeated reads. A body may enter context once and continue influencing later messages and tool interactions until context projection or loss.
|
|
21
|
-
|
|
22
|
-
## Compare Activation Costs
|
|
23
|
-
|
|
24
|
-
False-positive and false-negative activation have different costs.
|
|
25
|
-
|
|
26
|
-
A false-positive read may be acceptable when:
|
|
27
|
-
|
|
28
|
-
- loading cost is proportionate;
|
|
29
|
-
- the body identifies that its method does not apply;
|
|
30
|
-
- it exits without changing ownership or route;
|
|
31
|
-
- retained instructions do not hijack later work.
|
|
32
|
-
|
|
33
|
-
A false negative is material when missing the first useful read causes:
|
|
34
|
-
|
|
35
|
-
- an irreversible or expensive action;
|
|
36
|
-
- a wrong owner or method;
|
|
37
|
-
- repeated low-value environment interactions;
|
|
38
|
-
- missing safety or evidence boundaries;
|
|
39
|
-
- later work that the skill cannot reliably undo.
|
|
40
|
-
|
|
41
|
-
Prefer recall when nearby reads are demonstrably safe and missed activation is materially worse. Tighten activation when early or retained guidance can distort ordinary work.
|
|
42
|
-
|
|
43
|
-
## Check The Cues
|
|
44
|
-
|
|
45
|
-
Useful cues include:
|
|
46
|
-
|
|
47
|
-
- the skill’s core job;
|
|
48
|
-
- natural user verbs;
|
|
49
|
-
- visible task situations;
|
|
50
|
-
- observable distinctions from neighboring jobs.
|
|
51
|
-
|
|
52
|
-
Reject cues that depend on:
|
|
53
|
-
|
|
54
|
-
- vocabulary defined only in the body or an optional sibling;
|
|
55
|
-
- future-duration guesses;
|
|
56
|
-
- unexplained internal classifications or named phases;
|
|
57
|
-
- generic “help with” or “improve” language;
|
|
58
|
-
- marketing claims;
|
|
59
|
-
- exhaustive trigger catalogs.
|
|
60
|
-
|
|
61
|
-
Guaranteed base context may define a term. Otherwise use plain observable language.
|
|
62
|
-
|
|
63
|
-
## Test Nearby And Retained Behavior
|
|
64
|
-
|
|
65
|
-
A nearby case can pass through:
|
|
66
|
-
|
|
67
|
-
- **Non-trigger:** the skill is not read.
|
|
68
|
-
- **Safe read:** the body loads, exits or defers correctly, and does not interfere later.
|
|
69
|
-
|
|
70
|
-
Test both the immediate response and later declared turns when retained influence matters.
|
|
71
|
-
|
|
72
|
-
Examples:
|
|
73
|
-
|
|
74
|
-
Broad useful trigger:
|
|
75
|
-
|
|
76
|
-
> Use when committing work.
|
|
77
|
-
|
|
78
|
-
Over-specified trigger that hides the job:
|
|
79
|
-
|
|
80
|
-
> Use after final verification when a planned checkpoint requires a locally reviewable commit.
|
|
81
|
-
|
|
82
|
-
Broad safe-read trigger:
|
|
83
|
-
|
|
84
|
-
> Use when working with software design—especially boundaries, interfaces, ownership, state, and failure behavior.
|
|
85
|
-
|
|
86
|
-
The body must exit when the local interface remains sound and avoid turning later local choices into architecture work.
|
|
87
|
-
|
|
88
|
-
## Preserve The Evidence Boundary
|
|
89
|
-
|
|
90
|
-
Natural activation proves the host read the exact skill snapshot from a natural prompt.
|
|
91
|
-
|
|
92
|
-
Explicit body delivery tests first-read instructions, not activation.
|
|
93
|
-
|
|
94
|
-
Dependency composition tests exact declared skill and context order.
|
|
95
|
-
|
|
96
|
-
Multi-turn evidence tests retained use.
|
|
97
|
-
|
|
98
|
-
Artifact and transcript evidence show whether activation helped, exited safely, or hijacked behavior.
|
|
99
|
-
|
|
100
|
-
Preserve:
|
|
101
|
-
|
|
102
|
-
- the earliest useful positive prompt;
|
|
103
|
-
- at least one close nearby case;
|
|
104
|
-
- later-turn evidence when retained influence is part of the claim.
|
|
105
|
-
|
|
106
|
-
Do not infer one evidence class from another.
|
|
@@ -1,133 +0,0 @@
|
|
|
1
|
-
# Agent-First Instructions
|
|
2
|
-
|
|
3
|
-
Read this when a concrete first-read or retained-use failure involves wording, placement, undeclared context, author explanation, or competing instructions.
|
|
4
|
-
|
|
5
|
-
This reference is judgment: adapt it to the skill's goal. Its binding statements restate [Write Skill](../SKILL.md) Rules.
|
|
6
|
-
|
|
7
|
-
## Reconstruct The Reader’s Context
|
|
8
|
-
|
|
9
|
-
Assume the agent is seeing the skill for the first time.
|
|
10
|
-
|
|
11
|
-
- State the job before local vocabulary.
|
|
12
|
-
- Define terms before relying on them.
|
|
13
|
-
- Assume only guaranteed runtime or declared base context.
|
|
14
|
-
- Do not rely on an optional sibling, reference, common route, or accidental earlier read.
|
|
15
|
-
- Make required reads explicit before their content is used.
|
|
16
|
-
- Do not assume the skill will be reread before later use.
|
|
17
|
-
|
|
18
|
-
Dependency direction remains:
|
|
19
|
-
|
|
20
|
-
```text
|
|
21
|
-
guaranteed base context
|
|
22
|
-
-> description
|
|
23
|
-
-> SKILL.md
|
|
24
|
-
-> required or conditional resources
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
A later layer may rely on language established by an earlier guaranteed layer, not the reverse.
|
|
28
|
-
|
|
29
|
-
## Translate Author Context
|
|
30
|
-
|
|
31
|
-
Keep a sentence only when it:
|
|
32
|
-
|
|
33
|
-
- changes an action or judgment;
|
|
34
|
-
- defines required language;
|
|
35
|
-
- protects a likely or observed failure boundary;
|
|
36
|
-
- states an evidence, return, or stop condition;
|
|
37
|
-
- makes a dependency executable;
|
|
38
|
-
- provides a compact example resolving likely misclassification.
|
|
39
|
-
|
|
40
|
-
Translate rationale into a direct instruction plus only the why needed to generalize.
|
|
41
|
-
|
|
42
|
-
Translate debate into the selected boundary and stop condition.
|
|
43
|
-
|
|
44
|
-
Translate a measured failure into the smallest transferable guard that prevents it.
|
|
45
|
-
|
|
46
|
-
Omit rejected drafts, conversation history, fixture narration, evaluation status, and explanation whose only audience is the author.
|
|
47
|
-
|
|
48
|
-
## Make Instructions Concrete
|
|
49
|
-
|
|
50
|
-
A useful Rule names:
|
|
51
|
-
|
|
52
|
-
```text
|
|
53
|
-
observable trigger or pressure
|
|
54
|
-
-> required or forbidden action
|
|
55
|
-
-> evidence, return, or stop condition
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
Prefer:
|
|
59
|
-
|
|
60
|
-
> If saved evidence already answers the fixed question, inspect it before proposing a rerun.
|
|
61
|
-
|
|
62
|
-
Over:
|
|
63
|
-
|
|
64
|
-
> Keep evaluation efficient and aligned with best practices.
|
|
65
|
-
|
|
66
|
-
Concrete Rules reduce the judgment the agent must reconstruct.
|
|
67
|
-
|
|
68
|
-
This applies to Rules. Judgment gets concrete differently: a sharper goal, clearer signals for deviating, and a realistic example on each side of the line. Turning judgment into an absolute makes it easier to follow and worse to follow.
|
|
69
|
-
|
|
70
|
-
Prefer:
|
|
71
|
-
|
|
72
|
-
> Start a Slice for work that would leave partial state to reconcile if interrupted. An investigation across many sources can qualify; a discussion whose results land directly in the record usually does not.
|
|
73
|
-
|
|
74
|
-
Over:
|
|
75
|
-
|
|
76
|
-
> Start a Slice for every activity.
|
|
77
|
-
|
|
78
|
-
## Pair Negative Instructions With The Route
|
|
79
|
-
|
|
80
|
-
Bad:
|
|
81
|
-
|
|
82
|
-
> Do not recreate the old worker/verifier architecture.
|
|
83
|
-
|
|
84
|
-
Better:
|
|
85
|
-
|
|
86
|
-
> The producing activity handles implementation and verification. The surrounding workflow may select independent review.
|
|
87
|
-
|
|
88
|
-
Bad:
|
|
89
|
-
|
|
90
|
-
> Do not implement the recommendation.
|
|
91
|
-
|
|
92
|
-
Better:
|
|
93
|
-
|
|
94
|
-
> Return the recommendation to the owning workflow. Implementation requires separate authorization.
|
|
95
|
-
|
|
96
|
-
A negative instruction may preserve an invariant directly when the positive route is already clear:
|
|
97
|
-
|
|
98
|
-
> Preserve the accepted scope. Do not split it into MVP or roadmap phases without approval.
|
|
99
|
-
|
|
100
|
-
## Fix Placement Before Adding Prose
|
|
101
|
-
|
|
102
|
-
Put an instruction where the agent first makes the affected choice.
|
|
103
|
-
|
|
104
|
-
A late caveat rarely defeats an early command. Move or sharpen the controlling sentence before adding another section.
|
|
105
|
-
|
|
106
|
-
When an early instruction and a later exception conflict, restructure the route rather than adding another disclaimer.
|
|
107
|
-
|
|
108
|
-
## Repeat Local Guards Deliberately
|
|
109
|
-
|
|
110
|
-
Repeat a shared instruction only when local presence protects:
|
|
111
|
-
|
|
112
|
-
- an independently activated path;
|
|
113
|
-
- a distinct decision point;
|
|
114
|
-
- retained behavior;
|
|
115
|
-
- context-loss recovery;
|
|
116
|
-
- a dangerous literal interpretation;
|
|
117
|
-
- a measured failure.
|
|
118
|
-
|
|
119
|
-
Keep one canonical owner for the full definition or method. Repeat only the compact local guard needed at the choice.
|
|
120
|
-
|
|
121
|
-
> Repeat the behavioral invariant, not the owning method.
|
|
122
|
-
|
|
123
|
-
Do not copy complete orchestration, authority, review, or task-memory sections into every consumer.
|
|
124
|
-
|
|
125
|
-
## End The Skill’s Influence
|
|
126
|
-
|
|
127
|
-
A skill body may remain in context after its immediate method ends.
|
|
128
|
-
|
|
129
|
-
State stop, return, or exit conditions clearly enough that retained instructions do not continue claiming ownership or broadening later work.
|
|
130
|
-
|
|
131
|
-
A first-turn exit is insufficient when later turns still show method hijacking.
|
|
132
|
-
|
|
133
|
-
After editing, rerun the same first-read and retained-use pressure while keeping unrelated instructions stable.
|
|
@@ -1,129 +0,0 @@
|
|
|
1
|
-
# Progressive Disclosure
|
|
2
|
-
|
|
3
|
-
Read this before adding or reorganizing references, assets, or scripts.
|
|
4
|
-
|
|
5
|
-
This reference is judgment: adapt it to the skill's goal. Its binding statements restate [Write Skill](../SKILL.md) Rules.
|
|
6
|
-
|
|
7
|
-
Progressive disclosure should change when content enters context, preserve one canonical owner, or isolate a real lifecycle boundary. Splitting files without one of those benefits adds dependency cost without reducing context.
|
|
8
|
-
|
|
9
|
-
## Preserve Dependency Direction
|
|
10
|
-
|
|
11
|
-
```text
|
|
12
|
-
description
|
|
13
|
-
-> SKILL.md
|
|
14
|
-
-> required or conditional resource
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
`SKILL.md` establishes:
|
|
18
|
-
|
|
19
|
-
- the job;
|
|
20
|
-
- normal route;
|
|
21
|
-
- necessary terms;
|
|
22
|
-
- stop and return conditions;
|
|
23
|
-
- observable resource read points.
|
|
24
|
-
|
|
25
|
-
A reference cannot activate itself. Do not hide the instruction needed to recognize a reference inside that reference.
|
|
26
|
-
|
|
27
|
-
That is progressive reconstruction, not disclosure.
|
|
28
|
-
|
|
29
|
-
## Classify The Read Point
|
|
30
|
-
|
|
31
|
-
### Entry-required
|
|
32
|
-
|
|
33
|
-
Read before the skill can follow or reject its normal route.
|
|
34
|
-
|
|
35
|
-
Entry-required references are exceptional. Use one only when separation provides independent value, such as:
|
|
36
|
-
|
|
37
|
-
- canonical reuse across packages;
|
|
38
|
-
- separate ownership or lifecycle;
|
|
39
|
-
- generated schemas or contracts;
|
|
40
|
-
- compatibility or host constraints;
|
|
41
|
-
- independently versioned external policy.
|
|
42
|
-
|
|
43
|
-
If every useful activation reads the resource and it has no separate ownership or lifecycle value, inline it even when `SKILL.md` becomes substantially longer.
|
|
44
|
-
|
|
45
|
-
### Activity-required
|
|
46
|
-
|
|
47
|
-
Read before performing one named normal activity.
|
|
48
|
-
|
|
49
|
-
The skill may first:
|
|
50
|
-
|
|
51
|
-
- exit;
|
|
52
|
-
- defer;
|
|
53
|
-
- choose another route;
|
|
54
|
-
- determine that the activity does not apply.
|
|
55
|
-
|
|
56
|
-
Activity-required references provide real loading value even when the activity is common.
|
|
57
|
-
|
|
58
|
-
### Conditional
|
|
59
|
-
|
|
60
|
-
Read only when an observable branch occurs.
|
|
61
|
-
|
|
62
|
-
The body must teach the agent enough to recognize the branch before loading the reference.
|
|
63
|
-
|
|
64
|
-
Do not use “when unclear” if the reference contains the method for recognizing the underlying condition.
|
|
65
|
-
|
|
66
|
-
## Keep The Normal Route Contiguous
|
|
67
|
-
|
|
68
|
-
Start with one `SKILL.md`.
|
|
69
|
-
|
|
70
|
-
Keep inline:
|
|
71
|
-
|
|
72
|
-
- the first-read job;
|
|
73
|
-
- normal route;
|
|
74
|
-
- controlling definitions;
|
|
75
|
-
- instructions needed to select resources;
|
|
76
|
-
- stop and return behavior.
|
|
77
|
-
|
|
78
|
-
Move depth only when keeping it inline would obscure the normal route and the read point is executable.
|
|
79
|
-
|
|
80
|
-
Do not split a file to satisfy a line count.
|
|
81
|
-
|
|
82
|
-
## Add A Reference When
|
|
83
|
-
|
|
84
|
-
- one named normal activity needs separately owned depth;
|
|
85
|
-
- one observable conditional branch needs depth;
|
|
86
|
-
- one canonical resource is shared without duplication;
|
|
87
|
-
- one resource has a real independent lifecycle;
|
|
88
|
-
- the body can name and require the read before use.
|
|
89
|
-
|
|
90
|
-
The body instruction and reference introduction must state the same read condition.
|
|
91
|
-
|
|
92
|
-
Required means necessary. Do not call a required reference recommended or optional.
|
|
93
|
-
|
|
94
|
-
If skipping the reference preserves correct execution, either make its concrete optional value explicit or remove it.
|
|
95
|
-
|
|
96
|
-
## Add A Script When
|
|
97
|
-
|
|
98
|
-
- the skill owns a deterministic repeated operation;
|
|
99
|
-
- model-generated execution would be error-prone, unsafe, or materially wasteful;
|
|
100
|
-
- the interface and failure behavior can be tested;
|
|
101
|
-
- the script’s output has a clear evidence boundary.
|
|
102
|
-
|
|
103
|
-
Do not script ordinary commands merely to make the package appear complete.
|
|
104
|
-
|
|
105
|
-
## Link At The Decision Point
|
|
106
|
-
|
|
107
|
-
Link every agent-facing reference, asset, package dependency, and executable entrypoint from `SKILL.md` at the first useful choice.
|
|
108
|
-
|
|
109
|
-
Avoid vague resource lists such as:
|
|
110
|
-
|
|
111
|
-
> See references for more information.
|
|
112
|
-
|
|
113
|
-
Prefer:
|
|
114
|
-
|
|
115
|
-
> Read Test Design before designing or materially changing the behavior check.
|
|
116
|
-
|
|
117
|
-
## Apply The Resource Test
|
|
118
|
-
|
|
119
|
-
For every extra file, ask:
|
|
120
|
-
|
|
121
|
-
1. What activity, conditional branch, shared ownership, or lifecycle requires it?
|
|
122
|
-
2. When can the agent recognize the read or run condition?
|
|
123
|
-
3. What prior language does it assume?
|
|
124
|
-
4. Where is that language guaranteed?
|
|
125
|
-
5. What context or ownership value does separation provide?
|
|
126
|
-
6. Why is inline content worse?
|
|
127
|
-
7. How will links, containment, and behavior be verified?
|
|
128
|
-
|
|
129
|
-
If separation changes neither loading nor ownership, inline the content or remove it.
|
|
@@ -1,192 +0,0 @@
|
|
|
1
|
-
# Skill Dependency Graphs
|
|
2
|
-
|
|
3
|
-
Read this when creating or revising multiple related skills, shared terminology, cross-skill links, capability activation, direct or routed entry paths, or context-loss recovery.
|
|
4
|
-
|
|
5
|
-
This reference is judgment: adapt it to the skill's goal. Its binding statements restate [Write Skill](../SKILL.md) Rules.
|
|
6
|
-
|
|
7
|
-
A multi-skill system is a stateful, partially loaded prompt graph. It is not a mandatory sequence.
|
|
8
|
-
|
|
9
|
-
## Identify The Edge Types
|
|
10
|
-
|
|
11
|
-
Do not treat every link as execution.
|
|
12
|
-
|
|
13
|
-
### Activation edge
|
|
14
|
-
|
|
15
|
-
Causes a skill to be read or made effective:
|
|
16
|
-
|
|
17
|
-
```text
|
|
18
|
-
natural prompt -> description -> skill
|
|
19
|
-
always-loaded system cue -> recovery skill
|
|
20
|
-
capability cue -> capability skill
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
### Owner route
|
|
24
|
-
|
|
25
|
-
Changes which activity controls the current bounded result.
|
|
26
|
-
|
|
27
|
-
A plain-text return may express control flow without creating a Markdown package dependency.
|
|
28
|
-
|
|
29
|
-
### Composition edge
|
|
30
|
-
|
|
31
|
-
Adds a method, lens, reviewer contract, or domain guide without changing the current owner.
|
|
32
|
-
|
|
33
|
-
### Reference edge
|
|
34
|
-
|
|
35
|
-
Loads activity-required or conditional depth inside a package.
|
|
36
|
-
|
|
37
|
-
### Environment-interaction edge
|
|
38
|
-
|
|
39
|
-
Temporarily selects one observation or effect and returns to the same current owner.
|
|
40
|
-
|
|
41
|
-
### Persistence edge
|
|
42
|
-
|
|
43
|
-
Earlier skill guidance remains in context and may affect later behavior without another read.
|
|
44
|
-
|
|
45
|
-
### Recovery edge
|
|
46
|
-
|
|
47
|
-
Reintroduces required guidance after context loss through an always-loaded upstream cue.
|
|
48
|
-
|
|
49
|
-
## Enumerate Every Valid Entry Path
|
|
50
|
-
|
|
51
|
-
For each skill, identify:
|
|
52
|
-
|
|
53
|
-
- natural description activation;
|
|
54
|
-
- orchestrator or lifecycle routes;
|
|
55
|
-
- sibling routes;
|
|
56
|
-
- direct user commands;
|
|
57
|
-
- capability cues;
|
|
58
|
-
- context-loss recovery;
|
|
59
|
-
- host-specific activation;
|
|
60
|
-
- artifact or checkpoint routes.
|
|
61
|
-
|
|
62
|
-
Do not optimize only for the most common path.
|
|
63
|
-
|
|
64
|
-
A skill may rely only on context guaranteed across every valid activation path.
|
|
65
|
-
|
|
66
|
-
If a skill can activate directly, it cannot depend on vocabulary introduced only by a commonly preceding skill.
|
|
67
|
-
|
|
68
|
-
If a skill can activate through an independent recovery cue, it cannot assume that an earlier discussion or planning skill was read first.
|
|
69
|
-
|
|
70
|
-
## Place Terminology Upstream
|
|
71
|
-
|
|
72
|
-
For every shared term:
|
|
73
|
-
|
|
74
|
-
1. list all consumers;
|
|
75
|
-
2. list every valid path to those consumers;
|
|
76
|
-
3. find the nearest upstream context guaranteed on all paths;
|
|
77
|
-
4. define the term there;
|
|
78
|
-
5. keep specialized detail with its owning skill.
|
|
79
|
-
|
|
80
|
-
Place shared vocabulary in the nearest always-available context only when independently activated consumers require it.
|
|
81
|
-
|
|
82
|
-
Keep local terms local when other skills should route to the owner rather than implement its method.
|
|
83
|
-
|
|
84
|
-
Do not duplicate full definitions merely to compensate for a broken activation graph.
|
|
85
|
-
|
|
86
|
-
## Prevent Self-Activation
|
|
87
|
-
|
|
88
|
-
An unread skill cannot require its own first read.
|
|
89
|
-
|
|
90
|
-
Critical activation must come from:
|
|
91
|
-
|
|
92
|
-
- guaranteed base or system guidance;
|
|
93
|
-
- a skill description;
|
|
94
|
-
- an already-loaded owner;
|
|
95
|
-
- an effective capability cue;
|
|
96
|
-
- another declared upstream path.
|
|
97
|
-
|
|
98
|
-
References follow the same rule: the body must name the read condition before using reference content.
|
|
99
|
-
|
|
100
|
-
## Check Direct And Routed Paths
|
|
101
|
-
|
|
102
|
-
For every related skill, test:
|
|
103
|
-
|
|
104
|
-
```text
|
|
105
|
-
direct natural activation
|
|
106
|
-
routed activation from expected parent
|
|
107
|
-
nearby safe-read activation
|
|
108
|
-
retained use after another skill loads
|
|
109
|
-
recovery after context loss
|
|
110
|
-
```
|
|
111
|
-
|
|
112
|
-
A path that works only because another skill happened to be read is not valid dependency composition.
|
|
113
|
-
|
|
114
|
-
## Check Redundancy And Inconsistency
|
|
115
|
-
|
|
116
|
-
Across all changed skills, inspect:
|
|
117
|
-
|
|
118
|
-
- duplicate canonical definitions;
|
|
119
|
-
- divergent wording for the same invariant;
|
|
120
|
-
- early commands contradicted by later caveats;
|
|
121
|
-
- two skills claiming the same current ownership;
|
|
122
|
-
- methods or lenses accidentally becoming owners;
|
|
123
|
-
- links with no activation, route, composition, or reference job;
|
|
124
|
-
- terms used before guaranteed definition;
|
|
125
|
-
- body and reference read-condition mismatch;
|
|
126
|
-
- stale recovery cues;
|
|
127
|
-
- direct routes bypassing required context;
|
|
128
|
-
- retained instructions hijacking later owners.
|
|
129
|
-
|
|
130
|
-
Distinguish semantic duplication from intentional local guards.
|
|
131
|
-
|
|
132
|
-
## Repeat Across Skills Deliberately
|
|
133
|
-
|
|
134
|
-
Repeat a compact invariant when a distinct activation path or decision point requires local protection.
|
|
135
|
-
|
|
136
|
-
Keep:
|
|
137
|
-
|
|
138
|
-
```text
|
|
139
|
-
canonical owner
|
|
140
|
-
-> complete definition or method
|
|
141
|
-
|
|
142
|
-
consumer
|
|
143
|
-
-> compact local guard
|
|
144
|
-
-> route to canonical owner when needed
|
|
145
|
-
```
|
|
146
|
-
|
|
147
|
-
Do not copy complete sections across skills. Repetition should preserve meaning without creating competing ownership.
|
|
148
|
-
|
|
149
|
-
## Keep Routing And Terminology Graphs Distinct
|
|
150
|
-
|
|
151
|
-
Terminology and dependency order should normally flow from guaranteed upstream context toward consumers.
|
|
152
|
-
|
|
153
|
-
Runtime routing may be cyclic:
|
|
154
|
-
|
|
155
|
-
```text
|
|
156
|
-
For example:
|
|
157
|
-
clarification -> task memory -> clarification
|
|
158
|
-
execution -> verification -> review -> execution
|
|
159
|
-
```
|
|
160
|
-
|
|
161
|
-
A cyclic routing graph does not justify cyclic terminology dependencies.
|
|
162
|
-
|
|
163
|
-
## Validate Facts And Evaluate Behavior
|
|
164
|
-
|
|
165
|
-
Deterministic checks can establish:
|
|
166
|
-
|
|
167
|
-
- links;
|
|
168
|
-
- containment;
|
|
169
|
-
- dependency cycles;
|
|
170
|
-
- resource inventory;
|
|
171
|
-
- routing-map parity;
|
|
172
|
-
- exact duplicate text.
|
|
173
|
-
|
|
174
|
-
They cannot establish:
|
|
175
|
-
|
|
176
|
-
- correct activation;
|
|
177
|
-
- safe retained influence;
|
|
178
|
-
- semantic consistency;
|
|
179
|
-
- useful repetition;
|
|
180
|
-
- behavior preservation;
|
|
181
|
-
- readiness.
|
|
182
|
-
|
|
183
|
-
Evaluate the exact graph claim:
|
|
184
|
-
|
|
185
|
-
- activation;
|
|
186
|
-
- first-read body behavior;
|
|
187
|
-
- dependency composition;
|
|
188
|
-
- retained use;
|
|
189
|
-
- recovery;
|
|
190
|
-
- artifact outcome.
|
|
191
|
-
|
|
192
|
-
Do not require a graph artifact for every small skill edit. Use this method when several nodes, paths, terms, or owners change together.
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: write-spec
|
|
3
|
-
description: "Use when writing or revising a spec, PRD, issue, API contract, technical design, migration contract, decision artifact, or similar durable document."
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Write Spec
|
|
7
|
-
|
|
8
|
-
Turn accepted intent and source evidence into a durable artifact that later work can use without inheriting invented requirements or losing accepted changes.
|
|
9
|
-
|
|
10
|
-
A Spec describes content, behavior, constraints, and uncertainty for its intended use. It is not an implementation sequence, Working Record, transcript, or permission grant. Useful technical depth is welcome; hypothetical completeness is not required.
|
|
11
|
-
|
|
12
|
-
The **Rules** below are binding; if one cannot be met, stop and say why. Everything else is **judgment**: follow its stated goal, and adapt when a different choice serves that goal better.
|
|
13
|
-
|
|
14
|
-
## Rules
|
|
15
|
-
|
|
16
|
-
- A Spec grants no permission and does not begin implementation. Review establishes fitness, not user acceptance or execution authority; never label author self-review as independent review, or use an approval status without its source.
|
|
17
|
-
- A drafted proposal is not accepted behavior; label proposed design as proposed. Authorization to investigate or draft an option is not acceptance of undisclosed production consequences.
|
|
18
|
-
- Never add an obligation without an accepted source or a reason it is necessary for the stated outcome. Do not infer requirements from nearby code, existing tests, or available machinery, and do not reduce agreed scope into an unapproved MVP, roadmap, or later-version split.
|
|
19
|
-
- Stop the affected writing when it would silently change behavior, scope, public interfaces, compatibility, sensitive policy, failure semantics, or hard-to-reverse design; never settle such a choice through normative prose, an unexplained assumption, or a polished placeholder; return the concrete effect and supported alternatives to its owner through [Decision Gate](../decision-gate/SKILL.md) or [Discuss](../discuss/SKILL.md).
|
|
20
|
-
- Never rewrite source truth to suit implementation, and never rewrite historical decisions as though they always contained the new choice.
|
|
21
|
-
- Writing or revising a Spec does not trigger independent review.
|
|
22
|
-
|
|
23
|
-
## Establish The Artifact's Job
|
|
24
|
-
|
|
25
|
-
Goal: know who will use the artifact and for what, before writing it.
|
|
26
|
-
|
|
27
|
-
Identify the artifact type, intended reader or future action, accepted scope, destination, and the unresolved questions it must preserve.
|
|
28
|
-
|
|
29
|
-
Answer questions about a Spec without editing it unless revision is requested. Use Discuss when direction or alternatives remain materially open and Decision Gate for one blocking owner choice or source conflict; do not repeat discussion that already settled the artifact's purpose. An agreement to implement accepted work may include documenting its supported contract; do not manufacture another user approval because a document was produced.
|
|
30
|
-
|
|
31
|
-
## Establish The Current Source Basis
|
|
32
|
-
|
|
33
|
-
Goal: the artifact rests on what was actually accepted, including later amendments.
|
|
34
|
-
|
|
35
|
-
Use the sources that actually determine the artifact:
|
|
36
|
-
|
|
37
|
-
- current user direction and accepted discussion, including later amendments;
|
|
38
|
-
- existing Specs, issues, decisions, and contracts being revised or consumed;
|
|
39
|
-
- relevant live code, tests, policy, ADRs, and established behavior;
|
|
40
|
-
- current primary sources when an external version or interface constrains the result;
|
|
41
|
-
- [Track Work](../track-work/SKILL.md) for task memory when a record exists.
|
|
42
|
-
|
|
43
|
-
A record or implementation summary cannot override contradictory current intent or accepted source truth. Distinguish what was requested, proposed, accepted, and actually observed. Preserve enough source identity to recover the basis of a consequential statement; for an approval such as "proceed", keep the proposal and response together when their scope matters. A test can faithfully protect an unnecessary mechanism.
|
|
44
|
-
|
|
45
|
-
## Write Only What The Intended Use Needs
|
|
46
|
-
|
|
47
|
-
Goal: enough depth for the use, with requirements, facts, proposals, and open questions never confused.
|
|
48
|
-
|
|
49
|
-
Read [Spec Shapes](references/spec-shapes.md) before choosing the structure. Read [Artifact Standards](references/artifact-standards.md) when choosing destination, identity, status, source trail, or revision shape. Read [Decision Records](references/decision-records.md) when the artifact primarily preserves a decision and rationale.
|
|
50
|
-
|
|
51
|
-
Include relevant purpose, scope, non-goals, accepted behavior, constraints, interfaces, consequential failure semantics, acceptance, and evidence. Explain architecture and ownership deeply where the use requires it; do not remove necessary detail just to shorten the document.
|
|
52
|
-
|
|
53
|
-
When writing an implementation-guiding design whose unresolved representation, identity, ownership, algorithm, or failure choices could invalidate significant dependent work, read [Design for Depth](../design-for-depth/SKILL.md) and use its Implementation Decisions method. Preserve the selected choices and rationale, distinguishing fixed constraints from illustrative sketches and local freedom. Existing supported decisions need no fresh design exercise; open choices stay visible rather than being filled with invented mechanics.
|
|
54
|
-
|
|
55
|
-
Keep distinguishable: required behavior and accepted decisions; supported facts and their evidence limits; proposed mechanisms; tentative assumptions and open questions; intentional deferrals and superseded direction. Use the repository's vocabulary rather than inventing a status schema, and place a consequential uncertainty where the reader makes the affected decision, not in a distant caveat.
|
|
56
|
-
|
|
57
|
-
A limitation of one implementation technique does not establish a need for stronger guarantees, host changes, new persistence, retries, or a subsystem. Open questions need not stop unrelated content; a proposal can be fit for discussion while unfit to guide production, so state that boundary.
|
|
58
|
-
|
|
59
|
-
Keep ordered execution in a Plan and live progress in the Working Record. Link shared rationale rather than copying it into several independently maintained sources.
|
|
60
|
-
|
|
61
|
-
## Reconcile Material Changes
|
|
62
|
-
|
|
63
|
-
Goal: the artifact reflects the current accepted contract without losing why it changed.
|
|
64
|
-
|
|
65
|
-
Preserve accepted content that still holds. Change only what new intent or evidence affects, and keep consequential prior rationale recoverable through the owning decision record, change history, or version control.
|
|
66
|
-
|
|
67
|
-
When an accepted amendment or learning result changes the contract, identify the affected downstream Plan, acceptance check, or implementation assumption. Reconcile them when authorized; otherwise mark them contingent and return the needed revision before dependent use. Do not synchronize unrelated artifacts.
|
|
68
|
-
|
|
69
|
-
Experimental learning does not automatically enter the production contract: distinguish findings deliberately selected for implementation from observations kept as evidence or deferred possibilities. Conversely, do not keep an older baseline after the user accepted a relevant change. Follow repository policy for historical records and supersession.
|
|
70
|
-
|
|
71
|
-
## Self-Review Once Before Use
|
|
72
|
-
|
|
73
|
-
Goal: the artifact is fit for its use before anyone relies on it.
|
|
74
|
-
|
|
75
|
-
After checking source-backed factual claims, use [Review Artifact](../review-artifact/SKILL.md) for silent author self-review of the complete artifact and its intended use. Check that it preserves accepted intent and amendments, separates requirements from proposals, has sufficient evidence and acceptance conditions, and keeps affected dependencies coherent. Correct clear covered defects and recheck affected facts and lenses; return unresolved owner decisions instead of inventing an answer to make the document consistent.
|
|
76
|
-
|
|
77
|
-
Independent review applies only when selected and authorized to protect a concrete boundary: supply the complete artifact, source basis, dependencies, and evidence limits through Review Artifact's independent route, and adjudicate its report before revision or use. Respect an explicitly selected approval checkpoint, but do not create one for every artifact.
|
|
78
|
-
|
|
79
|
-
## Report And Stop
|
|
80
|
-
|
|
81
|
-
Report the artifact path, type, intended use, source basis, material unresolved or contingent content, and actual review and acceptance status.
|
|
82
|
-
|
|
83
|
-
When a Working Record exists and the Spec is accepted for its task, list it under the record's `What defines this task` through Track Work so every recovery reads it.
|
|
84
|
-
|
|
85
|
-
Stop when the authorized artifact is fit for its stated use or its blocking decision or evidence limit is explicit, and return to the requesting activity.
|