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.
- package/README.md +10 -0
- package/dist/cli.js +19 -1
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +50 -15
- package/dist/index.js.map +1 -1
- package/dist/resolve-init-harnesses.d.ts +30 -0
- package/dist/resolve-init-harnesses.d.ts.map +1 -0
- package/dist/resolve-init-harnesses.js +44 -0
- package/dist/resolve-init-harnesses.js.map +1 -0
- package/dist/types.d.ts +32 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/update.d.ts +28 -0
- package/dist/update.d.ts.map +1 -0
- package/dist/update.js +198 -0
- package/dist/update.js.map +1 -0
- package/dist-web/assets/{arc-Dnj8t_Cg.js → arc-CguPlWfb.js} +1 -1
- package/dist-web/assets/{architectureDiagram-3BPJPVTR-7x3i_pmi.js → architectureDiagram-3BPJPVTR-D65RMVqJ.js} +1 -1
- package/dist-web/assets/{blockDiagram-GPEHLZMM-Cg2a93ny.js → blockDiagram-GPEHLZMM-CNIwP_yH.js} +1 -1
- package/dist-web/assets/{c4Diagram-AAUBKEIU-DMmHyu1B.js → c4Diagram-AAUBKEIU-CuZ4SoKV.js} +1 -1
- package/dist-web/assets/channel-BL14r_5w.js +1 -0
- package/dist-web/assets/{chunk-2J33WTMH-BarACI5V.js → chunk-2J33WTMH-DM4ZcjVq.js} +1 -1
- package/dist-web/assets/{chunk-4BX2VUAB-D1jdtJjC.js → chunk-4BX2VUAB-DI3-zGiF.js} +1 -1
- package/dist-web/assets/{chunk-55IACEB6-D3ecVMrb.js → chunk-55IACEB6-DBdh-eer.js} +1 -1
- package/dist-web/assets/{chunk-727SXJPM-DXNd005W.js → chunk-727SXJPM-B0HDPh0I.js} +1 -1
- package/dist-web/assets/{chunk-AQP2D5EJ-C0VOl8ox.js → chunk-AQP2D5EJ-C0MnLmRm.js} +1 -1
- package/dist-web/assets/{chunk-FMBD7UC4-DcTxd98r.js → chunk-FMBD7UC4-CmggDcp1.js} +1 -1
- package/dist-web/assets/{chunk-ND2GUHAM-CAMtgZHg.js → chunk-ND2GUHAM-BSIdB1y0.js} +1 -1
- package/dist-web/assets/{chunk-QZHKN3VN-DWfV0bq5.js → chunk-QZHKN3VN-BTHsXhgb.js} +1 -1
- package/dist-web/assets/classDiagram-4FO5ZUOK-DBkbEi_3.js +1 -0
- package/dist-web/assets/classDiagram-v2-Q7XG4LA2-DBkbEi_3.js +1 -0
- package/dist-web/assets/{cose-bilkent-S5V4N54A-Csc9VNPk.js → cose-bilkent-S5V4N54A-IXUMXU5h.js} +1 -1
- package/dist-web/assets/{dagre-BM42HDAG-BnwRiOXb.js → dagre-BM42HDAG-CtwBET_X.js} +1 -1
- package/dist-web/assets/{diagram-2AECGRRQ-wPIOyrHK.js → diagram-2AECGRRQ-DRe1AFa_.js} +1 -1
- package/dist-web/assets/{diagram-5GNKFQAL-TccsDwtZ.js → diagram-5GNKFQAL-D9IRdgWX.js} +1 -1
- package/dist-web/assets/{diagram-KO2AKTUF-DtAJCwJt.js → diagram-KO2AKTUF-CQi7gmRS.js} +1 -1
- package/dist-web/assets/{diagram-LMA3HP47-BvMQVWoO.js → diagram-LMA3HP47-B0fp5jh8.js} +1 -1
- package/dist-web/assets/{diagram-OG6HWLK6-BPxOm_5c.js → diagram-OG6HWLK6-B2ujFhv2.js} +1 -1
- package/dist-web/assets/{erDiagram-TEJ5UH35-CRPnIDwq.js → erDiagram-TEJ5UH35-DcxHh3A8.js} +1 -1
- package/dist-web/assets/{flowDiagram-I6XJVG4X-DBLbHpW_.js → flowDiagram-I6XJVG4X-Btsglt1O.js} +1 -1
- package/dist-web/assets/{ganttDiagram-6RSMTGT7-gZhN1gnI.js → ganttDiagram-6RSMTGT7-BRaGl6R4.js} +1 -1
- package/dist-web/assets/{gitGraphDiagram-PVQCEYII-Dssi43fY.js → gitGraphDiagram-PVQCEYII-Cl1DR87j.js} +1 -1
- package/dist-web/assets/{index-CEGCvBkm.js → index-CxXoZ0_J.js} +1 -1
- package/dist-web/assets/{index-Nz3QPmKb.js → index-DXt7jz3h.js} +4 -4
- package/dist-web/assets/{index-BdDnJAsd.js → index-DZ4QtqqW.js} +1 -1
- package/dist-web/assets/{infoDiagram-5YYISTIA-sXzUxho2.js → infoDiagram-5YYISTIA-GMZDkbDI.js} +1 -1
- package/dist-web/assets/{ishikawaDiagram-YF4QCWOH-BPHTll-A.js → ishikawaDiagram-YF4QCWOH-DC8HBMwN.js} +1 -1
- package/dist-web/assets/{journeyDiagram-JHISSGLW-h2TzQwJC.js → journeyDiagram-JHISSGLW-4KT1uAXJ.js} +1 -1
- package/dist-web/assets/{kanban-definition-UN3LZRKU-1xkUO8WZ.js → kanban-definition-UN3LZRKU-bBpM_7W0.js} +1 -1
- package/dist-web/assets/{linear-D_7aXIXs.js → linear-BzW5Mi4V.js} +1 -1
- package/dist-web/assets/{mermaid.core-Bwdbg8D0.js → mermaid.core-BZXehlCp.js} +4 -4
- package/dist-web/assets/{mindmap-definition-RKZ34NQL-eAYjLKqV.js → mindmap-definition-RKZ34NQL-B8RhYsaN.js} +1 -1
- package/dist-web/assets/{pieDiagram-4H26LBE5-CWfU-OAg.js → pieDiagram-4H26LBE5-DV749i9Y.js} +1 -1
- package/dist-web/assets/{quadrantDiagram-W4KKPZXB-CgKKzr9p.js → quadrantDiagram-W4KKPZXB-Cduffe8j.js} +1 -1
- package/dist-web/assets/{requirementDiagram-4Y6WPE33-Dx-cDqCB.js → requirementDiagram-4Y6WPE33-C7KngwZn.js} +1 -1
- package/dist-web/assets/{sankeyDiagram-5OEKKPKP-B_yYv0Dy.js → sankeyDiagram-5OEKKPKP-CJjwUGG3.js} +1 -1
- package/dist-web/assets/{sequenceDiagram-3UESZ5HK--QLtZ1Rs.js → sequenceDiagram-3UESZ5HK-BARiZOtJ.js} +1 -1
- package/dist-web/assets/{stateDiagram-AJRCARHV-DVmFu5R7.js → stateDiagram-AJRCARHV-DA1dHBGx.js} +1 -1
- package/dist-web/assets/stateDiagram-v2-BHNVJYJU-D4ioaqC3.js +1 -0
- package/dist-web/assets/{timeline-definition-PNZ67QCA-BUtZCLUr.js → timeline-definition-PNZ67QCA-ClE6cvJF.js} +1 -1
- package/dist-web/assets/{vennDiagram-CIIHVFJN-CiAEMMvF.js → vennDiagram-CIIHVFJN-BLR57Itf.js} +1 -1
- package/dist-web/assets/{wardley-L42UT6IY-CzeU7tOS.js → wardley-L42UT6IY-EA8x1UUF.js} +1 -1
- package/dist-web/assets/{wardleyDiagram-YWT4CUSO-vvP_uZTz.js → wardleyDiagram-YWT4CUSO-DHktlei-.js} +1 -1
- package/dist-web/assets/{xychartDiagram-2RQKCTM6-vSFbOWXi.js → xychartDiagram-2RQKCTM6-DOxQD_Ha.js} +1 -1
- package/dist-web/index.html +1 -1
- package/package.json +4 -1
- package/templates/harness/skills/st-code-review/SKILL.md +3 -7
- package/templates/harness/skills/st-create-plan/SKILL.md +33 -44
- package/templates/harness/skills/st-create-plan/scripts/check-for-updates.cjs +2502 -0
- package/templates/harness/skills/st-execute-blueprint/SKILL.md +37 -63
- package/templates/harness/skills/st-execute-blueprint/scripts/check-for-updates.cjs +2502 -0
- package/templates/harness/skills/st-execute-blueprint/scripts/dispatch-task-execution.cjs +1 -0
- package/templates/harness/skills/st-execute-task/SKILL.md +36 -79
- package/templates/harness/skills/st-execute-task/scripts/check-for-updates.cjs +2502 -0
- package/templates/harness/skills/st-execute-task/scripts/dispatch-task-execution.cjs +1 -0
- package/templates/harness/skills/st-full-workflow/SKILL.md +139 -270
- package/templates/harness/skills/st-full-workflow/scripts/check-for-updates.cjs +2502 -0
- package/templates/harness/skills/st-full-workflow/scripts/dispatch-task-execution.cjs +1 -0
- package/templates/harness/skills/st-generate-tasks/SKILL.md +91 -155
- package/templates/harness/skills/st-generate-tasks/scripts/check-for-updates.cjs +2502 -0
- package/templates/harness/skills/st-refine-plan/SKILL.md +63 -109
- package/templates/harness/skills/st-refine-plan/scripts/check-for-updates.cjs +2502 -0
- package/templates/strikethroo/config/templates/UPDATE_NOTICE_TEMPLATE.md +1 -0
- package/dist-web/assets/channel-Bb0_vDD8.js +0 -1
- package/dist-web/assets/classDiagram-4FO5ZUOK-R25Yhm3n.js +0 -1
- package/dist-web/assets/classDiagram-v2-Q7XG4LA2-R25Yhm3n.js +0 -1
- package/dist-web/assets/stateDiagram-v2-BHNVJYJU-DBs8K0hr.js +0 -1
- package/templates/harness/skills/st-full-workflow/references/task-frontmatter.md +0 -23
- package/templates/harness/skills/st-full-workflow/references/test-philosophy.md +0 -17
- package/templates/harness/skills/st-generate-tasks/references/task-frontmatter.md +0 -23
- package/templates/harness/skills/st-generate-tasks/references/test-philosophy.md +0 -17
|
@@ -5,15 +5,6 @@ description: Use when the user asks to run, execute, implement, or carry out a S
|
|
|
5
5
|
|
|
6
6
|
# st-execute-blueprint
|
|
7
7
|
|
|
8
|
-
Drive the end-to-end execution of an existing Strikethroo plan blueprint.
|
|
9
|
-
|
|
10
|
-
## Critical Rules
|
|
11
|
-
|
|
12
|
-
1. **Never skip validation gates** — a phase is not complete until `POST_PHASE.md` succeeds.
|
|
13
|
-
2. **Preserve dependency order** — never execute a task before all of its dependencies are completed.
|
|
14
|
-
3. **Maximize parallelism within each phase** — run all tasks whose dependencies are satisfied simultaneously.
|
|
15
|
-
4. **Fail safely and document everything** — halt on unrecoverable errors, and record all decisions, issues, and outcomes under "Noteworthy Events" in the execution summary.
|
|
16
|
-
|
|
17
8
|
## Inputs
|
|
18
9
|
|
|
19
10
|
The user supplies the numeric plan ID conversationally.
|
|
@@ -22,20 +13,22 @@ The user supplies the numeric plan ID conversationally.
|
|
|
22
13
|
|
|
23
14
|
### 1. Locate the strikethroo root
|
|
24
15
|
|
|
25
|
-
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`.
|
|
26
18
|
|
|
27
|
-
|
|
28
|
-
initialized strikethroo workspace. Stop and ask the user to run the project
|
|
29
|
-
initializer (e.g. `npx strikethroo init`) before continuing. Do
|
|
30
|
-
not attempt to execute a plan outside of a valid root.
|
|
19
|
+
Treat the path it prints as `<root>` for every subsequent step.
|
|
31
20
|
|
|
32
|
-
|
|
21
|
+
Delegated execution workers skip this step and do not emit update notices.
|
|
22
|
+
|
|
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.
|
|
33
27
|
|
|
34
28
|
### 2. Resolve the plan
|
|
35
29
|
|
|
36
|
-
Run `scripts/validate-plan-blueprint.cjs <plan-id> planFile`
|
|
37
|
-
absolute path
|
|
38
|
-
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.
|
|
39
32
|
|
|
40
33
|
If the script exits non-zero, stop and ask the user to confirm the plan ID.
|
|
41
34
|
Do not guess a different ID.
|
|
@@ -52,26 +45,26 @@ Run `scripts/validate-plan-blueprint.cjs <plan-id> taskCount` and
|
|
|
52
45
|
|
|
53
46
|
If `taskCount` is 0 or `blueprintExists` is `no`:
|
|
54
47
|
|
|
55
|
-
|
|
48
|
+
Notify the user: "Tasks or execution blueprint not found. Generating tasks automatically..."
|
|
49
|
+
|
|
56
50
|
- Follow the `st-generate-tasks` skill for this plan ID. Execute its operating procedure in full, including running `POST_TASK_GENERATION_ALL.md` to write the Execution Blueprint.
|
|
57
|
-
-
|
|
51
|
+
- Re-run the `planFile`, `planDir`, `taskCount`, and `blueprintExists` queries to refresh the resolved paths and counts.
|
|
58
52
|
|
|
59
|
-
If
|
|
53
|
+
If the plan still has no tasks or no blueprint, stop and report failure.
|
|
60
54
|
|
|
61
55
|
### 5. Optionally create a feature branch
|
|
62
56
|
|
|
63
|
-
Run `scripts/create-feature-branch.cjs <plan-id>` once before phase execution.
|
|
57
|
+
Run `scripts/create-feature-branch.cjs <plan-id>` once before phase execution. A skip is not a failure. Continue on the current branch, and never create the branch by hand. Uncommitted or untracked changes are permitted only inside the repository-root `.ai/strikethroo` subtree. An error result halts execution; report it.
|
|
64
58
|
|
|
65
|
-
|
|
59
|
+
Then run `scripts/capture-base-commit.cjs <plan-id>` once to record the commit the review gate diffs against. A `skipped` result continues execution and means the review gate will skip. Only an `error` result halts.
|
|
66
60
|
|
|
67
61
|
### 6. Load project context and execution blueprint
|
|
68
62
|
|
|
69
63
|
Read these files, in order:
|
|
70
64
|
|
|
71
|
-
- `<root>/config/STRIKETHROO.md`
|
|
72
|
-
- The plan document at the path
|
|
73
|
-
-
|
|
74
|
-
- `<root>/config/shared/verification-gate.md` and `<root>/config/shared/anti-rationalization.md` — apply in the phase loop below.
|
|
65
|
+
- `<root>/config/STRIKETHROO.md`
|
|
66
|
+
- The plan document at the path from step 2, including its Execution Blueprint section, which defines the phase groupings and task dispatch order.
|
|
67
|
+
- `<root>/config/shared/verification-gate.md` and `<root>/config/shared/anti-rationalization.md`, both applied in the phase loop below.
|
|
75
68
|
|
|
76
69
|
### 7. Execute phases in order
|
|
77
70
|
|
|
@@ -93,17 +86,13 @@ scripts/dispatch-task-execution.cjs resolve <task-file> <current-harness> <works
|
|
|
93
86
|
```
|
|
94
87
|
|
|
95
88
|
Resolvers never launch external processes. After interpreting all route results, issue
|
|
96
|
-
every external execution and every
|
|
89
|
+
every external execution and every sub-agent **together in one parallel
|
|
97
90
|
tool operation**. External execution uses:
|
|
98
91
|
|
|
99
92
|
```text
|
|
100
93
|
scripts/dispatch-task-execution.cjs execute <handoff> <task-file> <current-harness> <workspace> <plan-id> <task-id>
|
|
101
94
|
```
|
|
102
95
|
|
|
103
|
-
This two-step protocol is mandatory: do not execute external tasks during route
|
|
104
|
-
resolution, do not serialize external commands, and do not wait for external completion
|
|
105
|
-
before launching ready native agents.
|
|
106
|
-
|
|
107
96
|
`<current-harness>` is the exact supported harness identifier running this
|
|
108
97
|
skill; `<workspace>` is the project working directory.
|
|
109
98
|
|
|
@@ -114,29 +103,20 @@ Interpret the one-line JSON result and act on its `kind` exactly once:
|
|
|
114
103
|
| `native-default` | Dispatch natively with no execution-setting prose. |
|
|
115
104
|
| `native-override` | Dispatch natively, explicitly requiring the exact returned `model`. Require the returned `reasoningEffort` only when that property is present. |
|
|
116
105
|
| `external-override` | Run the `execute` command with the returned `handoff`, then read its result against this same table. |
|
|
117
|
-
| `fallback` | Nothing launched. Record the returned `reason` and `detail` visibly, then dispatch natively with no execution-setting prose.
|
|
106
|
+
| `fallback` | Nothing launched. Record the returned `reason` and `detail` visibly, then dispatch natively with no execution-setting prose. |
|
|
118
107
|
| `launched-success` | The external process exited zero. Do not dispatch natively; review status and evidence as you would for a native agent. |
|
|
119
108
|
| `launched-failure` | A failed task. Set its status to `failed` and run `<root>/config/hooks/POST_ERROR_DETECTION.md`. Never retry it natively. |
|
|
120
|
-
| `infrastructure-failure` |
|
|
109
|
+
| `infrastructure-failure` | Handle exactly as the preceding row. |
|
|
121
110
|
|
|
122
|
-
Handoff
|
|
111
|
+
Handoff rules:
|
|
123
112
|
|
|
124
113
|
- Pass the exact opaque `handoff` string the resolver returned for that task. Never reconstruct one.
|
|
125
114
|
- Never reuse a handoff for another task, and never rerun resolution after launches begin.
|
|
126
|
-
- `execute` validates the handoff and does not reread routing configuration.
|
|
127
|
-
- The command emits exactly one JSON line. Exit code `2` is an infrastructure failure; exit code `1` is a launched task failure.
|
|
128
115
|
|
|
129
|
-
Deploy all remaining native agents simultaneously
|
|
130
|
-
|
|
131
|
-
1. Read and execute `<root>/config/hooks/PRE_TASK_EXECUTION.md` before starting any implementation work.
|
|
132
|
-
2. Execute the task according to its requirements.
|
|
133
|
-
3. Monitor execution progress and capture outputs and artifacts.
|
|
134
|
-
4. Update task status in real-time.
|
|
116
|
+
Deploy all remaining native sub-agents simultaneously. Each sub-agent must read and execute `<root>/config/hooks/PRE_TASK_EXECUTION.md` before any implementation work, then execute the task and update its status. Do not run `scripts/check-for-updates.cjs`; delegated workers do not consume update notices.
|
|
135
117
|
|
|
136
118
|
#### 7c. Phase completion verification
|
|
137
|
-
Ensure every task in the phase has status `completed
|
|
138
|
-
|
|
139
|
-
Do not accept a subagent's report of success as proof. Apply the evidence gate in `<root>/config/shared/verification-gate.md` before marking the phase complete. Do not mark a phase complete on an unverified claim.
|
|
119
|
+
Ensure every task in the phase has status `completed` and collect its outputs. Do not accept a subagent's report of success as proof. Apply the evidence gate in `<root>/config/shared/verification-gate.md` before marking the phase complete.
|
|
140
120
|
|
|
141
121
|
#### 7d. Phase post-execution
|
|
142
122
|
Read `<root>/config/hooks/POST_PHASE.md` and execute its instructions. Do not proceed to the next phase until this hook succeeds.
|
|
@@ -167,17 +147,15 @@ After `POST_EXECUTION.md` reports green, follow the `st-code-review` skill and r
|
|
|
167
147
|
code-review.cjs <plan-id> <current-harness>
|
|
168
148
|
```
|
|
169
149
|
|
|
170
|
-
Resolve `code-review.cjs` from the `st-code-review` skill's sibling `scripts` directory
|
|
171
|
-
|
|
172
|
-
If the `st-code-review` skill is not installed, record that outcome in the execution summary and continue to summary and archival.
|
|
150
|
+
Resolve `code-review.cjs` from the `st-code-review` skill's sibling `scripts` directory and pass the exact supported harness identifier running this skill. If the `st-code-review` skill is not installed, record that outcome in the execution summary and continue to summary and archival.
|
|
173
151
|
|
|
174
|
-
Handle the JSON line in this order:
|
|
152
|
+
Handle the one JSON line it prints on stdout, in this order:
|
|
175
153
|
|
|
176
154
|
1. Copy it verbatim into the execution summary's review outcome. Do not reformat it or omit fields.
|
|
177
|
-
2. Follow its top-level `action`. If it is `halt`, stop and report the top-level `detail
|
|
155
|
+
2. Follow its top-level `action`. If it is `halt`, stop and report the top-level `detail`. If it is `continue`, proceed to the execution summary and archival.
|
|
178
156
|
3. Only when `verdict.kind` is `review-recorded`, read `<plan-dir>/review/review.xml` and `<plan-dir>/review/findings.json`, then decide which findings to act on. `severity` and `confidence` are advisory labels, not instructions.
|
|
179
157
|
|
|
180
|
-
|
|
158
|
+
Never report an uncertified review as clean.
|
|
181
159
|
|
|
182
160
|
Hard rules:
|
|
183
161
|
|
|
@@ -187,19 +165,11 @@ Hard rules:
|
|
|
187
165
|
|
|
188
166
|
### 9. Append execution summary
|
|
189
167
|
|
|
190
|
-
Append an execution summary section to the plan document
|
|
191
|
-
|
|
192
|
-
- **Status**: Completed Successfully
|
|
193
|
-
- **Completed Date**: current date
|
|
194
|
-
- **Results**: brief summary of deliverables
|
|
195
|
-
- **Noteworthy Events**: all decisions, issues, and outcomes encountered during execution. Always record the review gate's outcome here: the gate's JSON line verbatim, then which findings you acted on versus ignored and why. If nothing else occurred, state "No significant issues encountered." after the review outcome.
|
|
196
|
-
- **Necessary follow-ups**: any follow-up actions or optimizations
|
|
168
|
+
Append an execution summary section to the plan document, filling every field of `<root>/config/templates/EXECUTION_SUMMARY_TEMPLATE.md`. Under Noteworthy Events, always record the review gate's JSON line verbatim, then which findings you acted on versus ignored and why.
|
|
197
169
|
|
|
198
170
|
### 10. Archive the plan
|
|
199
171
|
|
|
200
|
-
Move the completed plan directory from `<root>/plans/<plan-folder>` to `<root>/archive/<plan-folder
|
|
201
|
-
|
|
202
|
-
Preserve the entire folder structure, including all tasks and subdirectories. If the move fails, log the error but do not fail the overall execution.
|
|
172
|
+
Move the completed plan directory from `<root>/plans/<plan-folder>` to `<root>/archive/<plan-folder>`, preserving the entire folder structure. If the move fails, log the error but do not fail the overall execution.
|
|
203
173
|
|
|
204
174
|
## Failure Modes
|
|
205
175
|
|
|
@@ -207,7 +177,7 @@ Preserve the entire folder structure, including all tasks and subdirectories. If
|
|
|
207
177
|
|
|
208
178
|
## Execution Summary
|
|
209
179
|
|
|
210
|
-
Conclude with exactly this block
|
|
180
|
+
Conclude with exactly this block (a retained update notice, when present, follows separately):
|
|
211
181
|
|
|
212
182
|
```
|
|
213
183
|
---
|
|
@@ -219,3 +189,7 @@ Execution Summary:
|
|
|
219
189
|
```
|
|
220
190
|
|
|
221
191
|
The summary is consumed by downstream automation; keep the format exact.
|
|
192
|
+
|
|
193
|
+
When the retained update `notice` is present, append that exact sentence after
|
|
194
|
+
the structured summary block, or after your final response when this skill emits
|
|
195
|
+
no summary block. Nothing may follow the notice.
|