@smartsoft001-mobilems/claude-plugins 2.71.0 → 2.73.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/README.md +8 -8
- package/plugins/flow/.claude-plugin/plugin.json +2 -2
- package/plugins/flow/.claude-plugin/settings.template.json +2 -1
- package/plugins/flow/agents/shared-agent-evolver.md +8 -8
- package/plugins/flow/{commands/commit.md → skills/commit/SKILL.md} +53 -1
- package/plugins/flow/{commands/impl.md → skills/impl/SKILL.md} +112 -5
- package/plugins/flow/skills/linear-suggestion/SKILL.md +9 -9
- package/plugins/flow/{commands/plan.md → skills/plan/SKILL.md} +104 -2
- package/plugins/flow/{commands/push.md → skills/push/SKILL.md} +86 -2
- package/plugins/flow-legacy/.claude-plugin/README.md +7 -7
- package/plugins/flow-legacy/.claude-plugin/plugin.json +2 -2
- package/plugins/flow-legacy/.claude-plugin/settings.template.json +2 -1
- package/plugins/flow-legacy/{commands/commit.md → skills/commit/SKILL.md} +53 -1
- package/plugins/flow-legacy/{commands/impl.md → skills/impl/SKILL.md} +154 -12
- package/plugins/flow-legacy/skills/linear-suggestion/SKILL.md +10 -10
- package/plugins/flow-legacy/{commands/plan.md → skills/plan/SKILL.md} +111 -2
- package/plugins/flow-legacy/{commands/push.md → skills/push/SKILL.md} +86 -2
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
# Flow Plugin for Claude Code
|
|
2
2
|
|
|
3
|
-
Development flow
|
|
3
|
+
Development flow skills for Linear-driven development workflow.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## Workflow Skills
|
|
6
6
|
|
|
7
|
-
|
|
|
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
|
-
-
|
|
61
|
+
- Utility skills
|
|
62
62
|
|
|
63
63
|
### Requires Confirmation (ask)
|
|
64
|
-
-
|
|
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
|
|
82
|
+
See `agents/` directory for full list of specialized agents used by flow skills.
|
|
@@ -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:
|
|
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/
|
|
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/
|
|
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/
|
|
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
|
|
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,21 @@
|
|
|
1
|
-
|
|
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
|
+
- TaskCreate
|
|
11
|
+
- TaskUpdate
|
|
12
|
+
- TaskList
|
|
13
|
+
- TaskGet
|
|
14
|
+
- mcp__linear-server__get_issue
|
|
15
|
+
- mcp__linear-server__list_comments
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
# Commit Skill
|
|
2
19
|
|
|
3
20
|
Create a conventional commit message based on Linear task and staged changes.
|
|
4
21
|
|
|
@@ -12,6 +29,41 @@ Create a conventional commit message based on Linear task and staged changes.
|
|
|
12
29
|
|
|
13
30
|
- `linearTaskId` - Linear task ID (e.g., ENG-123)
|
|
14
31
|
|
|
32
|
+
## Execution Checklist
|
|
33
|
+
|
|
34
|
+
Execute each step in order. Do not skip any step marked as MANDATORY.
|
|
35
|
+
|
|
36
|
+
- [ ] **1. Fetch Linear task** — get title, description, labels/type from MCP Linear server
|
|
37
|
+
- [ ] **2. Analyze staged changes** — run `git diff --cached` to understand scope
|
|
38
|
+
- [ ] **3. Verify completeness** — compare task requirements with staged changes; if incomplete, ask user whether to continue or stop
|
|
39
|
+
- [ ] **4. Read commitlint config** — read `commitlint.config.js` for valid scopes and format
|
|
40
|
+
- [ ] **5. Generate commit message** — draft `<type>(<scope>): <subject>` with body and `Refs: <linearTaskId>`
|
|
41
|
+
- [ ] **6. Show message to user** — present commit message for approval before proceeding
|
|
42
|
+
- [ ] **7. MANDATORY: Pre-commit preparation** — run `nvm use 24` then `npm run format`, stage any formatting changes
|
|
43
|
+
- [ ] **8. Create commit** — execute `git commit` with the approved message
|
|
44
|
+
- [ ] **9. Parallelization analysis (optional)** — fetch Linear comments, search for orchestration plan, delegate to `shared-parallelization-analyzer` if found
|
|
45
|
+
|
|
46
|
+
### Task Progress Tracking
|
|
47
|
+
|
|
48
|
+
**MANDATORY**: Use Claude Code's built-in task tracking to provide real-time progress visibility.
|
|
49
|
+
|
|
50
|
+
**At skill start**: Create tasks for each checklist step using `TaskCreate`:
|
|
51
|
+
|
|
52
|
+
```
|
|
53
|
+
TaskCreate({
|
|
54
|
+
subject: "Fetch Linear task",
|
|
55
|
+
description: "Get title, description, labels/type from MCP Linear server",
|
|
56
|
+
activeForm: "Fetching Linear task"
|
|
57
|
+
})
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
**During execution**:
|
|
61
|
+
|
|
62
|
+
- Before starting a step → `TaskUpdate({ taskId, status: "in_progress" })`
|
|
63
|
+
- After completing a step → `TaskUpdate({ taskId, status: "completed" })`
|
|
64
|
+
|
|
65
|
+
**At checkpoints**: Use `TaskList` to review overall progress before presenting status to user.
|
|
66
|
+
|
|
15
67
|
## Instructions
|
|
16
68
|
|
|
17
69
|
You are tasked with creating a git commit based on a Linear task and staged changes.
|
|
@@ -1,7 +1,95 @@
|
|
|
1
|
-
|
|
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
|
+
- TaskCreate
|
|
14
|
+
- TaskUpdate
|
|
15
|
+
- TaskList
|
|
16
|
+
- TaskGet
|
|
17
|
+
- mcp__linear-server__get_issue
|
|
18
|
+
- mcp__linear-server__list_issues
|
|
19
|
+
- mcp__linear-server__list_comments
|
|
20
|
+
- mcp__linear-server__create_comment
|
|
21
|
+
- mcp__linear-server__update_issue
|
|
22
|
+
- mcp__linear-server__list_issue_statuses
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
# Implementation Skill
|
|
2
26
|
|
|
3
27
|
Implement plans from Linear task comments. For tasks with subtasks, iteratively implement each subtask that is in "To Do" status.
|
|
4
28
|
|
|
29
|
+
## Execution Checklist
|
|
30
|
+
|
|
31
|
+
Execute each step in order. Do not skip any step marked as MANDATORY.
|
|
32
|
+
|
|
33
|
+
### Initial Setup
|
|
34
|
+
|
|
35
|
+
- [ ] **1. Fetch task and subtasks** — delegate to `shared-linear-subtask-iterator` agent
|
|
36
|
+
|
|
37
|
+
### Per Subtask (repeat for each "To Do" subtask)
|
|
38
|
+
|
|
39
|
+
- [ ] **2. Set status to "In Progress"** — update subtask status via MCP (subtasks only, not parent)
|
|
40
|
+
- [ ] **3. Fetch implementation plan** — find `## Implementation Plan` in task comments
|
|
41
|
+
- [ ] **4. MANDATORY: UI change classification** — delegate to `shared-ui-classifier` agent, output `UI_CHANGE_REQUIRED: YES/NO`
|
|
42
|
+
- [ ] **5. MANDATORY: Agent orchestration plan** — delegate to `shared-impl-orchestrator`, post plan to Linear
|
|
43
|
+
- [ ] **6. Check external library blockers** — if blockers found, set status to Blocked and skip
|
|
44
|
+
- [ ] **7. Capture "before" screenshots** — if `UI_CHANGE_REQUIRED: YES`, launch `screenshot-reporter` in background
|
|
45
|
+
- [ ] **8. MANDATORY: Implement with 3x3 rule** — pause every 3 changes, use `shared-tdd-developer` for ALL code (RED → GREEN → REFACTOR)
|
|
46
|
+
- [ ] **9. Verify implementation** — run tests, lint, build check
|
|
47
|
+
- [ ] **10. Capture "after" screenshots** — if `UI_CHANGE_REQUIRED: YES`, capture + post comparison to Linear + cleanup
|
|
48
|
+
- [ ] **11. MANDATORY: Screenshot verification** — output `SCREENSHOT_REQUIREMENT_MET: YES/NO`, block if missing
|
|
49
|
+
- [ ] **12. Create completion comment** — delegate to `shared-impl-reporter`, post to Linear
|
|
50
|
+
- [ ] **13. MANDATORY: Write reports in Polish** — all Linear comments must be in Polish language
|
|
51
|
+
- [ ] **14. Update status** — delegate to `shared-linear-subtask-iterator` for status determination
|
|
52
|
+
- [ ] **15. Agent evolution** — if user confirmed feedback, delegate to `shared-agent-evolver`
|
|
53
|
+
- [ ] **16. Pause for user confirmation** — ALWAYS wait before proceeding to next subtask
|
|
54
|
+
|
|
55
|
+
### Finalization
|
|
56
|
+
|
|
57
|
+
- [ ] **17. Final summary** — present summary of all subtasks with statuses
|
|
58
|
+
- [ ] **18. Session-wide evolution** — analyze all feedback across session
|
|
59
|
+
- [ ] **19. ALWAYS pause** — wait for user confirmation at end
|
|
60
|
+
|
|
61
|
+
### Task Progress Tracking
|
|
62
|
+
|
|
63
|
+
**MANDATORY**: Use Claude Code's built-in task tracking to provide real-time progress visibility.
|
|
64
|
+
|
|
65
|
+
**At skill start**: Create tasks for the initial setup and each subtask processing round using `TaskCreate`:
|
|
66
|
+
|
|
67
|
+
```
|
|
68
|
+
TaskCreate({
|
|
69
|
+
subject: "Fetch task and subtasks",
|
|
70
|
+
description: "Delegate to shared-linear-subtask-iterator agent",
|
|
71
|
+
activeForm: "Fetching task and subtasks"
|
|
72
|
+
})
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
**Per subtask**: Create a parent task for the subtask, then child tasks for each step:
|
|
76
|
+
|
|
77
|
+
```
|
|
78
|
+
TaskCreate({
|
|
79
|
+
subject: "Implement subtask MOB-123",
|
|
80
|
+
description: "Full implementation cycle: classify → orchestrate → implement → verify",
|
|
81
|
+
activeForm: "Implementing subtask MOB-123"
|
|
82
|
+
})
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
**During execution**:
|
|
86
|
+
|
|
87
|
+
- Before starting a step → `TaskUpdate({ taskId, status: "in_progress" })`
|
|
88
|
+
- After completing a step → `TaskUpdate({ taskId, status: "completed" })`
|
|
89
|
+
- At 3x3 checkpoints → `TaskList` to show progress overview
|
|
90
|
+
|
|
91
|
+
**At pause points**: Use `TaskList` to present a clear status summary to the user before waiting for confirmation.
|
|
92
|
+
|
|
5
93
|
## Role
|
|
6
94
|
|
|
7
95
|
**You are a highly experienced senior TypeScript developer** with:
|
|
@@ -258,7 +346,23 @@ Continue? (yes/no/adjust)
|
|
|
258
346
|
|
|
259
347
|
**Feedback Collection for Agent Evolution:**
|
|
260
348
|
|
|
261
|
-
During 3x3 checkpoints, when the user provides corrections or suggestions about coding patterns, implementation approach, or agent behavior —
|
|
349
|
+
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.
|
|
350
|
+
|
|
351
|
+
**When user provides a correction or pattern suggestion, ASK:**
|
|
352
|
+
|
|
353
|
+
```
|
|
354
|
+
🔄 Detected potential improvement suggestion:
|
|
355
|
+
"[summary of user's correction]"
|
|
356
|
+
|
|
357
|
+
Would you like to create a Linear issue for this pattern improvement?
|
|
358
|
+
- Yes - File as Linear issue in "MobileMS Framework"
|
|
359
|
+
- No - Note for this session only
|
|
360
|
+
- Skip - Ignore this feedback
|
|
361
|
+
```
|
|
362
|
+
|
|
363
|
+
**Only feedback confirmed with "Yes"** should be collected as **evolution feedback items** and processed in Step 3g-evolve via `linear-suggestion` skill.
|
|
364
|
+
|
|
365
|
+
Look for signals like: universal language ("always", "never"), pattern-level corrections, or explicit requests to update agent behavior.
|
|
262
366
|
|
|
263
367
|
**IMPORTANT**: Also STOP and wait for user confirmation:
|
|
264
368
|
|
|
@@ -400,12 +504,14 @@ The agent will determine the correct status and provide MCP command to execute.
|
|
|
400
504
|
|
|
401
505
|
#### Step 3g-evolve: Agent Evolution Checkpoint
|
|
402
506
|
|
|
507
|
+
**Prerequisites**: Only execute this step if user confirmed at least one feedback item with "Yes" during 3x3 checkpoints.
|
|
508
|
+
|
|
403
509
|
**Delegate to `shared-agent-evolver` agent:**
|
|
404
510
|
|
|
405
511
|
```
|
|
406
512
|
Analyze feedback from current subtask implementation:
|
|
407
513
|
- Subtask ID: [current subtask ID]
|
|
408
|
-
- User corrections
|
|
514
|
+
- User-confirmed corrections: [list of feedback items where user answered "Yes"]
|
|
409
515
|
- Files that were implemented: [list of files modified/created]
|
|
410
516
|
- Patterns the user corrected or suggested: [specific corrections]
|
|
411
517
|
```
|
|
@@ -420,7 +526,8 @@ The agent will:
|
|
|
420
526
|
**IMPORTANT**:
|
|
421
527
|
|
|
422
528
|
- Agent files are NOT modified directly — proposals are filed as Linear issues for manual review
|
|
423
|
-
-
|
|
529
|
+
- **Only process feedback explicitly confirmed by user** — do not auto-collect without asking
|
|
530
|
+
- If no user-confirmed feedback was collected during this subtask, skip this step
|
|
424
531
|
- This step runs BEFORE the subtask pause (Step 3h) so evolution is complete before moving on
|
|
425
532
|
- If Linear issue creation fails, continue silently — do not block the workflow
|
|
426
533
|
|
|
@@ -609,7 +716,7 @@ When verification fails, delegate to appropriate fix agent:
|
|
|
609
716
|
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
717
|
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
718
|
22. **Capture screenshots in both modes**: Agent captures screenshots in BOTH normal mode and dark mode (high contrast) for complete visual documentation
|
|
612
|
-
23. **
|
|
719
|
+
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
720
|
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
721
|
|
|
615
722
|
## 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
|
|
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
|
|
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
|
|
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,67 @@
|
|
|
1
|
-
|
|
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
|
+
- TaskCreate
|
|
11
|
+
- TaskUpdate
|
|
12
|
+
- TaskList
|
|
13
|
+
- TaskGet
|
|
14
|
+
- mcp__linear-server__get_issue
|
|
15
|
+
- mcp__linear-server__list_issues
|
|
16
|
+
- mcp__linear-server__list_comments
|
|
17
|
+
- mcp__linear-server__create_comment
|
|
18
|
+
- mcp__linear-server__delete_comment
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
# Plan Skill
|
|
2
22
|
|
|
3
23
|
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
24
|
|
|
25
|
+
## Execution Checklist
|
|
26
|
+
|
|
27
|
+
Execute each step in order. Do not skip any step marked as MANDATORY.
|
|
28
|
+
|
|
29
|
+
- [ ] **1. Fetch Linear task** — get title, description, labels, priority, estimate from MCP Linear server
|
|
30
|
+
- [ ] **2. Fetch subtasks** — check for children; if present, plan each subtask individually
|
|
31
|
+
- [ ] **3. Fetch existing comments** — check parent task and each subtask for existing context
|
|
32
|
+
- [ ] **4. Determine planning needs** — check for existing plans and plan change requests; record old plan comment IDs for replacement; skip tasks with valid plans
|
|
33
|
+
- [ ] **5. Analyze previous commits** — `git log --all --grep="<taskId>"` for each task/subtask
|
|
34
|
+
- [ ] **6. Analyze staged changes** — `git status` and `git diff --cached` for work in progress
|
|
35
|
+
- [ ] **7. MANDATORY: Analyze codebase** — explore affected files, patterns, dependencies, and test coverage
|
|
36
|
+
- [ ] **8. Analyze external library deps** — check if `@smartsoft001` or `@smartsoft001-mobilems` changes are needed (mark as separate process)
|
|
37
|
+
- [ ] **9. Create implementation plans** — generate structured plans per task/subtask with all required sections
|
|
38
|
+
- [ ] **10. MANDATORY: Write plans in Polish** — all plan content must be in Polish language
|
|
39
|
+
- [ ] **11. Show plans to user** — present plans for review and approval before saving
|
|
40
|
+
- [ ] **12. MANDATORY: Confirm old plan deletion** — if replacing existing plans, ask user to confirm deletion of old plan comments before proceeding
|
|
41
|
+
- [ ] **13. Delete old plan comments and save new ones** — delete outdated plan comments from Linear, then post new plans via MCP
|
|
42
|
+
- [ ] **14. Confirm to user** — list saved plans with summaries and Linear links
|
|
43
|
+
|
|
44
|
+
### Task Progress Tracking
|
|
45
|
+
|
|
46
|
+
**MANDATORY**: Use Claude Code's built-in task tracking to provide real-time progress visibility.
|
|
47
|
+
|
|
48
|
+
**At skill start**: Create tasks for each checklist step using `TaskCreate`:
|
|
49
|
+
|
|
50
|
+
```
|
|
51
|
+
TaskCreate({
|
|
52
|
+
subject: "Fetch Linear task",
|
|
53
|
+
description: "Get title, description, labels, priority, estimate from MCP Linear server",
|
|
54
|
+
activeForm: "Fetching Linear task"
|
|
55
|
+
})
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
**During execution**:
|
|
59
|
+
|
|
60
|
+
- Before starting a step → `TaskUpdate({ taskId, status: "in_progress" })`
|
|
61
|
+
- After completing a step → `TaskUpdate({ taskId, status: "completed" })`
|
|
62
|
+
|
|
63
|
+
**Before user review**: Use `TaskList` to show progress overview before presenting plans for approval.
|
|
64
|
+
|
|
5
65
|
## Role
|
|
6
66
|
|
|
7
67
|
**You are a highly experienced software architect** with:
|
|
@@ -105,6 +165,9 @@ Create a list of tasks/subtasks that need planning:
|
|
|
105
165
|
|
|
106
166
|
- `tasksNeedingPlan`: Array of task IDs that need a new or updated plan
|
|
107
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.
|
|
108
171
|
|
|
109
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.
|
|
110
173
|
|
|
@@ -405,7 +468,45 @@ _Plan generated by Claude Code_
|
|
|
405
468
|
_Plan generated by Claude Code_
|
|
406
469
|
```
|
|
407
470
|
|
|
408
|
-
### Step 9:
|
|
471
|
+
### Step 9: Confirm and Delete Old Plan Comments
|
|
472
|
+
|
|
473
|
+
**This step applies only when replacing existing plans** (i.e., `oldPlanCommentIds` from Step 3a is not empty).
|
|
474
|
+
|
|
475
|
+
Before saving new plans, ask the user to confirm deletion of old plan comments:
|
|
476
|
+
|
|
477
|
+
```markdown
|
|
478
|
+
## Zastąpienie istniejących planów
|
|
479
|
+
|
|
480
|
+
Następujące komentarze z planami zostaną usunięte i zastąpione nowymi:
|
|
481
|
+
|
|
482
|
+
| Task | Stary komentarz (ID) |
|
|
483
|
+
| --------- | -------------------- |
|
|
484
|
+
| <task-id> | <comment-id> |
|
|
485
|
+
|
|
486
|
+
Czy potwierdzasz usunięcie starych planów i zapisanie nowych?
|
|
487
|
+
```
|
|
488
|
+
|
|
489
|
+
Use `AskUserQuestion` tool with options:
|
|
490
|
+
|
|
491
|
+
- "Tak, usuń stare plany i zapisz nowe" (Recommended)
|
|
492
|
+
- "Nie, zachowaj stare plany (zapisz nowe obok)"
|
|
493
|
+
- "Anuluj"
|
|
494
|
+
|
|
495
|
+
**If user confirms deletion:**
|
|
496
|
+
|
|
497
|
+
1. For each task in `oldPlanCommentIds`, delete the old plan comment using `mcp__linear-server__delete_comment`
|
|
498
|
+
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
|
|
499
|
+
3. Then proceed to save new plan comments
|
|
500
|
+
|
|
501
|
+
**If user chooses to keep old plans:**
|
|
502
|
+
|
|
503
|
+
- Skip deletion, save new plans as additional comments (old plans remain)
|
|
504
|
+
|
|
505
|
+
**If user cancels:**
|
|
506
|
+
|
|
507
|
+
- Stop the entire process, do not save any plans
|
|
508
|
+
|
|
509
|
+
### Step 9a: Save New Plans as Comments
|
|
409
510
|
|
|
410
511
|
Use the MCP Linear server to create comments:
|
|
411
512
|
|
|
@@ -443,6 +544,7 @@ After successfully saving the plans, confirm to the user:
|
|
|
443
544
|
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
545
|
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
546
|
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")
|
|
547
|
+
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
548
|
|
|
447
549
|
## Example with Subtasks
|
|
448
550
|
|
|
@@ -1,7 +1,89 @@
|
|
|
1
|
-
|
|
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
|
+
- TaskCreate
|
|
12
|
+
- TaskUpdate
|
|
13
|
+
- TaskList
|
|
14
|
+
- TaskGet
|
|
15
|
+
- mcp__linear-server__get_issue
|
|
16
|
+
- mcp__linear-server__list_issues
|
|
17
|
+
- mcp__linear-server__list_comments
|
|
18
|
+
- mcp__linear-server__create_comment
|
|
19
|
+
- mcp__linear-server__update_issue
|
|
20
|
+
- mcp__linear-server__list_issue_statuses
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
# Push Skill
|
|
2
24
|
|
|
3
25
|
Push local changes to remote and optionally update Linear task status.
|
|
4
26
|
|
|
27
|
+
## Execution Checklist
|
|
28
|
+
|
|
29
|
+
Execute each step in order. Do not skip any step marked as MANDATORY.
|
|
30
|
+
|
|
31
|
+
### Pre-Push
|
|
32
|
+
|
|
33
|
+
- [ ] **1. Check git status** — verify branch, commits ahead, warn about uncommitted changes
|
|
34
|
+
- [ ] **2. Get commits to push** — `git log origin/<branch>..HEAD --oneline`; exit if none
|
|
35
|
+
- [ ] **3. Fetch Linear task** — get title, status, subtasks and their statuses via MCP
|
|
36
|
+
- [ ] **4. Analyze subtasks** — classify completed vs incomplete, find reasons for incomplete ones
|
|
37
|
+
- [ ] **5. MANDATORY: Show summary to user** — present commits + subtask status, ask about status change
|
|
38
|
+
- [ ] **6. Update Linear status** — BEFORE push: set completed subtasks to "In Review", post summary comment in Polish
|
|
39
|
+
- [ ] **7. MANDATORY: Write Linear comments in Polish** — all comments must be in Polish language
|
|
40
|
+
|
|
41
|
+
### Push
|
|
42
|
+
|
|
43
|
+
- [ ] **8. Push to remote** — `git push`; handle errors gracefully
|
|
44
|
+
|
|
45
|
+
### Post-Push (branch-specific)
|
|
46
|
+
|
|
47
|
+
#### If `development` branch:
|
|
48
|
+
|
|
49
|
+
- [ ] **9a. Ask about deployment verification** — offer optional CI monitoring + QA check
|
|
50
|
+
- [ ] **10a. Monitor CI pipeline** — poll `gh run view` every 30s until completion
|
|
51
|
+
- [ ] **11a. Handle CI failure** — revert task to "To Do", post error comment to Linear
|
|
52
|
+
- [ ] **12a. Verify package.json update** — `git pull`, compare versions
|
|
53
|
+
- [ ] **13a. Verify QA deployment** — wait 5 min, check `<meta name="app-version">` matches
|
|
54
|
+
|
|
55
|
+
#### If feature branch:
|
|
56
|
+
|
|
57
|
+
- [ ] **9b. Check for existing PR** — `gh pr list --head <branch> --base development`
|
|
58
|
+
- [ ] **10b. Ask about PR creation** — if no PR exists and subtasks are ready
|
|
59
|
+
- [ ] **11b. Create PR** — `gh pr create` with structured summary
|
|
60
|
+
|
|
61
|
+
### Final
|
|
62
|
+
|
|
63
|
+
- [ ] **12. Show final status** — complete summary of all actions taken
|
|
64
|
+
|
|
65
|
+
### Task Progress Tracking
|
|
66
|
+
|
|
67
|
+
**MANDATORY**: Use Claude Code's built-in task tracking to provide real-time progress visibility.
|
|
68
|
+
|
|
69
|
+
**At skill start**: Create tasks for each checklist step using `TaskCreate`:
|
|
70
|
+
|
|
71
|
+
```
|
|
72
|
+
TaskCreate({
|
|
73
|
+
subject: "Check git status",
|
|
74
|
+
description: "Verify branch, commits ahead, warn about uncommitted changes",
|
|
75
|
+
activeForm: "Checking git status"
|
|
76
|
+
})
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
**During execution**:
|
|
80
|
+
|
|
81
|
+
- Before starting a step → `TaskUpdate({ taskId, status: "in_progress" })`
|
|
82
|
+
- After completing a step → `TaskUpdate({ taskId, status: "completed" })`
|
|
83
|
+
- For branch-specific steps, only create tasks for the applicable branch path (development OR feature)
|
|
84
|
+
|
|
85
|
+
**Before user decisions**: Use `TaskList` to show progress overview before asking user about status changes or PR creation.
|
|
86
|
+
|
|
5
87
|
## Usage
|
|
6
88
|
|
|
7
89
|
```
|
|
@@ -345,6 +427,7 @@ If user chooses not to verify, end the command here.
|
|
|
345
427
|
2. **Revert Linear task to "To Do"**:
|
|
346
428
|
|
|
347
429
|
If Linear task was provided and status was changed to "In Review":
|
|
430
|
+
|
|
348
431
|
- Move the parent task back to "To Do" status
|
|
349
432
|
- For tasks with subtasks: Move all subtasks that were changed to "In Review" back to "To Do"
|
|
350
433
|
|
|
@@ -366,9 +449,10 @@ If user chooses not to verify, end the command here.
|
|
|
366
449
|
**URL**: https://github.com/<owner>/<repo>/actions/runs/<run-id>
|
|
367
450
|
|
|
368
451
|
### Error Details
|
|
369
|
-
|
|
370
452
|
```
|
|
453
|
+
|
|
371
454
|
<last 50-100 lines of error logs from gh run view --log-failed>
|
|
455
|
+
|
|
372
456
|
```
|
|
373
457
|
|
|
374
458
|
### Status
|