@brainervirus/workit-core 0.11.0 → 1.0.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.
Files changed (150) hide show
  1. package/README.md +5 -3
  2. package/package.json +8 -3
  3. package/scripts/analyze-release-scope.ts +4 -1
  4. package/scripts/doctor-check.ts +3 -1
  5. package/scripts/install-codex-plugin.sh +28 -0
  6. package/scripts/install-cursor-plugin.sh +1 -0
  7. package/scripts/install-opencode-plugin.sh +1 -0
  8. package/scripts/install-pi-package.sh +56 -0
  9. package/scripts/rewrite-workspace-deps.ts +22 -5
  10. package/scripts/sync-release-manifests.ts +8 -5
  11. package/scripts/sync-runtime.sh +7 -3
  12. package/scripts/validate-cursor-marketplace.ts +16 -62
  13. package/skills/workit-babysit/SKILL.md +33 -0
  14. package/skills/workit-behavioral-tdd/SKILL.md +53 -0
  15. package/skills/workit-blast-radius/SKILL.md +31 -0
  16. package/skills/workit-challenge/SKILL.md +62 -0
  17. package/skills/workit-debug/SKILL.md +61 -0
  18. package/skills/workit-deslop/SKILL.md +36 -0
  19. package/skills/workit-diagram/SKILL.md +32 -0
  20. package/skills/workit-green-run/SKILL.md +29 -0
  21. package/skills/workit-handoff/SKILL.md +43 -0
  22. package/skills/workit-implement/SKILL.md +46 -0
  23. package/skills/workit-mockup/SKILL.md +28 -0
  24. package/skills/workit-plan/SKILL.md +66 -0
  25. package/skills/workit-review/SKILL.md +60 -0
  26. package/skills/workit-steer/SKILL.md +32 -0
  27. package/src/core/authority.ts +918 -0
  28. package/src/core/boundary.ts +29 -0
  29. package/src/core/branch.ts +26 -255
  30. package/src/core/changelog.ts +95 -18
  31. package/src/core/commit-flavors.ts +65 -0
  32. package/src/core/config-conversion.ts +183 -0
  33. package/src/core/config.ts +42 -0
  34. package/src/core/cutover.ts +721 -0
  35. package/src/core/detect-hosts.ts +107 -0
  36. package/src/core/doctor.ts +428 -18
  37. package/src/core/external-action-effects.ts +1171 -0
  38. package/src/core/external-action.ts +541 -0
  39. package/src/core/init.ts +83 -32
  40. package/src/core/methods.ts +125 -0
  41. package/src/core/policy-resolver.ts +523 -0
  42. package/src/core/pr-create.ts +7 -1
  43. package/src/core/registration.ts +69 -4
  44. package/src/core/repo-context.ts +59 -1
  45. package/src/core/setup.ts +28 -0
  46. package/src/core/skill-manifests.ts +40 -42
  47. package/src/core/support-matrix.ts +8 -3
  48. package/src/core/sync-runtime.ts +15 -3
  49. package/src/core/task-context.ts +179 -0
  50. package/src/core/task-contract.ts +1136 -0
  51. package/src/core/task-engine.ts +2562 -0
  52. package/src/core/task-evaluation.ts +679 -0
  53. package/src/core/task-store.ts +1071 -0
  54. package/src/core/tracker-issues.ts +237 -0
  55. package/src/core/uninstall.ts +67 -3
  56. package/src/core/vcs-config.ts +53 -22
  57. package/src/core/workers.ts +166 -0
  58. package/src/core/workspaces.ts +3 -1
  59. package/src/core/youtrack-tools.ts +2 -0
  60. package/src/core/youtrack.ts +145 -10
  61. package/src/core.ts +126 -0
  62. package/templates/execution-contract.md +17 -50
  63. package/templates/plan-template.md +3 -3
  64. package/templates/spec-template.md +15 -3
  65. package/templates/workit-contract.md +12 -0
  66. package/commands/wk-changelog.md +0 -2
  67. package/commands/wk-commit.md +0 -2
  68. package/commands/wk-docs-refresh.md +0 -2
  69. package/commands/wk-handoff.md +0 -2
  70. package/commands/wk-implement.md +0 -2
  71. package/commands/wk-init.md +0 -2
  72. package/commands/wk-issue-update.md +0 -2
  73. package/commands/wk-meetings.md +0 -2
  74. package/commands/wk-pr.md +0 -2
  75. package/commands/wk-release-notes.md +0 -2
  76. package/commands/wk-status.md +0 -2
  77. package/commands/wk-verify.md +0 -2
  78. package/scripts/update-superpowers.sh +0 -82
  79. package/scripts/vendor-assets.ts +0 -37
  80. package/skills/wk-changelog/SKILL.md +0 -15
  81. package/skills/wk-commit/SKILL.md +0 -16
  82. package/skills/wk-docs-refresh/SKILL.md +0 -15
  83. package/skills/wk-handoff/SKILL.md +0 -20
  84. package/skills/wk-implement/SKILL.md +0 -47
  85. package/skills/wk-init/SKILL.md +0 -31
  86. package/skills/wk-issue-update/SKILL.md +0 -27
  87. package/skills/wk-issue-update/references/youtrack-update-style.md +0 -81
  88. package/skills/wk-meetings/SKILL.md +0 -17
  89. package/skills/wk-pr/SKILL.md +0 -27
  90. package/skills/wk-release-notes/SKILL.md +0 -15
  91. package/skills/wk-status/SKILL.md +0 -16
  92. package/skills/wk-verify/SKILL.md +0 -16
  93. package/src/core/detector.ts +0 -239
  94. package/src/core/flow-state.ts +0 -3308
  95. package/src/core/handoff-context.ts +0 -136
  96. package/src/core/handoff-tools.ts +0 -133
  97. package/src/core/menu.ts +0 -70
  98. package/src/core/plan-tasks.ts +0 -43
  99. package/src/core/reminder.ts +0 -124
  100. package/src/core/sdd.ts +0 -353
  101. package/src/state.ts +0 -22
  102. package/templates/superpowers-doc-contract.md +0 -75
  103. package/vendor/superpowers/skills/brainstorming/SKILL.md +0 -159
  104. package/vendor/superpowers/skills/brainstorming/scripts/frame-template.html +0 -213
  105. package/vendor/superpowers/skills/brainstorming/scripts/helper.js +0 -167
  106. package/vendor/superpowers/skills/brainstorming/scripts/server.cjs +0 -723
  107. package/vendor/superpowers/skills/brainstorming/scripts/start-server.sh +0 -209
  108. package/vendor/superpowers/skills/brainstorming/scripts/stop-server.sh +0 -120
  109. package/vendor/superpowers/skills/brainstorming/spec-document-reviewer-prompt.md +0 -49
  110. package/vendor/superpowers/skills/brainstorming/visual-companion.md +0 -291
  111. package/vendor/superpowers/skills/dispatching-parallel-agents/SKILL.md +0 -185
  112. package/vendor/superpowers/skills/executing-plans/SKILL.md +0 -70
  113. package/vendor/superpowers/skills/finishing-a-development-branch/SKILL.md +0 -241
  114. package/vendor/superpowers/skills/receiving-code-review/SKILL.md +0 -213
  115. package/vendor/superpowers/skills/requesting-code-review/SKILL.md +0 -103
  116. package/vendor/superpowers/skills/requesting-code-review/code-reviewer.md +0 -172
  117. package/vendor/superpowers/skills/subagent-driven-development/SKILL.md +0 -428
  118. package/vendor/superpowers/skills/subagent-driven-development/implementer-prompt.md +0 -139
  119. package/vendor/superpowers/skills/subagent-driven-development/scripts/review-package +0 -44
  120. package/vendor/superpowers/skills/subagent-driven-development/scripts/sdd-workspace +0 -22
  121. package/vendor/superpowers/skills/subagent-driven-development/scripts/task-brief +0 -40
  122. package/vendor/superpowers/skills/subagent-driven-development/task-reviewer-prompt.md +0 -188
  123. package/vendor/superpowers/skills/systematic-debugging/CREATION-LOG.md +0 -119
  124. package/vendor/superpowers/skills/systematic-debugging/SKILL.md +0 -296
  125. package/vendor/superpowers/skills/systematic-debugging/condition-based-waiting-example.ts +0 -158
  126. package/vendor/superpowers/skills/systematic-debugging/condition-based-waiting.md +0 -115
  127. package/vendor/superpowers/skills/systematic-debugging/defense-in-depth.md +0 -122
  128. package/vendor/superpowers/skills/systematic-debugging/find-polluter.sh +0 -63
  129. package/vendor/superpowers/skills/systematic-debugging/root-cause-tracing.md +0 -169
  130. package/vendor/superpowers/skills/systematic-debugging/test-academic.md +0 -14
  131. package/vendor/superpowers/skills/systematic-debugging/test-pressure-1.md +0 -58
  132. package/vendor/superpowers/skills/systematic-debugging/test-pressure-2.md +0 -68
  133. package/vendor/superpowers/skills/systematic-debugging/test-pressure-3.md +0 -69
  134. package/vendor/superpowers/skills/test-driven-development/SKILL.md +0 -371
  135. package/vendor/superpowers/skills/test-driven-development/testing-anti-patterns.md +0 -299
  136. package/vendor/superpowers/skills/using-git-worktrees/SKILL.md +0 -202
  137. package/vendor/superpowers/skills/using-superpowers/SKILL.md +0 -62
  138. package/vendor/superpowers/skills/using-superpowers/references/antigravity-tools.md +0 -23
  139. package/vendor/superpowers/skills/using-superpowers/references/codex-tools.md +0 -39
  140. package/vendor/superpowers/skills/using-superpowers/references/pi-tools.md +0 -16
  141. package/vendor/superpowers/skills/verification-before-completion/SKILL.md +0 -139
  142. package/vendor/superpowers/skills/writing-plans/SKILL.md +0 -174
  143. package/vendor/superpowers/skills/writing-plans/plan-document-reviewer-prompt.md +0 -49
  144. package/vendor/superpowers/skills/writing-skills/SKILL.md +0 -689
  145. package/vendor/superpowers/skills/writing-skills/anthropic-best-practices.md +0 -1150
  146. package/vendor/superpowers/skills/writing-skills/examples/CLAUDE_MD_TESTING.md +0 -189
  147. package/vendor/superpowers/skills/writing-skills/graphviz-conventions.dot +0 -172
  148. package/vendor/superpowers/skills/writing-skills/persuasion-principles.md +0 -187
  149. package/vendor/superpowers/skills/writing-skills/render-graphs.js +0 -168
  150. package/vendor/superpowers/skills/writing-skills/testing-skills-with-subagents.md +0 -384
