strikethroo 3.21.2 → 3.22.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 (93) hide show
  1. package/README.md +10 -0
  2. package/dist/cli.js +19 -1
  3. package/dist/cli.js.map +1 -1
  4. package/dist/index.d.ts +2 -0
  5. package/dist/index.d.ts.map +1 -1
  6. package/dist/index.js +50 -15
  7. package/dist/index.js.map +1 -1
  8. package/dist/resolve-init-harnesses.d.ts +30 -0
  9. package/dist/resolve-init-harnesses.d.ts.map +1 -0
  10. package/dist/resolve-init-harnesses.js +44 -0
  11. package/dist/resolve-init-harnesses.js.map +1 -0
  12. package/dist/types.d.ts +32 -1
  13. package/dist/types.d.ts.map +1 -1
  14. package/dist/types.js.map +1 -1
  15. package/dist/update.d.ts +28 -0
  16. package/dist/update.d.ts.map +1 -0
  17. package/dist/update.js +198 -0
  18. package/dist/update.js.map +1 -0
  19. package/dist-web/assets/{arc-Dnj8t_Cg.js → arc-CguPlWfb.js} +1 -1
  20. package/dist-web/assets/{architectureDiagram-3BPJPVTR-7x3i_pmi.js → architectureDiagram-3BPJPVTR-D65RMVqJ.js} +1 -1
  21. package/dist-web/assets/{blockDiagram-GPEHLZMM-Cg2a93ny.js → blockDiagram-GPEHLZMM-CNIwP_yH.js} +1 -1
  22. package/dist-web/assets/{c4Diagram-AAUBKEIU-DMmHyu1B.js → c4Diagram-AAUBKEIU-CuZ4SoKV.js} +1 -1
  23. package/dist-web/assets/channel-BL14r_5w.js +1 -0
  24. package/dist-web/assets/{chunk-2J33WTMH-BarACI5V.js → chunk-2J33WTMH-DM4ZcjVq.js} +1 -1
  25. package/dist-web/assets/{chunk-4BX2VUAB-D1jdtJjC.js → chunk-4BX2VUAB-DI3-zGiF.js} +1 -1
  26. package/dist-web/assets/{chunk-55IACEB6-D3ecVMrb.js → chunk-55IACEB6-DBdh-eer.js} +1 -1
  27. package/dist-web/assets/{chunk-727SXJPM-DXNd005W.js → chunk-727SXJPM-B0HDPh0I.js} +1 -1
  28. package/dist-web/assets/{chunk-AQP2D5EJ-C0VOl8ox.js → chunk-AQP2D5EJ-C0MnLmRm.js} +1 -1
  29. package/dist-web/assets/{chunk-FMBD7UC4-DcTxd98r.js → chunk-FMBD7UC4-CmggDcp1.js} +1 -1
  30. package/dist-web/assets/{chunk-ND2GUHAM-CAMtgZHg.js → chunk-ND2GUHAM-BSIdB1y0.js} +1 -1
  31. package/dist-web/assets/{chunk-QZHKN3VN-DWfV0bq5.js → chunk-QZHKN3VN-BTHsXhgb.js} +1 -1
  32. package/dist-web/assets/classDiagram-4FO5ZUOK-DBkbEi_3.js +1 -0
  33. package/dist-web/assets/classDiagram-v2-Q7XG4LA2-DBkbEi_3.js +1 -0
  34. package/dist-web/assets/{cose-bilkent-S5V4N54A-Csc9VNPk.js → cose-bilkent-S5V4N54A-IXUMXU5h.js} +1 -1
  35. package/dist-web/assets/{dagre-BM42HDAG-BnwRiOXb.js → dagre-BM42HDAG-CtwBET_X.js} +1 -1
  36. package/dist-web/assets/{diagram-2AECGRRQ-wPIOyrHK.js → diagram-2AECGRRQ-DRe1AFa_.js} +1 -1
  37. package/dist-web/assets/{diagram-5GNKFQAL-TccsDwtZ.js → diagram-5GNKFQAL-D9IRdgWX.js} +1 -1
  38. package/dist-web/assets/{diagram-KO2AKTUF-DtAJCwJt.js → diagram-KO2AKTUF-CQi7gmRS.js} +1 -1
  39. package/dist-web/assets/{diagram-LMA3HP47-BvMQVWoO.js → diagram-LMA3HP47-B0fp5jh8.js} +1 -1
  40. package/dist-web/assets/{diagram-OG6HWLK6-BPxOm_5c.js → diagram-OG6HWLK6-B2ujFhv2.js} +1 -1
  41. package/dist-web/assets/{erDiagram-TEJ5UH35-CRPnIDwq.js → erDiagram-TEJ5UH35-DcxHh3A8.js} +1 -1
  42. package/dist-web/assets/{flowDiagram-I6XJVG4X-DBLbHpW_.js → flowDiagram-I6XJVG4X-Btsglt1O.js} +1 -1
  43. package/dist-web/assets/{ganttDiagram-6RSMTGT7-gZhN1gnI.js → ganttDiagram-6RSMTGT7-BRaGl6R4.js} +1 -1
  44. package/dist-web/assets/{gitGraphDiagram-PVQCEYII-Dssi43fY.js → gitGraphDiagram-PVQCEYII-Cl1DR87j.js} +1 -1
  45. package/dist-web/assets/{index-CEGCvBkm.js → index-CxXoZ0_J.js} +1 -1
  46. package/dist-web/assets/{index-Nz3QPmKb.js → index-DXt7jz3h.js} +4 -4
  47. package/dist-web/assets/{index-BdDnJAsd.js → index-DZ4QtqqW.js} +1 -1
  48. package/dist-web/assets/{infoDiagram-5YYISTIA-sXzUxho2.js → infoDiagram-5YYISTIA-GMZDkbDI.js} +1 -1
  49. package/dist-web/assets/{ishikawaDiagram-YF4QCWOH-BPHTll-A.js → ishikawaDiagram-YF4QCWOH-DC8HBMwN.js} +1 -1
  50. package/dist-web/assets/{journeyDiagram-JHISSGLW-h2TzQwJC.js → journeyDiagram-JHISSGLW-4KT1uAXJ.js} +1 -1
  51. package/dist-web/assets/{kanban-definition-UN3LZRKU-1xkUO8WZ.js → kanban-definition-UN3LZRKU-bBpM_7W0.js} +1 -1
  52. package/dist-web/assets/{linear-D_7aXIXs.js → linear-BzW5Mi4V.js} +1 -1
  53. package/dist-web/assets/{mermaid.core-Bwdbg8D0.js → mermaid.core-BZXehlCp.js} +4 -4
  54. package/dist-web/assets/{mindmap-definition-RKZ34NQL-eAYjLKqV.js → mindmap-definition-RKZ34NQL-B8RhYsaN.js} +1 -1
  55. package/dist-web/assets/{pieDiagram-4H26LBE5-CWfU-OAg.js → pieDiagram-4H26LBE5-DV749i9Y.js} +1 -1
  56. package/dist-web/assets/{quadrantDiagram-W4KKPZXB-CgKKzr9p.js → quadrantDiagram-W4KKPZXB-Cduffe8j.js} +1 -1
  57. package/dist-web/assets/{requirementDiagram-4Y6WPE33-Dx-cDqCB.js → requirementDiagram-4Y6WPE33-C7KngwZn.js} +1 -1
  58. package/dist-web/assets/{sankeyDiagram-5OEKKPKP-B_yYv0Dy.js → sankeyDiagram-5OEKKPKP-CJjwUGG3.js} +1 -1
  59. package/dist-web/assets/{sequenceDiagram-3UESZ5HK--QLtZ1Rs.js → sequenceDiagram-3UESZ5HK-BARiZOtJ.js} +1 -1
  60. package/dist-web/assets/{stateDiagram-AJRCARHV-DVmFu5R7.js → stateDiagram-AJRCARHV-DA1dHBGx.js} +1 -1
  61. package/dist-web/assets/stateDiagram-v2-BHNVJYJU-D4ioaqC3.js +1 -0
  62. package/dist-web/assets/{timeline-definition-PNZ67QCA-BUtZCLUr.js → timeline-definition-PNZ67QCA-ClE6cvJF.js} +1 -1
  63. package/dist-web/assets/{vennDiagram-CIIHVFJN-CiAEMMvF.js → vennDiagram-CIIHVFJN-BLR57Itf.js} +1 -1
  64. package/dist-web/assets/{wardley-L42UT6IY-CzeU7tOS.js → wardley-L42UT6IY-EA8x1UUF.js} +1 -1
  65. package/dist-web/assets/{wardleyDiagram-YWT4CUSO-vvP_uZTz.js → wardleyDiagram-YWT4CUSO-DHktlei-.js} +1 -1
  66. package/dist-web/assets/{xychartDiagram-2RQKCTM6-vSFbOWXi.js → xychartDiagram-2RQKCTM6-DOxQD_Ha.js} +1 -1
  67. package/dist-web/index.html +1 -1
  68. package/package.json +4 -1
  69. package/templates/harness/skills/st-code-review/SKILL.md +3 -7
  70. package/templates/harness/skills/st-create-plan/SKILL.md +33 -44
  71. package/templates/harness/skills/st-create-plan/scripts/check-for-updates.cjs +2502 -0
  72. package/templates/harness/skills/st-execute-blueprint/SKILL.md +37 -63
  73. package/templates/harness/skills/st-execute-blueprint/scripts/check-for-updates.cjs +2502 -0
  74. package/templates/harness/skills/st-execute-blueprint/scripts/dispatch-task-execution.cjs +1 -0
  75. package/templates/harness/skills/st-execute-task/SKILL.md +36 -79
  76. package/templates/harness/skills/st-execute-task/scripts/check-for-updates.cjs +2502 -0
  77. package/templates/harness/skills/st-execute-task/scripts/dispatch-task-execution.cjs +1 -0
  78. package/templates/harness/skills/st-full-workflow/SKILL.md +139 -270
  79. package/templates/harness/skills/st-full-workflow/scripts/check-for-updates.cjs +2502 -0
  80. package/templates/harness/skills/st-full-workflow/scripts/dispatch-task-execution.cjs +1 -0
  81. package/templates/harness/skills/st-generate-tasks/SKILL.md +91 -155
  82. package/templates/harness/skills/st-generate-tasks/scripts/check-for-updates.cjs +2502 -0
  83. package/templates/harness/skills/st-refine-plan/SKILL.md +63 -109
  84. package/templates/harness/skills/st-refine-plan/scripts/check-for-updates.cjs +2502 -0
  85. package/templates/strikethroo/config/templates/UPDATE_NOTICE_TEMPLATE.md +1 -0
  86. package/dist-web/assets/channel-Bb0_vDD8.js +0 -1
  87. package/dist-web/assets/classDiagram-4FO5ZUOK-R25Yhm3n.js +0 -1
  88. package/dist-web/assets/classDiagram-v2-Q7XG4LA2-R25Yhm3n.js +0 -1
  89. package/dist-web/assets/stateDiagram-v2-BHNVJYJU-DBs8K0hr.js +0 -1
  90. package/templates/harness/skills/st-full-workflow/references/task-frontmatter.md +0 -23
  91. package/templates/harness/skills/st-full-workflow/references/test-philosophy.md +0 -17
  92. package/templates/harness/skills/st-generate-tasks/references/task-frontmatter.md +0 -23
  93. package/templates/harness/skills/st-generate-tasks/references/test-philosophy.md +0 -17
