@smartsoft001-mobilems/claude-plugins 2.71.0 → 2.72.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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smartsoft001-mobilems/claude-plugins",
3
- "version": "2.71.0",
3
+ "version": "2.72.0",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -1,11 +1,11 @@
1
1
  # Flow Plugin for Claude Code
2
2
 
3
- Development flow commands for Linear-driven development workflow.
3
+ Development flow skills for Linear-driven development workflow.
4
4
 
5
- ## Commands
5
+ ## Workflow Skills
6
6
 
7
- | Command | Description |
8
- |---------|-------------|
7
+ | Skill | Description |
8
+ |-------|-------------|
9
9
  | `/commit` | Create conventional commit based on Linear task |
10
10
  | `/impl` | Implement plans from Linear task comments |
11
11
  | `/plan` | Create implementation plan and save to Linear |
@@ -58,15 +58,15 @@ Configure these in your `.mcp.json`:
58
58
  - Nx commands (test, lint, build)
59
59
  - Linear API (read/write issues, comments)
60
60
  - Playwright (screenshots)
61
- - Internal skills
61
+ - Utility skills
62
62
 
63
63
  ### Requires Confirmation (ask)
64
- - Flow commands (/commit, /impl, /plan, /push)
64
+ - Workflow skills (/commit, /impl, /plan, /push)
65
65
  - `git commit` - creating commits
66
66
  - `git push` - pushing to remote
67
67
  - `gh pr create` - creating pull requests
68
68
 
69
- ## Skills
69
+ ## Utility Skills
70
70
 
71
71
  | Skill | Description |
72
72
  |-------|-------------|
@@ -79,4 +79,4 @@ Configure these in your `.mcp.json`:
79
79
 
80
80
  ## Agents
81
81
 
82
- See `agents/` directory for full list of specialized agents used by flow commands.
82
+ See `agents/` directory for full list of specialized agents used by flow skills.
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "flow",
3
- "description": "Development flow commands for Linear-driven development workflow",
4
- "version": "2.71.0"
3
+ "description": "Development flow skills for Linear-driven development workflow",
4
+ "version": "2.72.0"
5
5
  }
@@ -38,6 +38,7 @@
38
38
  "mcp__linear-server__list_issues",
39
39
  "mcp__linear-server__list_comments",
40
40
  "mcp__linear-server__create_comment",
41
+ "mcp__linear-server__delete_comment",
41
42
  "mcp__linear-server__update_issue",
42
43
  "mcp__linear-server__list_issue_statuses",
43
44
  "mcp__linear-server__create_issue",
@@ -72,4 +73,4 @@
72
73
  "enabledPlugins": {
73
74
  "flow@mobilems": true
74
75
  }
75
- }
76
+ }
@@ -3,7 +3,7 @@ name: shared-agent-evolver
3
3
  description: Analyze user feedback during implementation and file agent improvement suggestions as Linear issues in the "MobileMS Framework" project via linear-suggestion skill.
4
4
  tools: Read, Glob, Grep
5
5
  model: opus
6
- color: "#2563EB"
6
+ color: '#2563EB'
7
7
  ---
8
8
 
9
9
  You are a meta-agent responsible for improving the agent ecosystem through observed user feedback. You analyze corrections, suggestions, and patterns from implementation sessions and file them as Linear issues for later review and manual application.
@@ -32,7 +32,7 @@ Classify each feedback item into one of these categories:
32
32
  | `EVOLVE_RULE` | New rule or anti-pattern | File Linear issue suggesting rule addition |
33
33
  | `EVOLVE_TEMPLATE` | New code template or example | File Linear issue suggesting template addition |
34
34
  | `CREATE_AGENT` | Entirely new capability needed | File Linear issue proposing new agent |
35
- | `UPDATE_WORKFLOW` | Process/command improvement | File Linear issue proposing workflow change |
35
+ | `UPDATE_WORKFLOW` | Process/skill improvement | File Linear issue proposing workflow change |
36
36
 
37
37
  ## Detection Heuristics
38
38
 
@@ -82,7 +82,7 @@ title: [short description of the proposed agent change]
82
82
  description: |
83
83
  [full proposal content — type, trigger, target, current content, proposed change, rationale, impact]
84
84
  source: shared-agent-evolver
85
- targetFile: [path to the agent/command/skill file to modify]
85
+ targetFile: [path to the agent/skill file to modify]
86
86
  category: [PATTERN_UPDATE | NEW_RULE | OPTIMIZATION]
87
87
  ```
88
88
 
@@ -99,7 +99,7 @@ Each proposal is filed as a Linear issue. The description sent to `linear-sugges
99
99
 
100
100
  **Type**: [EVOLVE_PATTERN | EVOLVE_RULE | EVOLVE_TEMPLATE | CREATE_AGENT | UPDATE_WORKFLOW]
101
101
  **Trigger**: "[exact user feedback that prompted this]"
102
- **Target**: [file path of agent/command/skill to modify]
102
+ **Target**: [file path of agent/skill to modify]
103
103
  **Scope**: [section within the file to modify]
104
104
 
105
105
  ### Current Content
@@ -281,14 +281,14 @@ category: PATTERN_UPDATE
281
281
 
282
282
  ### Example 5: UPDATE_WORKFLOW
283
283
 
284
- **User feedback**: "The impl command should always run lint before tests, not after"
284
+ **User feedback**: "The impl skill should always run lint before tests, not after"
285
285
 
286
286
  **Classification**: `UPDATE_WORKFLOW` (process improvement, explicit request)
287
287
 
288
- **Action**: File Linear issue proposing the verification order change in `impl.md`.
288
+ **Action**: File Linear issue proposing the verification order change in `skills/impl/SKILL.md`.
289
289
 
290
290
  ## When to Use This Agent
291
291
 
292
- - At evolution checkpoints during implementation (Step 3g-evolve in impl.md)
293
- - After completing all subtasks for session-wide analysis (Step 4a-evolve in impl.md)
292
+ - At evolution checkpoints during implementation (Step 3g-evolve in skills/impl/SKILL.md)
293
+ - After completing all subtasks for session-wide analysis (Step 4a-evolve in skills/impl/SKILL.md)
294
294
  - When explicitly requested by the user to analyze and improve agents
@@ -1,4 +1,17 @@
1
- # Commit Command
1
+ ---
2
+ name: commit
3
+ description: Create a conventional commit message based on Linear task and staged changes. Fetches task details, analyzes changes, generates commit message, and optionally runs parallelization analysis.
4
+ allowed-tools:
5
+ - Bash
6
+ - Read
7
+ - Glob
8
+ - Grep
9
+ - AskUserQuestion
10
+ - mcp__linear-server__get_issue
11
+ - mcp__linear-server__list_comments
12
+ ---
13
+
14
+ # Commit Skill
2
15
 
3
16
  Create a conventional commit message based on Linear task and staged changes.
4
17
 
@@ -12,6 +25,20 @@ Create a conventional commit message based on Linear task and staged changes.
12
25
 
13
26
  - `linearTaskId` - Linear task ID (e.g., ENG-123)
14
27
 
28
+ ## Execution Checklist
29
+
30
+ Execute each step in order. Do not skip any step marked as MANDATORY.
31
+
32
+ - [ ] **1. Fetch Linear task** — get title, description, labels/type from MCP Linear server
33
+ - [ ] **2. Analyze staged changes** — run `git diff --cached` to understand scope
34
+ - [ ] **3. Verify completeness** — compare task requirements with staged changes; if incomplete, ask user whether to continue or stop
35
+ - [ ] **4. Read commitlint config** — read `commitlint.config.js` for valid scopes and format
36
+ - [ ] **5. Generate commit message** — draft `<type>(<scope>): <subject>` with body and `Refs: <linearTaskId>`
37
+ - [ ] **6. Show message to user** — present commit message for approval before proceeding
38
+ - [ ] **7. MANDATORY: Pre-commit preparation** — run `nvm use 24` then `npm run format`, stage any formatting changes
39
+ - [ ] **8. Create commit** — execute `git commit` with the approved message
40
+ - [ ] **9. Parallelization analysis (optional)** — fetch Linear comments, search for orchestration plan, delegate to `shared-parallelization-analyzer` if found
41
+
15
42
  ## Instructions
