@smartsoft001-mobilems/claude-plugins 2.80.0 → 2.82.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 +13 -4
- package/plugins/flow/.claude-plugin/plugin.json +1 -1
- package/plugins/flow/.claude-plugin/settings.template.json +11 -8
- package/plugins/flow/agents/shared-impl-orchestrator.md +1 -1
- package/plugins/flow/agents/shared-impl-teammate.md +2 -2
- package/plugins/flow/agents/ui-screenshot-reporter.md +3 -3
- package/plugins/flow/skills/commit/SKILL.md +2 -2
- package/plugins/flow/skills/impl/SKILL.md +60 -30
- package/plugins/flow/skills/linear-suggestion/SKILL.md +1 -1
- package/plugins/flow/skills/plan/SKILL.md +144 -77
- package/plugins/flow/skills/push/SKILL.md +6 -6
- package/plugins/flow/skills/review/SKILL.md +3 -3
- package/plugins/flow-external/.claude-plugin/README.md +1 -1
- package/plugins/flow-external/.claude-plugin/plugin.json +1 -1
- package/plugins/flow-external/.claude-plugin/settings.template.json +11 -8
- package/plugins/flow-external/agents/shared-linear-subtask-iterator.md +9 -9
- package/plugins/flow-external/skills/commit/SKILL.md +11 -10
- package/plugins/flow-external/skills/impl/SKILL.md +67 -29
- package/plugins/flow-external/skills/linear-suggestion/SKILL.md +8 -8
- package/plugins/flow-external/skills/plan/SKILL.md +107 -29
- package/plugins/flow-external/skills/push/SKILL.md +27 -18
- package/plugins/flow-legacy/.claude-plugin/README.md +1 -1
- package/plugins/flow-legacy/.claude-plugin/plugin.json +1 -1
- package/plugins/flow-legacy/.claude-plugin/settings.template.json +11 -8
- package/plugins/flow-legacy/agents/shared-impl-orchestrator.md +4 -2
- package/plugins/flow-legacy/skills/commit/SKILL.md +2 -2
- package/plugins/flow-legacy/skills/impl/SKILL.md +52 -25
- package/plugins/flow-legacy/skills/linear-suggestion/SKILL.md +1 -1
- package/plugins/flow-legacy/skills/plan/SKILL.md +117 -79
- package/plugins/flow-legacy/skills/push/SKILL.md +6 -6
package/package.json
CHANGED
|
@@ -7,9 +7,9 @@ Development flow skills for Linear-driven development workflow.
|
|
|
7
7
|
| Skill | Description |
|
|
8
8
|
|-------|-------------|
|
|
9
9
|
| `/commit` | Create conventional commit based on Linear task |
|
|
10
|
-
| `/impl` | Implement plans from Linear
|
|
11
|
-
| `/plan` | Create implementation plan
|
|
12
|
-
| `/push` | Push changes and update Linear status |
|
|
10
|
+
| `/impl` | Implement plans from `plan.md` attachment on Linear issue; orchestration saved as `orchestration.md` attachment |
|
|
11
|
+
| `/plan` | Create implementation plan, save as `plan.md` attachment on Linear issue, add `AI Plan` label |
|
|
12
|
+
| `/push` | Push changes and update Linear status (keeps `plan.md` / `orchestration.md` attachments on the issue) |
|
|
13
13
|
|
|
14
14
|
## Installation
|
|
15
15
|
|
|
@@ -48,9 +48,18 @@ console.log('Permissions merged!');
|
|
|
48
48
|
|
|
49
49
|
Configure these in your `.mcp.json`:
|
|
50
50
|
|
|
51
|
-
- `linear
|
|
51
|
+
- `linear` - Linear API integration (MCP prefix `mcp__linear__`)
|
|
52
52
|
- `playwright` - Browser automation for screenshots
|
|
53
53
|
|
|
54
|
+
### Linear MCP tool dependencies
|
|
55
|
+
|
|
56
|
+
`/plan`, `/impl`, and `/push` depend on the following `mcp__linear__*` tools (in addition to the standard comment/issue tools):
|
|
57
|
+
|
|
58
|
+
- `create_attachment` (base64 upload), `get_attachment`, `delete_attachment` — for persisting `plan.md` / `orchestration.md` on issues (attachments are also returned by `get_issue`)
|
|
59
|
+
- `list_issue_labels` — to find the workspace-level `AI Plan` label (the label is pre-configured organization-wide; `/plan` does not create it)
|
|
60
|
+
|
|
61
|
+
Run `/mcp` after authenticating the Linear MCP server to see the exact loaded tool names. If a tool is exposed under a different name in your deployment, update `settings.template.json` and the `allowed-tools` lists in the three skills accordingly.
|
|
62
|
+
|
|
54
63
|
## Permission Strategy
|
|
55
64
|
|
|
56
65
|
### Automatic (allow)
|
|
@@ -34,14 +34,17 @@
|
|
|
34
34
|
"Bash(for:*)",
|
|
35
35
|
"Bash(node:*)",
|
|
36
36
|
"Bash(mkdir:*)",
|
|
37
|
-
"
|
|
38
|
-
"
|
|
39
|
-
"
|
|
40
|
-
"
|
|
41
|
-
"
|
|
42
|
-
"
|
|
43
|
-
"
|
|
44
|
-
"
|
|
37
|
+
"mcp__linear__get_issue",
|
|
38
|
+
"mcp__linear__list_issues",
|
|
39
|
+
"mcp__linear__list_comments",
|
|
40
|
+
"mcp__linear__save_comment",
|
|
41
|
+
"mcp__linear__delete_comment",
|
|
42
|
+
"mcp__linear__save_issue",
|
|
43
|
+
"mcp__linear__list_issue_statuses",
|
|
44
|
+
"mcp__linear__create_attachment",
|
|
45
|
+
"mcp__linear__get_attachment",
|
|
46
|
+
"mcp__linear__delete_attachment",
|
|
47
|
+
"mcp__linear__list_issue_labels",
|
|
45
48
|
"mcp__playwright__browser_snapshot",
|
|
46
49
|
"mcp__playwright__browser_take_screenshot",
|
|
47
50
|
"mcp__playwright__browser_navigate",
|
|
@@ -302,7 +302,7 @@ _Orchestration plan generated by Claude Code_
|
|
|
302
302
|
2. **Plan specific TDD cycles** - don't leave them vague
|
|
303
303
|
3. **Identify parallel opportunities** - optimize execution time
|
|
304
304
|
4. **Include verification steps** - never skip verification planning
|
|
305
|
-
5. **Output must be
|
|
305
|
+
5. **Output must be a complete, standalone markdown document** — it will be saved as an `orchestration.md` attachment on the Linear issue, not posted as a comment. No Linear-comment-specific framing (e.g., greetings, thread references).
|
|
306
306
|
|
|
307
307
|
## When to Use This Agent
|
|
308
308
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: shared-impl-teammate
|
|
3
3
|
description: Implementation Squad teammate. Autonomously implements assigned subtask(s) following the full per-subtask workflow with TDD, UI classification, screenshots, and Polish-language Linear reports.
|
|
4
|
-
tools: Bash, Read, Edit, Write, Glob, Grep, Task, TaskCreate, TaskUpdate, TaskList, TaskGet,
|
|
4
|
+
tools: Bash, Read, Edit, Write, Glob, Grep, Task, TaskCreate, TaskUpdate, TaskList, TaskGet, mcp__linear__get_issue, mcp__linear__list_comments, mcp__linear__save_comment, mcp__linear__save_issue, mcp__linear__list_issue_statuses, mcp__playwright__browser_snapshot, mcp__playwright__browser_take_screenshot, mcp__playwright__browser_navigate, mcp__playwright__browser_resize
|
|
5
5
|
model: opus
|
|
6
|
-
color:
|
|
6
|
+
color: '#10B981'
|
|
7
7
|
---
|
|
8
8
|
|
|
9
9
|
You are an Implementation Squad teammate responsible for autonomously implementing assigned subtask(s) following the full per-subtask workflow.
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ui-screenshot-reporter
|
|
3
3
|
description: Capture before/after screenshots for UI changes, create visual comparison reports, and post them as Linear comments. Run in parallel with implementation work.
|
|
4
|
-
tools: Read, Glob, Grep,
|
|
4
|
+
tools: Read, Glob, Grep, mcp__linear__save_comment, mcp__linear__get_issue
|
|
5
5
|
skills: browser-capture, maia-files-upload, maia-files-delete
|
|
6
6
|
model: sonnet
|
|
7
|
-
color:
|
|
7
|
+
color: '#7C3AED'
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
# Screenshot Reporter Agent
|
|
@@ -115,7 +115,7 @@ Create markdown for Linear comment:
|
|
|
115
115
|
|
|
116
116
|
### Step 3: Post to Linear
|
|
117
117
|
|
|
118
|
-
Use `
|
|
118
|
+
Use `mcp__linear__save_comment` to post the screenshot comparison to the Linear issue:
|
|
119
119
|
|
|
120
120
|
```
|
|
121
121
|
Create comment on issue ENG-123 with body:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: impl
|
|
3
|
-
description: Implement plans from Linear
|
|
3
|
+
description: Implement plans from `plan.md` attachments on Linear issues. Iteratively processes subtasks with TDD, UI classification, agent orchestration (saved as `orchestration.md` attachment), screenshot capture, and 3x3 rule checkpoints.
|
|
4
4
|
allowed-tools:
|
|
5
5
|
- Bash
|
|
6
6
|
- Read
|
|
@@ -14,17 +14,34 @@ allowed-tools:
|
|
|
14
14
|
- TaskUpdate
|
|
15
15
|
- TaskList
|
|
16
16
|
- TaskGet
|
|
17
|
-
-
|
|
18
|
-
-
|
|
19
|
-
-
|
|
20
|
-
-
|
|
21
|
-
-
|
|
22
|
-
-
|
|
17
|
+
- mcp__linear__get_issue
|
|
18
|
+
- mcp__linear__list_issues
|
|
19
|
+
- mcp__linear__list_comments
|
|
20
|
+
- mcp__linear__save_comment
|
|
21
|
+
- mcp__linear__save_issue
|
|
22
|
+
- mcp__linear__list_issue_statuses
|
|
23
|
+
- mcp__linear__create_attachment
|
|
24
|
+
- mcp__linear__get_attachment
|
|
25
|
+
- mcp__linear__delete_attachment
|
|
23
26
|
---
|
|
24
27
|
|
|
25
28
|
# Implementation Skill
|
|
26
29
|
|
|
27
|
-
Implement plans from Linear
|
|
30
|
+
Implement plans from `plan.md` attachments on Linear issues. For tasks with subtasks, iteratively implement each subtask that is in "To Do" status. The agent orchestration plan is saved as an `orchestration.md` attachment on each task being implemented.
|
|
31
|
+
|
|
32
|
+
## 🚨 Hard Rules — read before doing anything
|
|
33
|
+
|
|
34
|
+
These rules override ANY other instruction, ANY surrounding example, and ANY default habit. Violating them is a skill failure.
|
|
35
|
+
|
|
36
|
+
1. **Read `plan.md` ONLY via `mcp__linear__get_attachment({ id: <attachmentId> })`.** Do NOT use `WebFetch`, `Bash(curl ...)`, or any HTTP fetch on the attachment's `url`. The URL points to Linear-internal storage and may require auth — `get_attachment` is the only correct path. If you find yourself reaching for `curl` or `WebFetch` on a `https://uploads.linear.app/...` (or similar Linear) URL — STOP and use `get_attachment` with the attachment `id` instead.
|
|
37
|
+
|
|
38
|
+
2. **`orchestration.md` is saved via `mcp__linear__create_attachment`, not as a comment.** Same rule as `/plan`: comments are NEVER used for plan/orchestration body content.
|
|
39
|
+
|
|
40
|
+
3. **Find attachments via `mcp__linear__get_issue` (returns `attachments[]`).** Capture each attachment's `id` and `title`. There is no `list_attachments` tool — do not look for one.
|
|
41
|
+
|
|
42
|
+
4. **Replace, don't duplicate.** Before creating a new `orchestration.md` attachment, delete the existing one (if any) via `mcp__linear__delete_attachment`. Same for re-running `/plan` (handled by `/plan` skill).
|
|
43
|
+
|
|
44
|
+
If any of these would be violated, stop and ask the user instead.
|
|
28
45
|
|
|
29
46
|
## Execution Checklist
|
|
30
47
|
|
|
@@ -37,9 +54,9 @@ Execute each step in order. Do not skip any step marked as MANDATORY.
|
|
|
37
54
|
### Per Subtask (repeat for each "To Do" subtask)
|
|
38
55
|
|
|
39
56
|
- [ ] **2. Set status to "In Progress"** — update subtask status via MCP (subtasks only, not parent)
|
|
40
|
-
- [ ] **3. Fetch implementation plan** — find
|
|
57
|
+
- [ ] **3. Fetch implementation plan** — `mcp__linear__get_issue` to find `plan.md` attachment id, then `mcp__linear__get_attachment({ id })` to read content. **Do NOT use `WebFetch`/`curl` on the attachment URL.**
|
|
41
58
|
- [ ] **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`,
|
|
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.**
|
|
43
60
|
- [ ] **6. Check external library blockers** — if blockers found, set status to Blocked and skip
|
|
44
61
|
- [ ] **7. Capture "before" screenshots** — if `UI_CHANGE_REQUIRED: YES`, launch `screenshot-reporter` in background
|
|
45
62
|
- [ ] **8. MANDATORY: Implement with 3x3 rule** — pause every 3 changes, use `shared-tdd-developer` for ALL code (RED → GREEN → REFACTOR)
|
|
@@ -143,7 +160,7 @@ You implement code that is:
|
|
|
143
160
|
|
|
144
161
|
## Instructions
|
|
145
162
|
|
|
146
|
-
You are tasked with implementing plans from Linear
|
|
163
|
+
You are tasked with implementing plans from `plan.md` attachments on Linear tasks. If the task has subtasks, you will iterate through subtasks in "To Do" status and implement them one by one. The agent orchestration plan is saved as an `orchestration.md` attachment on each task (not as a comment).
|
|
147
164
|
|
|
148
165
|
### Step 1-2: Fetch Linear Task and Subtasks
|
|
149
166
|
|
|
@@ -270,24 +287,24 @@ For each task to implement (subtasks in "To Do" status, or parent task if no sub
|
|
|
270
287
|
|
|
271
288
|
Do NOT change status for parent tasks.
|
|
272
289
|
|
|
273
|
-
#### Step 3b: Fetch Implementation Plan from
|
|
290
|
+
#### Step 3b: Fetch Implementation Plan from `plan.md` Attachment
|
|
274
291
|
|
|
275
|
-
|
|
292
|
+
**⛔ DO NOT use `WebFetch` or `Bash(curl)` on the attachment URL. Use `mcp__linear__get_attachment({ id })` only.** Re-read Hard Rule #1 if tempted.
|
|
276
293
|
|
|
277
|
-
|
|
294
|
+
Two-step retrieval:
|
|
278
295
|
|
|
279
|
-
|
|
280
|
-
|
|
296
|
+
1. `mcp__linear__get_issue({ id: taskId })` → response includes `attachments[]`. Find the entry where `title == "plan.md"` (or `filename == "plan.md"`) and capture its `id`. Do NOT use the `url` field for fetching.
|
|
297
|
+
2. `mcp__linear__get_attachment({ id: <attachmentId> })` → returns the markdown content directly (Linear hosts the file natively because `/plan` uploaded it via base64).
|
|
281
298
|
|
|
282
|
-
|
|
299
|
+
Parse the markdown for:
|
|
283
300
|
|
|
284
301
|
- Implementation Steps
|
|
285
302
|
- Files to Modify
|
|
286
303
|
- New Files to create
|
|
287
304
|
- Testing Strategy
|
|
288
|
-
- External Library Changes (if any
|
|
305
|
+
- External Library Changes (if any — these are blockers, not to be implemented)
|
|
289
306
|
|
|
290
|
-
**If no
|
|
307
|
+
**If no `plan.md` attachment found**: Create a comment noting that no plan was found, suggest running `/plan <taskId>` first, and skip this task. Set status back to "To Do". Do NOT fall back to reading plan content from comments — the attachment is the source of truth.
|
|
291
308
|
|
|
292
309
|
#### Step 3b-classify: MANDATORY UI Change Classification
|
|
293
310
|
|
|
@@ -336,16 +353,29 @@ The agent will:
|
|
|
336
353
|
4. Plan TDD cycles for each implementation unit
|
|
337
354
|
5. Generate the orchestration plan in markdown format
|
|
338
355
|
|
|
339
|
-
**After receiving the orchestration plan
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
356
|
+
**After receiving the orchestration plan, save it as a native `orchestration.md` attachment on the Linear issue.**
|
|
357
|
+
|
|
358
|
+
**⛔ Calling `mcp__linear__save_comment` with the orchestration body is FORBIDDEN. Use `mcp__linear__create_attachment` only.** Re-read Hard Rule #2 if tempted.
|
|
359
|
+
|
|
360
|
+
1. **Check for existing `orchestration.md` attachment** on the task via `mcp__linear__get_issue` (the response includes an `attachments` array).
|
|
361
|
+
- If one exists, delete it via `mcp__linear__delete_attachment({ id: oldAttachmentId })`. Linear hosts the file natively, so nothing else needs cleanup.
|
|
362
|
+
2. **Write locally**: use `Write` to save the orchestration markdown to `/tmp/claude-plans/<taskId>-orchestration.md`.
|
|
363
|
+
3. **Base64-encode**: `b64=$(base64 -i /tmp/claude-plans/<taskId>-orchestration.md)`.
|
|
364
|
+
4. **Create Linear attachment** via `mcp__linear__create_attachment`:
|
|
365
|
+
- `issue`: the task/subtask ID
|
|
366
|
+
- `filename`: `orchestration.md`
|
|
367
|
+
- `contentType`: `text/markdown`
|
|
368
|
+
- `title`: `orchestration.md` (exact — used for detection/replacement on the next `/impl` run)
|
|
369
|
+
- `subtitle`: `Plan orkiestracji wygenerowany przez Claude Code`
|
|
370
|
+
- `base64Content`: the base64 string from step 3
|
|
371
|
+
5. **Clean up** the local `/tmp/claude-plans/<taskId>-orchestration.md` file after a successful attachment.
|
|
372
|
+
6. **Follow the plan** — execute agents in the defined order.
|
|
373
|
+
7. **Use TDD strictly** — `shared-tdd-developer` is MANDATORY for ALL code implementation.
|
|
344
374
|
|
|
345
375
|
**IMPORTANT**:
|
|
346
376
|
|
|
347
377
|
1. **`shared-tdd-developer` is MANDATORY** for ALL code implementation tasks
|
|
348
|
-
2.
|
|
378
|
+
2. Save the orchestration plan as an `orchestration.md` attachment on the Linear task BEFORE starting implementation — do NOT post it as a comment
|
|
349
379
|
3. Follow the TDD cycle (RED → GREEN → REFACTOR) strictly
|
|
350
380
|
4. Each code change must have a failing test FIRST
|
|
351
381
|
|
|
@@ -807,7 +837,7 @@ See `shared-impl-orchestrator` agent for full agent delegation matrix and execut
|
|
|
807
837
|
### Key Rules
|
|
808
838
|
|
|
809
839
|
1. **`shared-tdd-developer` is MANDATORY** for ALL code implementation
|
|
810
|
-
2. **
|
|
840
|
+
2. **Save orchestration plan as `orchestration.md` attachment** on the Linear issue before starting implementation (not as a comment)
|
|
811
841
|
3. **Follow TDD strictly** - RED → GREEN → REFACTOR cycle
|
|
812
842
|
|
|
813
843
|
### Verification Pipeline
|
|
@@ -835,7 +865,7 @@ When verification fails, delegate to appropriate fix agent:
|
|
|
835
865
|
## Guidelines
|
|
836
866
|
|
|
837
867
|
1. **⚠️ MANDATORY: Classify UI changes first**: Before ANY implementation, output the `🎯 Change Type Classification` block with explicit `UI_CHANGE_REQUIRED: YES/NO` decision
|
|
838
|
-
2. **⚠️ MANDATORY: Create Agent Orchestration Plan**: Before implementation,
|
|
868
|
+
2. **⚠️ MANDATORY: Create Agent Orchestration Plan**: Before implementation, generate `🎭 Agent Orchestration Plan` and save it as an `orchestration.md` attachment on the Linear task (replacing any existing one). Do NOT post orchestration as a comment.
|
|
839
869
|
3. **⚠️ MANDATORY: Use `shared-tdd-developer` for ALL code**: Every code implementation MUST use the `shared-tdd-developer` agent following strict TDD (RED → GREEN → REFACTOR)
|
|
840
870
|
4. **⚠️ MANDATORY: Verify screenshots before completion**: Always output `📸 Screenshot Verification` block before creating completion comment - task CANNOT be completed if UI change detected but screenshots missing
|
|
841
871
|
5. **Write comments in Polish**: All implementation reports must be written in Polish language
|
|
@@ -873,7 +903,7 @@ When verification fails, delegate to appropriate fix agent:
|
|
|
873
903
|
**Processing ENG-456-1 (UI change - avatar upload):**
|
|
874
904
|
|
|
875
905
|
1. Set status: To Do → In Progress
|
|
876
|
-
2.
|
|
906
|
+
2. Download `plan.md` attachment from the task
|
|
877
907
|
3. **🎯 CLASSIFY**: Output classification block → `UI_CHANGE_REQUIRED: YES` (modifies `.component.ts`)
|
|
878
908
|
4. **📸 BEFORE**: Launch `screenshot-reporter` agent in background (Task ID: abc123)
|
|
879
909
|
5. Implement avatar upload feature (in parallel with screenshot capture)
|
|
@@ -887,7 +917,7 @@ When verification fails, delegate to appropriate fix agent:
|
|
|
887
917
|
**Processing ENG-456-2 (blocked):**
|
|
888
918
|
|
|
889
919
|
1. Set status: To Do → In Progress
|
|
890
|
-
2.
|
|
920
|
+
2. Download `plan.md` attachment from the task
|
|
891
921
|
3. **🎯 CLASSIFY**: Output classification block → `UI_CHANGE_REQUIRED: YES`
|
|
892
922
|
4. Plan has External Library Changes blocker
|
|
893
923
|
5. Create comment noting blocker (screenshots not needed - blocked before implementation)
|
|
@@ -896,7 +926,7 @@ When verification fails, delegate to appropriate fix agent:
|
|
|
896
926
|
**Processing ENG-456-3 (backend-only - social links API):**
|
|
897
927
|
|
|
898
928
|
1. Set status: To Do → In Progress
|
|
899
|
-
2.
|
|
929
|
+
2. Download `plan.md` attachment from the task
|
|
900
930
|
3. **🎯 CLASSIFY**: Output classification block → `UI_CHANGE_REQUIRED: NO` (only `.service.ts` files)
|
|
901
931
|
4. Implement social links service
|
|
902
932
|
5. Run tests - 1 test fails
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: linear-suggestion
|
|
3
3
|
description: Create a Linear issue in the "MobileMS Framework" project with a suggestion for agent or skill improvements.
|
|
4
|
-
allowed-tools:
|
|
4
|
+
allowed-tools: mcp__linear__save_issue
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# Linear Suggestion
|