@@ -5,8 +5,6 @@ description: Use when the user asks to review, refine, improve, interrogate, pre
5
5
 
6
6
  # st-refine-plan
7
7
 
8
- Drive the end-to-end refinement of an existing Strikethroo plan.
9
-
10
8
  ## Inputs
11
9
 
12
10
  The user supplies the numeric plan ID conversationally, plus any optional refinement notes.
@@ -15,49 +13,46 @@ The user supplies the numeric plan ID conversationally, plus any optional refine
15
13
 
16
14
  ### 1. Locate the strikethroo root
17
15
 
18
- Run `scripts/find-strikethroo-root.cjs` from the user's working directory.
16
+ Run `scripts/find-strikethroo-root.cjs` from the user's working directory. If
17
+ it exits non-zero, stop and ask the user to run `npx strikethroo init`.
18
+
19
+ Treat the path it prints as `<root>` for every subsequent step.
19
20
 
20
- If the script exits non-zero, the working directory is not inside an
21
- initialized strikethroo workspace. Stop and ask the user to run the project
22
- initializer (e.g. `npx strikethroo init`) before continuing. Do
23
- not attempt to refine a plan outside of a valid root.
21
+ Delegated execution workers skip this step and do not emit update notices.
24
22
 
25
- For every subsequent step, treat the path printed by this script as `<root>`.
23
+ Run `scripts/check-for-updates.cjs "<root>"` as a separate command using this
24
+ skill's script path. Keep the user's working directory. Read the one JSON line
25
+ on stdout. When `notice` is present, retain its exact text for the final
26
+ user-facing response. Never pause for permission and never run an update.
26
27
 