16
43
 
17
44
  You are tasked with creating a git commit based on a Linear task and staged changes.
@@ -1,7 +1,59 @@
1
- # Implementation Command
1
+ ---
2
+ name: impl
3
+ description: Implement plans from Linear task comments. Iteratively processes subtasks with TDD, UI classification, agent orchestration, screenshot capture, and 3x3 rule checkpoints.
4
+ allowed-tools:
5
+ - Bash
6
+ - Read
7
+ - Edit
8
+ - Write
9
+ - Glob
10
+ - Grep
11
+ - AskUserQuestion
12
+ - Task
13
+ - mcp__linear-server__get_issue
14
+ - mcp__linear-server__list_issues
15
+ - mcp__linear-server__list_comments
16
+ - mcp__linear-server__create_comment
17
+ - mcp__linear-server__update_issue
18
+ - mcp__linear-server__list_issue_statuses
19
+ ---
20
+
21
+ # Implementation Skill
2
22
 
3
23
  Implement plans from Linear task comments. For tasks with subtasks, iteratively implement each subtask that is in "To Do" status.
4
24
 
25
+ ## Execution Checklist
26
+
27
+ Execute each step in order. Do not skip any step marked as MANDATORY.
28
+
29
+ ### Initial Setup
30
+
31
+ - [ ] **1. Fetch task and subtasks** — delegate to `shared-linear-subtask-iterator` agent
32
+
33
+ ### Per Subtask (repeat for each "To Do" subtask)
34
+
35
+ - [ ] **2. Set status to "In Progress"** — update subtask status via MCP (subtasks only, not parent)
36
+ - [ ] **3. Fetch implementation plan** — find `## Implementation Plan` in task comments
37
+ - [ ] **4. MANDATORY: UI change classification** — delegate to `shared-ui-classifier` agent, output `UI_CHANGE_REQUIRED: YES/NO`
38
+ - [ ] **5. MANDATORY: Agent orchestration plan** — delegate to `shared-impl-orchestrator`, post plan to Linear
39
+ - [ ] **6. Check external library blockers** — if blockers found, set status to Blocked and skip
40
+ - [ ] **7. Capture "before" screenshots** — if `UI_CHANGE_REQUIRED: YES`, launch `screenshot-reporter` in background
41
+ - [ ] **8. MANDATORY: Implement with 3x3 rule** — pause every 3 changes, use `shared-tdd-developer` for ALL code (RED → GREEN → REFACTOR)
42
+ - [ ] **9. Verify implementation** — run tests, lint, build check
43
+ - [ ] **10. Capture "after" screenshots** — if `UI_CHANGE_REQUIRED: YES`, capture + post comparison to Linear + cleanup
44
+ - [ ] **11. MANDATORY: Screenshot verification** — output `SCREENSHOT_REQUIREMENT_MET: YES/NO`, block if missing
45
+ - [ ] **12. Create completion comment** — delegate to `shared-impl-reporter`, post to Linear
46
+ - [ ] **13. MANDATORY: Write reports in Polish** — all Linear comments must be in Polish language
47
+ - [ ] **14. Update status** — delegate to `shared-linear-subtask-iterator` for status determination
48
+ - [ ] **15. Agent evolution** — if user confirmed feedback, delegate to `shared-agent-evolver`
49
+ - [ ] **16. Pause for user confirmation** — ALWAYS wait before proceeding to next subtask
50
+
51
+ ### Finalization
52
+
53
+ - [ ] **17. Final summary** — present summary of all subtasks with statuses
54
+ - [ ] **18. Session-wide evolution** — analyze all feedback across session
55
+ - [ ] **19. ALWAYS pause** — wait for user confirmation at end
56
+
5
57
  ## Role
6
58
 
7
59
  **You are a highly experienced senior TypeScript developer** with:
@@ -258,7 +310,23 @@ Continue? (yes/no/adjust)
258
310
 
259
311
  **Feedback Collection for Agent Evolution:**
260
312
 
261
- During 3x3 checkpoints, when the user provides corrections or suggestions about coding patterns, implementation approach, or agent behavior — collect these as **evolution feedback items**. These will be processed in Step 3g-evolve and filed as Linear issues via `linear-suggestion` skill. Look for signals like: universal language ("always", "never"), pattern-level corrections, or explicit requests to update agent behavior.
313
+ During 3x3 checkpoints, when the user provides corrections or suggestions about coding patterns, implementation approach, or agent behavior — **ASK the user explicitly** if they want to create a Linear issue for the improvement.
314
+
315
+ **When user provides a correction or pattern suggestion, ASK:**
316
+
317
+ ```
318
+ 🔄 Detected potential improvement suggestion:
319
+ "[summary of user's correction]"
320
+
321
+ Would you like to create a Linear issue for this pattern improvement?
322
+ - Yes - File as Linear issue in "MobileMS Framework"
323
+ - No - Note for this session only
324
+ - Skip - Ignore this feedback
325
+ ```
326
+
327
+ **Only feedback confirmed with "Yes"** should be collected as **evolution feedback items** and processed in Step 3g-evolve via `linear-suggestion` skill.
328
+
329
+ Look for signals like: universal language ("always", "never"), pattern-level corrections, or explicit requests to update agent behavior.
262
330
 
263
331
  **IMPORTANT**: Also STOP and wait for user confirmation:
264
332
 
@@ -400,12 +468,14 @@ The agent will determine the correct status and provide MCP command to execute.
400
468
 
401
469
  #### Step 3g-evolve: Agent Evolution Checkpoint
402
470
 
471
+ **Prerequisites**: Only execute this step if user confirmed at least one feedback item with "Yes" during 3x3 checkpoints.
472
+
403
473
  **Delegate to `shared-agent-evolver` agent:**
404
474
 
405
475
  ```
406
476
  Analyze feedback from current subtask implementation:
407
477
  - Subtask ID: [current subtask ID]
408
- - User corrections collected during implementation: [list of feedback items]
478
+ - User-confirmed corrections: [list of feedback items where user answered "Yes"]
409
479
  - Files that were implemented: [list of files modified/created]
410
480
  - Patterns the user corrected or suggested: [specific corrections]
411
481
  ```
@@ -420,7 +490,8 @@ The agent will:
420
490
  **IMPORTANT**:
421
491
 
422
492
  - Agent files are NOT modified directly — proposals are filed as Linear issues for manual review
423
- - If no reusable feedback was collected during this subtask, skip this step
493
+ - **Only process feedback explicitly confirmed by user** — do not auto-collect without asking
494
+ - If no user-confirmed feedback was collected during this subtask, skip this step
424
495
  - This step runs BEFORE the subtask pause (Step 3h) so evolution is complete before moving on
425
496
  - If Linear issue creation fails, continue silently — do not block the workflow
426
497
 
@@ -609,7 +680,7 @@ When verification fails, delegate to appropriate fix agent:
609
680
  20. **Capture after screenshots + post to Linear**: After implementation, launch `screenshot-reporter` agent to capture "after" screenshots, generate comparison report, post to Linear, and cleanup
610
681
  21. **Document translations changes**: If `apps/web/public/translations.json` was modified, include a table with added/changed translation keys and their PL/EN values in the Implementation Report
