@smartsoft001-mobilems/claude-plugins 2.82.0 → 2.83.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/package.json +1 -1
- package/plugins/flow/.claude-plugin/plugin.json +1 -1
- package/plugins/flow/skills/impl/SKILL.md +46 -16
- package/plugins/flow/skills/plan/SKILL.md +33 -5
- package/plugins/flow-external/.claude-plugin/plugin.json +1 -1
- package/plugins/flow-external/skills/impl/SKILL.md +22 -1
- package/plugins/flow-external/skills/plan/SKILL.md +27 -4
- package/plugins/flow-legacy/.claude-plugin/plugin.json +1 -1
- package/plugins/flow-legacy/skills/impl/SKILL.md +46 -16
- package/plugins/flow-legacy/skills/plan/SKILL.md +33 -5
package/package.json
CHANGED
|
@@ -59,7 +59,7 @@ Execute each step in order. Do not skip any step marked as MANDATORY.
|
|
|
59
59
|
- [ ] **5. MANDATORY: Agent orchestration plan** — delegate to `shared-impl-orchestrator`, save result as `orchestration.md` attachment via `mcp__linear__create_attachment` (replace any existing one). **Calling `mcp__linear__save_comment` with the orchestration body is FORBIDDEN.**
|
|
60
60
|
- [ ] **6. Check external library blockers** — if blockers found, set status to Blocked and skip
|
|
61
61
|
- [ ] **7. Capture "before" screenshots** — if `UI_CHANGE_REQUIRED: YES`, launch `screenshot-reporter` in background
|
|
62
|
-
- [ ] **8. MANDATORY: Implement with 3x3 rule** — pause every 3 changes, use `shared-tdd-developer` for ALL code (RED → GREEN → REFACTOR)
|
|
62
|
+
- [ ] **8. MANDATORY: Implement with 3x3 rule** — pause every 3 changes (skip pause in `--auto`, log checkpoint as Linear comment instead), use `shared-tdd-developer` for ALL code (RED → GREEN → REFACTOR)
|
|
63
63
|
- [ ] **9. Verify implementation** — run tests, lint, build check
|
|
64
64
|
- [ ] **9.5. E2E tests (conditional)** — if `E2E_TESTS_RECOMMENDED: YES`, delegate to `test-e2e` skill
|
|
65
65
|
- [ ] **10. Capture "after" screenshots** — if `UI_CHANGE_REQUIRED: YES`, capture + post comparison to Linear + cleanup
|
|
@@ -68,13 +68,13 @@ Execute each step in order. Do not skip any step marked as MANDATORY.
|
|
|
68
68
|
- [ ] **13. MANDATORY: Write reports in Polish** — all Linear comments must be in Polish language
|
|
69
69
|
- [ ] **14. Update status** — delegate to `shared-linear-subtask-iterator` for status determination
|
|
70
70
|
- [ ] **15. Agent evolution** — if user confirmed feedback, delegate to `shared-agent-evolver`
|
|
71
|
-
- [ ] **16. Pause for user confirmation** —
|
|
71
|
+
- [ ] **16. Pause for user confirmation** — wait before proceeding to next subtask (skipped in `--auto`; post completion comment and continue)
|
|
72
72
|
|
|
73
73
|
### Finalization
|
|
74
74
|
|
|
75
75
|
- [ ] **17. Final summary** — present summary of all subtasks with statuses
|
|
76
76
|
- [ ] **18. Session-wide evolution** — analyze all feedback across session
|
|
77
|
-
- [ ] **19. ALWAYS pause** — wait for user confirmation at end
|
|
77
|
+
- [ ] **19. ALWAYS pause** — wait for user confirmation at end (skipped in `--auto`; post final summary comment and exit)
|
|
78
78
|
|
|
79
79
|
### Task Progress Tracking
|
|
80
80
|
|
|
@@ -151,12 +151,31 @@ You implement code that is:
|
|
|
151
151
|
```
|
|
152
152
|
/impl [linearTaskId]
|
|
153
153
|
/impl [linearTaskId] --team # Agent Team mode (experimental)
|
|
154
|
+
/impl [linearTaskId] --auto # Non-interactive mode for CI / GitHub Actions
|
|
154
155
|
```
|
|
155
156
|
|
|
156
157
|
## Parameters
|
|
157
158
|
|
|
158
159
|
- `linearTaskId` - Linear task ID (e.g., ENG-123)
|
|
159
160
|
- `--team` - Enable parallel Implementation Squad mode (experimental, requires `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1`)
|
|
161
|
+
- `--auto` - Non-interactive mode: skip ALL `AskUserQuestion` prompts, 3x3 checkpoint pauses, per-subtask pauses, and the final end pause. If `plan.md` attachment is missing, auto-invoke `/plan` flow to generate it instead of posting a "run /plan first" comment and skipping. Designed for CI / GitHub Actions runs where no human is at the keyboard.
|
|
162
|
+
|
|
163
|
+
## Auto Mode (`--auto`)
|
|
164
|
+
|
|
165
|
+
**When `--auto` is set, the skill MUST run end-to-end without any human-in-the-loop prompts.** Apply these overrides:
|
|
166
|
+
|
|
167
|
+
| Default behavior | `--auto` override |
|
|
168
|
+
| -------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- |
|
|
169
|
+
| Post comment "no plan.md found, run /plan first" + skip | Inline-invoke `/plan` flow for the task to generate `plan.md` attachment + `AI Plan` label, then continue |
|
|
170
|
+
| 3x3 rule pauses every 3 changes asking "Continue?" | Log the checkpoint summary as a status comment, then continue automatically |
|
|
171
|
+
| Pause after each subtask waiting for user confirmation | Post subtask completion comment, then proceed to next subtask |
|
|
172
|
+
| Final end pause "wait for user confirmation" | Post final summary comment and exit cleanly |
|
|
173
|
+
| `AskUserQuestion` for any decision | Use the option marked **(Recommended)**; if none, fail fast with a Linear comment explaining why |
|
|
174
|
+
| Confirmation before destructive ops (delete attachments) | Proceed without confirmation — replace old `orchestration.md` automatically |
|
|
175
|
+
|
|
176
|
+
**Hard requirement in `--auto`**: every checkpoint, decision, or skip MUST be logged as a Linear comment in Polish so the run remains auditable after the fact. Comments replace the interactive prompts — they are the audit trail.
|
|
177
|
+
|
|
178
|
+
**Detection**: The flag `--auto` is provided as a positional/named arg. Treat any of `--auto`, `--ci`, `--non-interactive` as equivalent. Combinable with `--team` (parallel squad mode runs without per-subtask approval).
|
|
160
179
|
|
|
161
180
|
## Instructions
|
|
162
181
|
|
|
@@ -304,7 +323,12 @@ Parse the markdown for:
|
|
|
304
323
|
- Testing Strategy
|
|
305
324
|
- External Library Changes (if any — these are blockers, not to be implemented)
|
|
306
325
|
|
|
307
|
-
**If no `plan.md` attachment found**:
|
|
326
|
+
**If no `plan.md` attachment found**:
|
|
327
|
+
|
|
328
|
+
- **Default mode**: Create a comment noting that no plan was found, suggest running `/plan <taskId>` first, and skip this task. Set status back to "To Do".
|
|
329
|
+
- **`--auto` mode**: Inline-invoke the `/plan` skill flow for this task to generate `plan.md` attachment + `AI Plan` label, then proceed with implementation. Post a comment in Polish noting the plan was auto-generated. Do NOT skip the task.
|
|
330
|
+
|
|
331
|
+
Do NOT fall back to reading plan content from comments — the attachment is the source of truth.
|
|
308
332
|
|
|
309
333
|
#### Step 3b-classify: MANDATORY UI Change Classification
|
|
310
334
|
|
|
@@ -717,7 +741,10 @@ The agent will provide:
|
|
|
717
741
|
- Next subtask details (if any)
|
|
718
742
|
- Pause point for user confirmation
|
|
719
743
|
|
|
720
|
-
**IMPORTANT**:
|
|
744
|
+
**IMPORTANT**:
|
|
745
|
+
|
|
746
|
+
- **Default mode**: ALWAYS wait for user confirmation before proceeding to next subtask.
|
|
747
|
+
- **`--auto` mode**: Skip the wait. The completion comment from Step 3f is the audit trail; proceed directly to Step 3i.
|
|
721
748
|
|
|
722
749
|
#### Step 3i: Move to Next Subtask
|
|
723
750
|
|
|
@@ -739,7 +766,10 @@ When all subtasks are processed, the agent will return `🏁 Iteration Complete`
|
|
|
739
766
|
- Statistics (completed, partial, blocked)
|
|
740
767
|
- Recommendations for follow-up
|
|
741
768
|
|
|
742
|
-
**IMPORTANT**:
|
|
769
|
+
**IMPORTANT**:
|
|
770
|
+
|
|
771
|
+
- **Default mode**: ALWAYS pause and present the final summary to the user.
|
|
772
|
+
- **`--auto` mode**: Post the final summary as a Linear comment in Polish on the parent task (or invoked task) and exit cleanly without pausing.
|
|
743
773
|
|
|
744
774
|
### Step 4a: Session-Wide Agent Evolution
|
|
745
775
|
|
|
@@ -788,18 +818,18 @@ To Do → In Progress → In Review (if completed)
|
|
|
788
818
|
|
|
789
819
|
## Pause Points (3x3 Rule)
|
|
790
820
|
|
|
791
|
-
**ALWAYS stop and wait for user confirmation at these points
|
|
821
|
+
**ALWAYS stop and wait for user confirmation at these points** (skipped in `--auto` — see overrides):
|
|
792
822
|
|
|
793
|
-
| Pause Point | When | What to Show |
|
|
794
|
-
| -------------------- | ----------------------------------- | ----------------------------------------- |
|
|
795
|
-
| **3x3 Checkpoint** | After every 3 changes | Summary of 3 changes + next 3 steps |
|
|
796
|
-
| **Subtask Complete** | After finishing each subtask | Subtask summary + next subtask info |
|
|
797
|
-
| **Task Complete** | After finishing all subtasks | Final summary with all results |
|
|
798
|
-
| **Blocker Found** | When external dependency found | Blocker details + options |
|
|
799
|
-
| **Error/Issue** | When unexpected problem occurs | Error details + proposed solution |
|
|
800
|
-
| **Agent Evolution** | After subtask / after final summary | Evolution report with filed Linear issues |
|
|
823
|
+
| Pause Point | When | What to Show | `--auto` behavior |
|
|
824
|
+
| -------------------- | ----------------------------------- | ----------------------------------------- | ------------------------------------------------------------- |
|
|
825
|
+
| **3x3 Checkpoint** | After every 3 changes | Summary of 3 changes + next 3 steps | Post checkpoint as Linear comment, continue |
|
|
826
|
+
| **Subtask Complete** | After finishing each subtask | Subtask summary + next subtask info | Post completion comment, continue to next subtask |
|
|
827
|
+
| **Task Complete** | After finishing all subtasks | Final summary with all results | Post final summary comment, exit |
|
|
828
|
+
| **Blocker Found** | When external dependency found | Blocker details + options | Set status to Blocked, post blocker comment, skip subtask |
|
|
829
|
+
| **Error/Issue** | When unexpected problem occurs | Error details + proposed solution | Post error comment to Linear, fail the run with non-zero exit |
|
|
830
|
+
| **Agent Evolution** | After subtask / after final summary | Evolution report with filed Linear issues | Skip evolution prompt, file issues silently if any |
|
|
801
831
|
|
|
802
|
-
**
|
|
832
|
+
**In default mode, never proceed automatically** - always wait for explicit user confirmation before:
|
|
803
833
|
|
|
804
834
|
- Continuing after 3x3 checkpoint
|
|
805
835
|
- Moving to next subtask
|
|
@@ -55,8 +55,8 @@ Execute each step in order. Do not skip any step marked as MANDATORY.
|
|
|
55
55
|
- [ ] **8. Analyze external library deps** — check if `@smartsoft001` or `@smartsoft001-mobilems` changes are needed (mark as separate process)
|
|
56
56
|
- [ ] **9. Create implementation plans** — generate structured plans per task/subtask with all required sections
|
|
57
57
|
- [ ] **10. MANDATORY: Write plans in Polish** — all plan content must be in Polish language
|
|
58
|
-
- [ ] **11. Show plans to user** — present plans for review and approval before saving
|
|
59
|
-
- [ ] **12. MANDATORY: Confirm old plan deletion** — if replacing existing `plan.md`, ask user to confirm deletion of old attachment before proceeding
|
|
58
|
+
- [ ] **11. Show plans to user** — present plans for review and approval before saving (skipped in `--auto`; proceed directly to save)
|
|
59
|
+
- [ ] **12. MANDATORY: Confirm old plan deletion** — if replacing existing `plan.md`, ask user to confirm deletion of old attachment before proceeding (skipped in `--auto`; delete old attachment automatically)
|
|
60
60
|
- [ ] **13. MANDATORY: Save plan as native Linear attachment** — base64-encode `plan.md` content and upload via `mcp__linear__create_attachment`. **Calling `mcp__linear__save_comment` for the plan body is FORBIDDEN.** Linear hosts the file natively; no external storage.
|
|
61
61
|
- [ ] **14. MANDATORY: Add "AI Plan" label** — ensure `AI Plan` label exists on the team and apply it to the invoked issue (the `linearTaskId` passed to `/plan` — parent task or subtask, whichever was called)
|
|
62
62
|
- [ ] **15. Confirm to user** — list saved plans with summaries and Linear links
|
|
@@ -117,12 +117,30 @@ You create plans that are:
|
|
|
117
117
|
```
|
|
118
118
|
/plan [linearTaskId]
|
|
119
119
|
/plan [linearTaskId] --deep # Deep planning with Agent Team (experimental)
|
|
120
|
+
/plan [linearTaskId] --auto # Non-interactive mode for CI / GitHub Actions
|
|
120
121
|
```
|
|
121
122
|
|
|
122
123
|
## Parameters
|
|
123
124
|
|
|
124
125
|
- `linearTaskId` - Linear task ID (e.g., ENG-123)
|
|
125
126
|
- `--deep` - Enable deep planning with Agent Team (experimental, requires `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1`)
|
|
127
|
+
- `--auto` - Non-interactive mode: skip ALL `AskUserQuestion` prompts. Auto-approve plans before saving (no review step), auto-delete stale `plan.md` attachments without confirmation, and silently skip when all plans are up to date (no "regenerate anyway?" prompt). Designed for CI / GitHub Actions runs where no human is at the keyboard.
|
|
128
|
+
|
|
129
|
+
## Auto Mode (`--auto`)
|
|
130
|
+
|
|
131
|
+
**When `--auto` is set, the skill MUST run end-to-end without any human-in-the-loop prompts.** Apply these overrides:
|
|
132
|
+
|
|
133
|
+
| Default behavior | `--auto` override |
|
|
134
|
+
| ----------------------------------------------------------------- | ------------------------------------------------------------------------------------------------ |
|
|
135
|
+
| Show plans to user for review/approval before saving | Skip the review step; proceed directly to attachment save |
|
|
136
|
+
| Ask user to confirm deletion of old `plan.md` attachments | Delete old attachments automatically before saving new ones |
|
|
137
|
+
| Ask "regenerate anyway?" when all plans are up-to-date | Exit cleanly with a Linear comment noting all plans are current; no regeneration |
|
|
138
|
+
| Secondary signal prompt (keyword-triggered confirmation to regen) | Ignore the secondary signal; only the mtime rule decides regeneration |
|
|
139
|
+
| `AskUserQuestion` for any decision | Use the option marked **(Recommended)**; if none, fail fast with a Linear comment explaining why |
|
|
140
|
+
|
|
141
|
+
**Hard requirement in `--auto`**: every decision (save, replace, skip) MUST be logged as a Linear comment in Polish so the run remains auditable after the fact. The mtime rule remains authoritative — `--auto` does not change *what* gets regenerated, only that no human is asked.
|
|
142
|
+
|
|
143
|
+
**Detection**: The flag `--auto` is provided as a positional/named arg. Treat any of `--auto`, `--ci`, `--non-interactive` as equivalent. Combinable with `--deep` (deep team mode runs without the final approval prompt).
|
|
126
144
|
|
|
127
145
|
## Instructions
|
|
128
146
|
|
|
@@ -195,7 +213,10 @@ Create a list of tasks/subtasks that need planning:
|
|
|
195
213
|
- `tasksWithExistingPlan`: Array of task IDs with valid, up-to-date plans (skip these)
|
|
196
214
|
- `oldPlanAttachments`: Map of task ID → `attachmentId` for plans that will be replaced (needed for deletion in Step 9)
|
|
197
215
|
|
|
198
|
-
**Important**: If ALL tasks already have up-to-date plans
|
|
216
|
+
**Important**: If ALL tasks already have up-to-date plans:
|
|
217
|
+
|
|
218
|
+
- **Default mode**: Inform the user and ask if they want to regenerate anyway.
|
|
219
|
+
- **`--auto` mode**: Exit cleanly with a Linear comment in Polish noting all plans are current; do NOT regenerate.
|
|
199
220
|
|
|
200
221
|
### Step 4: Analyze Previous Commits
|
|
201
222
|
|
|
@@ -658,7 +679,9 @@ When using `--deep` flag and the Planning Team has completed its analysis, appen
|
|
|
658
679
|
|
|
659
680
|
**This step applies only when replacing existing plans** (i.e., `oldPlanAttachments` from Step 3a is not empty).
|
|
660
681
|
|
|
661
|
-
|
|
682
|
+
**`--auto` mode**: Skip the confirmation prompt. For each task in `oldPlanAttachments`, delete the Linear attachment via `mcp__linear__delete_attachment({ id: attachmentId })` and proceed directly to Step 9a. Log the deletions in the final summary comment.
|
|
683
|
+
|
|
684
|
+
**Default mode** (interactive): Before saving new plans, ask the user to confirm deletion of old `plan.md` attachments:
|
|
662
685
|
|
|
663
686
|
```markdown
|
|
664
687
|
## Zastąpienie istniejących planów
|
|
@@ -938,4 +961,9 @@ _Plan generated by Claude Code_
|
|
|
938
961
|
|
|
939
962
|
---
|
|
940
963
|
|
|
941
|
-
**Important**:
|
|
964
|
+
**Important**:
|
|
965
|
+
|
|
966
|
+
- **Default mode**: Before saving the plans as attachments, show them to the user for review and approval.
|
|
967
|
+
- **`--auto` mode**: Skip the review step; proceed directly to saving the attachments.
|
|
968
|
+
|
|
969
|
+
The plan content is written to `/tmp/claude-plans/<taskId>-plan.md`, base64-encoded, and uploaded as a native Linear attachment via `mcp__linear__create_attachment`. After that, the `AI Plan` label is applied to the invoked issue.
|
|
@@ -33,11 +33,28 @@ Implement changes based on approved plans from Linear `plan.md` attachments.
|
|
|
33
33
|
|
|
34
34
|
```
|
|
35
35
|
/impl <linearTaskId>
|
|
36
|
+
/impl <linearTaskId> --auto # Non-interactive mode for CI / GitHub Actions
|
|
36
37
|
```
|
|
37
38
|
|
|
38
39
|
## Parameters
|
|
39
40
|
|
|
40
41
|
- `linearTaskId` - Linear task ID (e.g., MOB-123)
|
|
42
|
+
- `--auto` - Non-interactive mode: skip ALL `AskUserQuestion` prompts and any per-step pauses. If `plan.md` attachment is missing, auto-invoke `/plan` flow to generate it instead of stopping. Designed for CI / GitHub Actions runs where no human is at the keyboard.
|
|
43
|
+
|
|
44
|
+
## Auto Mode (`--auto`)
|
|
45
|
+
|
|
46
|
+
When `--auto` is set, the skill MUST run end-to-end without any human-in-the-loop prompts:
|
|
47
|
+
|
|
48
|
+
| Default behavior | `--auto` override |
|
|
49
|
+
| ----------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- |
|
|
50
|
+
| Stop with "no plan.md found, run /plan first" suggestion | Inline-invoke `/plan` flow for the task to generate `plan.md` attachment + `AI Plan` label, then continue |
|
|
51
|
+
| Pause after each step / subtask waiting for user confirmation | Post completion comment, then proceed automatically |
|
|
52
|
+
| Confirmation before destructive ops (delete `orchestration.md`) | Proceed without confirmation — replace old attachment automatically |
|
|
53
|
+
| Any `AskUserQuestion` | Use the **(Recommended)** option; if none, fail fast with a Linear comment |
|
|
54
|
+
|
|
55
|
+
Every checkpoint, decision, or skip MUST be logged as a Linear comment in Polish (audit trail).
|
|
56
|
+
|
|
57
|
+
**Detection**: The flag `--auto` is provided as a positional/named arg. Treat any of `--auto`, `--ci`, `--non-interactive` as equivalent.
|
|
41
58
|
|
|
42
59
|
## 🚨 Hard Rules — read before doing anything
|
|
43
60
|
|
|
@@ -72,7 +89,11 @@ This is for standalone Angular CLI projects. Key rules:
|
|
|
72
89
|
2. Find the attachment where `title == "plan.md"` (or `filename == "plan.md"`) and capture its `id`. Do NOT use the `url` field for fetching.
|
|
73
90
|
3. `mcp__linear__get_attachment({ id: <attachmentId> })` — returns the markdown content directly (Linear hosts the file natively).
|
|
74
91
|
4. Parse the plan content.
|
|
75
|
-
5. If no `plan.md` attachment exists
|
|
92
|
+
5. If no `plan.md` attachment exists:
|
|
93
|
+
- **Default mode**: inform the user and suggest running `/plan <taskId>` first. Stop the skill.
|
|
94
|
+
- **`--auto` mode**: inline-invoke the `/plan` skill flow for this task to generate `plan.md` attachment + `AI Plan` label, then proceed with implementation. Post a Linear comment in Polish noting the plan was auto-generated.
|
|
95
|
+
|
|
96
|
+
Do NOT fall back to parsing plan content from comments, and do NOT attempt `curl`/`WebFetch` on a URL.
|
|
76
97
|
|
|
77
98
|
### Step 2: Detect Project Structure
|
|
78
99
|
|
|
@@ -27,11 +27,28 @@ Create a structured implementation plan for a Linear task and save it as a `plan
|
|
|
27
27
|
|
|
28
28
|
```
|
|
29
29
|
/plan <linearTaskId>
|
|
30
|
+
/plan <linearTaskId> --auto # Non-interactive mode for CI / GitHub Actions
|
|
30
31
|
```
|
|
31
32
|
|
|
32
33
|
## Parameters
|
|
33
34
|
|
|
34
35
|
- `linearTaskId` - Linear task ID (e.g., MOB-123)
|
|
36
|
+
- `--auto` - Non-interactive mode: skip ALL `AskUserQuestion` prompts. Auto-approve plan before saving, auto-delete stale `plan.md` attachment without confirmation, and silently skip when the existing plan is up to date. Designed for CI / GitHub Actions runs where no human is at the keyboard.
|
|
37
|
+
|
|
38
|
+
## Auto Mode (`--auto`)
|
|
39
|
+
|
|
40
|
+
When `--auto` is set, the skill MUST run end-to-end without any human-in-the-loop prompts:
|
|
41
|
+
|
|
42
|
+
| Default behavior | `--auto` override |
|
|
43
|
+
| ------------------------------------------------------------- | ---------------------------------------------------------------------------------- |
|
|
44
|
+
| Ask user to confirm deletion of old `plan.md` attachment | Delete old attachment automatically before saving the new one |
|
|
45
|
+
| Ask "regenerate?" when plan is up-to-date but keywords detect | Ignore the secondary signal; only the mtime rule decides regeneration |
|
|
46
|
+
| Final approval prompt before user runs `/impl` | Skip the prompt; finish with a Linear comment confirming plan saved |
|
|
47
|
+
| Any `AskUserQuestion` | Use the **(Recommended)** option; if none, fail fast with a Linear comment |
|
|
48
|
+
|
|
49
|
+
Every decision MUST be logged as a Linear comment in Polish (audit trail). The mtime rule remains authoritative.
|
|
50
|
+
|
|
51
|
+
**Detection**: The flag `--auto` is provided as a positional/named arg. Treat any of `--auto`, `--ci`, `--non-interactive` as equivalent.
|
|
35
52
|
|
|
36
53
|
## 🚨 Hard Rules — read before doing anything
|
|
37
54
|
|
|
@@ -171,12 +188,14 @@ Upload the plan directly to Linear via `mcp__linear__create_attachment` — Line
|
|
|
171
188
|
|
|
172
189
|
#### 6.1 — If replacing an existing plan, confirm with user
|
|
173
190
|
|
|
174
|
-
If a `plan.md` attachment is being replaced
|
|
191
|
+
If a `plan.md` attachment is being replaced:
|
|
175
192
|
|
|
176
|
-
-
|
|
177
|
-
- "
|
|
193
|
+
- **Default mode**: ask the user via `AskUserQuestion`:
|
|
194
|
+
- "Tak, usuń stary plan i zapisz nowy" (Recommended)
|
|
195
|
+
- "Anuluj"
|
|
178
196
|
|
|
179
|
-
If confirmed, delete the Linear attachment via `mcp__linear__delete_attachment({ id: oldAttachmentId })`.
|
|
197
|
+
If confirmed, delete the Linear attachment via `mcp__linear__delete_attachment({ id: oldAttachmentId })`.
|
|
198
|
+
- **`--auto` mode**: skip the prompt; delete the old Linear attachment via `mcp__linear__delete_attachment({ id: oldAttachmentId })` automatically and proceed.
|
|
180
199
|
|
|
181
200
|
#### 6.2 — Write `plan.md` locally
|
|
182
201
|
|
|
@@ -217,6 +236,8 @@ Delete `/tmp/claude-plans/<taskId>-plan.md` after the attachment is created. `/p
|
|
|
217
236
|
|
|
218
237
|
### Step 8: Confirm to User
|
|
219
238
|
|
|
239
|
+
**Default mode**:
|
|
240
|
+
|
|
220
241
|
```markdown
|
|
221
242
|
## Plan zapisany
|
|
222
243
|
|
|
@@ -226,6 +247,8 @@ Etykieta `AI Plan` została dodana.
|
|
|
226
247
|
Czy plan jest zaakceptowany? Po akceptacji uruchom `/impl [linearTaskId]` aby rozpocząć implementację.
|
|
227
248
|
```
|
|
228
249
|
|
|
250
|
+
**`--auto` mode**: post a Linear comment confirming the plan was saved (no question asked) and exit. The comment is the audit trail for the CI run.
|
|
251
|
+
|
|
229
252
|
## Guidelines
|
|
230
253
|
|
|
231
254
|
1. **Always analyze existing code first** before planning
|
|
@@ -56,7 +56,7 @@ Execute each step in order. Do not skip any step marked as MANDATORY.
|
|
|
56
56
|
- [ ] **5. MANDATORY: Agent orchestration plan** — delegate to `shared-impl-orchestrator` with `Angular Version: 14 (LEGACY)`, save result as `orchestration.md` attachment via `mcp__linear__create_attachment` (replace any existing one). **Calling `mcp__linear__save_comment` with the orchestration body is FORBIDDEN.**
|
|
57
57
|
- [ ] **6. Check external library blockers** — if blockers found, set status to Blocked and skip
|
|
58
58
|
- [ ] **7. Capture "before" screenshots** — if `UI_CHANGE_REQUIRED: YES`, launch `screenshot-reporter` in background
|
|
59
|
-
- [ ] **8. MANDATORY: Implement with 3x3 rule** — pause every 3 changes, use `shared-tdd-developer` for ALL code (RED → GREEN → REFACTOR)
|
|
59
|
+
- [ ] **8. MANDATORY: Implement with 3x3 rule** — pause every 3 changes (skip pause in `--auto`, log checkpoint as Linear comment instead), use `shared-tdd-developer` for ALL code (RED → GREEN → REFACTOR)
|
|
60
60
|
- [ ] **9. MANDATORY: Use Angular 14 patterns** — `*ngIf`/`*ngFor`, constructor DI, `@Input()`/`@Output()`, BehaviorSubject — NEVER signals, `@if`/`@for`, `inject()`
|
|
61
61
|
- [ ] **10. Verify implementation** — run tests, lint, build check
|
|
62
62
|
- [ ] **11. Capture "after" screenshots** — if `UI_CHANGE_REQUIRED: YES`, capture + post comparison to Linear + cleanup
|
|
@@ -65,12 +65,12 @@ Execute each step in order. Do not skip any step marked as MANDATORY.
|
|
|
65
65
|
- [ ] **14. MANDATORY: Write reports in Polish** — all Linear comments must be in Polish language
|
|
66
66
|
- [ ] **15. Update status** — delegate to `shared-linear-subtask-iterator` for status determination
|
|
67
67
|
- [ ] **16. Agent evolution** — if user confirmed feedback, delegate to `shared-agent-evolver`
|
|
68
|
-
- [ ] **17. Pause for user confirmation** —
|
|
68
|
+
- [ ] **17. Pause for user confirmation** — wait before proceeding to next subtask (skipped in `--auto`; post completion comment and continue)
|
|
69
69
|
|
|
70
70
|
### Finalization
|
|
71
71
|
|
|
72
72
|
- [ ] **18. Final summary** — present summary of all subtasks with statuses
|
|
73
|
-
- [ ] **19. ALWAYS pause** — wait for user confirmation at end
|
|
73
|
+
- [ ] **19. ALWAYS pause** — wait for user confirmation at end (skipped in `--auto`; post final summary comment and exit)
|
|
74
74
|
|
|
75
75
|
### Task Progress Tracking
|
|
76
76
|
|
|
@@ -218,11 +218,30 @@ export class DataService {
|
|
|
218
218
|
|
|
219
219
|
```
|
|
220
220
|
/impl [linearTaskId]
|
|
221
|
+
/impl [linearTaskId] --auto # Non-interactive mode for CI / GitHub Actions
|
|
221
222
|
```
|
|
222
223
|
|
|
223
224
|
## Parameters
|
|
224
225
|
|
|
225
226
|
- `linearTaskId` - Linear task ID (e.g., ENG-123)
|
|
227
|
+
- `--auto` - Non-interactive mode: skip ALL `AskUserQuestion` prompts, 3x3 checkpoint pauses, per-subtask pauses, and the final end pause. If `plan.md` attachment is missing, auto-invoke `/plan` flow to generate it instead of posting a "run /plan first" comment and skipping. Designed for CI / GitHub Actions runs where no human is at the keyboard.
|
|
228
|
+
|
|
229
|
+
## Auto Mode (`--auto`)
|
|
230
|
+
|
|
231
|
+
**When `--auto` is set, the skill MUST run end-to-end without any human-in-the-loop prompts.** Apply these overrides:
|
|
232
|
+
|
|
233
|
+
| Default behavior | `--auto` override |
|
|
234
|
+
| -------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- |
|
|
235
|
+
| Post comment "no plan.md found, run /plan first" + skip | Inline-invoke `/plan` flow for the task to generate `plan.md` attachment + `AI Plan` label, then continue |
|
|
236
|
+
| 3x3 rule pauses every 3 changes asking "Continue?" | Log the checkpoint summary as a status comment, then continue automatically |
|
|
237
|
+
| Pause after each subtask waiting for user confirmation | Post subtask completion comment, then proceed to next subtask |
|
|
238
|
+
| Final end pause "wait for user confirmation" | Post final summary comment and exit cleanly |
|
|
239
|
+
| `AskUserQuestion` for any decision | Use the option marked **(Recommended)**; if none, fail fast with a Linear comment explaining why |
|
|
240
|
+
| Confirmation before destructive ops (delete attachments) | Proceed without confirmation — replace old `orchestration.md` automatically |
|
|
241
|
+
|
|
242
|
+
**Hard requirement in `--auto`**: every checkpoint, decision, or skip MUST be logged as a Linear comment in Polish so the run remains auditable after the fact. Comments replace the interactive prompts — they are the audit trail.
|
|
243
|
+
|
|
244
|
+
**Detection**: The flag `--auto` is provided as a positional/named arg. Treat any of `--auto`, `--ci`, `--non-interactive` as equivalent.
|
|
226
245
|
|
|
227
246
|
## Instructions
|
|
228
247
|
|
|
@@ -272,7 +291,12 @@ Parse the markdown for:
|
|
|
272
291
|
- Testing Strategy
|
|
273
292
|
- External Library Changes (blockers — not to be implemented)
|
|
274
293
|
|
|
275
|
-
**If no `plan.md` attachment found**:
|
|
294
|
+
**If no `plan.md` attachment found**:
|
|
295
|
+
|
|
296
|
+
- **Default mode**: Create a comment noting that no plan was found, suggest running `/plan <taskId>` first, and skip this task. Set status back to "To Do".
|
|
297
|
+
- **`--auto` mode**: Inline-invoke the `/plan` skill flow for this task to generate `plan.md` attachment + `AI Plan` label, then proceed with implementation. Post a comment in Polish noting the plan was auto-generated. Do NOT skip the task.
|
|
298
|
+
|
|
299
|
+
Do NOT fall back to parsing plan content from comments — the attachment is the source of truth.
|
|
276
300
|
|
|
277
301
|
#### Step 3b-classify: MANDATORY UI Change Classification
|
|
278
302
|
|
|
@@ -607,7 +631,10 @@ The agent will provide:
|
|
|
607
631
|
- Next subtask details (if any)
|
|
608
632
|
- Pause point for user confirmation
|
|
609
633
|
|
|
610
|
-
**IMPORTANT**:
|
|
634
|
+
**IMPORTANT**:
|
|
635
|
+
|
|
636
|
+
- **Default mode**: ALWAYS wait for user confirmation before proceeding to next subtask.
|
|
637
|
+
- **`--auto` mode**: Skip the wait. The completion comment from Step 3f is the audit trail; proceed directly to Step 3i.
|
|
611
638
|
|
|
612
639
|
#### Step 3i: Move to Next Subtask
|
|
613
640
|
|
|
@@ -629,7 +656,10 @@ When all subtasks are processed, the agent will return `🏁 Iteration Complete`
|
|
|
629
656
|
- Statistics (completed, partial, blocked)
|
|
630
657
|
- Recommendations for follow-up
|
|
631
658
|
|
|
632
|
-
**IMPORTANT**:
|
|
659
|
+
**IMPORTANT**:
|
|
660
|
+
|
|
661
|
+
- **Default mode**: ALWAYS pause and present the final summary to the user.
|
|
662
|
+
- **`--auto` mode**: Post the final summary as a Linear comment in Polish on the parent task (or invoked task) and exit cleanly without pausing.
|
|
633
663
|
|
|
634
664
|
## Status Flow
|
|
635
665
|
|
|
@@ -641,18 +671,18 @@ To Do → In Progress → In Review (if completed)
|
|
|
641
671
|
|
|
642
672
|
## Pause Points (3x3 Rule)
|
|
643
673
|
|
|
644
|
-
**ALWAYS stop and wait for user confirmation at these points
|
|
674
|
+
**ALWAYS stop and wait for user confirmation at these points** (skipped in `--auto` — see overrides):
|
|
645
675
|
|
|
646
|
-
| Pause Point | When | What to Show |
|
|
647
|
-
| -------------------- | ----------------------------------- | ----------------------------------------- |
|
|
648
|
-
| **3x3 Checkpoint** | After every 3 changes | Summary of 3 changes + next 3 steps |
|
|
649
|
-
| **Subtask Complete** | After finishing each subtask | Subtask summary + next subtask info |
|
|
650
|
-
| **Task Complete** | After finishing all subtasks | Final summary with all results |
|
|
651
|
-
| **Blocker Found** | When external dependency found | Blocker details + options |
|
|
652
|
-
| **Error/Issue** | When unexpected problem occurs | Error details + proposed solution |
|
|
653
|
-
| **Agent Evolution** | After subtask / after final summary | Evolution report with filed Linear issues |
|
|
676
|
+
| Pause Point | When | What to Show | `--auto` behavior |
|
|
677
|
+
| -------------------- | ----------------------------------- | ----------------------------------------- | ------------------------------------------------------------- |
|
|
678
|
+
| **3x3 Checkpoint** | After every 3 changes | Summary of 3 changes + next 3 steps | Post checkpoint as Linear comment, continue |
|
|
679
|
+
| **Subtask Complete** | After finishing each subtask | Subtask summary + next subtask info | Post completion comment, continue to next subtask |
|
|
680
|
+
| **Task Complete** | After finishing all subtasks | Final summary with all results | Post final summary comment, exit |
|
|
681
|
+
| **Blocker Found** | When external dependency found | Blocker details + options | Set status to Blocked, post blocker comment, skip subtask |
|
|
682
|
+
| **Error/Issue** | When unexpected problem occurs | Error details + proposed solution | Post error comment to Linear, fail the run with non-zero exit |
|
|
683
|
+
| **Agent Evolution** | After subtask / after final summary | Evolution report with filed Linear issues | Skip evolution prompt, file issues silently if any |
|
|
654
684
|
|
|
655
|
-
**
|
|
685
|
+
**In default mode, never proceed automatically** - always wait for explicit user confirmation before:
|
|
656
686
|
|
|
657
687
|
- Continuing after 3x3 checkpoint
|
|
658
688
|
- Moving to next subtask
|
|
@@ -52,8 +52,8 @@ Execute each step in order. Do not skip any step marked as MANDATORY.
|
|
|
52
52
|
- [ ] **9. Analyze external library deps** — check if `@smartsoft001` or `@smartsoft001-mobilems` changes are needed (mark as separate process)
|
|
53
53
|
- [ ] **10. Create implementation plans** — generate structured plans per task/subtask with all required sections, using Angular 14 patterns
|
|
54
54
|
- [ ] **11. MANDATORY: Write plans in Polish** — all plan content must be in Polish language
|
|
55
|
-
- [ ] **12. Show plans to user** — present plans for review and approval before saving
|
|
56
|
-
- [ ] **13. MANDATORY: Confirm old plan deletion** — if replacing existing `plan.md`, ask user to confirm deletion of old attachment before proceeding
|
|
55
|
+
- [ ] **12. Show plans to user** — present plans for review and approval before saving (skipped in `--auto`; proceed directly to save)
|
|
56
|
+
- [ ] **13. MANDATORY: Confirm old plan deletion** — if replacing existing `plan.md`, ask user to confirm deletion of old attachment before proceeding (skipped in `--auto`; delete old attachment automatically)
|
|
57
57
|
- [ ] **14. MANDATORY: Save plan as native Linear attachment** — base64-encode `plan.md` content and upload via `mcp__linear__create_attachment`. **Calling `mcp__linear__save_comment` for the plan body is FORBIDDEN.** Linear hosts the file natively; no external storage.
|
|
58
58
|
- [ ] **15. MANDATORY: Add "AI Plan" label** — ensure `AI Plan` label exists on the team and apply it to the invoked issue (the `linearTaskId` passed to `/plan` — parent task or subtask, whichever was called)
|
|
59
59
|
- [ ] **16. Confirm to user** — list saved plans with summaries and Linear links
|
|
@@ -115,11 +115,29 @@ You create plans that are:
|
|
|
115
115
|
|
|
116
116
|
```
|
|
117
117
|
/plan [linearTaskId]
|
|
118
|
+
/plan [linearTaskId] --auto # Non-interactive mode for CI / GitHub Actions
|
|
118
119
|
```
|
|
119
120
|
|
|
120
121
|
## Parameters
|
|
121
122
|
|
|
122
123
|
- `linearTaskId` - Linear task ID (e.g., ENG-123)
|
|
124
|
+
- `--auto` - Non-interactive mode: skip ALL `AskUserQuestion` prompts. Auto-approve plans before saving (no review step), auto-delete stale `plan.md` attachments without confirmation, and silently skip when all plans are up to date (no "regenerate anyway?" prompt). Designed for CI / GitHub Actions runs where no human is at the keyboard.
|
|
125
|
+
|
|
126
|
+
## Auto Mode (`--auto`)
|
|
127
|
+
|
|
128
|
+
**When `--auto` is set, the skill MUST run end-to-end without any human-in-the-loop prompts.** Apply these overrides:
|
|
129
|
+
|
|
130
|
+
| Default behavior | `--auto` override |
|
|
131
|
+
| ----------------------------------------------------------------- | ------------------------------------------------------------------------------------------------ |
|
|
132
|
+
| Show plans to user for review/approval before saving | Skip the review step; proceed directly to attachment save |
|
|
133
|
+
| Ask user to confirm deletion of old `plan.md` attachments | Delete old attachments automatically before saving new ones |
|
|
134
|
+
| Ask "regenerate anyway?" when all plans are up-to-date | Exit cleanly with a Linear comment noting all plans are current; no regeneration |
|
|
135
|
+
| Secondary signal prompt (keyword-triggered confirmation to regen) | Ignore the secondary signal; only the mtime rule decides regeneration |
|
|
136
|
+
| `AskUserQuestion` for any decision | Use the option marked **(Recommended)**; if none, fail fast with a Linear comment explaining why |
|
|
137
|
+
|
|
138
|
+
**Hard requirement in `--auto`**: every decision (save, replace, skip) MUST be logged as a Linear comment in Polish so the run remains auditable after the fact. The mtime rule remains authoritative — `--auto` does not change *what* gets regenerated, only that no human is asked.
|
|
139
|
+
|
|
140
|
+
**Detection**: The flag `--auto` is provided as a positional/named arg. Treat any of `--auto`, `--ci`, `--non-interactive` as equivalent.
|
|
123
141
|
|
|
124
142
|
## Angular 14 Legacy Patterns
|
|
125
143
|
|
|
@@ -206,7 +224,10 @@ If `planAttachment` exists and no comment is newer than it, but the user's lates
|
|
|
206
224
|
- `tasksWithExistingPlan`: Array of task IDs with up-to-date plans
|
|
207
225
|
- `oldPlanAttachments`: Map of task ID → `attachmentId` for plans being replaced
|
|
208
226
|
|
|
209
|
-
**Important**: If ALL tasks already have up-to-date plans
|
|
227
|
+
**Important**: If ALL tasks already have up-to-date plans:
|
|
228
|
+
|
|
229
|
+
- **Default mode**: Inform the user and ask if they want to regenerate anyway.
|
|
230
|
+
- **`--auto` mode**: Exit cleanly with a Linear comment in Polish noting all plans are current; do NOT regenerate.
|
|
210
231
|
|
|
211
232
|
### Step 4: Analyze Previous Commits
|
|
212
233
|
|
|
@@ -529,7 +550,9 @@ _Plan generated by Claude Code (flow-legacy)_
|
|
|
529
550
|
|
|
530
551
|
**This step applies only when replacing existing plans** (`oldPlanAttachments` from Step 3a is not empty).
|
|
531
552
|
|
|
532
|
-
|
|
553
|
+
**`--auto` mode**: Skip the confirmation prompt. For each task in `oldPlanAttachments`, delete the Linear attachment via `mcp__linear__delete_attachment({ id: attachmentId })` and proceed directly to Step 9a. Log the deletions in the final summary comment.
|
|
554
|
+
|
|
555
|
+
**Default mode** (interactive): Before saving new plans, ask the user to confirm deletion of old `plan.md` attachments:
|
|
533
556
|
|
|
534
557
|
```markdown
|
|
535
558
|
## Zastąpienie istniejących planów
|
|
@@ -643,4 +666,9 @@ After saving:
|
|
|
643
666
|
|
|
644
667
|
---
|
|
645
668
|
|
|
646
|
-
**Important**:
|
|
669
|
+
**Important**:
|
|
670
|
+
|
|
671
|
+
- **Default mode**: Before saving the plans as attachments, show them to the user for review and approval.
|
|
672
|
+
- **`--auto` mode**: Skip the review step; proceed directly to saving the attachments.
|
|
673
|
+
|
|
674
|
+
The plan content is written to `/tmp/claude-plans/<taskId>-plan.md`, base64-encoded, and uploaded as a native Linear attachment via `mcp__linear__create_attachment`. After that, the `AI Plan` label is applied to the invoked issue.
|