@@ -0,0 +1,61 @@
1
+ ---
2
+ name: workit-debug
3
+ description: Use when behavior is failing, surprising, contradictory, or regressed and the root cause is not established
4
+ ---
5
+
6
+ # Debug the root cause
7
+
8
+ Debugging is investigation, not a fast symptom patch. Use this method when
9
+ assessment selects `root-cause-investigation` or behavior is failing without an
10
+ established root cause.
11
+
12
+ ## Before method work
13
+
14
+ If there is no active or paused task, run shared `task.start` then `policy.assess`
15
+ before relying on selected policy rules or other product mutations. Assessment
16
+ selects requirements; do not wait for a rule that can only exist after assess.
17
+
18
+ ## Method
19
+
20
+ 1. Inspect task scope, caller authority, candidate identity, existing evidence,
21
+ findings, and worker/writer state with shared `task`, `policy`, `evidence`, and
22
+ `finding` operations.
23
+ 2. Reproduce the failure at a stable behavioral boundary. Record observed facts,
24
+ inferences, and unknowns with references; trace the failing value and all
25
+ relevant callers before editing.
26
+ 3. State the root-cause hypothesis and the smallest in-scope fix. Write a focused
27
+ regression at the boundary when practical, then run RED and GREEN checks.
28
+ 4. Acquire writer authority through `writer` before mutation. Reconcile the
29
+ candidate, evidence, and findings after the change; investigate sibling paths
30
+ and stale conclusions rather than assuming the first patch worked.
31
+
32
+ Honor task status, scope, revisions, and native authority gates. Do not bypass
33
+ them for an incident, create a second lifecycle, or claim a fix from a green
34
+ command that did not exercise the affected behavior.
35
+
36
+ ## Red-capable gate
37
+
38
+ Never hypothesize without a loop that goes red on this exact failure. Build
39
+ the loop first, in this order: failing test → CLI command + fixture →
40
+ request replay → trace. Tighten it until fast, sharp, deterministic, and
41
+ agent-runnable. No loop → stop, list what was tried, ask for the
42
+ environment or artifact; never theorize without it.
43
+
44
+ Minimise: cut one element at a time until every remainder is load-bearing;
45
+ the minimised case becomes the regression test. State hypotheses ranked and
46
+ falsifiable (`If <X> then changing <Y> removes it`), probe one variable at
47
+ a time, tag debug logs for grep cleanup. Write the regression at the seam
48
+ where the real pattern occurs — no correct seam means the finding is the
49
+ architecture, so flag it instead of patching around it.
50
+
51
+ When the host reports writer capability unavailable, do not mutate or delegate
52
+ mutation. Continue inline only if policy and lead authority permit it;
53
+ otherwise report the capability gap.
54
+
55
+ ## Common mistakes
56
+
57
+ | Mistake | Correction |
58
+ | ------------------------------------- | ------------------------------------------------------ |
59
+ | Patching the nearest stack frame | Trace the input, callers, and shared cause. |
60
+ | Reproducing only after editing | Capture the failure before mutation. |
61
+ | Treating one passing command as proof | Verify the affected behavior and record real evidence. |
@@ -0,0 +1,36 @@
1
+ ---
2
+ name: workit-deslop
3
+ description: Use before opening a PR or after implementation to remove AI slop from code and prose
4
+ ---
5
+
6
+ # Deslop code and prose
7
+
8
+ Throughput without quality is slop. Clean it with a minimal diff — deslop
9
+ never refactors behavior.
10
+
11
+ ## Before method work
12
+
13
+ If there is no active or paused task, run shared `task.start` then `policy.assess`
14
+ before relying on selected policy rules or other product mutations. Assessment
15
+ selects requirements; do not wait for a rule that can only exist after assess.
16
+
17
+ ## Method
18
+
19
+ 1. Code: delete dead helpers, redundant validators, stub references, and
20
+ comments that restate the code. Comments die by default; keep one only
21
+ with proof of an unchangeable constraint, encoded structurally if cheap.
22
+ 2. Prose (PR body, spec, docs): cut filler, keep real symbol names and
23
+ before→after numbers. One doc, one purpose.
24
+ 3. Keep the diff minimal: deslop removes lines, never moves logic. If a
25
+ cleanup wants behavior change, it becomes its own tasked change.
26
+
27
+ ## Completion
28
+
29
+ A smaller diff with identical behavior and green checks. Report lines
30
+ removed, not lines written.
31
+
32
+ Record passing check evidence linked to the `pre-pr-cleanup` requirement id
33
+ from the current policy (`kind: check`, `result: passed`, summary naming what
34
+ was removed). That requirement gates `hosting.pull_request` and close. If the
35
+ change genuinely has nothing to clean, ask for an approved limitation
36
+ decision instead of recording evidence that did not happen.
@@ -0,0 +1,32 @@
1
+ ---
2
+ name: workit-diagram
3
+ description: Use when a spec or plan needs a flow or architecture diagram
4
+ ---
5
+
6
+ # Mermaid when needed, never by default
7
+
8
+ Tables first, ASCII trees second, mermaid only when a flow or architecture
9
+ needs it. Flowchart, sequence, state, or ER only. No renderer, no network.
10
+
11
+ ## Before method work
12
+
13
+ If there is no active or paused task, run shared `task.start` then `policy.assess`
14
+ before relying on selected policy rules or other product mutations. Assessment
15
+ selects requirements; do not wait for a rule that can only exist after assess.
16
+
17
+ ## Syntax rules (mermaid v11)
18
+
19
+ - Fence as ` ```mermaid `, no surrounding prose inside the fence.
20
+ - Quote node labels containing punctuation: `A["input (x, y)"]`.
21
+ - One direction per diagram (`TD` or `LR`); keep nodes under twelve.
22
+ - Name actors exactly as the codebase names them (real symbols only).
23
+
24
+ ## Verify
25
+
26
+ Re-read the fence before commit: balanced quotes/brackets, every node
27
+ reachable, labels match spec terms. If it cannot be verified by reading,
28
+ delete it.
29
+
30
+ ## Completion
31
+
32
+ One diagram that argues a decision, or nothing. Never a diagram suite.
@@ -0,0 +1,29 @@
1
+ ---
2
+ name: workit-green-run
3
+ description: Use to drive a red CI pipeline back to green, usually inside babysit
4
+ ---
5
+
6
+ # The CI loop
7
+
8
+ Watch, classify, fix, push once, re-verify. Host-native (`gh` / GitLab);
9
+ never invent CI APIs.
10
+
11
+ ## Before method work
12
+
13
+ If there is no active or paused task, run shared `task.start` then `policy.assess`
14
+ before relying on selected policy rules or other product mutations. Assessment
15
+ selects requirements; do not wait for a rule that can only exist after assess.
16
+
17
+ ## Method
18
+
19
+ 1. Read the failing checks, not the summary. Quote the failing log lines.
20
+ 2. Classify each: flake (rerun once, note it) / stale base (update after
21
+ merge-base check) / real failure (reproduce locally, then fix).
22
+ 3. Fix at root cause with a regression test; push one wave.
23
+ 4. Re-verify the same checks green on the new head. A fix without a
24
+ green re-run is not a fix.
25
+
26
+ ## Completion
27
+
28
+ Green pipeline on the merge head, or an escalated finding with the exact
29
+ failing logs when the fix needs the human.
@@ -0,0 +1,43 @@
1
+ ---
2
+ name: workit-handoff
3
+ description: Use when work must continue in another session, host, or agent after interruption, transfer, or compaction
4
+ ---
5
+
6
+ # Handoff durable task state
7
+
8
+ Transfer continuity, not live authority. Use this method when assessment selects
9
+ the `durable-handoff` rule.
10
+
11
+ ## Before method work
12
+
13
+ If there is no active or paused task, run shared `task.start` then `policy.assess`
14
+ before relying on selected policy rules or other product mutations. Assessment
15
+ selects requirements; do not wait for a rule that can only exist after assess.
16
+
17
+ ## Method
18
+
19
+ 1. Inspect the current task, scope, decisions, policy requirements, candidate,
20
+ evidence, findings, progress, and worker states with shared `task` and `state`
21
+ operations.
22
+ 2. Export the compact state through `state.export`. Preserve the objective,
23
+ exclusions, accepted decisions and reasons, evidence references, open gaps,
24
+ findings, candidate identity, blockers, and next action. Do not include
25
+ credentials, live writer ownership, or host authority.
26
+ 3. Import only through the destination `state.import` operation and its expected
27
+ workspace revision. The destination starts paused or otherwise unauthorised
28
+ until it observes its own host/session and reconciles stale evidence and
29
+ uncertain workers.
30
+ 4. Resume or continue through shared `task`, `policy`, `worker`, `writer`, and
31
+ `evidence` operations. Record what changed instead of copying a transcript.
32
+
33
+ A handoff does not require a formal spec or plan unless those are separate
34
+ selected requirements. Never grant destination authority from imported prose,
35
+ create a second lifecycle, or edit task metadata directly.
36
+
37
+ ## Common mistakes
38
+
39
+ | Mistake | Correction |
40
+ | --- | --- |
41
+ | Sending the whole transcript | Export compact decisions, gaps, evidence, and next action. |
42
+ | Restoring the old writer or credentials | Re-observe authority in the destination. |
43
+ | Calling a handoff complete without reconciliation | Recheck stale files and uncertain workers first. |
@@ -0,0 +1,46 @@
1
+ ---
2
+ name: workit-implement
3
+ description: Use when scoped implementation, helper delegation, or checkout writer coordination is required by the current task policy
4
+ ---
5
+
6
+ # Implement within authority
7
+
8
+ Implement only inside the current task scope and writer boundary. Assignment is
9
+ not launch authority, and a timeout is not proof that a worker stopped.
10
+
11
+ ## Before method work
12
+
13
+ If there is no active or paused task, run shared `task.start` then `policy.assess`
14
+ before relying on selected policy rules or other product mutations. Assessment
15
+ selects requirements; do not wait for a rule that can only exist after assess.
16
+
17
+ ## Method
18
+
19
+ 1. Inspect task state, requirements, decisions, candidate, capabilities, and
20
+ current workers with shared `task`, `policy`, and `worker` operations.
21
+ 2. If a helper is useful, assign one bounded objective with allowed paths,
22
+ applicable requirements, evidence needed, and a stopping condition. Helpers
23
+ cannot change scope, record binding decisions, close or pause the task, assign
24
+ helpers, or resolve blockers for the lead.
25
+ 3. Observe the native session and worker state. Acquire checkout writer ownership
26
+ through `writer` before any product-mutating command; release it explicitly.
27
+ Cancellation remains uncertain until process exit or explicit recovery.
28
+ 4. Reconcile the helper report and evidence through shared operations. If required
29
+ delegation is unavailable, continue inline only when policy allows it and state
30
+ the capability limitation.
31
+
32
+ Do not edit Workit metadata directly, create nested helper trees, widen paths, or
33
+ create a second lifecycle. Read-only investigation and bounded reports do not
34
+ grant product-write ownership.
35
+
36
+ When the host reports writer capability unavailable, do not mutate or delegate
37
+ mutation. Continue inline only if policy and lead authority permit it;
38
+ otherwise report the capability gap.
39
+
40
+ ## Common mistakes
41
+
42
+ | Mistake | Correction |
43
+ | ---------------------------------------------- | --------------------------------------------------- |
44
+ | "The helper timed out, so the writer is free" | Observe exit or perform explicit recovery. |
45
+ | Letting a helper approve its own exception | Return the decision to the lead/user. |
46
+ | Running a build while another writer is active | Treat builds and tests that mutate state as writes. |
@@ -0,0 +1,28 @@
1
+ ---
2
+ name: workit-mockup
3
+ description: Use when a UI decision needs sketching before implementation
4
+ ---
5
+
6
+ # ASCII mockups before UI code
7
+
8
+ Sketch, don't build. Three genuinely different layout hypotheses maximum,
9
+ ASCII only, no code output.
10
+
11
+ ## Before method work
12
+
13
+ If there is no active or paused task, run shared `task.start` then `policy.assess`
14
+ before relying on selected policy rules or other product mutations. Assessment
15
+ selects requirements; do not wait for a rule that can only exist after assess.
16
+
17
+ ## Method
18
+
19
+ 1. Fix a legend (`┌─┐ │ └─┘ ░ ≈ [ ] ( )`) and keep sketches 60-80 cols,
20
+ 8-20 rows.
21
+ 2. Per hypothesis: regions, component reuse vs new (named against the
22
+ existing codebase), empty/loading/populated/error states, nav flow.
23
+ 3. Ask at most one clarifying question, then recommend. Flag hi-fi
24
+ escalation when ASCII cannot settle it (density, motion, brand).
25
+
26
+ ## Completion
27
+
28
+ The sketch plus the decision lands in the spec dir. Throwaway by design.
@@ -0,0 +1,66 @@
1
+ ---
2
+ name: workit-plan
3
+ description: Use when dependencies, sequencing, coordination, or resumption make durable next actions useful
4
+ ---
5
+
6
+ # Plan useful coordination
7
+
8
+ Use a compact plan when assessment selects `artifacts` or `continuity`. A plan
9
+ organizes work; it is not a second lifecycle or a prerequisite for implementation.
10
+
11
+ ## Before method work
12
+
13
+ If there is no active or paused task, run shared `task.start` then `policy.assess`
14
+ before relying on selected policy rules or other product mutations. Assessment
15
+ selects requirements; do not wait for a rule that can only exist after assess.
16
+
17
+ ## Method
18
+
19
+ 1. Inspect current task state, scope, decisions, requirements, candidate, workers,
20
+ findings, and blockers through the shared `task` and `policy` operations.
21
+ 2. Record only the useful sequence: objective, dependency, bounded task, evidence
22
+ needed, owner, and next action. Keep the plan against the existing system.
23
+ 3. If policy separately requires a durable specification, record that behavior
24
+ agreement; otherwise do not invent a spec. A plan without a spec is valid.
25
+ 4. Update the shared task progress at meaningful boundaries. Reassess when facts,
26
+ dependencies, or scope change; preserve unresolved blockers and decisions.
27
+ 5. On steering (new instructions mid-task): apply `workit-steer` — park state
28
+ verbatim, classify same-task / new-task / quick-question, handle, re-anchor.
29
+
30
+ Use shared task/progress and evidence operations. Do not create a universal
31
+ spec-and-plan ceremony, duplicate task state, approval chain, or custom status
32
+ machine. A short paragraph is enough when it captures the required continuity.
33
+
34
+ ## Triage (automatic)
35
+
36
+ Set assessor signals from size facts, not memory (`triageTier` /
37
+ `triageSignals` in policy-resolver):
38
+
39
+ - **Large → spec + full plan:** new/changed observable behavior, open
40
+ ambiguity, cross-package/host contract or auth/data/security surface,
41
+ irreversible migration, or ≥3 subsystems / ≥2 packages touched.
42
+ - **Medium → compact plan-only** (Sequence/Acceptance, ~30-60 lines): known
43
+ approach, single subsystem, 2-8 steps. Step count alone never escalates
44
+ a known single-subsystem run to spec.
45
+ - **Small → neither** (progress + evidence only): single bounded mechanical
46
+ action, no open choices, reversible. Record `Spec: none (reason)`.
47
+
48
+ `task.start` + `policy.assess` stay mandatory at all sizes. The lead may
49
+ re-tier with the reason recorded in progress (override, never silent).
50
+
51
+ ## Decomposition
52
+
53
+ Slice tracer bullets, not layers: each plan task crosses the necessary
54
+ layers to a small demoable behavior with its blocking edges declared.
55
+ Wide refactors use expand–contract (add the new seam, migrate callers,
56
+ delete the old). Per task record Files (create/modify/test, exact paths),
57
+ exact commands with expected output, and one commit. No placeholders —
58
+ an implementer must be able to execute a task with zero extra context.
59
+
60
+ ## Common mistakes
61
+
62
+ | Mistake | Correction |
63
+ | --- | --- |
64
+ | Writing a full packet for a small dependency | Capture the next bounded action and its evidence. |
65
+ | Treating the plan as authority | Authority remains in task scope, decisions, revisions, and caller provenance. |
66
+ | Copying a transcript into the plan | Preserve decisions, gaps, blockers, and next action only. |
@@ -0,0 +1,60 @@
1
+ ---
2
+ name: workit-review
3
+ description: Use when policy requires fresh-context review of a candidate or when an independent correctness and regression check is requested
4
+ ---
5
+
6
+ # Review a candidate
7
+
8
+ Review the real candidate in a stable context. A review is evidence about the
9
+ current candidate, not an author's success summary.
10
+
11
+ ## Before method work
12
+
13
+ If there is no active or paused task, run shared `task.start` then `policy.assess`
14
+ before relying on selected policy rules or other product mutations. Assessment
15
+ selects requirements; do not wait for a rule that can only exist after assess.
16
+
17
+ ## Method
18
+
19
+ 1. Pin or identify the candidate revision before reading conclusions. Inspect the
20
+ task objective, scope, constraints, accepted decisions, changed files, and
21
+ actual checks through shared `task`, `evidence`, and `policy` operations.
22
+ 2. Examine intent, correctness, regression risk, security or data consequences,
23
+ and project standards. Use the actual diff and check output; do not infer
24
+ evidence from a claim.
25
+ 3. Record each concern as a `finding` claim with its affected scope and candidate.
26
+ Investigate it: reproduce or trace the consequence, then fix in scope, dismiss
27
+ with evidence, defer with a reason, or ask the user about a real tradeoff.
28
+ 4. Reconcile conclusions when the candidate changes. Run one substantive review
29
+ and targeted rechecks; do not cycle reviewers indefinitely.
30
+
31
+ If the required independent context is unavailable, record the review method as
32
+ `unavailable` and preserve the gap. Same-session self-review is not independent
33
+ review and must not be relabeled as verified.
34
+
35
+ Use shared `evidence` and `finding` operations. Do not create a parallel review
36
+ lifecycle, universal review panel, or direct metadata files.
37
+
38
+ ## Two axes, pinned
39
+
40
+ Pin the fixed point first (`git diff <base>...HEAD` plus log); review that
41
+ candidate only. Judge on two axes, never merged or reranked:
42
+
43
+ - **Standards:** repo standards plus a smell baseline (mysterious name, long
44
+ method, duplicated logic, refused bequest, and kin); repo rules override
45
+ the baseline; judgement calls only, never tooling-enforced nits.
46
+ - **Spec:** does the diff implement the originating spec/requirement
47
+ faithfully — missing, creep, or wrong, quoting the spec line.
48
+
49
+ Every finding needs proof: the changed hunk, a failing/passing test ref, or
50
+ a before/after. Causal disposition decides the outcome: introduced or
51
+ worsened behavior gets fixed; pre-existing issues become follow-ups;
52
+ inconclusive claims escalate, never silently pass.
53
+
54
+ ## Common mistakes
55
+
56
+ | Mistake | Correction |
57
+ | --- | --- |
58
+ | Reviewing the summary instead of the candidate | Start from the stable candidate and real refs. |
59
+ | Treating every comment as a defect | Investigate the claim and consequence first. |
60
+ | Calling self-review independent | Preserve an unavailable capability gap. |
@@ -0,0 +1,32 @@
1
+ ---
2
+ name: workit-steer
3
+ description: Use when new instructions, interruptions, or forgotten items arrive mid-task
4
+ ---
5
+
6
+ # Steer without losing the thread
7
+
8
+ New context mid-session is normal; losing the thread is not. Park,
9
+ classify, handle, re-anchor — every time.
10
+
11
+ ## Before method work
12
+
13
+ If there is no active or paused task, run shared `task.start` then `policy.assess`
14
+ before relying on selected policy rules or other product mutations. Assessment
15
+ selects requirements; do not wait for a rule that can only exist after assess.
16
+
17
+ ## Method
18
+
19
+ 1. Park current state to task progress verbatim: summary, nextAction,
20
+ blockers. Never trust memory across an interruption.
21
+ 2. Classify the steering:
22
+ - same-task: fold into scope (reassess if facts changed), continue.
23
+ - new-task: `task.start` + `policy.assess`; the parked task waits.
24
+ - quick-question: answer from the parked state, then resume.
25
+ 3. Handle it with the same rigor as the parked work (no drive-by edits).
26
+ 4. Re-anchor: one-line resume brief (where we were, what changed, what
27
+ is next) before touching the parked work again.
28
+
29
+ ## Completion
30
+
31
+ Both the steering and the parked work have an owner, a next action, and
32
+ no silent drops. Interrupted work resumes from the brief, not from recall.