611
682
  22. **Capture screenshots in both modes**: Agent captures screenshots in BOTH normal mode and dark mode (high contrast) for complete visual documentation
612
- 23. **Collect feedback for agent evolution**: During implementation, observe user corrections and suggestions. At evolution checkpoints (Step 3g-evolve, Step 4a-evolve), delegate to `shared-agent-evolver` which files improvement proposals as Linear issues in "MobileMS Framework" via `linear-suggestion` skill.
683
+ 23. **Ask before collecting feedback for agent evolution**: When user provides corrections or suggestions during implementation, **explicitly ask** if they want to create a Linear issue for the improvement. Only user-confirmed feedback (answered "Yes") should be processed at evolution checkpoints (Step 3g-evolve, Step 4a) via `shared-agent-evolver` agent.
613
684
  24. **Never modify agent files directly during implementation**: The `shared-agent-evolver` agent files all proposals as Linear issues for manual review — it does NOT modify agent, command, or skill files directly.
614
685
 
615
686
  ## Example Flow
@@ -1,16 +1,16 @@
1
1
  ---
2
2
  name: linear-suggestion
3
- description: Create a Linear issue in the "MobileMS Framework" project with a suggestion for agent, command, or skill improvements.
3
+ description: Create a Linear issue in the "MobileMS Framework" project with a suggestion for agent or skill improvements.
4
4
  allowed-tools: mcp__linear-server__create_issue
5
5
  ---
6
6
 
7
7
  # Linear Suggestion
8
8
 
9
- Create a Linear issue in the **MobileMS Framework** project containing a suggestion for improving agent definitions, commands, or skills. Used by automated analysis agents to propose changes without blocking the workflow.
9
+ Create a Linear issue in the **MobileMS Framework** project containing a suggestion for improving agent definitions or skills. Used by automated analysis agents to propose changes without blocking the workflow.
10
10
 
11
11
  ## When to Use
12
12
 
13
- - When an automated agent (e.g., `shared-parallelization-analyzer`) identifies a recurring pattern that could improve an agent, command, or skill
13
+ - When an automated agent (e.g., `shared-parallelization-analyzer`) identifies a recurring pattern that could improve an agent or skill
14
14
  - When proposing orchestrator rule changes based on parallelization analysis
15
15
  - When any non-interactive process needs to suggest framework improvements
16
16
 
@@ -18,13 +18,13 @@ Create a Linear issue in the **MobileMS Framework** project containing a suggest
18
18
 
19
19
  The invoking agent must provide:
20
20
 
21
- | Parameter | Required | Description |
22
- | ------------- | -------- | --------------------------------------------------------------- |
23
- | `title` | YES | Short summary of the suggestion (max 100 chars) |
24
- | `description` | YES | Full markdown description with rationale and proposed changes |
21
+ | Parameter | Required | Description |
22
+ | ------------- | -------- | ----------------------------------------------------------------------------- |
23
+ | `title` | YES | Short summary of the suggestion (max 100 chars) |
24
+ | `description` | YES | Full markdown description with rationale and proposed changes |
25
25
  | `source` | YES | Agent that generated the suggestion (e.g., `shared-parallelization-analyzer`) |
26
- | `targetFile` | NO | Path to the file to be modified (e.g., `agents/shared-impl-orchestrator.md`) |
27
- | `category` | NO | One of: `OPTIMIZATION`, `NEW_RULE`, `PATTERN_UPDATE`, `BUG_FIX` |
26
+ | `targetFile` | NO | Path to the file to be modified (e.g., `agents/shared-impl-orchestrator.md`) |
27
+ | `category` | NO | One of: `OPTIMIZATION`, `NEW_RULE`, `PATTERN_UPDATE`, `BUG_FIX` |
28
28
 
29
29
  ## Issue Format
30
30
 
@@ -1,7 +1,42 @@
1
- # Plan Create Command
1
+ ---
2
+ name: plan
3
+ description: Create an implementation plan for a Linear task and save it as a comment. Analyzes codebase, previous commits, and external dependencies to generate detailed plans for tasks and subtasks.
4
+ allowed-tools:
5
+ - Bash
6
+ - Read
7
+ - Glob
8
+ - Grep
9
+ - AskUserQuestion
10
+ - mcp__linear-server__get_issue
11
+ - mcp__linear-server__list_issues
12
+ - mcp__linear-server__list_comments
13
+ - mcp__linear-server__create_comment
14
+ - mcp__linear-server__delete_comment
15
+ ---
16
+
17
+ # Plan Skill
2
18
 
3
19
  Create an implementation plan for a Linear task and save it as a comment. If the task has subtasks, create individual plans for each subtask.
4
20
 
21
+ ## Execution Checklist
22
+
23
+ Execute each step in order. Do not skip any step marked as MANDATORY.
24
+
25
+ - [ ] **1. Fetch Linear task** — get title, description, labels, priority, estimate from MCP Linear server
26
+ - [ ] **2. Fetch subtasks** — check for children; if present, plan each subtask individually
27
+ - [ ] **3. Fetch existing comments** — check parent task and each subtask for existing context
28
+ - [ ] **4. Determine planning needs** — check for existing plans and plan change requests; record old plan comment IDs for replacement; skip tasks with valid plans
29
+ - [ ] **5. Analyze previous commits** — `git log --all --grep="<taskId>"` for each task/subtask
30
+ - [ ] **6. Analyze staged changes** — `git status` and `git diff --cached` for work in progress
31
+ - [ ] **7. MANDATORY: Analyze codebase** — explore affected files, patterns, dependencies, and test coverage
32
+ - [ ] **8. Analyze external library deps** — check if `@smartsoft001` or `@smartsoft001-mobilems` changes are needed (mark as separate process)
33
+ - [ ] **9. Create implementation plans** — generate structured plans per task/subtask with all required sections
34
+ - [ ] **10. MANDATORY: Write plans in Polish** — all plan content must be in Polish language
35
+ - [ ] **11. Show plans to user** — present plans for review and approval before saving
36
+ - [ ] **12. MANDATORY: Confirm old plan deletion** — if replacing existing plans, ask user to confirm deletion of old plan comments before proceeding
37
+ - [ ] **13. Delete old plan comments and save new ones** — delete outdated plan comments from Linear, then post new plans via MCP
38
+ - [ ] **14. Confirm to user** — list saved plans with summaries and Linear links
39
+
5
40
  ## Role
6
41
 
7
42
  **You are a highly experienced software architect** with:
@@ -105,6 +140,9 @@ Create a list of tasks/subtasks that need planning:
105
140
 
106
141
  - `tasksNeedingPlan`: Array of task IDs that need a new or updated plan
107
142
  - `tasksWithExistingPlan`: Array of task IDs that already have valid plans (skip these)
143
+ - `oldPlanCommentIds`: Map of task ID → comment ID for existing plan comments that will be replaced (needed for deletion in Step 9)
144
+
145
+ **Important**: When a plan change is requested, record the **comment ID** of the existing plan comment. This ID is needed later to delete the old plan before saving the new one.
108
146
 
109
147
  **Important**: If ALL tasks already have valid plans and no changes are requested, inform the user and ask if they want to regenerate plans anyway.
110
148
 
@@ -405,7 +443,45 @@ _Plan generated by Claude Code_
405
443
  _Plan generated by Claude Code_