27
28
  ### 2. Resolve the plan
28
29
 
29
- Run `scripts/validate-plan-blueprint.cjs <plan-id> planFile` to obtain the
30
- absolute path of the plan file. Passing a different field name prints that
31
- field alone.
30
+ Run `scripts/validate-plan-blueprint.cjs <plan-id> planFile` for the plan
31
+ file's absolute path. Another field name prints that field instead.
32
32
 
33
33
  If the script exits non-zero, stop and ask the user to confirm the plan ID.
34
34
  Do not guess a different ID.
35
35
 
36
36
  ### 3. Load project context
37
37
 
38
- Read these files, in order:
39
-
40
- - `<root>/config/STRIKETHROO.md` — directory conventions and project context.
41
- - `<root>/config/hooks/PRE_PLAN.md` — execute the instructions it contains
42
- before proceeding.
43
- - `<root>/config/templates/PLAN_TEMPLATE.md` — the structural baseline the
44
- refined plan must continue to conform to.
45
- - `<root>/config/shared/clarification-gate.md` — apply in the Clarification Loop.
38
+ Read `<root>/config/STRIKETHROO.md` for this project's directory conventions.
39
+ Read `<root>/config/hooks/PRE_PLAN.md` and execute its instructions before
40
+ proceeding. Read `<root>/config/templates/PLAN_TEMPLATE.md`; the refined plan
41
+ must still conform to it. Read `<root>/config/shared/clarification-gate.md`
42
+ and apply it in the Clarification Loop.
46
43
 
