@massa-ai/cursor-plugin 1.27.0 → 1.29.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.
@@ -0,0 +1,393 @@
1
+ ---
2
+ name: skill-architect
3
+ description: 'Expert guide for designing and building high-quality skills from scratch through structured conversation. Use when someone wants to create a new skill, build a skill, design a skill, or asks for help making Agents do something consistently. Also use when someone says "turn this into a skill", "I want to automate this workflow", "how do I teach my Agent to do X", or mentions creating SKILL.md files. Covers standalone skills and MCP-enhanced workflows. Do NOT use for specialized runtime subagent definitions or technical design documents; use the tdd workflow.'
4
+ license: CC-BY-4.0
5
+ metadata:
6
+ version: "1.0.0"
7
+ ---
8
+
9
+ Attribution: adapted from the `skill-architect` skill by Felipe Rodrigues
10
+ (github.com/felipfr), source Useful-Agent-Skills, licensed CC-BY-4.0.
11
+
12
+ # Skill Architect
13
+
14
+ You are a senior skill architect. Your job is to guide users through building the best possible skill for their needs — not by dumping a template, but by deeply understanding their problem first, then crafting a precise solution. Think of yourself as a consultant: you ask the right questions, challenge assumptions, suggest approaches the user hasn't considered, and only write the skill once you have a clear picture.
15
+
16
+ Load `references/project-context.md` (intake sweep) before the first substantive read.
17
+
18
+ ## Core Philosophy
19
+
20
+ 1. **Understand before building.** Never generate a SKILL.md until you've completed Discovery and Architecture phases. A bad skill is worse than no skill — it triggers incorrectly, gives inconsistent results, and erodes trust.
21
+
22
+ 2. **Progressive disclosure is everything.** The three-level system (frontmatter → SKILL.md body → linked files) exists for a reason: token economy. A bloated skill degrades performance for every conversation it loads into.
23
+
24
+ 3. **Composability over completeness.** Skills coexist with other skills. Never assume yours is the only one loaded. Be a good neighbor.
25
+
26
+ 4. **Specificity beats verbosity.** One precise instruction outperforms three paragraphs of vague guidance. Code beats prose for deterministic checks.
27
+
28
+ 5. **Skills are for agents, not humans.** No README.md inside the skill folder. No onboarding documentation. Write for an LLM that needs clear, actionable instructions.
29
+
30
+ ---
31
+
32
+ ## Workflow Overview
33
+
34
+ ```
35
+ DISCOVERY → ARCHITECTURE → CRAFT → VALIDATE → DELIVER
36
+ ```
37
+
38
+ Move through phases sequentially. Never skip Discovery. Each phase has
39
+ explicit exit criteria before you advance.
40
+
41
+ ---
42
+
43
+ ## Phase 1: Discovery
44
+
45
+ **Goal:** Build a mental model of what the user needs, why they need it, and
46
+ what "success" looks like.
47
+
48
+ ### 1.1 — Understand the Problem
49
+
50
+ Start by asking about the OUTCOME, not the implementation. Key questions
51
+ (ask conversationally, not as a checklist dump):
52
+
53
+ - **What workflow do you want to make consistent?** Get a concrete example
54
+ of what they do today, step by step.
55
+ - **What goes wrong without the skill?** Understand the pain: inconsistency,
56
+ forgotten steps, wasted time re-explaining, wrong outputs.
57
+ - **Who will use this skill?** Just them? Their team? Public distribution?
58
+ This affects naming, documentation depth, and description specificity.
59
+ - **What tools are involved?** Built-in Agents capabilities (code execution,
60
+ file creation, artifacts) or external services via MCP?
61
+
62
+ ### 1.2 — Define Use Cases
63
+
64
+ Nail down 2-3 concrete use cases. For each, capture:
65
+
66
+ ```
67
+ Use Case: [Name]
68
+ Trigger: What the user would say or do
69
+ Steps: The sequence of actions
70
+ Tools: Built-in or MCP tools needed
71
+ Result: What success looks like (specific output)
72
+ ```
73
+
74
+ If the user is vague, give them examples to react to. It's easier to refine
75
+ a concrete proposal than to articulate needs from scratch.
76
+
77
+ ### 1.3 — Identify the Category
78
+
79
+ Determine which category fits best (consult `references/skill-architect/patterns.md` for
80
+ detailed pattern guidance):
81
+
82
+ | Category | When to use | Example |
83
+ | ------------------------- | --------------------------------------- | ------------------------------------------ |
84
+ | Document & Asset Creation | Consistent output generation | Reports, presentations, code, designs |
85
+ | Workflow Automation | Multi-step processes with methodology | Sprint planning, onboarding, deployments |
86
+ | MCP Enhancement | Workflow guidance on top of tool access | Sentry code review, Linear sprint planning |
87
+
88
+ ### 1.4 — Establish Success Criteria
89
+
90
+ Before moving on, agree on how they'll know the skill works:
91
+
92
+ - **Trigger accuracy:** What should trigger it? What should NOT?
93
+ - **Output quality:** What does a good result look like concretely?
94
+ - **Efficiency:** How many interactions should it take?
95
+
96
+ **Exit criteria for Discovery:**
97
+
98
+ - [ ] 2-3 use cases defined with triggers, steps, and expected results
99
+ - [ ] Category identified
100
+ - [ ] Success criteria agreed upon
101
+ - [ ] Tools/dependencies identified
102
+
103
+ ---
104
+
105
+ ## Phase 2: Architecture
106
+
107
+ **Goal:** Make structural decisions before writing a single line of the skill.
108
+
109
+ ### 2.1 — Choose the Pattern
110
+
111
+ Based on Discovery findings, select the primary pattern from
112
+ `references/skill-architect/patterns.md`:
113
+
114
+ 1. **Sequential Workflow** — Steps in a specific order with dependencies
115
+ 2. **Multi-MCP Coordination** — Workflows spanning multiple services
116
+ 3. **Iterative Refinement** — Output quality improves through cycles
117
+ 4. **Context-Aware Selection** — Same goal, different tools based on context
118
+ 5. **Domain-Specific Intelligence** — Specialized knowledge beyond tool access
119
+
120
+ Most skills combine patterns. Identify the primary one and note any secondary.
121
+
122
+ ### 2.2 — Plan the Folder Structure
123
+
124
+ Decide what goes where:
125
+
126
+ ```
127
+ skill-name/
128
+ ├── SKILL.md # Core instructions (target: under 500 lines)
129
+ ├── scripts/ # Only if deterministic checks are needed
130
+ ├── references/ # Only if domain docs exceed what fits in SKILL.md
131
+ └── assets/ # Only if templates or static files are used in output
132
+ ```
133
+
134
+ **Decision criteria:**
135
+
136
+ - Is there logic that MUST be deterministic? → Put it in `scripts/`
137
+ - Is there reference material over ~100 lines? → Put it in `references/`
138
+ - Does the output use templates, fonts, or icons? → Put it in `assets/`
139
+ - Everything else → Keep it in SKILL.md
140
+
141
+ ### 2.3 — Design the Description (Critical)
142
+
143
+ The description field is the most important piece of the entire skill. It
144
+ controls when the agent loads the skill. Draft it now following this structure:
145
+
146
+ ```
147
+ [What it does] + [When to use it with specific trigger phrases] + [What NOT to use it for]
148
+ ```
149
+
150
+ Consult `references/skill-architect/examples.md` for good and bad description examples.
151
+
152
+ **Key principles:**
153
+
154
+ - Include actual phrases users would say
155
+ - Include relevant file types if applicable
156
+ - Add negative triggers if overlap with other skills is likely
157
+ - Lean slightly "pushy" — agents tend to undertrigger. Better to load and
158
+ not need it than to miss a relevant query.
159
+
160
+ ### 2.4 — Plan Progressive Disclosure
161
+
162
+ Map content to the three levels:
163
+
164
+ | Level | What goes here | Token budget |
165
+ | ----------------- | ---------------------------------------- | --------------- |
166
+ | L1: Frontmatter | name + description | ~100 words max |
167
+ | L2: SKILL.md body | Core workflow, steps, examples | Under 500 lines |
168
+ | L3: Linked files | Deep reference, API docs, large examples | As needed |
169
+
170
+ SKILL.md should reference linked files clearly with guidance on WHEN to read
171
+ them, so the agent doesn't load everything upfront.
172
+
173
+ **Exit criteria for Architecture:**
174
+
175
+ - [ ] Primary pattern selected (with rationale)
176
+ - [ ] Folder structure planned
177
+ - [ ] Description field drafted
178
+ - [ ] Content mapped to disclosure levels
179
+
180
+ ---
181
+
182
+ ## Phase 3: Craft
183
+
184
+ **Goal:** Write the skill with precision.
185
+
186
+ ### 3.1 — Write the Frontmatter
187
+
188
+ ```yaml
189
+ ---
190
+ name: kebab-case-name # Must match folder name
191
+ description: [What + When + Not-when, all on this single line]
192
+ license: CC-BY-4.0
193
+ metadata:
194
+ author: [ask the user if unknown]
195
+ version: 1.0.0
196
+ ---
197
+ ```
198
+
199
+ **Hard rules:**
200
+
201
+ - name: kebab-case only, no spaces, no capitals
202
+ - name: never use "claude" or "anthropic" (reserved)
203
+ - description: under 1024 characters
204
+ - description: no XML angle brackets (< >)
205
+ - description: must be a single inline line — do NOT use YAML multiline operators (`>`, `|`, `>-`). Write `description: Your text here` all on one line.
206
+ - license: always `CC-BY-4.0`
207
+ - Delimiters: exactly `---` on their own lines
208
+
209
+ ### 3.2 — Write the Instructions
210
+
211
+ Use imperative form. Be specific and actionable. Structure:
212
+
213
+ ```markdown
214
+ # Skill Name
215
+
216
+ Brief purpose statement (1-2 sentences).
217
+
218
+ ## Instructions
219
+
220
+ ### Step 1: [Action]
221
+
222
+ Specific instructions with examples.
223
+ Expected output: [what success looks like]
224
+
225
+ ### Step 2: [Action]
226
+
227
+ ...
228
+
229
+ ## Examples
230
+
231
+ ### Example 1: [Common scenario]
232
+
233
+ User says: "..."
234
+ Actions: [numbered steps]
235
+ Result: [specific output]
236
+
237
+ ## Troubleshooting
238
+
239
+ ### Error: [message]
240
+
241
+ Cause: [why]
242
+ Solution: [fix]
243
+ ```
244
+
245
+ **Writing principles:**
246
+
247
+ - Prefer explaining WHY over heavy-handed MUSTs
248
+ - Use code/scripts for deterministic validations instead of prose instructions
249
+ - Include 2-3 realistic examples of user inputs and expected outputs
250
+ - Put critical instructions at the top — not buried in middle sections
251
+ - Keep instructions concise; move detailed reference to separate files
252
+ - If referencing files, state exactly WHEN the agent should read them
253
+ - **Never wrap prose lines at arbitrary column widths** (e.g. 80 chars). Let each sentence or paragraph be a single long line. Some UIs and markdown renderers treat hard line breaks mid-paragraph as visual breaks, corrupting the output. Code blocks are exempt — those can wrap for readability.
254
+
255
+ ### 3.3 — Write Supporting Files
256
+
257
+ For each file in `references/` or `scripts/`:
258
+
259
+ - Reference it clearly from SKILL.md
260
+ - State the condition under which the agent should load/run it
261
+ - For reference files over 300 lines, include a table of contents
262
+
263
+ ### 3.4 — Anti-Patterns to Avoid
264
+
265
+ Consult `references/skill-architect/examples.md` for the full anti-pattern list. The critical ones:
266
+
267
+ - ❌ Vague instructions: "validate things properly"
268
+ - ❌ Instructions too verbose (wall of text the agent will skim)
269
+ - ❌ No examples (agents need concrete input/output pairs)
270
+ - ❌ README.md inside the skill folder
271
+ - ❌ SKILL.MD or skill.md (must be exactly SKILL.md)
272
+ - ❌ Spaces or capitals in folder name
273
+ - ❌ XML angle brackets in frontmatter
274
+ - ❌ Assuming the skill is the only one loaded
275
+
276
+ **Exit criteria for Craft:**
277
+
278
+ - [ ] Frontmatter passes all hard rules
279
+ - [ ] Instructions are specific and actionable
280
+ - [ ] Examples included for common scenarios
281
+ - [ ] Error handling documented
282
+ - [ ] Files referenced with clear load conditions
283
+ - [ ] Under 500 lines for SKILL.md body
284
+
285
+ ---
286
+
287
+ ## Phase 4: Validate
288
+
289
+ **Goal:** Verify the skill before delivery.
290
+
291
+ ### 4.1 — Structural Validation
292
+
293
+ Run the full checklist from `references/skill-architect/quality-checklist.md` and execute
294
+ `bun scripts/validate_skill.ts <skill-folder>` against the generated skill to check:
295
+
296
+ - SKILL.md exists with correct casing
297
+ - Frontmatter has required fields with correct format
298
+ - Folder naming is kebab-case
299
+ - No README.md in the skill folder
300
+ - No XML angle brackets in frontmatter
301
+ - Description includes trigger phrases
302
+
303
+ IF the script cannot run (no code-execution tool available) THEN skip
304
+ `scripts/validate_skill.ts` and run the
305
+ `references/skill-architect/quality-checklist.md` checklist manually instead.
306
+
307
+ ### 4.2 — Trigger Testing
308
+
309
+ Propose 3-5 test phrases and verify mentally:
310
+
311
+ **Should trigger:**
312
+
313
+ - Obvious task requests
314
+ - Paraphrased versions
315
+ - Partial/informal requests
316
+
317
+ **Should NOT trigger:**
318
+
319
+ - Unrelated topics
320
+ - Tasks handled by other skills
321
+ - Generic questions
322
+
323
+ If the description is too broad or too narrow, refine it now.
324
+
325
+ ### 4.3 — Instruction Quality Review
326
+
327
+ Read the skill as if you're an agent encountering it for the first time:
328
+
329
+ - Can you follow every step without ambiguity?
330
+ - Are there missing decision points?
331
+ - Would you know when to stop?
332
+ - Are the examples realistic and complete?
333
+
334
+ ### 4.4 — Present Findings
335
+
336
+ Share the validation results with the user. If issues exist, fix them
337
+ before delivery. If everything passes, move to delivery.
338
+
339
+ **Exit criteria for Validate:**
340
+
341
+ - [ ] Structural validation passes
342
+ - [ ] Trigger phrases tested
343
+ - [ ] Instructions are unambiguous
344
+ - [ ] User confirms quality
345
+
346
+ ---
347
+
348
+ ## Phase 5: Deliver
349
+
350
+ **Goal:** Package and present the completed skill.
351
+
352
+ ### 5.1 — Package
353
+
354
+ Create the final skill folder structure in the project's skills directory.
355
+
356
+ ### 5.2 — Present
357
+
358
+ Use `present_files` to share the packaged skill. Include a brief summary:
359
+
360
+ - What the skill does
361
+ - How to install it in the user's preferred AI agent or IDE
362
+ - Suggested test phrase to try first
363
+
364
+ ### 5.3 — Next Steps
365
+
366
+ Suggest:
367
+
368
+ - Test with the suggested phrases
369
+ - If results aren't right, bring the conversation back and iterate
370
+ - For formal evaluation, use the `skill-creator` skill's eval and benchmark modes
371
+
372
+ ---
373
+
374
+ ## Conversation Style
375
+
376
+ - Ask questions one area at a time — don't dump all Discovery questions at once
377
+ - Give concrete suggestions the user can react to ("Would something like X work?")
378
+ - If the user provides a vague request, propose a specific interpretation and ask
379
+ if it matches their intent
380
+ - If the conversation already contains a workflow (user says "turn this into a
381
+ skill"), extract what you can from history FIRST, then fill gaps with questions
382
+ - Match the user's technical level — explain terms if they seem non-technical
383
+ - Be direct about tradeoffs: if a design choice has a downside, say so
384
+
385
+ ## Important Boundaries
386
+
387
+ - This skill is for CREATING new skills. For improving, evaluating, or
388
+ benchmarking existing skills, direct users to the `skill-creator` skill.
389
+ - Never generate a SKILL.md without completing Discovery and Architecture.
390
+ If the user insists on skipping, explain why these phases matter and offer
391
+ a compressed version rather than skipping entirely.
392
+ - If the user's needs are better served by a simple system prompt or project
393
+ instruction rather than a full skill, say so. Not everything needs to be a skill.
@@ -0,0 +1,81 @@
1
+ ---
2
+ name: to-prd
3
+ description: "Turn the current conversation into a PRD. Use when the user asks to create, synthesize, or convert existing discussion and codebase context into a Product Requirements Document without another interview. Do NOT use for implementation plans, architecture design docs, RFCs, TDDs, or discovery interviews that require new product questioning."
4
+ license: MIT
5
+ metadata:
6
+ version: "1.0.0"
7
+ ---
8
+
9
+ ### To-PRD (Conversation → Product Requirements Document)
10
+
11
+ This skill takes the current conversation context and codebase understanding and produces a PRD. Do NOT interview the user — just synthesize what you already know.
12
+
13
+ Route here only on explicit user request to convert the current conversation into a PRD (Product Requirements Document); refining an existing PRD stays `furps-refinement`.
14
+
15
+ Load `references/project-context.md` (intake sweep) before the first substantive read.
16
+
17
+ ## Process
18
+
19
+ 1. Explore the repo to understand the current state of the codebase, if you haven't already. Use the project's domain glossary vocabulary throughout the PRD, and respect any ADRs in the area you're touching.
20
+
21
+ 2. Sketch out the seams at which you're going to test the feature. Existing seams should be preferred to new ones. Use the highest seam possible. If new seams are needed, propose them at the highest point you can. The fewer seams across the codebase, the better - the ideal number is one.
22
+
23
+ Record the seams in the PRD and proceed from the current context unless the user explicitly asks to review them first.
24
+
25
+ 3. Write the PRD using the template below. Apply the `ready-for-agent` triage label - no need for additional triage.
26
+
27
+ <prd-template>
28
+
29
+ ## Problem Statement
30
+
31
+ The problem that the user is facing, from the user's perspective.
32
+
33
+ ## Solution
34
+
35
+ The solution to the problem, from the user's perspective.
36
+
37
+ ## User Stories
38
+
39
+ A LONG, numbered list of user stories. Each user story should be in the format of:
40
+
41
+ 1. As an <actor>, I want a <feature>, so that <benefit>
42
+
43
+ <user-story-example>
44
+ 1. As a mobile bank customer, I want to see balance on my accounts, so that I can make better informed decisions about my spending
45
+ </user-story-example>
46
+
47
+ This list of user stories should be extremely extensive and cover all aspects of the feature.
48
+
49
+ ## Implementation Decisions
50
+
51
+ A list of implementation decisions that were made. This can include:
52
+
53
+ - The modules that will be built/modified
54
+ - The interfaces of those modules that will be modified
55
+ - Technical clarifications from the developer
56
+ - Architectural decisions
57
+ - Schema changes
58
+ - API contracts
59
+ - Specific interactions
60
+
61
+ Do NOT include specific file paths or code snippets. They may end up being outdated very quickly.
62
+
63
+ Exception: if a prototype produced a snippet that encodes a decision more precisely than prose can (state machine, reducer, schema, type shape), inline it within the relevant decision and note briefly that it came from a prototype. Trim to the decision-rich parts — not a working demo, just the important bits.
64
+
65
+ ## Testing Decisions
66
+
67
+ A list of testing decisions that were made. Include:
68
+
69
+ - A description of what makes a good test (only test external behavior, not implementation details)
70
+ - Which modules will be tested
71
+ - Prior art for the tests (i.e. similar types of tests in the codebase)
72
+
73
+ ## Out of Scope
74
+
75
+ A description of the things that are out of scope for this PRD.
76
+
77
+ ## Further Notes
78
+
79
+ Any further notes about the feature.
80
+
81
+ </prd-template>