406
444
  ```
407
445
 
408
- ### Step 9: Save Plans as Comments
446
+ ### Step 9: Confirm and Delete Old Plan Comments
447
+
448
+ **This step applies only when replacing existing plans** (i.e., `oldPlanCommentIds` from Step 3a is not empty).
449
+
450
+ Before saving new plans, ask the user to confirm deletion of old plan comments:
451
+
452
+ ```markdown
453
+ ## Zastąpienie istniejących planów
454
+
455
+ Następujące komentarze z planami zostaną usunięte i zastąpione nowymi:
456
+
457
+ | Task | Stary komentarz (ID) |
458
+ | --------- | -------------------- |
459
+ | <task-id> | <comment-id> |
460
+
461
+ Czy potwierdzasz usunięcie starych planów i zapisanie nowych?
462
+ ```
463
+
464
+ Use `AskUserQuestion` tool with options:
465
+
466
+ - "Tak, usuń stare plany i zapisz nowe" (Recommended)
467
+ - "Nie, zachowaj stare plany (zapisz nowe obok)"
468
+ - "Anuluj"
469
+
470
+ **If user confirms deletion:**
471
+
472
+ 1. For each task in `oldPlanCommentIds`, delete the old plan comment using `mcp__linear-server__delete_comment`
473
+ 2. If `delete_comment` is not available, add a strikethrough header to the old comment body: `~~## Implementation Plan~~ (Zastąpiony nowym planem)` — use `mcp__linear-server__update_comment` as fallback
474
+ 3. Then proceed to save new plan comments
475
+
476
+ **If user chooses to keep old plans:**
477
+
478
+ - Skip deletion, save new plans as additional comments (old plans remain)
479
+
480
+ **If user cancels:**
481
+
482
+ - Stop the entire process, do not save any plans
483
+
484
+ ### Step 9a: Save New Plans as Comments
409
485
 
410
486
  Use the MCP Linear server to create comments:
411
487
 
@@ -443,6 +519,7 @@ After successfully saving the plans, confirm to the user:
443
519
  12. **Identify external library changes**: Always check if task requires changes in `@smartsoft001` (repo: `../smartsoft001`) or `@smartsoft001-mobilems` (repo: `../mobilems-framework`). Mark these as separate process items, not part of current implementation
444
520
  13. **Skip tasks with existing plans**: Only create plans for tasks that don't have a plan yet, or where a newer comment requests plan changes. Don't regenerate plans unnecessarily.
445
521
  14. **Detect plan change requests**: Look for keywords in newer comments that indicate a plan change is needed (e.g., "zmień plan", "zaktualizuj plan", "popraw plan", "uwagi do planu")
522
+ 15. **Delete old plans when replacing**: When creating a replacement plan, always ask user to confirm deletion of the old plan comment. Delete old comment before saving new one to keep Linear comments clean. Record old plan comment IDs during Step 3a for use in Step 9
446
523
 
447
524
  ## Example with Subtasks
448
525
 
@@ -1,7 +1,63 @@
1
- # Push Command
1
+ ---
2
+ name: push
3
+ description: Push local changes to remote repository, update Linear task status, monitor CI pipeline, verify QA deployment, and optionally create pull requests for feature branches.
4
+ allowed-tools:
5
+ - Bash
6
+ - Read
7
+ - Glob
8
+ - Grep
9
+ - AskUserQuestion
10
+ - WebFetch
11
+ - mcp__linear-server__get_issue
12
+ - mcp__linear-server__list_issues
13
+ - mcp__linear-server__list_comments
14
+ - mcp__linear-server__create_comment
15
+ - mcp__linear-server__update_issue
16
+ - mcp__linear-server__list_issue_statuses
17
+ ---
18
+
19
+ # Push Skill
2
20
 
3
21
  Push local changes to remote and optionally update Linear task status.
4
22
 
23
+ ## Execution Checklist
24
+
25
+ Execute each step in order. Do not skip any step marked as MANDATORY.
26
+
27
+ ### Pre-Push
28
+
29
+ - [ ] **1. Check git status** — verify branch, commits ahead, warn about uncommitted changes
30
+ - [ ] **2. Get commits to push** — `git log origin/<branch>..HEAD --oneline`; exit if none
31
+ - [ ] **3. Fetch Linear task** — get title, status, subtasks and their statuses via MCP
32
+ - [ ] **4. Analyze subtasks** — classify completed vs incomplete, find reasons for incomplete ones
33
+ - [ ] **5. MANDATORY: Show summary to user** — present commits + subtask status, ask about status change
34
+ - [ ] **6. Update Linear status** — BEFORE push: set completed subtasks to "In Review", post summary comment in Polish
35
+ - [ ] **7. MANDATORY: Write Linear comments in Polish** — all comments must be in Polish language
36
+
37
+ ### Push
38
+
39
+ - [ ] **8. Push to remote** — `git push`; handle errors gracefully
40
+
41
+ ### Post-Push (branch-specific)
42
+
43
+ #### If `development` branch:
44
+
45
+ - [ ] **9a. Ask about deployment verification** — offer optional CI monitoring + QA check
46
+ - [ ] **10a. Monitor CI pipeline** — poll `gh run view` every 30s until completion
47
+ - [ ] **11a. Handle CI failure** — revert task to "To Do", post error comment to Linear
48
+ - [ ] **12a. Verify package.json update** — `git pull`, compare versions
49
+ - [ ] **13a. Verify QA deployment** — wait 5 min, check `<meta name="app-version">` matches
50
+
51
+ #### If feature branch:
52
+
53
+ - [ ] **9b. Check for existing PR** — `gh pr list --head <branch> --base development`
54
+ - [ ] **10b. Ask about PR creation** — if no PR exists and subtasks are ready
55
+ - [ ] **11b. Create PR** — `gh pr create` with structured summary
56
+
57
+ ### Final
58
+
59
+ - [ ] **12. Show final status** — complete summary of all actions taken
60
+
5
61
  ## Usage
6
62
 
7
63
  ```
@@ -345,6 +401,7 @@ If user chooses not to verify, end the command here.
345
401
  2. **Revert Linear task to "To Do"**:
346
402
 
347
403
  If Linear task was provided and status was changed to "In Review":
404
+
348
405
  - Move the parent task back to "To Do" status
349
406
  - For tasks with subtasks: Move all subtasks that were changed to "In Review" back to "To Do"
350
407
 
@@ -366,9 +423,10 @@ If user chooses not to verify, end the command here.
366
423
  **URL**: https://github.com/<owner>/<repo>/actions/runs/<run-id>
367
424
 
368
425
  ### Error Details
369
-
370
426
  ```
427
+
371
428
  <last 50-100 lines of error logs from gh run view --log-failed>
