omgkit 2.2.0 → 2.3.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/plugin/skills/databases/mongodb/SKILL.md +60 -776
- package/plugin/skills/databases/prisma/SKILL.md +53 -744
- package/plugin/skills/databases/redis/SKILL.md +53 -860
- package/plugin/skills/devops/aws/SKILL.md +68 -672
- package/plugin/skills/devops/github-actions/SKILL.md +54 -657
- package/plugin/skills/devops/kubernetes/SKILL.md +67 -602
- package/plugin/skills/devops/performance-profiling/SKILL.md +59 -863
- package/plugin/skills/frameworks/django/SKILL.md +87 -853
- package/plugin/skills/frameworks/express/SKILL.md +95 -1301
- package/plugin/skills/frameworks/fastapi/SKILL.md +90 -1198
- package/plugin/skills/frameworks/laravel/SKILL.md +87 -1187
- package/plugin/skills/frameworks/nestjs/SKILL.md +106 -973
- package/plugin/skills/frameworks/react/SKILL.md +94 -962
- package/plugin/skills/frameworks/vue/SKILL.md +95 -1242
- package/plugin/skills/frontend/accessibility/SKILL.md +91 -1056
- package/plugin/skills/frontend/frontend-design/SKILL.md +69 -1262
- package/plugin/skills/frontend/responsive/SKILL.md +76 -799
- package/plugin/skills/frontend/shadcn-ui/SKILL.md +73 -921
- package/plugin/skills/frontend/tailwindcss/SKILL.md +60 -788
- package/plugin/skills/frontend/threejs/SKILL.md +72 -1266
- package/plugin/skills/languages/javascript/SKILL.md +106 -849
- package/plugin/skills/methodology/brainstorming/SKILL.md +70 -576
- package/plugin/skills/methodology/defense-in-depth/SKILL.md +79 -831
- package/plugin/skills/methodology/dispatching-parallel-agents/SKILL.md +81 -654
- package/plugin/skills/methodology/executing-plans/SKILL.md +86 -529
- package/plugin/skills/methodology/finishing-development-branch/SKILL.md +95 -586
- package/plugin/skills/methodology/problem-solving/SKILL.md +67 -681
- package/plugin/skills/methodology/receiving-code-review/SKILL.md +70 -533
- package/plugin/skills/methodology/requesting-code-review/SKILL.md +70 -610
- package/plugin/skills/methodology/root-cause-tracing/SKILL.md +70 -646
- package/plugin/skills/methodology/sequential-thinking/SKILL.md +70 -478
- package/plugin/skills/methodology/systematic-debugging/SKILL.md +66 -559
- package/plugin/skills/methodology/test-driven-development/SKILL.md +91 -752
- package/plugin/skills/methodology/testing-anti-patterns/SKILL.md +78 -687
- package/plugin/skills/methodology/token-optimization/SKILL.md +72 -602
- package/plugin/skills/methodology/verification-before-completion/SKILL.md +108 -529
- package/plugin/skills/methodology/writing-plans/SKILL.md +79 -566
- package/plugin/skills/omega/omega-architecture/SKILL.md +91 -752
- package/plugin/skills/omega/omega-coding/SKILL.md +161 -552
- package/plugin/skills/omega/omega-sprint/SKILL.md +132 -777
- package/plugin/skills/omega/omega-testing/SKILL.md +157 -845
- package/plugin/skills/omega/omega-thinking/SKILL.md +165 -606
- package/plugin/skills/security/better-auth/SKILL.md +46 -1034
- package/plugin/skills/security/oauth/SKILL.md +80 -934
- package/plugin/skills/security/owasp/SKILL.md +78 -862
- package/plugin/skills/testing/playwright/SKILL.md +77 -700
- package/plugin/skills/testing/pytest/SKILL.md +73 -811
- package/plugin/skills/testing/vitest/SKILL.md +60 -920
- package/plugin/skills/tools/document-processing/SKILL.md +111 -838
- package/plugin/skills/tools/image-processing/SKILL.md +126 -659
- package/plugin/skills/tools/mcp-development/SKILL.md +85 -758
- package/plugin/skills/tools/media-processing/SKILL.md +118 -735
- package/plugin/stdrules/SKILL_STANDARDS.md +490 -0
- package/plugin/skills/SKILL_STANDARDS.md +0 -743
|
@@ -0,0 +1,490 @@
|
|
|
1
|
+
# OMGKIT Skill Standards v2.0
|
|
2
|
+
|
|
3
|
+
> Aligned with Claude Platform Official Best Practices
|
|
4
|
+
> Source: https://platform.claude.com/docs/en/agents-and-tools/agent-skills/best-practices
|
|
5
|
+
|
|
6
|
+
This document defines the quality standards for all OMGKIT skills based on Claude's official skill authoring guidelines.
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## Core Principles
|
|
11
|
+
|
|
12
|
+
### 1. Concise is Key
|
|
13
|
+
|
|
14
|
+
The context window is a public good. Your Skill shares it with:
|
|
15
|
+
- System prompt
|
|
16
|
+
- Conversation history
|
|
17
|
+
- Other Skills' metadata
|
|
18
|
+
- User's actual request
|
|
19
|
+
|
|
20
|
+
**Default assumption**: Claude is already very smart. Only add context Claude doesn't already have.
|
|
21
|
+
|
|
22
|
+
Challenge each piece of information:
|
|
23
|
+
- "Does Claude really need this explanation?"
|
|
24
|
+
- "Can I assume Claude knows this?"
|
|
25
|
+
- "Does this paragraph justify its token cost?"
|
|
26
|
+
|
|
27
|
+
### 2. Progressive Disclosure
|
|
28
|
+
|
|
29
|
+
SKILL.md serves as an overview that points Claude to detailed materials as needed:
|
|
30
|
+
- Keep SKILL.md body **under 500 lines**
|
|
31
|
+
- Split content into separate files when approaching this limit
|
|
32
|
+
- Claude reads files only when needed
|
|
33
|
+
|
|
34
|
+
### 3. Degrees of Freedom
|
|
35
|
+
|
|
36
|
+
Match specificity to task fragility:
|
|
37
|
+
|
|
38
|
+
| Freedom Level | When to Use | Example |
|
|
39
|
+
|---------------|-------------|---------|
|
|
40
|
+
| **High** (text instructions) | Multiple valid approaches | Code review guidelines |
|
|
41
|
+
| **Medium** (pseudocode/params) | Preferred pattern exists | Report templates |
|
|
42
|
+
| **Low** (specific scripts) | Operations are fragile | Database migrations |
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## Frontmatter Requirements
|
|
47
|
+
|
|
48
|
+
```yaml
|
|
49
|
+
---
|
|
50
|
+
name: skill-name
|
|
51
|
+
description: Third-person description of what it does and when to use it
|
|
52
|
+
---
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### Name Rules
|
|
56
|
+
- Maximum **64 characters**
|
|
57
|
+
- Lowercase letters, numbers, hyphens only
|
|
58
|
+
- No XML tags, no reserved words ("anthropic", "claude")
|
|
59
|
+
- **Recommended**: Use gerund form (verb + -ing)
|
|
60
|
+
|
|
61
|
+
**Good names** (gerund form):
|
|
62
|
+
- `processing-pdfs`
|
|
63
|
+
- `analyzing-data`
|
|
64
|
+
- `managing-databases`
|
|
65
|
+
- `testing-code`
|
|
66
|
+
|
|
67
|
+
**Acceptable alternatives**:
|
|
68
|
+
- Noun phrases: `pdf-processing`, `data-analysis`
|
|
69
|
+
- Action-oriented: `process-pdfs`, `analyze-data`
|
|
70
|
+
|
|
71
|
+
**Avoid**:
|
|
72
|
+
- Vague: `helper`, `utils`, `tools`
|
|
73
|
+
- Generic: `documents`, `data`, `files`
|
|
74
|
+
|
|
75
|
+
### Description Rules
|
|
76
|
+
- Maximum **1024 characters**
|
|
77
|
+
- **Must be third person** (not "I can" or "You can use")
|
|
78
|
+
- Include BOTH what it does AND when to use it
|
|
79
|
+
- Be specific, include key terms
|
|
80
|
+
|
|
81
|
+
**Good descriptions**:
|
|
82
|
+
```yaml
|
|
83
|
+
# Good - specific and includes trigger context
|
|
84
|
+
description: Extracts text and tables from PDF files, fills forms, merges documents. Use when working with PDF files or when the user mentions PDFs, forms, or document extraction.
|
|
85
|
+
|
|
86
|
+
# Good - includes specific triggers
|
|
87
|
+
description: Generates descriptive commit messages by analyzing git diffs. Use when the user asks for help writing commit messages or reviewing staged changes.
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
**Bad descriptions**:
|
|
91
|
+
```yaml
|
|
92
|
+
description: Helps with documents # Too vague
|
|
93
|
+
description: Processes data # No trigger context
|
|
94
|
+
description: I can help you with PDFs # Wrong person
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
## Skill Structure
|
|
100
|
+
|
|
101
|
+
### Minimal SKILL.md (Recommended for Most Skills)
|
|
102
|
+
|
|
103
|
+
```markdown
|
|
104
|
+
---
|
|
105
|
+
name: processing-pdfs
|
|
106
|
+
description: Extracts text and tables from PDF files, fills forms, merges documents. Use when working with PDF files or when the user mentions PDFs, forms, or document extraction.
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
# Processing PDFs
|
|
110
|
+
|
|
111
|
+
## Quick Start
|
|
112
|
+
|
|
113
|
+
Extract text with pdfplumber:
|
|
114
|
+
```python
|
|
115
|
+
import pdfplumber
|
|
116
|
+
with pdfplumber.open("file.pdf") as pdf:
|
|
117
|
+
text = pdf.pages[0].extract_text()
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
## Features
|
|
121
|
+
|
|
122
|
+
- **Text extraction**: Use pdfplumber for text
|
|
123
|
+
- **Table extraction**: See [TABLES.md](TABLES.md)
|
|
124
|
+
- **Form filling**: See [FORMS.md](FORMS.md)
|
|
125
|
+
- **Merging**: See [MERGE.md](MERGE.md)
|
|
126
|
+
|
|
127
|
+
## Workflows
|
|
128
|
+
|
|
129
|
+
### Standard Extraction
|
|
130
|
+
1. Load PDF with pdfplumber
|
|
131
|
+
2. Extract text from each page
|
|
132
|
+
3. Clean and format output
|
|
133
|
+
|
|
134
|
+
For advanced workflows, see [WORKFLOWS.md](WORKFLOWS.md).
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
### Directory Structure for Complex Skills
|
|
138
|
+
|
|
139
|
+
```
|
|
140
|
+
skill-name/
|
|
141
|
+
├── SKILL.md # Main instructions (<500 lines)
|
|
142
|
+
├── REFERENCE.md # API reference (loaded as needed)
|
|
143
|
+
├── EXAMPLES.md # Usage examples (loaded as needed)
|
|
144
|
+
├── WORKFLOWS.md # Complex workflows (loaded as needed)
|
|
145
|
+
└── scripts/
|
|
146
|
+
├── utility.py # Utility script (executed, not loaded)
|
|
147
|
+
└── validate.py # Validation script
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
---
|
|
151
|
+
|
|
152
|
+
## Content Guidelines
|
|
153
|
+
|
|
154
|
+
### What to Include
|
|
155
|
+
|
|
156
|
+
1. **Quick start** - Minimal code to get started
|
|
157
|
+
2. **Feature overview** - Brief descriptions with links to details
|
|
158
|
+
3. **Common workflows** - Step-by-step for typical tasks
|
|
159
|
+
4. **References to detailed files** - For advanced content
|
|
160
|
+
|
|
161
|
+
### What NOT to Include
|
|
162
|
+
|
|
163
|
+
1. **Explanations of basic concepts** - Claude knows what PDFs are
|
|
164
|
+
2. **Multiple library options** - Pick one default, mention alternatives only if necessary
|
|
165
|
+
3. **Verbose descriptions** - Be direct and concise
|
|
166
|
+
4. **Time-sensitive information** - Use "old patterns" section if needed
|
|
167
|
+
|
|
168
|
+
### Example: Concise vs Verbose
|
|
169
|
+
|
|
170
|
+
**Good (≈50 tokens)**:
|
|
171
|
+
```markdown
|
|
172
|
+
## Extract PDF Text
|
|
173
|
+
|
|
174
|
+
Use pdfplumber for text extraction:
|
|
175
|
+
```python
|
|
176
|
+
import pdfplumber
|
|
177
|
+
with pdfplumber.open("file.pdf") as pdf:
|
|
178
|
+
text = pdf.pages[0].extract_text()
|
|
179
|
+
```
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
**Bad (≈150 tokens)**:
|
|
183
|
+
```markdown
|
|
184
|
+
## Extract PDF Text
|
|
185
|
+
|
|
186
|
+
PDF (Portable Document Format) files are a common file format that contains
|
|
187
|
+
text, images, and other content. To extract text from a PDF, you'll need to
|
|
188
|
+
use a library. There are many libraries available for PDF processing, but we
|
|
189
|
+
recommend pdfplumber because it's easy to use and handles most cases well.
|
|
190
|
+
First, you'll need to install it using pip. Then you can use the code below...
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
---
|
|
194
|
+
|
|
195
|
+
## Progressive Disclosure Patterns
|
|
196
|
+
|
|
197
|
+
### Pattern 1: High-Level Guide with References
|
|
198
|
+
|
|
199
|
+
```markdown
|
|
200
|
+
---
|
|
201
|
+
name: processing-documents
|
|
202
|
+
description: Processes various document formats including PDF, DOCX, and XLSX. Use when working with documents or file conversion.
|
|
203
|
+
---
|
|
204
|
+
|
|
205
|
+
# Document Processing
|
|
206
|
+
|
|
207
|
+
## Quick Reference
|
|
208
|
+
|
|
209
|
+
| Format | Library | Guide |
|
|
210
|
+
|--------|---------|-------|
|
|
211
|
+
| PDF | pdfplumber | [PDF.md](PDF.md) |
|
|
212
|
+
| DOCX | python-docx | [DOCX.md](DOCX.md) |
|
|
213
|
+
| XLSX | openpyxl | [XLSX.md](XLSX.md) |
|
|
214
|
+
|
|
215
|
+
## Common Operations
|
|
216
|
+
|
|
217
|
+
**Extract text**: See format-specific guide above
|
|
218
|
+
**Convert formats**: See [CONVERT.md](CONVERT.md)
|
|
219
|
+
**Batch processing**: See [BATCH.md](BATCH.md)
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
### Pattern 2: Domain-Specific Organization
|
|
223
|
+
|
|
224
|
+
```
|
|
225
|
+
bigquery-skill/
|
|
226
|
+
├── SKILL.md
|
|
227
|
+
└── reference/
|
|
228
|
+
├── finance.md
|
|
229
|
+
├── sales.md
|
|
230
|
+
└── product.md
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
```markdown
|
|
234
|
+
# BigQuery Analysis
|
|
235
|
+
|
|
236
|
+
## Datasets
|
|
237
|
+
|
|
238
|
+
| Domain | Schema | Guide |
|
|
239
|
+
|--------|--------|-------|
|
|
240
|
+
| Finance | revenue, billing | [reference/finance.md](reference/finance.md) |
|
|
241
|
+
| Sales | opportunities, pipeline | [reference/sales.md](reference/sales.md) |
|
|
242
|
+
| Product | API usage, features | [reference/product.md](reference/product.md) |
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
### Pattern 3: Conditional Details
|
|
246
|
+
|
|
247
|
+
```markdown
|
|
248
|
+
# DOCX Processing
|
|
249
|
+
|
|
250
|
+
## Creating Documents
|
|
251
|
+
Use docx-js for new documents. See [DOCX-JS.md](DOCX-JS.md).
|
|
252
|
+
|
|
253
|
+
## Editing Documents
|
|
254
|
+
For simple edits, modify XML directly.
|
|
255
|
+
|
|
256
|
+
**For tracked changes**: See [REDLINING.md](REDLINING.md)
|
|
257
|
+
**For OOXML details**: See [OOXML.md](OOXML.md)
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
---
|
|
261
|
+
|
|
262
|
+
## Workflows and Feedback Loops
|
|
263
|
+
|
|
264
|
+
### Use Checklists for Complex Tasks
|
|
265
|
+
|
|
266
|
+
```markdown
|
|
267
|
+
## Form Processing Workflow
|
|
268
|
+
|
|
269
|
+
Copy this checklist and track progress:
|
|
270
|
+
|
|
271
|
+
```
|
|
272
|
+
Progress:
|
|
273
|
+
- [ ] Step 1: Analyze form (run analyze_form.py)
|
|
274
|
+
- [ ] Step 2: Create field mapping (edit fields.json)
|
|
275
|
+
- [ ] Step 3: Validate mapping (run validate_fields.py)
|
|
276
|
+
- [ ] Step 4: Fill form (run fill_form.py)
|
|
277
|
+
- [ ] Step 5: Verify output (run verify_output.py)
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
**Step 1**: Run `python scripts/analyze_form.py input.pdf`
|
|
281
|
+
**Step 2**: Edit `fields.json` with values
|
|
282
|
+
**Step 3**: Run `python scripts/validate_fields.py fields.json`
|
|
283
|
+
**Step 4**: Run `python scripts/fill_form.py input.pdf fields.json output.pdf`
|
|
284
|
+
**Step 5**: Run `python scripts/verify_output.py output.pdf`
|
|
285
|
+
|
|
286
|
+
If verification fails, return to Step 2.
|
|
287
|
+
```
|
|
288
|
+
|
|
289
|
+
### Implement Validation Loops
|
|
290
|
+
|
|
291
|
+
```markdown
|
|
292
|
+
## Edit Process
|
|
293
|
+
|
|
294
|
+
1. Make edits to document
|
|
295
|
+
2. **Validate immediately**: `python validate.py`
|
|
296
|
+
3. If validation fails:
|
|
297
|
+
- Review error message
|
|
298
|
+
- Fix issues
|
|
299
|
+
- Run validation again
|
|
300
|
+
4. **Only proceed when validation passes**
|
|
301
|
+
5. Save output
|
|
302
|
+
```
|
|
303
|
+
|
|
304
|
+
---
|
|
305
|
+
|
|
306
|
+
## Reference Files (for Detailed Content)
|
|
307
|
+
|
|
308
|
+
Keep references **one level deep** from SKILL.md:
|
|
309
|
+
|
|
310
|
+
**Good** (one level):
|
|
311
|
+
```
|
|
312
|
+
SKILL.md → reference.md → (no further links)
|
|
313
|
+
SKILL.md → examples.md → (no further links)
|
|
314
|
+
```
|
|
315
|
+
|
|
316
|
+
**Bad** (too deep):
|
|
317
|
+
```
|
|
318
|
+
SKILL.md → advanced.md → details.md → (lost information)
|
|
319
|
+
```
|
|
320
|
+
|
|
321
|
+
### Structure Long Reference Files
|
|
322
|
+
|
|
323
|
+
For files >100 lines, include table of contents:
|
|
324
|
+
|
|
325
|
+
```markdown
|
|
326
|
+
# API Reference
|
|
327
|
+
|
|
328
|
+
## Contents
|
|
329
|
+
- Authentication
|
|
330
|
+
- Core Methods
|
|
331
|
+
- Advanced Features
|
|
332
|
+
- Error Handling
|
|
333
|
+
- Examples
|
|
334
|
+
|
|
335
|
+
## Authentication
|
|
336
|
+
...
|
|
337
|
+
```
|
|
338
|
+
|
|
339
|
+
---
|
|
340
|
+
|
|
341
|
+
## Anti-Patterns to Avoid
|
|
342
|
+
|
|
343
|
+
### ❌ Avoid Windows Paths
|
|
344
|
+
```markdown
|
|
345
|
+
# Bad
|
|
346
|
+
scripts\helper.py
|
|
347
|
+
|
|
348
|
+
# Good
|
|
349
|
+
scripts/helper.py
|
|
350
|
+
```
|
|
351
|
+
|
|
352
|
+
### ❌ Avoid Too Many Options
|
|
353
|
+
```markdown
|
|
354
|
+
# Bad
|
|
355
|
+
"You can use pypdf, or pdfplumber, or PyMuPDF, or pdf2image..."
|
|
356
|
+
|
|
357
|
+
# Good
|
|
358
|
+
"Use pdfplumber for text extraction.
|
|
359
|
+
For scanned PDFs requiring OCR, use pdf2image with pytesseract instead."
|
|
360
|
+
```
|
|
361
|
+
|
|
362
|
+
### ❌ Avoid Time-Sensitive Info
|
|
363
|
+
```markdown
|
|
364
|
+
# Bad
|
|
365
|
+
"If before August 2025, use old API..."
|
|
366
|
+
|
|
367
|
+
# Good
|
|
368
|
+
## Current Method
|
|
369
|
+
Use v2 API endpoint.
|
|
370
|
+
|
|
371
|
+
## Legacy (Deprecated)
|
|
372
|
+
<details>
|
|
373
|
+
<summary>v1 API (deprecated 2025-08)</summary>
|
|
374
|
+
Old endpoint details...
|
|
375
|
+
</details>
|
|
376
|
+
```
|
|
377
|
+
|
|
378
|
+
### ❌ Avoid Inconsistent Terminology
|
|
379
|
+
```markdown
|
|
380
|
+
# Bad
|
|
381
|
+
Mix of "API endpoint", "URL", "route", "path"
|
|
382
|
+
|
|
383
|
+
# Good
|
|
384
|
+
Always use "API endpoint" consistently
|
|
385
|
+
```
|
|
386
|
+
|
|
387
|
+
---
|
|
388
|
+
|
|
389
|
+
## Skill Length Guidelines
|
|
390
|
+
|
|
391
|
+
| Skill Type | SKILL.md Max | Use Reference Files When |
|
|
392
|
+
|------------|--------------|--------------------------|
|
|
393
|
+
| Simple | 100 lines | Rarely needed |
|
|
394
|
+
| Standard | 200-300 lines | 1-2 reference files |
|
|
395
|
+
| Complex | 400-500 lines | 3+ reference files |
|
|
396
|
+
|
|
397
|
+
**Hard limit**: SKILL.md body should never exceed 500 lines.
|
|
398
|
+
|
|
399
|
+
---
|
|
400
|
+
|
|
401
|
+
## Testing Checklist
|
|
402
|
+
|
|
403
|
+
Before finalizing a skill:
|
|
404
|
+
|
|
405
|
+
### Core Quality
|
|
406
|
+
- [ ] Name uses gerund form (or acceptable alternative)
|
|
407
|
+
- [ ] Name is ≤64 characters, lowercase, hyphens only
|
|
408
|
+
- [ ] Description is third person
|
|
409
|
+
- [ ] Description includes what it does AND when to use it
|
|
410
|
+
- [ ] SKILL.md body is under 500 lines
|
|
411
|
+
- [ ] Only essential context included (Claude already knows basics)
|
|
412
|
+
- [ ] References are one level deep
|
|
413
|
+
- [ ] No time-sensitive information
|
|
414
|
+
- [ ] Consistent terminology throughout
|
|
415
|
+
|
|
416
|
+
### Structure
|
|
417
|
+
- [ ] Quick start section with minimal code
|
|
418
|
+
- [ ] Feature overview with links to details
|
|
419
|
+
- [ ] Workflows have clear steps
|
|
420
|
+
- [ ] Complex content in separate reference files
|
|
421
|
+
|
|
422
|
+
### If Includes Scripts
|
|
423
|
+
- [ ] Scripts handle errors explicitly
|
|
424
|
+
- [ ] No "voodoo constants" (all values justified)
|
|
425
|
+
- [ ] Clear whether to execute or read scripts
|
|
426
|
+
- [ ] Forward slashes in all paths
|
|
427
|
+
|
|
428
|
+
---
|
|
429
|
+
|
|
430
|
+
## Migration from v1 Skills
|
|
431
|
+
|
|
432
|
+
To convert existing verbose skills:
|
|
433
|
+
|
|
434
|
+
1. **Extract quick start**: Keep only the minimal getting-started code
|
|
435
|
+
2. **Create reference files**: Move detailed content to REFERENCE.md, EXAMPLES.md, etc.
|
|
436
|
+
3. **Simplify descriptions**: Remove explanations Claude already knows
|
|
437
|
+
4. **Add navigation**: Replace inline content with links to reference files
|
|
438
|
+
5. **Verify length**: Ensure SKILL.md is under 500 lines
|
|
439
|
+
|
|
440
|
+
### Example Migration
|
|
441
|
+
|
|
442
|
+
**Before (v1 - 800 lines)**:
|
|
443
|
+
```markdown
|
|
444
|
+
# MongoDB
|
|
445
|
+
|
|
446
|
+
MongoDB is a document database... [200 lines of explanation]
|
|
447
|
+
|
|
448
|
+
## Schema Design
|
|
449
|
+
[300 lines of patterns and examples]
|
|
450
|
+
|
|
451
|
+
## Query Optimization
|
|
452
|
+
[200 lines of techniques]
|
|
453
|
+
|
|
454
|
+
## Best Practices
|
|
455
|
+
[100 lines of do's and don'ts]
|
|
456
|
+
```
|
|
457
|
+
|
|
458
|
+
**After (v2 - 150 lines)**:
|
|
459
|
+
```markdown
|
|
460
|
+
# MongoDB
|
|
461
|
+
|
|
462
|
+
## Quick Start
|
|
463
|
+
|
|
464
|
+
```python
|
|
465
|
+
from pymongo import MongoClient
|
|
466
|
+
client = MongoClient("mongodb://localhost:27017/")
|
|
467
|
+
db = client["mydb"]
|
|
468
|
+
```
|
|
469
|
+
|
|
470
|
+
## Features
|
|
471
|
+
|
|
472
|
+
| Feature | Guide |
|
|
473
|
+
|---------|-------|
|
|
474
|
+
| Schema Design | [SCHEMA.md](SCHEMA.md) |
|
|
475
|
+
| Query Optimization | [QUERIES.md](QUERIES.md) |
|
|
476
|
+
| Indexing | [INDEXES.md](INDEXES.md) |
|
|
477
|
+
| Transactions | [TRANSACTIONS.md](TRANSACTIONS.md) |
|
|
478
|
+
|
|
479
|
+
## Common Patterns
|
|
480
|
+
|
|
481
|
+
- **CRUD operations**: See Quick Start above
|
|
482
|
+
- **Aggregation**: See [AGGREGATION.md](AGGREGATION.md)
|
|
483
|
+
- **Replication**: See [REPLICATION.md](REPLICATION.md)
|
|
484
|
+
```
|
|
485
|
+
|
|
486
|
+
---
|
|
487
|
+
|
|
488
|
+
*Version: 2.0*
|
|
489
|
+
*Based on: Claude Platform Best Practices (2025)*
|
|
490
|
+
*Last Updated: 2024-12-31*
|