47
44
  ### 4. Baseline Review
48
45
 
49
- Read the entire plan end-to-end. Without modifying the file:
46
+ Read the entire plan end-to-end without modifying it. Record every
47
+ contradiction and every gap you find under these lenses:
50
48
 
51
- 1. Capture key metadata (plan title, summary, creation date, related initiatives).
52
- 2. Surface the strongest sections, contradictions, and potential risks.
53
- 3. Identify gaps using these lenses:
54
- - **Context gaps**: missing background, assumptions, competing priorities.
55
- - **Technical gaps**: underspecified architecture, unclear interfaces, missing diagrams.
56
- - **Risk gaps**: untracked risks, missing mitigations, hand-wavy success metrics.
57
- - **Scope issues**: gold-plating, ambiguous boundaries, requirements that
58
- contradict YAGNI.
49
+ - **Context gaps**: missing background, assumptions, competing priorities.
50
+ - **Technical gaps**: underspecified architecture, unclear interfaces, missing diagrams.
51
+ - **Risk gaps**: untracked risks, missing mitigations, hand-wavy success metrics.
52
+ - **Scope issues**: gold-plating, ambiguous boundaries, requirements that
53
+ contradict YAGNI.
59
54
 
60
- Document each gap with `{section, issue, severity, proposed fix}`.
55
+ Document each one as `{section, issue, severity, proposed fix}`.
61
56
 