429
+
372
430
  ```
373
431
 
374
432
  ### Status
@@ -1,6 +1,6 @@
1
1
  # Flow-Legacy Plugin for Claude Code
2
2
 
3
- Development flow commands for **legacy Angular 14 projects** with Linear-driven workflow.
3
+ Development flow skills for **legacy Angular 14 projects** with Linear-driven workflow.
4
4
 
5
5
  ## Target Projects
6
6
 
@@ -22,10 +22,10 @@ This plugin is designed for older MobileMS projects using:
22
22
  | Components | NgModules | Standalone |
23
23
  | Nx packages | `@nrwl/*` | `@nx/*` |
24
24
 
25
- ## Commands
25
+ ## Workflow Skills
26
26
 
27
- | Command | Description |
28
- |---------|-------------|
27
+ | Skill | Description |
28
+ |-------|-------------|
29
29
  | `/commit` | Create conventional commit based on Linear task |
30
30
  | `/impl` | Implement plans from Linear task comments |
31
31
  | `/plan` | Create implementation plan and save to Linear |
@@ -67,15 +67,15 @@ Configure these in your `.mcp.json`:
67
67
  - Nx commands (test, lint, build)
68
68
  - Linear API (read/write issues, comments)
69
69
  - Playwright (screenshots)
70
- - Internal skills
70
+ - Utility skills
71
71
 
72
72
  ### Requires Confirmation (ask)
73
- - Flow commands (/commit, /impl, /plan, /push)
73
+ - Workflow skills (/commit, /impl, /plan, /push)
74
74
  - `git commit` - creating commits
75
75
  - `git push` - pushing to remote
76
76
  - `gh pr create` - creating pull requests
77
77
 
78
- ## Skills
78
+ ## Utility Skills
79
79
 
80
80
  | Skill | Description |
81
81
  |-------|-------------|
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "flow-legacy",
3
- "description": "Development flow commands for legacy Angular 14 projects with Linear-driven workflow",
4
- "version": "2.71.0"
3
+ "description": "Development flow skills for legacy Angular 14 projects with Linear-driven workflow",
4
+ "version": "2.72.0"
5
5
  }
@@ -38,6 +38,7 @@
38
38
  "mcp__linear-server__list_issues",
39
39
  "mcp__linear-server__list_comments",
40
40
  "mcp__linear-server__create_comment",
41
+ "mcp__linear-server__delete_comment",
41
42
  "mcp__linear-server__update_issue",
42
43
  "mcp__linear-server__list_issue_statuses",
43
44
  "mcp__linear-server__create_issue",
@@ -72,4 +73,4 @@
72
73
  "enabledPlugins": {
73
74
  "flow-legacy@mobilems": true
74
75
  }
75
- }
76
+ }
@@ -1,4 +1,17 @@
1
- # Commit Command
1
+ ---
2
+ name: commit
3
+ description: Create a conventional commit message based on Linear task and staged changes. Fetches task details, analyzes changes, generates commit message, and optionally runs parallelization analysis.
4
+ allowed-tools:
5
+ - Bash
6
+ - Read
7
+ - Glob
8
+ - Grep
9
+ - AskUserQuestion
10
+ - mcp__linear-server__get_issue
11
+ - mcp__linear-server__list_comments
12
+ ---
13
+
14
+ # Commit Skill
2
15
 
3
16
  Create a conventional commit message based on Linear task and staged changes.
4
17
 
@@ -12,6 +25,20 @@ Create a conventional commit message based on Linear task and staged changes.
12
25
 
13
26
  - `linearTaskId` - Linear task ID (e.g., ENG-123)
14
27
 
28
+ ## Execution Checklist
29
+
30
+ Execute each step in order. Do not skip any step marked as MANDATORY.
31
+
32
+ - [ ] **1. Fetch Linear task** — get title, description, labels/type from MCP Linear server
33
+ - [ ] **2. Analyze staged changes** — run `git diff --cached` to understand scope
34
+ - [ ] **3. Verify completeness** — compare task requirements with staged changes; if incomplete, ask user whether to continue or stop
35
+ - [ ] **4. Read commitlint config** — read `commitlint.config.js` for valid scopes and format
36
+ - [ ] **5. Generate commit message** — draft `<type>(<scope>): <subject>` with body and `Refs: <linearTaskId>`
37
+ - [ ] **6. Show message to user** — present commit message for approval before proceeding
38
+ - [ ] **7. MANDATORY: Pre-commit preparation** — run `nvm use 18` (legacy Node.js version)
39
+ - [ ] **8. Create commit** — execute `git commit` with the approved message
40
+ - [ ] **9. Parallelization analysis (optional)** — fetch Linear comments, search for orchestration plan, delegate to `shared-parallelization-analyzer` if found
41
+
15
42
  ## Instructions
16
43
 
17
44
  You are tasked with creating a git commit based on a Linear task and staged changes.
@@ -1,7 +1,59 @@
1
- # Implementation Command
1
+ ---
2
+ name: impl
3
+ description: Implement plans from Linear task comments using Angular 14 legacy patterns. Iteratively processes subtasks with TDD, UI classification, agent orchestration, and 3x3 rule checkpoints.
4
+ allowed-tools:
5
+ - Bash
6
+ - Read
7
+ - Edit
8
+ - Write
9
+ - Glob
10
+ - Grep
11
+ - AskUserQuestion
12
+ - Task
13
+ - mcp__linear-server__get_issue
14
+ - mcp__linear-server__list_issues
15
+ - mcp__linear-server__list_comments
16
+ - mcp__linear-server__create_comment
17
+ - mcp__linear-server__update_issue
18
+ - mcp__linear-server__list_issue_statuses
19
+ ---
20
+
21
+ # Implementation Skill
2
22
 
3
23
  Implement plans from Linear task comments. For tasks with subtasks, iteratively implement each subtask that is in "To Do" status.
4
24
 
25
+ ## Execution Checklist
26
+
27
+ Execute each step in order. Do not skip any step marked as MANDATORY.
28
+
29
+ ### Initial Setup
30
+
31
+ - [ ] **1. Fetch task and subtasks** — delegate to `shared-linear-subtask-iterator` agent
32
+
33
+ ### Per Subtask (repeat for each "To Do" subtask)
34
+
35
+ - [ ] **2. Set status to "In Progress"** — update subtask status via MCP (subtasks only, not parent)
36
+ - [ ] **3. Fetch implementation plan** — find `## Implementation Plan` in task comments
37
+ - [ ] **4. MANDATORY: UI change classification** — delegate to `shared-ui-classifier` agent, output `UI_CHANGE_REQUIRED: YES/NO`
38
+ - [ ] **5. MANDATORY: Agent orchestration plan** — delegate to `shared-impl-orchestrator` with `Angular Version: 14 (LEGACY)`, post plan to Linear
39
+ - [ ] **6. Check external library blockers** — if blockers found, set status to Blocked and skip
40
+ - [ ] **7. Capture "before" screenshots** — if `UI_CHANGE_REQUIRED: YES`, launch `screenshot-reporter` in background
41
+ - [ ] **8. MANDATORY: Implement with 3x3 rule** — pause every 3 changes, use `shared-tdd-developer` for ALL code (RED → GREEN → REFACTOR)
42
+ - [ ] **9. MANDATORY: Use Angular 14 patterns** — `*ngIf`/`*ngFor`, constructor DI, `@Input()`/`@Output()`, BehaviorSubject — NEVER signals, `@if`/`@for`, `inject()`
43
+ - [ ] **10. Verify implementation** — run tests, lint, build check
44
+ - [ ] **11. Capture "after" screenshots** — if `UI_CHANGE_REQUIRED: YES`, capture + post comparison to Linear + cleanup
45
+ - [ ] **12. MANDATORY: Screenshot verification** — output `SCREENSHOT_REQUIREMENT_MET: YES/NO`, block if missing
46
+ - [ ] **13. Create completion comment** — delegate to `shared-impl-reporter`, post to Linear
47
+ - [ ] **14. MANDATORY: Write reports in Polish** — all Linear comments must be in Polish language
48
+ - [ ] **15. Update status** — delegate to `shared-linear-subtask-iterator` for status determination
49
+ - [ ] **16. Agent evolution** — if user confirmed feedback, delegate to `shared-agent-evolver`
50
+ - [ ] **17. Pause for user confirmation** — ALWAYS wait before proceeding to next subtask
51
+
52
+ ### Finalization
53
+
54
+ - [ ] **18. Final summary** — present summary of all subtasks with statuses
55
+ - [ ] **19. ALWAYS pause** — wait for user confirmation at end
56
+
5
57
  ## Role
6
58
 
7
59
  **You are a highly experienced senior TypeScript developer** with:
@@ -30,6 +82,7 @@ You implement code that is:
30
82
  **ALWAYS use these patterns in legacy projects:**
31
83
 
32
84
  ### Components
85
+
33
86
  ```typescript
34
87
  // CORRECT (Angular 14)
35
88
  @Component({
@@ -45,7 +98,7 @@ export class ExampleComponent implements OnInit {
45
98
 
46
99
  constructor(
47
100
  private readonly dataService: DataService,
48
- private readonly router: Router
101
+ private readonly router: Router,
49
102
  ) {}
50
103
 
51
104
  ngOnInit(): void {
@@ -61,13 +114,12 @@ export class ExampleComponent implements OnInit {
61
114
  ```
62
115
 
63
116
  ### Templates
117
+
64
118
  ```html
65
119
  <!-- CORRECT (Angular 14) -->
66
120
  <div *ngIf="isLoading">Loading...</div>
67
121
  <ul *ngIf="items.length > 0">
68
- <li *ngFor="let item of items; trackBy: trackByFn">
69
- {{ item.name }}
70
- </li>
122
+ <li *ngFor="let item of items; trackBy: trackByFn">{{ item.name }}</li>
71
123
  </ul>
72
124
 
73
125
  <!-- WRONG (Angular 20+ - DO NOT USE) -->
@@ -76,6 +128,7 @@ export class ExampleComponent implements OnInit {
76
128
  ```
77
129
 
78
130
  ### Services
131
+
79
132
  ```typescript
80
133
  // CORRECT (Angular 14)
81
134
  @Injectable({ providedIn: 'root' })
@@ -295,6 +348,7 @@ Use tools:
295
348
  - `Glob` and `Grep` for additional exploration if needed
296
349
 
297
350
  **CRITICAL - Angular 14 Pattern Enforcement:**
351
+
298
352
  - ALWAYS use `*ngIf`, `*ngFor` in templates
299
353
  - ALWAYS use constructor injection
300
354
  - ALWAYS use `@Input()`, `@Output()` decorators
@@ -313,6 +367,7 @@ Use tools:
313
367
  3. ✅ [Change 3 description] - `path/to/file3.ts`
314
368
 
315
369
  ### Angular 14 Patterns Used
370
+
316
371
  - Constructor DI: ✅
317
372
  - *ngIf/*ngFor: ✅
318
373
  - @Input/@Output: ✅
@@ -332,6 +387,26 @@ Use tools:
332
387
  Continue? (yes/no/adjust)
333
388
  ```
334
389
 
390
+ **Feedback Collection for Agent Evolution:**
391
+
392
+ During 3x3 checkpoints, when the user provides corrections or suggestions about coding patterns, implementation approach, or agent behavior — **ASK the user explicitly** if they want to create a Linear issue for the improvement.
393
+
394
+ **When user provides a correction or pattern suggestion, ASK:**
395
+
396
+ ```
397
+ 🔄 Detected potential improvement suggestion:
398
+ "[summary of user's correction]"
399
+
400
+ Would you like to create a Linear issue for this pattern improvement?
401
+ - Yes - File as Linear issue in "MobileMS Framework"
402
+ - No - Note for this session only
403
+ - Skip - Ignore this feedback
404
+ ```
405
+
406
+ **Only feedback confirmed with "Yes"** should be collected as **evolution feedback items** and processed in Step 3g-evolve via `linear-suggestion` skill.
407
+
408
+ Look for signals like: universal language ("always", "never"), pattern-level corrections, or explicit requests to update agent behavior.
409
+
335
410
  #### Step 3e: Verify Implementation
336
411
 
337
412
  After implementing:
@@ -408,6 +483,35 @@ The agent will determine the correct status and provide MCP command to execute.
408
483
 
409
484
  **Execute the status update** via MCP Linear server.
410
485
 
486
+ #### Step 3g-evolve: Agent Evolution Checkpoint
487
+
488
+ **Prerequisites**: Only execute this step if user confirmed at least one feedback item with "Yes" during 3x3 checkpoints.
489
+
490
+ **Delegate to `shared-agent-evolver` agent:**
491
+
492
+ ```
493
+ Analyze feedback from current subtask implementation:
494
+ - Subtask ID: [current subtask ID]
495
+ - User-confirmed corrections: [list of feedback items where user answered "Yes"]
496
+ - Files that were implemented: [list of files modified/created]
497
+ - Patterns the user corrected or suggested: [specific corrections]
498
+ ```
499
+
500
+ The agent will:
501
+
502
+ 1. Classify each feedback item (IGNORE / EVOLVE_PATTERN / EVOLVE_RULE / EVOLVE_TEMPLATE / CREATE_AGENT / UPDATE_WORKFLOW)
503
+ 2. Generate proposals for non-IGNORE items
504
+ 3. File each proposal as a Linear issue in "MobileMS Framework" via `linear-suggestion` skill
505
+ 4. Return Evolution Report with created issue IDs
506
+
507
+ **IMPORTANT**:
508
+
509
+ - Agent files are NOT modified directly — proposals are filed as Linear issues for manual review
510
+ - **Only process feedback explicitly confirmed by user** — do not auto-collect without asking
511
+ - If no user-confirmed feedback was collected during this subtask, skip this step
512
+ - This step runs BEFORE the subtask pause (Step 3h) so evolution is complete before moving on
513
+ - If Linear issue creation fails, continue silently — do not block the workflow
514
+
411
515
  #### Step 3h: Pause After Subtask Completion
412
516
 
413
517
  **Delegate to `shared-linear-subtask-iterator` agent:**
@@ -460,13 +564,14 @@ To Do → In Progress → In Review (if completed)
460
564
 
461
565
  **ALWAYS stop and wait for user confirmation at these points:**
462
566
 
463
- | Pause Point | When | What to Show |
464
- | -------------------- | ----------------------------------- | ----------------------------------- |
465
- | **3x3 Checkpoint** | After every 3 changes | Summary of 3 changes + next 3 steps |
466
- | **Subtask Complete** | After finishing each subtask | Subtask summary + next subtask info |
467
- | **Task Complete** | After finishing all subtasks | Final summary with all results |
468
- | **Blocker Found** | When external dependency found | Blocker details + options |
469
- | **Error/Issue** | When unexpected problem occurs | Error details + proposed solution |
567
+ | Pause Point | When | What to Show |
568
+ | -------------------- | ----------------------------------- | ----------------------------------------- |
569
+ | **3x3 Checkpoint** | After every 3 changes | Summary of 3 changes + next 3 steps |
570
+ | **Subtask Complete** | After finishing each subtask | Subtask summary + next subtask info |
571
+ | **Task Complete** | After finishing all subtasks | Final summary with all results |
572
+ | **Blocker Found** | When external dependency found | Blocker details + options |
573
+ | **Error/Issue** | When unexpected problem occurs | Error details + proposed solution |
574
+ | **Agent Evolution** | After subtask / after final summary | Evolution report with filed Linear issues |
470
575
 
471
576
  **Never proceed automatically** - always wait for explicit user confirmation before:
472
577
 
@@ -489,6 +594,7 @@ To Do → In Progress → In Review (if completed)
489
594
  11. **Follow existing patterns**: Match the codebase conventions when implementing
490
595
  12. **Commit changes**: After each subtask implementation, consider if a commit is needed
491
596
  13. **Ask for clarification**: If implementation plan is unclear, ask before proceeding
597
+ 14. **Ask before collecting feedback for agent evolution**: When user provides corrections or suggestions during implementation, **explicitly ask** if they want to create a Linear issue for the improvement. Only user-confirmed feedback (answered "Yes") should be processed at evolution checkpoints (Step 3g-evolve) via `shared-agent-evolver` agent.
492
598
 
493
599
  ---
494
600
 
@@ -1,16 +1,16 @@
1
1
  ---
2
2
  name: linear-suggestion
3
- description: Create a Linear issue in the "MobileMS Framework" project with a suggestion for agent, command, or skill improvements.
3
+ description: Create a Linear issue in the "MobileMS Framework" project with a suggestion for agent or skill improvements.
4
4
  allowed-tools: mcp__linear-server__create_issue
5
5
  ---
6
6
 
7
7
  # Linear Suggestion
8
8
 
9
- Create a Linear issue in the **MobileMS Framework** project containing a suggestion for improving agent definitions, commands, or skills. Used by automated analysis agents to propose changes without blocking the workflow.
9
+ Create a Linear issue in the **MobileMS Framework** project containing a suggestion for improving agent definitions or skills. Used by automated analysis agents to propose changes without blocking the workflow.
10
10
 
11
11
  ## When to Use
12
12
 
13
- - When an automated agent (e.g., `shared-parallelization-analyzer`) identifies a recurring pattern that could improve an agent, command, or skill
13
+ - When an automated agent (e.g., `shared-parallelization-analyzer`) identifies a recurring pattern that could improve an agent or skill
14
14
  - When proposing orchestrator rule changes based on parallelization analysis
15
15
  - When any non-interactive process needs to suggest framework improvements
16
16
 
@@ -18,13 +18,13 @@ Create a Linear issue in the **MobileMS Framework** project containing a suggest
18
18
 
19
19
  The invoking agent must provide:
20
20
 
21
- | Parameter | Required | Description |
22
- | ------------- | -------- | --------------------------------------------------------------- |
23
- | `title` | YES | Short summary of the suggestion (max 100 chars) |
24
- | `description` | YES | Full markdown description with rationale and proposed changes |
21
+ | Parameter | Required | Description |
22
+ | ------------- | -------- | ----------------------------------------------------------------------------- |
23
+ | `title` | YES | Short summary of the suggestion (max 100 chars) |
24
+ | `description` | YES | Full markdown description with rationale and proposed changes |
25
25
  | `source` | YES | Agent that generated the suggestion (e.g., `shared-parallelization-analyzer`) |
26
- | `targetFile` | NO | Path to the file to be modified (e.g., `agents/shared-impl-orchestrator.md`) |
27
- | `category` | NO | One of: `OPTIMIZATION`, `NEW_RULE`, `PATTERN_UPDATE`, `BUG_FIX` |
26
+ | `targetFile` | NO | Path to the file to be modified (e.g., `agents/shared-impl-orchestrator.md`) |
27
+ | `category` | NO | One of: `OPTIMIZATION`, `NEW_RULE`, `PATTERN_UPDATE`, `BUG_FIX` |
28
28
 
29
29
  ## Issue Format
30
30
 
@@ -129,4 +129,4 @@ Linear issue created:
129
129
  - ID: MOB-815
130
130
  - Title: [Agent Suggestion] Add parallel scaffolding rule to orchestrator
131
131
  - URL: https://linear.app/mobilems/issue/MOB-815
132
- ```
132
+ ```
@@ -1,7 +1,43 @@
1
- # Plan Create Command
1
+ ---
2
+ name: plan
3
+ description: Create an implementation plan for a Linear task and save it as a comment. Analyzes codebase with Angular 14 legacy patterns, previous commits, and external dependencies.
4
+ allowed-tools:
5
+ - Bash
6
+ - Read
7
+ - Glob
8
+ - Grep
9
+ - AskUserQuestion
10
+ - mcp__linear-server__get_issue
11
+ - mcp__linear-server__list_issues
12
+ - mcp__linear-server__list_comments
13
+ - mcp__linear-server__create_comment
14
+ - mcp__linear-server__delete_comment
15
+ ---
16
+
17
+ # Plan Skill
2
18
 
3
19
  Create an implementation plan for a Linear task and save it as a comment. If the task has subtasks, create individual plans for each subtask.
4
20
 
21
+ ## Execution Checklist
22
+
23
+ Execute each step in order. Do not skip any step marked as MANDATORY.
24
+
25
+ - [ ] **1. Fetch Linear task** — get title, description, labels, priority, estimate from MCP Linear server
26
+ - [ ] **2. Fetch subtasks** — check for children; if present, plan each subtask individually
27
+ - [ ] **3. Fetch existing comments** — check parent task and each subtask for existing context
28
+ - [ ] **4. Determine planning needs** — check for existing plans and plan change requests; record old plan comment IDs for replacement; skip tasks with valid plans
29
+ - [ ] **5. Analyze previous commits** — `git log --all --grep="<taskId>"` for each task/subtask
30
+ - [ ] **6. Analyze staged changes** — `git status` and `git diff --cached` for work in progress
31
+ - [ ] **7. MANDATORY: Analyze codebase** — explore affected files, patterns, dependencies, and test coverage
32
+ - [ ] **8. MANDATORY: Verify Angular 14 patterns** — confirm `*ngIf`/`*ngFor`, constructor DI, `@Input()`/`@Output()`, BehaviorSubject in existing code
33
+ - [ ] **9. Analyze external library deps** — check if `@smartsoft001` or `@smartsoft001-mobilems` changes are needed (mark as separate process)
34
+ - [ ] **10. Create implementation plans** — generate structured plans per task/subtask with all required sections, using Angular 14 patterns
35
+ - [ ] **11. MANDATORY: Write plans in Polish** — all plan content must be in Polish language
36
+ - [ ] **12. Show plans to user** — present plans for review and approval before saving
37
+ - [ ] **13. MANDATORY: Confirm old plan deletion** — if replacing existing plans, ask user to confirm deletion of old plan comments before proceeding
38
+ - [ ] **14. Delete old plan comments and save new ones** — delete outdated plan comments from Linear, then post new plans via MCP
39
+ - [ ] **15. Confirm to user** — list saved plans with summaries and Linear links
40
+
5
41
  ## Role
6
42
 
7
43
  **You are a highly experienced software architect** with:
@@ -38,17 +74,20 @@ You create plans that are:
38
74
  When creating plans, always use these legacy patterns:
39
75
 
40
76
  ### Components
77
+
41
78
  - Use `@Component` with `NgModule` (NOT standalone)
42
79
  - Use `*ngIf` and `*ngFor` (NOT `@if` and `@for`)
43
80
  - Use constructor injection (NOT `inject()`)
44
81
  - Use `@Input()` and `@Output()` decorators (NOT `input()`, `output()`)
45
82
 
46
83
  ### Services
84
+
47
85
  - Use `BehaviorSubject` and `Observable` (NOT signals)
48
86
  - Use constructor injection
49
87
  - Use `@Injectable({ providedIn: 'root' })` or module providers
50
88
 
51
89
  ### State Management
90
+
52
91
  - Use NgRx Store/Effects or BehaviorSubject patterns
53
92
  - NO signals, computed(), or effect()
54
93
 
@@ -126,6 +165,9 @@ Create a list of tasks/subtasks that need planning:
126
165
 
127
166
  - `tasksNeedingPlan`: Array of task IDs that need a new or updated plan
128
167
  - `tasksWithExistingPlan`: Array of task IDs that already have valid plans (skip these)
168
+ - `oldPlanCommentIds`: Map of task ID → comment ID for existing plan comments that will be replaced (needed for deletion in Step 9)
169
+
170
+ **Important**: When a plan change is requested, record the **comment ID** of the existing plan comment. This ID is needed later to delete the old plan before saving the new one.
129
171
 
130
172
  **Important**: If ALL tasks already have valid plans and no changes are requested, inform the user and ask if they want to regenerate plans anyway.
131
173
 
@@ -185,6 +227,7 @@ Use tools like:
185
227
  - `Read` to understand specific implementations
186
228
 
187
229
  **Important**: Always check for Angular 14 patterns in existing code:
230
+
188
231
  - Look for `*ngIf`, `*ngFor` usage (NOT `@if`, `@for`)
189
232
  - Look for constructor injection patterns
190
233
  - Look for `@Input()`, `@Output()` decorators
@@ -297,6 +340,7 @@ Create a **separate plan for each subtask** that includes:
297
340
  [Key findings from codebase exploration]
298
341
 
299
342
  **Angular 14 patterns to follow:**
343
+
300
344
  - Use `*ngIf` / `*ngFor` for control flow
301
345
  - Use constructor injection for DI
302
346
  - Use `@Input()` / `@Output()` for component communication
@@ -393,6 +437,7 @@ _Plan generated by Claude Code (flow-legacy)_
393
437
  [Findings specific to this subtask]
394
438
 
395
439
  **Angular 14 patterns to follow:**
440
+
396
441
  - Use `*ngIf` / `*ngFor` for control flow
397
442
  - Use constructor injection for DI
398
443
  - Use `@Input()` / `@Output()` for component communication
@@ -443,7 +488,45 @@ _Plan generated by Claude Code (flow-legacy)_
443
488
  _Plan generated by Claude Code (flow-legacy)_
444
489
  ```
445
490
 
446
- ### Step 9: Save Plans as Comments
491
+ ### Step 9: Confirm and Delete Old Plan Comments
492
+
493
+ **This step applies only when replacing existing plans** (i.e., `oldPlanCommentIds` from Step 3a is not empty).
494
+
495
+ Before saving new plans, ask the user to confirm deletion of old plan comments:
496
+
497
+ ```markdown
498
+ ## Zastąpienie istniejących planów
499
+
500
+ Następujące komentarze z planami zostaną usunięte i zastąpione nowymi:
501
+
502
+ | Task | Stary komentarz (ID) |
503
+ | --------- | -------------------- |
504
+ | <task-id> | <comment-id> |
505
+
506
+ Czy potwierdzasz usunięcie starych planów i zapisanie nowych?
507
+ ```
508
+
509
+ Use `AskUserQuestion` tool with options:
510
+
511
+ - "Tak, usuń stare plany i zapisz nowe" (Recommended)
512
+ - "Nie, zachowaj stare plany (zapisz nowe obok)"
513
+ - "Anuluj"
514
+
515
+ **If user confirms deletion:**
516
+
517
+ 1. For each task in `oldPlanCommentIds`, delete the old plan comment using `mcp__linear-server__delete_comment`
518
+ 2. If `delete_comment` is not available, add a strikethrough header to the old comment body: `~~## Implementation Plan~~ (Zastąpiony nowym planem)` — use `mcp__linear-server__update_comment` as fallback
519
+ 3. Then proceed to save new plan comments
520
+
521
+ **If user chooses to keep old plans:**
522
+
523
+ - Skip deletion, save new plans as additional comments (old plans remain)
524
+
525
+ **If user cancels:**
526
+
527
+ - Stop the entire process, do not save any plans
528
+
529
+ ### Step 9a: Save New Plans as Comments
447
530
 
448
531
  Use the MCP Linear server to create comments:
449
532
 
@@ -482,6 +565,7 @@ After successfully saving the plans, confirm to the user:
482
565
  13. **Skip tasks with existing plans**: Only create plans for tasks that don't have a plan yet, or where a newer comment requests plan changes. Don't regenerate plans unnecessarily.
483
566
  14. **Detect plan change requests**: Look for keywords in newer comments that indicate a plan change is needed (e.g., "zmień plan", "zaktualizuj plan", "popraw plan", "uwagi do planu")
484
567
  15. **Use Angular 14 patterns**: Always plan for `*ngIf`/`*ngFor`, constructor DI, `@Input()`/`@Output()`, BehaviorSubject - NOT signals, `@if`/`@for`, or `inject()`
568
+ 16. **Delete old plans when replacing**: When creating a replacement plan, always ask user to confirm deletion of the old plan comment. Delete old comment before saving new one to keep Linear comments clean. Record old plan comment IDs during Step 3a for use in Step 9
485
569
 
486
570
  ---
487
571
 
@@ -1,7 +1,63 @@
1
- # Push Command
1
+ ---
2
+ name: push
3
+ description: Push local changes to remote repository, update Linear task status, monitor CI pipeline, verify QA deployment, and optionally create pull requests for feature branches. Uses Angular 14 legacy patterns.
4
+ allowed-tools:
5
+ - Bash
6
+ - Read
7
+ - Glob
8
+ - Grep
9
+ - AskUserQuestion
10
+ - WebFetch
11
+ - mcp__linear-server__get_issue
12
+ - mcp__linear-server__list_issues
13
+ - mcp__linear-server__list_comments
14
+ - mcp__linear-server__create_comment
15
+ - mcp__linear-server__update_issue
16
+ - mcp__linear-server__list_issue_statuses
17
+ ---
18
+
19
+ # Push Skill
2
20
 
3
21
  Push local changes to remote and optionally update Linear task status.
4
22
 
23
+ ## Execution Checklist
24
+
25
+ Execute each step in order. Do not skip any step marked as MANDATORY.
26
+
27
+ ### Pre-Push
28
+
29
+ - [ ] **1. Check git status** — verify branch, commits ahead, warn about uncommitted changes
30
+ - [ ] **2. Get commits to push** — `git log origin/<branch>..HEAD --oneline`; exit if none
31
+ - [ ] **3. Fetch Linear task** — get title, status, subtasks and their statuses via MCP
32
+ - [ ] **4. Analyze subtasks** — classify completed vs incomplete, find reasons for incomplete ones
33
+ - [ ] **5. MANDATORY: Show summary to user** — present commits + subtask status, ask about status change
34
+ - [ ] **6. Update Linear status** — BEFORE push: set completed subtasks to "In Review", post summary comment in Polish
35
+ - [ ] **7. MANDATORY: Write Linear comments in Polish** — all comments must be in Polish language
36
+
37
+ ### Push
38
+
39
+ - [ ] **8. Push to remote** — `git push`; handle errors gracefully
40
+
41
+ ### Post-Push (branch-specific)
42
+
43
+ #### If `development` branch:
44
+
45
+ - [ ] **9a. Ask about deployment verification** — offer optional CI monitoring + QA check
46
+ - [ ] **10a. Monitor CI pipeline** — poll `gh run view` every 30s until completion
47
+ - [ ] **11a. Handle CI failure** — revert task to "To Do", post error comment to Linear
48
+ - [ ] **12a. Verify package.json update** — `git pull`, compare versions
49
+ - [ ] **13a. Verify QA deployment** — wait 5 min, check `<meta name="app-version">` matches
50
+
51
+ #### If feature branch:
52
+
53
+ - [ ] **9b. Check for existing PR** — `gh pr list --head <branch> --base development`
54
+ - [ ] **10b. Ask about PR creation** — if no PR exists and subtasks are ready
55
+ - [ ] **11b. Create PR** — `gh pr create` with structured summary including Angular 14 tech stack
56
+
57
+ ### Final
58
+
59
+ - [ ] **12. Show final status** — complete summary of all actions taken
60
+
5
61
  ## Usage
6
62
 
7
63
  ```
@@ -346,6 +402,7 @@ If user chooses not to verify, end the command here.
346
402
  2. **Revert Linear task to "To Do"**:
347
403
 
348
404
  If Linear task was provided and status was changed to "In Review":
405
+
349
406
  - Move the parent task back to "To Do" status
350
407
  - For tasks with subtasks: Move all subtasks that were changed to "In Review" back to "To Do"
351
408
 
@@ -367,9 +424,10 @@ If user chooses not to verify, end the command here.
367
424
  **URL**: https://github.com/<owner>/<repo>/actions/runs/<run-id>
368
425
 
369
426
  ### Error Details
370
-
371
427
  ```
428
+
372
429
  <last 50-100 lines of error logs from gh run view --log-failed>
430
+
373
431
  ```
374
432
 
375
433
  ### Status