@tech-leads-club/agent-skills 0.1.0-beta.2

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,379 @@
1
+ ---
2
+ name: cursor-skill-creator
3
+ description: Creates Cursor-specific AI agent skills with SKILL.md format. Use when creating skills for Cursor editor specifically, following Cursor's patterns and directories (.cursor/skills/). Triggers on "cursor skill", "create cursor skill".
4
+ ---
5
+
6
+ # Cursor Skill Creator
7
+
8
+ You are an expert in creating Agent Skills following Cursor's pattern.
9
+
10
+ ## When to Use This Skill
11
+
12
+ Use this skill when the user asks to:
13
+
14
+ - Create a new skill
15
+ - Package domain-specific knowledge
16
+ - Create reusable capabilities for the agent
17
+ - Transform a repetitive process into a skill
18
+ - Create quick, one-off actions (not complex tasks with multiple steps)
19
+
20
+ **DO NOT use for complex tasks that require multiple steps** - for those, use subagents.
21
+
22
+ ## Skill Structure
23
+
24
+ A skill is a `SKILL.md` file inside a folder in `.cursor/skills/` (project) or `~/.cursor/skills/` (user).
25
+
26
+ ### File Format
27
+
28
+ ```markdown
29
+ ---
30
+ description: Short and objective description of what the skill does and when to use it (appears in menus). This description is used by the agent to decide when to apply the skill.
31
+ name: Readable Skill Name (optional - if omitted, uses folder name)
32
+ ---
33
+
34
+ # Skill Title
35
+
36
+ Detailed instructions for the agent on how to use this skill.
37
+
38
+ ## When to Use
39
+
40
+ - Use this skill when...
41
+ - This skill is useful for...
42
+ - Apply in situations where...
43
+
44
+ ## Step-by-Step Instructions
45
+
46
+ 1. First do this...
47
+ 2. Then do that...
48
+ 3. Finish with...
49
+
50
+ ## Conventions and Best Practices
51
+
52
+ - Always do X
53
+ - Never do Y
54
+ - Prefer Z when...
55
+
56
+ ## Examples (optional)
57
+
58
+ ### Example 1: Example Title
59
+
60
+ Input:
61
+ ```
62
+
63
+ example input
64
+
65
+ ```
66
+
67
+ Expected output:
68
+ ```
69
+
70
+ example output
71
+
72
+ ```
73
+
74
+ ## Important Notes
75
+
76
+ - Important note 1
77
+ - Important note 2
78
+ ```
79
+
80
+ ## Skill Creation Process
81
+
82
+ When creating a skill, follow these steps:
83
+
84
+ ### 1. Understand the Purpose
85
+
86
+ - What specific problem does the skill solve?
87
+ - When should the agent use this skill?
88
+ - Is it a one-off/quick task (skill) or complex/multi-step (subagent)?
89
+ - Who will use it (specific project or all projects)?
90
+
91
+ ### 2. Choose the Location
92
+
93
+ - **Project**: `.cursor/skills/skill-name/SKILL.md` - only for the current project
94
+ - **User**: `~/.cursor/skills/skill-name/SKILL.md` - available in all projects
95
+
96
+ **Naming convention:**
97
+
98
+ - Use kebab-case (words-separated-by-hyphens)
99
+ - Be descriptive but concise
100
+ - Examples: `format-imports`, `generate-tests`, `review-security`
101
+
102
+ ### 3. Write the Description
103
+
104
+ The description is CRITICAL - it determines when the agent uses the skill.
105
+
106
+ **Good descriptions:**
107
+
108
+ - "Formats TypeScript imports in alphabetical order and removes duplicates"
109
+ - "Generates Jest unit tests for React components following project patterns"
110
+ - "Reviews code for common security vulnerabilities (SQL injection, XSS, CSRF)"
111
+
112
+ **Bad descriptions (avoid):**
113
+
114
+ - "Helps with code" (too vague)
115
+ - "Does useful things" (not specific)
116
+ - "General skill" (no context of when to use)
117
+
118
+ **Formula for good descriptions:**
119
+
120
+ ```
121
+ [Specific action] + [in which context] + [following which criteria/patterns]
122
+ ```
123
+
124
+ ### 4. Structure the Instructions
125
+
126
+ The instructions should be:
127
+
128
+ - **Specific**: Clear and unambiguous steps
129
+ - **Actionable**: The agent can execute directly
130
+ - **Focused**: One clear responsibility
131
+ - **Complete**: Include all necessary details
132
+
133
+ **Organize into sections:**
134
+
135
+ 1. **When to Use**: Clear triggers for application
136
+ 2. **Main Instructions**: Detailed step-by-step
137
+ 3. **Conventions**: Domain-specific rules and patterns
138
+ 4. **Examples**: Concrete use cases (optional but useful)
139
+ 5. **Notes**: Warnings, limitations, special cases
140
+
141
+ ### 5. Be Concise but Complete
142
+
143
+ - Avoid long, rambling prompts (dilute focus)
144
+ - Be direct and specific
145
+ - Use lists and clear structure
146
+ - Include concrete examples when useful
147
+
148
+ ### 6. Test and Refine
149
+
150
+ After creating the skill:
151
+
152
+ 1. Test by making a prompt that should trigger the skill
153
+ 2. Verify that the agent uses the skill correctly
154
+ 3. Refine the description if the skill isn't triggered when expected
155
+ 4. Adjust instructions if behavior isn't as expected
156
+
157
+ ## Best Practices
158
+
159
+ ### ✅ DO
160
+
161
+ - **Be specific in scope**: One skill = one clear responsibility
162
+ - **Invest in the description**: It's how the agent decides to use the skill
163
+ - **Use clear structure**: Headers, lists, examples
164
+ - **Add to version control**: Share with the team
165
+ - **Start simple**: Add complexity as needed
166
+ - **Use concrete examples**: Demonstrate expected behavior
167
+
168
+ ### ❌ AVOID
169
+
170
+ - **Generic skills**: "Helps with general tasks" is not useful
171
+ - **Long prompts**: 2000 words don't make the skill smarter
172
+ - **Duplicating slash commands**: If it's single-purpose, maybe a command is better
173
+ - **Too many skills**: Start with 2-3 focused ones, add when needed
174
+ - **Vague descriptions**: "Use for general tasks" gives no signal to the agent
175
+ - **Complex tasks**: If it requires multiple steps and isolated context, use subagent
176
+
177
+ ## Skills vs Subagents vs Slash Commands
178
+
179
+ Use this decision tree:
180
+
181
+ ```
182
+ Is task single-purpose and instant?
183
+ ├─ YES → Is it a custom command?
184
+ │ ├─ YES → Use slash command
185
+ │ └─ NO → Use skill
186
+
187
+ └─ NO → Does it require multiple steps and isolated context?
188
+ ├─ YES → Use subagent
189
+ └─ NO → Use skill
190
+ ```
191
+
192
+ **Examples:**
193
+
194
+ - **Skill**: "Generate a changelog based on commits since last tag"
195
+ - **Skill**: "Format all imports following the style guide"
196
+ - **Subagent**: "Implement complete OAuth authentication with tests"
197
+ - **Subagent**: "Investigate and fix all failing tests"
198
+ - **Slash Command**: `/fix` to fix linter errors
199
+
200
+ ## Quick Template
201
+
202
+ Use this template when creating a skill:
203
+
204
+ ```markdown
205
+ ---
206
+ description: [Specific action] for [context] following [pattern/criteria]
207
+ ---
208
+
209
+ # [Skill Name]
210
+
211
+ You are an expert in [specific domain].
212
+
213
+ ## When to Use
214
+
215
+ Use this skill when:
216
+
217
+ - [Trigger 1]
218
+ - [Trigger 2]
219
+ - [Trigger 3]
220
+
221
+ ## Process
222
+
223
+ 1. [Step 1]
224
+ 2. [Step 2]
225
+ 3. [Step 3]
226
+
227
+ ## Criteria and Conventions
228
+
229
+ - [Rule 1]
230
+ - [Rule 2]
231
+ - [Rule 3]
232
+
233
+ ## Output Format (if applicable)
234
+
235
+ [Describe the expected output format]
236
+ ```
237
+
238
+ ## Well-Structured Skill Examples
239
+
240
+ ### Example 1: Import Formatter
241
+
242
+ ````markdown
243
+ ---
244
+ description: Organizes and formats JavaScript/TypeScript imports in alphabetical order, groups by type (external, internal, types) and removes duplicates.
245
+ ---
246
+
247
+ # Import Formatter
248
+
249
+ ## When to Use
250
+
251
+ - When finishing a file with disorganized imports
252
+ - When asked to "organize imports"
253
+ - Before commits to maintain consistency
254
+
255
+ ## Process
256
+
257
+ 1. Identify all import statements
258
+ 2. Classify into groups:
259
+ - External (node_modules)
260
+ - Internal (relative paths and aliases)
261
+ - Types (import type)
262
+ 3. Sort alphabetically within each group
263
+ 4. Remove duplicates
264
+ 5. Add blank line between groups
265
+
266
+ ## Expected Format
267
+
268
+ ```typescript
269
+ // External
270
+ import { useState } from "react";
271
+ import axios from "axios";
272
+
273
+ // Internal
274
+ import { Button } from "@/components/Button";
275
+ import { utils } from "../utils";
276
+
277
+ // Types
278
+ import type { User } from "@/types";
279
+ ```
280
+ ````
281
+
282
+ ````
283
+
284
+ ### Example 2: Changelog Generator
285
+
286
+ ```markdown
287
+ ---
288
+ description: Generates formatted changelog based on Git commits since last tag, categorizing by type (feat, fix, docs, etc.) following Conventional Commits.
289
+ ---
290
+
291
+ # Changelog Generator
292
+
293
+ ## When to Use
294
+
295
+ - When preparing a release
296
+ - When asked to "generate changelog"
297
+ - To document changes between versions
298
+
299
+ ## Process
300
+
301
+ 1. Fetch commits since last git tag
302
+ 2. Parse messages following Conventional Commits
303
+ 3. Categorize by type:
304
+ - ✨ Features (feat:)
305
+ - 🐛 Fixes (fix:)
306
+ - 📚 Docs (docs:)
307
+ - 🔧 Chore (chore:)
308
+ - ♻️ Refactor (refactor:)
309
+ 4. Format in markdown with bullet points
310
+ 5. Include breaking changes in separate section
311
+
312
+ ## Output Format
313
+
314
+ ```markdown
315
+ ## [Version] - [Date]
316
+
317
+ ### ✨ Features
318
+ - feat(auth): add OAuth login
319
+ - feat(api): endpoint for file upload
320
+
321
+ ### 🐛 Fixes
322
+ - fix(ui): fix responsive menu
323
+ - fix(db): resolve race condition in transactions
324
+
325
+ ### 📚 Documentation
326
+ - docs: update README with new endpoints
327
+
328
+ ### ⚠️ BREAKING CHANGES
329
+ - feat(api)!: remove endpoint /v1/legacy
330
+ ````
331
+
332
+ ```
333
+
334
+ ## Creation Outputs
335
+
336
+ When creating a skill, you should:
337
+
338
+ 1. **Create the directory**: `.cursor/skills/[skill-name]/`
339
+ 2. **Create the file**: `SKILL.md` inside the directory
340
+ 3. **Confirm location**: Inform where the skill was created
341
+ 4. **Explain usage**: How to test/use the skill
342
+ 5. **Suggest improvements**: If relevant, suggest refinements
343
+
344
+ ## Quality Checklist
345
+
346
+ Before finalizing a skill, verify:
347
+
348
+ - [ ] Description is specific and clear about when to use
349
+ - [ ] Folder name uses kebab-case
350
+ - [ ] Instructions are actionable and unambiguous
351
+ - [ ] Scope is focused (one responsibility)
352
+ - [ ] Concrete examples are included (if applicable)
353
+ - [ ] Sections are well organized
354
+ - [ ] It's not a complex task (that should be a subagent)
355
+ - [ ] Output format is clear (if applicable)
356
+
357
+ ## Output Messages
358
+
359
+ When creating a skill, inform the user:
360
+
361
+ ```
362
+
363
+ ✅ Skill created successfully!
364
+
365
+ 📁 Location: .cursor/skills/[name]/SKILL.md
366
+ 🎯 Purpose: [brief description]
367
+ 🔧 How to test: [example prompt that should trigger the skill]
368
+
369
+ 💡 Tip: The agent will use this skill automatically when it detects [context].
370
+ You can also mention it explicitly in prompts.
371
+
372
+ ```
373
+
374
+ ---
375
+
376
+ ## Remember
377
+
378
+ Skills are for **reusable knowledge and one-off actions**. For complex tasks with multiple steps, delegation, and isolated context, use **subagents** instead of skills.
379
+ ```