62
57
  ### 5. Clarification Loop
63
58
 
@@ -73,106 +68,65 @@ Otherwise use Interactive Clarification, even when the user's presence is
73
68
  uncertain. Do not infer autonomous mode from indirect signals such as terse
74
69
  prompts, scripted-looking input, or absence of recent user messages.
75
70
 
76
- After the clarification loop completes, append all new findings to the
77
- "Plan Clarifications" section in the plan document using the existing format
78
- (table with question/answer pairs). Mark the source of each entry
79
- appropriately.
71
+ Either branch starts from the gaps documented in the Baseline Review. Think
72
+ harder before raising one: only put forward an uncertainty you can cite.
73
+ Append every resolution to the plan document's "Plan Clarifications" table in
74
+ its existing question/answer format, marking each entry's source.
80
75
 
81
76
  #### Interactive Clarification
82
77
 
83
- Think harder before interrupting the user — only trigger this loop when you
84
- can cite concrete uncertainties.
85
-
86
78
  Follow the clarification cadence in `<root>/config/shared/clarification-gate.md`.
87
79
 
88
- 1. Review the gaps documented in the Baseline Review.
89
- 2. If no gaps remain, stop here and proceed to Stage 6.
90
- 3. Group the open questions by theme, but ask them one at a time per the
91
- cadence above rather than dumping them as a single batch.
92
- 4. Prefill each question with the most plausible answer so the user can
93
- confirm or deny quickly.
94
- 5. Always include an "Other / open-ended" option to capture nuances you did
95
- not anticipate.
96
- 6. **STOP AND ASK**: Put each question to the user and halt execution to await
97
- their input. Do not simulate the user's response. Do not proceed to Stage 6
80
+ 1. Ask one question at a time per that cadence; never dump them as a batch.
81
+ 2. Prefill each question with the most plausible answer, and always offer an
82
+ "Other / open-ended" option for the nuances you did not anticipate.
83
+ 3. **STOP AND ASK**: Put each question to the user and halt execution to await
84
+ their input. Do not simulate the user's response. Do not proceed to step 6
98
85
  until you have received explicit answers and confirmed the resolved scope.
99
- 7. After receiving answers, record them in the Plan Clarifications table.
100
- If the user cannot answer a question, record it as unresolved with
101
- mitigation notes so downstream assistants know the risk.
102
- 8. Re-evaluate whether new gaps emerged from the answers. If so, repeat
103
- this loop.
86
+ 4. Record a question the user cannot or will not answer as unresolved, with
87
+ mitigation notes so downstream assistants know the risk, then proceed with
88
+ the available context.
89
+ 5. Re-evaluate whether the answers opened new gaps. If so, repeat this loop.
104
90
 
105
91
  #### Autonomous Clarification
106
92
 
107
- Think harder before flagging gaps — only document concrete uncertainties
108
- you can cite.
109
-
110
- 1. Review the gaps documented in the Baseline Review.
111
- 2. For each gap, attempt to resolve it by:
112
- - Inspecting the codebase, configuration files, and documentation.
113
- - Analyzing existing patterns and conventions in the project.
114
- - Reviewing assistant documents and README files.
115
- - Making reasonable assumptions based on common practices and project
116
- context.
117
- 3. Record all resolutions in the Plan Clarifications table. Mark each
118
- entry's source as either "auto-resolved" (confirmed via codebase) or
119
- "assumption" (best-effort guess with rationale).
120
- 4. For truly unresolvable questions, record them as unresolved with
121
- mitigation notes so downstream assistants know the risk.
122
- 5. If no gaps remain (or all have been resolved or documented), proceed to
123
- Stage 6.
93
+ 1. Resolve each gap from the codebase, its configuration files, its
94
+ documentation, and the project's established patterns. Fall back to a
95
+ reasonable assumption only where those do not answer it.
96
+ 2. Mark each resolution's source as "auto-resolved" (confirmed in the
97
+ codebase) or "assumption" (best-effort guess, with its rationale).
98
+ 3. Record a gap you can resolve neither way as unresolved, with mitigation
99
+ notes so downstream assistants know the risk.
124
100
 
125
101
  ### 6. Refinement Implementation
126
102
 
127
- Once you have sufficient context (or have documented all missing context),
128
- refine the plan directly in-place. The plan file path is the one returned by
129
- step 2.
103
+ Refine the plan in place, at the path step 2 resolved.
130
104
 
131
- 1. **Maintain Identity**: Keep the existing `id` and directory. Do not create
132
- a new plan ID. Do not move the plan to a new location.
133
- 2. **Structure Compliance**: Ensure the plan still follows
134
- `<root>/config/templates/PLAN_TEMPLATE.md`. Add missing sections if
135
- necessary.
105
+ 1. **Maintain Identity**: Keep the existing `id` and directory. Never allocate
106
+ a new plan ID and never move the plan.
107
+ 2. **Structure Compliance**: Keep the plan conformant to
108
+ `<root>/config/templates/PLAN_TEMPLATE.md`, adding any missing section.
136
109
  3. **Content Updates**:
137
- - Refresh the executive summary to reflect clarifications and new insights.
138
- - Update architectural sections, diagrams, and risk mitigations to resolve
139
- the identified gaps.
140
- - Trim any scope creep that is not explicitly required.
141
- - Clearly reference clarifications in the relevant plan sections (e.g.,
142
- italicized notes that point back to the Q&A table).
143
- 4. **Net-New Sections**: If the plan needs a new subsection (e.g., Decision
144
- Log, Data Contracts), add it under `Notes` with a clearly labeled section
145
- so it remains discoverable.
146
- 5. **Change Log**: Append a bullet list in the `Notes` section that briefly
147
- states what changed in this refinement session (e.g.,
148
- `- 2025-03-16: Clarified auth flow tokens and updated architecture diagram`).
110
+ - Refresh the executive summary against the clarifications.
111
+ - Update the architectural sections, diagrams, and risk mitigations the
112
+ gaps named.
113
+ - Trim scope creep that is not explicitly required.
114
+ - Point each affected section back at the Q&A table.
115
+ 4. **Net-New Sections**: Add a subsection the plan now needs (Decision Log,
116
+ Data Contracts) under `Notes`, clearly labeled.
117
+ 5. **Change Log**: Append to `Notes` a bullet stating what this session
118
+ changed, such as
119
+ `- 2025-03-16: Clarified auth flow tokens and updated architecture diagram`.
149
120
 
150
121
  ### 7. Run the post-plan hook
151
122
 
152
- Execute `<root>/config/hooks/POST_PLAN.md` after the plan file is updated.
153
-
154
- ### 8. Emit the structured summary
155
-
156
- Conclude with exactly this block as the final output:
157
-
158
- ```
159
- ---
160
-
161
- Plan Refinement Summary:
162
- - Plan ID: [numeric-id]
163
- - Plan File: [absolute-path-to-plan-file]
164
- ```
123
+ Execute `<root>/config/hooks/POST_PLAN.md`.
165
124
 
166
- The summary is consumed by downstream automation; keep the format exact.
125
+ When the retained update `notice` is present, append that exact sentence after
126
+ the structured summary block, or after your final response when this skill emits
127
+ no summary block. Nothing may follow the notice.
167
128
 
168
129
  ## Failure Modes
169
130
 
170
- - **User refuses to answer a clarifying question that blocks refinement.**
171
- Record the unresolved question in the Plan Clarifications table with
172
- mitigation notes, proceed with available context, and flag the remaining
173
- risk in the Refinement Report.
174
131
  - **A helper script fails unexpectedly.** Surface stderr to the user and
175
132
  stop — do not fall back to manual path discovery.
176
- - **Plan file is missing after resolution.** This indicates a consistency
177
- issue in the strikethroo workspace. Stop and report the error without
178
- attempting to recreate the plan.