@tinkcarlos/skillora 0.2.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/.claude/skills/.temp-skill-index.md +245 -0
- package/.claude/skills/SKILL.md +264 -0
- package/.claude/skills/api-scaffolding/SKILL.md +431 -0
- package/.claude/skills/api-scaffolding/agents/backend-architect.md +282 -0
- package/.claude/skills/api-scaffolding/agents/django-pro.md +144 -0
- package/.claude/skills/api-scaffolding/agents/fastapi-pro.md +156 -0
- package/.claude/skills/api-scaffolding/agents/graphql-architect.md +146 -0
- package/.claude/skills/api-scaffolding/skills/fastapi-templates/SKILL.md +171 -0
- package/.claude/skills/api-testing-observability/SKILL.md +583 -0
- package/.claude/skills/api-testing-observability/agents/api-documenter.md +146 -0
- package/.claude/skills/api-testing-observability/commands/api-mock.md +1320 -0
- package/.claude/skills/brainstorming/SKILL.md +283 -0
- package/.claude/skills/bug-fixing/SKILL.md +382 -0
- package/.claude/skills/bug-fixing/references/backend-guide.md +132 -0
- package/.claude/skills/bug-fixing/references/bug-guide.md +354 -0
- package/.claude/skills/bug-fixing/references/bug-record-template.md +134 -0
- package/.claude/skills/bug-fixing/references/bug-records.md +88 -0
- package/.claude/skills/bug-fixing/references/code-review-gate.md +81 -0
- package/.claude/skills/bug-fixing/references/common-bugs.md +140 -0
- package/.claude/skills/bug-fixing/references/complete-workflow.md +361 -0
- package/.claude/skills/bug-fixing/references/config-driven-fixes.md +136 -0
- package/.claude/skills/bug-fixing/references/context-isolation-protocol.md +268 -0
- package/.claude/skills/bug-fixing/references/cross-surface-regression.md +120 -0
- package/.claude/skills/bug-fixing/references/database-investigation.md +129 -0
- package/.claude/skills/bug-fixing/references/dependency-and-integrity-protocol.md +369 -0
- package/.claude/skills/bug-fixing/references/fix-completeness-checklist.md +239 -0
- package/.claude/skills/bug-fixing/references/frontend-guide.md +219 -0
- package/.claude/skills/bug-fixing/references/fullstack-joint-guide.md +123 -0
- package/.claude/skills/bug-fixing/references/functional-breakage.md +117 -0
- package/.claude/skills/bug-fixing/references/ide-lint-errors-guide.md +176 -0
- package/.claude/skills/bug-fixing/references/impact-analysis.md +511 -0
- package/.claude/skills/bug-fixing/references/investigation-checklist.md +263 -0
- package/.claude/skills/bug-fixing/references/knowledge-extraction-guide.md +531 -0
- package/.claude/skills/bug-fixing/references/knowledge-workflow.md +212 -0
- package/.claude/skills/bug-fixing/references/post-edit-quality-gate.md +30 -0
- package/.claude/skills/bug-fixing/references/python-env-and-testing.md +126 -0
- package/.claude/skills/bug-fixing/references/rca-guide.md +428 -0
- package/.claude/skills/bug-fixing/references/similar-bug-patterns.md +113 -0
- package/.claude/skills/bug-fixing/references/skill-delegation-guide.md +350 -0
- package/.claude/skills/bug-fixing/references/skill-orchestration.md +155 -0
- package/.claude/skills/bug-fixing/references/testing-strategy.md +350 -0
- package/.claude/skills/bug-fixing/references/tooling-build-scripts.md +162 -0
- package/.claude/skills/bug-fixing/references/user-input-validation.md +77 -0
- package/.claude/skills/bug-fixing/references/ux-patterns.md +158 -0
- package/.claude/skills/bug-fixing/references/windows-terminal-hygiene.md +106 -0
- package/.claude/skills/bug-fixing/references/zero-regression-matrix.md +239 -0
- package/.claude/skills/bug-fixing/references/zero-risk-protocol.md +102 -0
- package/.claude/skills/bug-fixing/scripts/format_code.py +611 -0
- package/.claude/skills/bug-fixing/scripts/generate_report_template.py +74 -0
- package/.claude/skills/bug-fixing/scripts/lint_check.py +816 -0
- package/.claude/skills/bug-fixing/scripts/requirements.txt +36 -0
- package/.claude/skills/cicd-pipeline/SKILL.md +300 -0
- package/.claude/skills/code-review/SKILL.md +535 -0
- package/.claude/skills/code-review/references/anti-pattern-scan.md +102 -0
- package/.claude/skills/code-review/references/automated-analysis.md +456 -0
- package/.claude/skills/code-review/references/backend-common-issues.md +589 -0
- package/.claude/skills/code-review/references/backend-expert-guide.md +415 -0
- package/.claude/skills/code-review/references/backend-review.md +868 -0
- package/.claude/skills/code-review/references/batch-processing-strategy.md +198 -0
- package/.claude/skills/code-review/references/call-chain-analysis-protocol.md +166 -0
- package/.claude/skills/code-review/references/common-patterns.md +321 -0
- package/.claude/skills/code-review/references/configuration-review.md +425 -0
- package/.claude/skills/code-review/references/control-flow-completeness.md +114 -0
- package/.claude/skills/code-review/references/database-review.md +298 -0
- package/.claude/skills/code-review/references/dependency-and-integrity-protocol.md +313 -0
- package/.claude/skills/code-review/references/external-standards.md +51 -0
- package/.claude/skills/code-review/references/feature-review.md +329 -0
- package/.claude/skills/code-review/references/file-review-template.md +326 -0
- package/.claude/skills/code-review/references/frontend-advanced.md +654 -0
- package/.claude/skills/code-review/references/frontend-common-issues.md +482 -0
- package/.claude/skills/code-review/references/frontend-expert-guide.md +342 -0
- package/.claude/skills/code-review/references/frontend-review.md +783 -0
- package/.claude/skills/code-review/references/fullstack-consistency.md +418 -0
- package/.claude/skills/code-review/references/fullstack-review.md +477 -0
- package/.claude/skills/code-review/references/functional-completeness.md +386 -0
- package/.claude/skills/code-review/references/hidden-bugs-detection.md +473 -0
- package/.claude/skills/code-review/references/ide-lint-errors-guide.md +173 -0
- package/.claude/skills/code-review/references/infrastructure-review.md +453 -0
- package/.claude/skills/code-review/references/iteration-review.md +264 -0
- package/.claude/skills/code-review/references/job-review.md +335 -0
- package/.claude/skills/code-review/references/layered-checklist-protocol.md +157 -0
- package/.claude/skills/code-review/references/logic-completeness.md +535 -0
- package/.claude/skills/code-review/references/mandatory-checklist.md +288 -0
- package/.claude/skills/code-review/references/multi-language-guide.md +800 -0
- package/.claude/skills/code-review/references/new-project-review.md +226 -0
- package/.claude/skills/code-review/references/non-code-files-review.md +451 -0
- package/.claude/skills/code-review/references/overlooked-issues.md +657 -0
- package/.claude/skills/code-review/references/platform-specific-review.md +195 -0
- package/.claude/skills/code-review/references/precision-analysis-protocol.md +260 -0
- package/.claude/skills/code-review/references/python-patterns.md +494 -0
- package/.claude/skills/code-review/references/rca-techniques.md +362 -0
- package/.claude/skills/code-review/references/report-template.md +430 -0
- package/.claude/skills/code-review/references/resource-limits-and-degradation.md +137 -0
- package/.claude/skills/code-review/references/review-dimensions.md +311 -0
- package/.claude/skills/code-review/references/review-guide.md +202 -0
- package/.claude/skills/code-review/references/review-knowledge-workflow.md +257 -0
- package/.claude/skills/code-review/references/review-progress-tracker-protocol.md +172 -0
- package/.claude/skills/code-review/references/review-record-template.md +195 -0
- package/.claude/skills/code-review/references/skill-orchestration.md +143 -0
- package/.claude/skills/code-review/references/ui-ux-review.md +470 -0
- package/.claude/skills/containerization/SKILL.md +313 -0
- package/.claude/skills/database-migrations/agents/database-admin.md +142 -0
- package/.claude/skills/database-migrations/agents/database-optimizer.md +144 -0
- package/.claude/skills/database-migrations/commands/migration-observability.md +408 -0
- package/.claude/skills/database-migrations/commands/sql-migrations.md +492 -0
- package/.claude/skills/finishing-a-development-branch/SKILL.md +319 -0
- package/.claude/skills/frontend-design/LICENSE.txt +177 -0
- package/.claude/skills/frontend-design/SKILL.md +587 -0
- package/.claude/skills/frontend-design/references/color-consistency.md +487 -0
- package/.claude/skills/frontend-design/references/color-palettes-full.md +657 -0
- package/.claude/skills/frontend-design/references/design-system-generator.md +285 -0
- package/.claude/skills/frontend-design/references/font-pairings-full.md +705 -0
- package/.claude/skills/frontend-design/references/industry-anti-patterns.md +281 -0
- package/.claude/skills/frontend-design/references/layout-anti-patterns.md +582 -0
- package/.claude/skills/frontend-design/references/motion-patterns.md +659 -0
- package/.claude/skills/frontend-design/references/pre-delivery-checklist.md +153 -0
- package/.claude/skills/frontend-design/references/responsive-design.md +555 -0
- package/.claude/skills/frontend-design/references/style-modification-rules.md +335 -0
- package/.claude/skills/frontend-design/references/ui-styles-full.md +383 -0
- package/.claude/skills/frontend-design/references/ui-styles-rating.md +191 -0
- package/.claude/skills/frontend-design/references/ux-guidelines.md +640 -0
- package/.claude/skills/fullstack-developer/SKILL.md +512 -0
- package/.claude/skills/fullstack-developer/references/api-contract-guide.md +312 -0
- package/.claude/skills/fullstack-developer/references/api-response-patterns.md +223 -0
- package/.claude/skills/fullstack-developer/references/async-patterns.md +220 -0
- package/.claude/skills/fullstack-developer/references/bug-prevention.md +914 -0
- package/.claude/skills/fullstack-developer/references/code-quality-checklist.md +271 -0
- package/.claude/skills/fullstack-developer/references/complete-development-workflow.md +278 -0
- package/.claude/skills/fullstack-developer/references/context-isolation-protocol.md +256 -0
- package/.claude/skills/fullstack-developer/references/database-migration.md +331 -0
- package/.claude/skills/fullstack-developer/references/dependency-and-integrity-protocol.md +390 -0
- package/.claude/skills/fullstack-developer/references/development-phases.md +333 -0
- package/.claude/skills/fullstack-developer/references/expert-guide.md +214 -0
- package/.claude/skills/fullstack-developer/references/file-import-patterns.md +114 -0
- package/.claude/skills/fullstack-developer/references/graceful-degradation-patterns.md +78 -0
- package/.claude/skills/fullstack-developer/references/ide-lint-errors-guide.md +183 -0
- package/.claude/skills/fullstack-developer/references/integration-testing.md +301 -0
- package/.claude/skills/fullstack-developer/references/mock-api-patterns.md +307 -0
- package/.claude/skills/fullstack-developer/references/phase-gate-template.md +249 -0
- package/.claude/skills/fullstack-developer/references/post-edit-quality-gate.md +30 -0
- package/.claude/skills/fullstack-developer/references/python-engineering.md +79 -0
- package/.claude/skills/fullstack-developer/references/skill-orchestration.md +214 -0
- package/.claude/skills/fullstack-developer/references/skill-router-table.md +304 -0
- package/.claude/skills/fullstack-developer/references/state-sync.md +217 -0
- package/.claude/skills/fullstack-developer/references/ui-testing-checklist.md +292 -0
- package/.claude/skills/fullstack-developer/scripts/format_code.py +611 -0
- package/.claude/skills/fullstack-developer/scripts/lint_check.py +816 -0
- package/.claude/skills/fullstack-developer/scripts/requirements.txt +36 -0
- package/.claude/skills/performance-optimization/SKILL.md +250 -0
- package/.claude/skills/product-requirements/SKILL.md +357 -0
- package/.claude/skills/product-requirements/references/acceptance-criteria.md +335 -0
- package/.claude/skills/product-requirements/references/answer-first-questioning-protocol.md +299 -0
- package/.claude/skills/product-requirements/references/competitive-analysis-guide.md +183 -0
- package/.claude/skills/product-requirements/references/document-accuracy-protocol.md +253 -0
- package/.claude/skills/product-requirements/references/document-management-protocol.md +278 -0
- package/.claude/skills/product-requirements/references/external-standards.md +62 -0
- package/.claude/skills/product-requirements/references/feature-spec-template.md +359 -0
- package/.claude/skills/product-requirements/references/knowledge-acquisition-protocol.md +251 -0
- package/.claude/skills/product-requirements/references/plan-execution-protocol.md +334 -0
- package/.claude/skills/product-requirements/references/plan-generation-protocol.md +264 -0
- package/.claude/skills/product-requirements/references/prioritization-frameworks.md +80 -0
- package/.claude/skills/product-requirements/references/requirement-decomposition-protocol.md +291 -0
- package/.claude/skills/product-requirements/references/user-story-examples.md +297 -0
- package/.claude/skills/product-requirements/references/workflow-templates.md +266 -0
- package/.claude/skills/react-best-practices/SKILL.md +198 -0
- package/.claude/skills/react-best-practices/references/advanced-patterns.md +94 -0
- package/.claude/skills/react-best-practices/references/bundle-optimization.md +182 -0
- package/.claude/skills/react-best-practices/references/client-data-fetching.md +112 -0
- package/.claude/skills/react-best-practices/references/complete-guide.md +2249 -0
- package/.claude/skills/react-best-practices/references/eliminating-waterfalls.md +169 -0
- package/.claude/skills/react-best-practices/references/javascript-performance.md +256 -0
- package/.claude/skills/react-best-practices/references/rendering-performance.md +230 -0
- package/.claude/skills/react-best-practices/references/rerender-optimization.md +214 -0
- package/.claude/skills/react-best-practices/references/server-performance.md +182 -0
- package/.claude/skills/security-audit/SKILL.md +226 -0
- package/.claude/skills/shared-references/advanced-debugging-techniques.md +186 -0
- package/.claude/skills/shared-references/code-quality-checklist.md +218 -0
- package/.claude/skills/shared-references/code-review-efficiency-guide.md +125 -0
- package/.claude/skills/shared-references/mcp-dependency-compatibility-protocol.md +276 -0
- package/.claude/skills/shared-references/skill-call-graph.md +230 -0
- package/.claude/skills/shared-references/skill-orchestration-protocol.md +281 -0
- package/.claude/skills/shared-references/subagent-dispatch-templates.md +199 -0
- package/.claude/skills/skill-expert-skills/LICENSE.txt +204 -0
- package/.claude/skills/skill-expert-skills/QUICK_NAVIGATION.md +374 -0
- package/.claude/skills/skill-expert-skills/SKILL.md +247 -0
- package/.claude/skills/skill-expert-skills/docs/_index.md +91 -0
- package/.claude/skills/skill-expert-skills/references/deep-research-methodology.md +389 -0
- package/.claude/skills/skill-expert-skills/references/docs-generation-workflow.md +398 -0
- package/.claude/skills/skill-expert-skills/references/domain-expertise-protocol.md +343 -0
- package/.claude/skills/skill-expert-skills/references/domain-knowledge/_index.md +54 -0
- package/.claude/skills/skill-expert-skills/references/domain-knowledge/backend-expertise.md +517 -0
- package/.claude/skills/skill-expert-skills/references/domain-knowledge/bug-fixing-expertise.md +363 -0
- package/.claude/skills/skill-expert-skills/references/domain-knowledge/code-review-expertise.md +392 -0
- package/.claude/skills/skill-expert-skills/references/domain-knowledge/frontend-expertise.md +410 -0
- package/.claude/skills/skill-expert-skills/references/domain-knowledge-template.md +503 -0
- package/.claude/skills/skill-expert-skills/references/examples.md +782 -0
- package/.claude/skills/skill-expert-skills/references/integration-examples.md +655 -0
- package/.claude/skills/skill-expert-skills/references/knowledge-validation-checklist.md +246 -0
- package/.claude/skills/skill-expert-skills/references/latest-knowledge-acquisition.md +461 -0
- package/.claude/skills/skill-expert-skills/references/mcp-tools-guide.md +439 -0
- package/.claude/skills/skill-expert-skills/references/official-best-practices.md +616 -0
- package/.claude/skills/skill-expert-skills/references/patterns.md +218 -0
- package/.claude/skills/skill-expert-skills/references/plugin-skills-guide.md +432 -0
- package/.claude/skills/skill-expert-skills/references/requirement-elicitation-protocol.md +290 -0
- package/.claude/skills/skill-expert-skills/references/skill-creator-SKILL.md +353 -0
- package/.claude/skills/skill-expert-skills/references/skill-templates.md +583 -0
- package/.claude/skills/skill-expert-skills/references/skills-knowledge-base.md +561 -0
- package/.claude/skills/skill-expert-skills/references/tools-guide.md +379 -0
- package/.claude/skills/skill-expert-skills/references/troubleshooting.md +378 -0
- package/.claude/skills/skill-expert-skills/references/universality-guide.md +205 -0
- package/.claude/skills/skill-expert-skills/references/writing-style-guide.md +466 -0
- package/.claude/skills/skill-expert-skills/scripts/__pycache__/quick_validate.cpython-313.pyc +0 -0
- package/.claude/skills/skill-expert-skills/scripts/__pycache__/universal_validate.cpython-313.pyc +0 -0
- package/.claude/skills/skill-expert-skills/scripts/analyze_trigger.py +425 -0
- package/.claude/skills/skill-expert-skills/scripts/diff_with_official.py +188 -0
- package/.claude/skills/skill-expert-skills/scripts/init_skill.py +349 -0
- package/.claude/skills/skill-expert-skills/scripts/package_skill.py +156 -0
- package/.claude/skills/skill-expert-skills/scripts/quick_validate.py +493 -0
- package/.claude/skills/skill-expert-skills/scripts/requirements.txt +2 -0
- package/.claude/skills/skill-expert-skills/scripts/universal_validate.py +182 -0
- package/.claude/skills/skill-expert-skills/scripts/upgrade_skill.py +431 -0
- package/.claude/skills/subagent-driven-development/SKILL.md +268 -0
- package/.claude/skills/test-driven-development/SKILL.md +246 -0
- package/.claude/skills/test-driven-development/references/testing-anti-patterns.md +192 -0
- package/.claude/skills/using-git-worktrees/SKILL.md +266 -0
- package/.claude/skills/using-skillstack/SKILL.md +127 -0
- package/.claude/skills/vercel-deploy/SKILL.md +166 -0
- package/.claude/skills/vercel-deploy/scripts/deploy.sh +249 -0
- package/.claude/skills/verification-before-completion/SKILL.md +305 -0
- package/.claude/skills/writing-plans/SKILL.md +259 -0
- package/README.md +69 -0
- package/bin/cli.js +468 -0
- package/lib/init.js +333 -0
- package/package.json +29 -0
|
@@ -0,0 +1,616 @@
|
|
|
1
|
+
# Anthropic Official Skill Best Practices
|
|
2
|
+
|
|
3
|
+
> Source: https://platform.claude.com/docs/zh-CN/agents-and-tools/agent-skills/best-practices
|
|
4
|
+
> Last Updated: 2025-01
|
|
5
|
+
|
|
6
|
+
This document contains official best practices from Anthropic for creating effective Claude Agent Skills.
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## Table of Contents
|
|
11
|
+
|
|
12
|
+
- [Core Principles](#core-principles)
|
|
13
|
+
- [Conciseness is Key](#conciseness-is-key)
|
|
14
|
+
- [Set Appropriate Freedom Levels](#set-appropriate-freedom-levels)
|
|
15
|
+
- [Test with All Target Models](#test-with-all-target-models)
|
|
16
|
+
- [Skill Structure](#skill-structure)
|
|
17
|
+
- [YAML Frontmatter Requirements](#yaml-frontmatter-requirements)
|
|
18
|
+
- [Naming Conventions](#naming-conventions)
|
|
19
|
+
- [Writing Effective Descriptions](#writing-effective-descriptions)
|
|
20
|
+
- [Progressive Disclosure Patterns](#progressive-disclosure-patterns)
|
|
21
|
+
- [Workflows and Feedback Loops](#workflows-and-feedback-loops)
|
|
22
|
+
- [Content Guidelines](#content-guidelines)
|
|
23
|
+
- [Common Patterns](#common-patterns)
|
|
24
|
+
- [Evaluation and Iteration](#evaluation-and-iteration)
|
|
25
|
+
- [Anti-patterns to Avoid](#anti-patterns-to-avoid)
|
|
26
|
+
- [Advanced: Skills with Executable Code](#advanced-skills-with-executable-code)
|
|
27
|
+
- [Checklist for Effective Skills](#checklist-for-effective-skills)
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## Core Principles
|
|
32
|
+
|
|
33
|
+
### Conciseness is Key
|
|
34
|
+
|
|
35
|
+
The context window is a shared resource. Your skill shares it with:
|
|
36
|
+
- System prompts
|
|
37
|
+
- Conversation history
|
|
38
|
+
- Other skill metadata
|
|
39
|
+
- Actual requests
|
|
40
|
+
|
|
41
|
+
**Default Assumption**: Claude is already highly intelligent.
|
|
42
|
+
|
|
43
|
+
Only add context Claude doesn't have. Question every piece of information:
|
|
44
|
+
- "Does Claude really need this explanation?"
|
|
45
|
+
- "Can I assume Claude knows this?"
|
|
46
|
+
- "Is this paragraph worth its token cost?"
|
|
47
|
+
|
|
48
|
+
**Good Example: Concise** (~50 tokens):
|
|
49
|
+
```markdown
|
|
50
|
+
## Extract PDF Text
|
|
51
|
+
|
|
52
|
+
Use pdfplumber for text extraction:
|
|
53
|
+
|
|
54
|
+
```python
|
|
55
|
+
import pdfplumber
|
|
56
|
+
|
|
57
|
+
with pdfplumber.open("file.pdf") as pdf:
|
|
58
|
+
text = pdf.pages[0].extract_text()
|
|
59
|
+
```
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
**Bad Example: Too Verbose** (~150 tokens):
|
|
63
|
+
```markdown
|
|
64
|
+
## Extract PDF Text
|
|
65
|
+
|
|
66
|
+
PDF (Portable Document Format) files are a common file format containing
|
|
67
|
+
text, images, and other content. To extract text from PDFs, you need
|
|
68
|
+
a library. There are many libraries for PDF processing, but we
|
|
69
|
+
recommend pdfplumber because it's easy to use and handles most cases.
|
|
70
|
+
First, you need to install it using pip. Then you can use the code below...
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### Set Appropriate Freedom Levels
|
|
74
|
+
|
|
75
|
+
Match specificity to task fragility and variability.
|
|
76
|
+
|
|
77
|
+
| Freedom Level | When to Use | Example |
|
|
78
|
+
|--------------|-------------|---------|
|
|
79
|
+
| **High** (text instructions) | Multiple approaches work; decisions depend on context | Code review process |
|
|
80
|
+
| **Medium** (pseudocode/parameterized scripts) | Preferred patterns exist; some variation acceptable | Report generation template |
|
|
81
|
+
| **Low** (specific scripts, few/no params) | Operations are fragile; consistency is critical | Database migration |
|
|
82
|
+
|
|
83
|
+
**Analogy**: Think of Claude as a robot exploring paths:
|
|
84
|
+
- **Narrow bridge with cliffs on both sides**: Only one safe way forward. Provide specific guardrails (low freedom).
|
|
85
|
+
- **Open field with no dangers**: Many paths lead to success. Give general direction and trust Claude (high freedom).
|
|
86
|
+
|
|
87
|
+
### Test with All Target Models
|
|
88
|
+
|
|
89
|
+
Skills function as add-ons to models, so effectiveness depends on the underlying model.
|
|
90
|
+
|
|
91
|
+
| Model | Testing Focus |
|
|
92
|
+
|-------|---------------|
|
|
93
|
+
| **Claude Haiku** (fast, economical) | Does skill provide enough guidance? |
|
|
94
|
+
| **Claude Sonnet** (balanced) | Is skill clear and efficient? |
|
|
95
|
+
| **Claude Opus** (powerful reasoning) | Does skill avoid over-explaining? |
|
|
96
|
+
|
|
97
|
+
What works perfectly for Opus may need more detail for Haiku.
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
## Skill Structure
|
|
102
|
+
|
|
103
|
+
### YAML Frontmatter Requirements
|
|
104
|
+
|
|
105
|
+
| Field | Requirements |
|
|
106
|
+
|-------|-------------|
|
|
107
|
+
| `name` | Max 64 chars; lowercase letters, numbers, hyphens only; no XML tags; no reserved words ("anthropic", "claude") |
|
|
108
|
+
| `description` | Non-empty; max 1024 chars; no XML tags; describes what skill does AND when to use it |
|
|
109
|
+
|
|
110
|
+
### Naming Conventions
|
|
111
|
+
|
|
112
|
+
Use **gerund form** (verb + -ing) for skill names as it clearly describes the activity or capability.
|
|
113
|
+
|
|
114
|
+
**Good Examples (Gerund Form)**:
|
|
115
|
+
- `processing-pdfs`
|
|
116
|
+
- `analyzing-spreadsheets`
|
|
117
|
+
- `managing-databases`
|
|
118
|
+
- `testing-code`
|
|
119
|
+
- `writing-documentation`
|
|
120
|
+
|
|
121
|
+
**Acceptable Alternatives**:
|
|
122
|
+
- Noun phrases: `pdf-processing`, `spreadsheet-analysis`
|
|
123
|
+
- Action-oriented: `process-pdfs`, `analyze-spreadsheets`
|
|
124
|
+
|
|
125
|
+
**Avoid**:
|
|
126
|
+
- Vague names: `helper`, `utils`, `tools`
|
|
127
|
+
- Too generic: `documents`, `data`, `files`
|
|
128
|
+
- Reserved words: `anthropic-helper`, `claude-tools`
|
|
129
|
+
|
|
130
|
+
### Writing Effective Descriptions
|
|
131
|
+
|
|
132
|
+
> **CRITICAL: Always write in third person.**
|
|
133
|
+
>
|
|
134
|
+
> Descriptions are injected into system prompts. Inconsistent perspectives cause discovery issues.
|
|
135
|
+
>
|
|
136
|
+
> - **Good**: "Processes Excel files and generates reports"
|
|
137
|
+
> - **Avoid**: "I can help you process Excel files"
|
|
138
|
+
> - **Avoid**: "You can use this to process Excel files"
|
|
139
|
+
|
|
140
|
+
**Be Specific and Include Key Terms**:
|
|
141
|
+
|
|
142
|
+
```yaml
|
|
143
|
+
# Good - PDF Processing
|
|
144
|
+
description: Extracts text and tables from PDF files, fills forms, merges documents. Use when processing PDF files or when user mentions PDF, forms, or document extraction.
|
|
145
|
+
|
|
146
|
+
# Good - Excel Analysis
|
|
147
|
+
description: Analyzes Excel spreadsheets, creates pivot tables, generates charts. Use when analyzing Excel files, spreadsheets, tabular data, or .xlsx files.
|
|
148
|
+
|
|
149
|
+
# Good - Git Commit Helper
|
|
150
|
+
description: Generates descriptive commit messages by analyzing git diffs. Use when user asks for help writing commit messages or reviewing staged changes.
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
**Avoid Vague Descriptions**:
|
|
154
|
+
```yaml
|
|
155
|
+
# Bad
|
|
156
|
+
description: Helps with documents
|
|
157
|
+
description: Processes data
|
|
158
|
+
description: Does various operations on files
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
### Progressive Disclosure Patterns
|
|
162
|
+
|
|
163
|
+
SKILL.md serves as an overview, pointing to detailed materials Claude reads on-demand.
|
|
164
|
+
|
|
165
|
+
**Practical Guidelines**:
|
|
166
|
+
- Keep SKILL.md body under 500 lines for optimal performance
|
|
167
|
+
- Split content into separate files when approaching this limit
|
|
168
|
+
- Use patterns below to organize instructions, code, and resources effectively
|
|
169
|
+
|
|
170
|
+
#### Directory Structure Example
|
|
171
|
+
|
|
172
|
+
```
|
|
173
|
+
skill-name/
|
|
174
|
+
├── SKILL.md # Main instructions (loaded on trigger)
|
|
175
|
+
├── FORMS.md # Form filling guide (loaded on demand)
|
|
176
|
+
├── reference.md # API reference (loaded on demand)
|
|
177
|
+
├── examples.md # Usage examples (loaded on demand)
|
|
178
|
+
└── scripts/
|
|
179
|
+
├── analyze.py # Utility script (executed, not loaded)
|
|
180
|
+
├── validate.py # Validation script
|
|
181
|
+
└── process.py # Processing script
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
#### Pattern 1: High-Level Guide with References
|
|
185
|
+
|
|
186
|
+
```markdown
|
|
187
|
+
# PDF Processing
|
|
188
|
+
|
|
189
|
+
## Quick Start
|
|
190
|
+
[Basic usage code]
|
|
191
|
+
|
|
192
|
+
## Advanced Features
|
|
193
|
+
**Form Filling**: See [FORMS.md](FORMS.md) for complete guide
|
|
194
|
+
**API Reference**: See [REFERENCE.md](REFERENCE.md) for all methods
|
|
195
|
+
**Examples**: See [EXAMPLES.md](EXAMPLES.md) for common patterns
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
#### Pattern 2: Domain-Specific Organization
|
|
199
|
+
|
|
200
|
+
```
|
|
201
|
+
bigquery-skill/
|
|
202
|
+
├── SKILL.md (overview and navigation)
|
|
203
|
+
└── reference/
|
|
204
|
+
├── finance.md (revenue, billing metrics)
|
|
205
|
+
├── sales.md (opportunities, pipeline)
|
|
206
|
+
├── product.md (API usage, features)
|
|
207
|
+
└── marketing.md (campaigns, attribution)
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
#### Pattern 3: Conditional Details
|
|
211
|
+
|
|
212
|
+
```markdown
|
|
213
|
+
## Document Modification
|
|
214
|
+
|
|
215
|
+
**Creating new content?** → Follow "Create Workflow"
|
|
216
|
+
**Editing existing content?** → Follow "Edit Workflow"
|
|
217
|
+
|
|
218
|
+
**For tracked changes**: See [REDLINING.md](REDLINING.md)
|
|
219
|
+
**For OOXML details**: See [OOXML.md](OOXML.md)
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
### Avoid Deep Nested References
|
|
223
|
+
|
|
224
|
+
> **Keep references one level from SKILL.md.**
|
|
225
|
+
|
|
226
|
+
All reference files should link directly from SKILL.md to ensure Claude reads complete files when needed.
|
|
227
|
+
|
|
228
|
+
**Bad: Too Deep**:
|
|
229
|
+
```
|
|
230
|
+
SKILL.md → advanced.md → details.md → actual info
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
**Good: One Level Deep**:
|
|
234
|
+
```
|
|
235
|
+
SKILL.md → advanced.md
|
|
236
|
+
→ reference.md
|
|
237
|
+
→ examples.md
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
### Structure Longer Reference Files
|
|
241
|
+
|
|
242
|
+
For reference files over 100 lines, include a table of contents at the top.
|
|
243
|
+
|
|
244
|
+
```markdown
|
|
245
|
+
# API Reference
|
|
246
|
+
|
|
247
|
+
## Contents
|
|
248
|
+
- Authentication and Setup
|
|
249
|
+
- Core Methods (Create, Read, Update, Delete)
|
|
250
|
+
- Advanced Features (Batch Operations, Webhooks)
|
|
251
|
+
- Error Handling Patterns
|
|
252
|
+
- Code Examples
|
|
253
|
+
|
|
254
|
+
## Authentication and Setup
|
|
255
|
+
...
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
---
|
|
259
|
+
|
|
260
|
+
## Workflows and Feedback Loops
|
|
261
|
+
|
|
262
|
+
### Use Workflows for Complex Tasks
|
|
263
|
+
|
|
264
|
+
Break complex operations into clear sequential steps. For particularly complex workflows, provide a checklist.
|
|
265
|
+
|
|
266
|
+
**Example: Research Synthesis Workflow**:
|
|
267
|
+
```markdown
|
|
268
|
+
## Research Synthesis Workflow
|
|
269
|
+
|
|
270
|
+
Copy this checklist and track progress:
|
|
271
|
+
|
|
272
|
+
```
|
|
273
|
+
Progress:
|
|
274
|
+
- [ ] Step 1: Read all source documents
|
|
275
|
+
- [ ] Step 2: Identify key themes
|
|
276
|
+
- [ ] Step 3: Cross-reference claims
|
|
277
|
+
- [ ] Step 4: Create structured summary
|
|
278
|
+
- [ ] Step 5: Validate citations
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
**Step 1: Read all source documents**
|
|
282
|
+
[Detailed instructions...]
|
|
283
|
+
```
|
|
284
|
+
|
|
285
|
+
### Implement Feedback Loops
|
|
286
|
+
|
|
287
|
+
**Common Pattern**: Run validator → Fix errors → Repeat
|
|
288
|
+
|
|
289
|
+
This pattern greatly improves output quality.
|
|
290
|
+
|
|
291
|
+
```markdown
|
|
292
|
+
## Document Editing Process
|
|
293
|
+
|
|
294
|
+
1. Make edits to document
|
|
295
|
+
2. **Validate immediately**: `python scripts/validate.py`
|
|
296
|
+
3. If validation fails:
|
|
297
|
+
- Review error messages carefully
|
|
298
|
+
- Fix issues
|
|
299
|
+
- Run validation again
|
|
300
|
+
4. **Only proceed when validation passes**
|
|
301
|
+
5. Build output
|
|
302
|
+
6. Test output
|
|
303
|
+
```
|
|
304
|
+
|
|
305
|
+
---
|
|
306
|
+
|
|
307
|
+
## Content Guidelines
|
|
308
|
+
|
|
309
|
+
### Avoid Time-Sensitive Information
|
|
310
|
+
|
|
311
|
+
**Bad (will become wrong)**:
|
|
312
|
+
```markdown
|
|
313
|
+
If executing before August 2025, use old API.
|
|
314
|
+
After August 2025, use new API.
|
|
315
|
+
```
|
|
316
|
+
|
|
317
|
+
**Good (use "Legacy Patterns" section)**:
|
|
318
|
+
```markdown
|
|
319
|
+
## Current Method
|
|
320
|
+
Use v2 API endpoint: `api.example.com/v2/messages`
|
|
321
|
+
|
|
322
|
+
## Legacy Patterns
|
|
323
|
+
<details>
|
|
324
|
+
<summary>Legacy v1 API (deprecated 2025-08)</summary>
|
|
325
|
+
v1 API used: `api.example.com/v1/messages`
|
|
326
|
+
This endpoint is no longer supported.
|
|
327
|
+
</details>
|
|
328
|
+
```
|
|
329
|
+
|
|
330
|
+
### Use Consistent Terminology
|
|
331
|
+
|
|
332
|
+
Choose one term and use it throughout the skill:
|
|
333
|
+
|
|
334
|
+
| Good (Consistent) | Bad (Inconsistent) |
|
|
335
|
+
|-------------------|-------------------|
|
|
336
|
+
| Always "API endpoint" | Mix of "API endpoint", "URL", "API route", "path" |
|
|
337
|
+
| Always "field" | Mix of "field", "box", "element", "control" |
|
|
338
|
+
| Always "extract" | Mix of "extract", "pull", "get", "retrieve" |
|
|
339
|
+
|
|
340
|
+
---
|
|
341
|
+
|
|
342
|
+
## Common Patterns
|
|
343
|
+
|
|
344
|
+
### Template Pattern
|
|
345
|
+
|
|
346
|
+
Provide templates for output formats. Match strictness to requirements.
|
|
347
|
+
|
|
348
|
+
**For Strict Requirements**:
|
|
349
|
+
```markdown
|
|
350
|
+
## Report Structure
|
|
351
|
+
|
|
352
|
+
Always use this exact template structure:
|
|
353
|
+
|
|
354
|
+
```markdown
|
|
355
|
+
# [Analysis Title]
|
|
356
|
+
|
|
357
|
+
## Executive Summary
|
|
358
|
+
[One paragraph overview of key findings]
|
|
359
|
+
|
|
360
|
+
## Key Findings
|
|
361
|
+
- Finding 1 with supporting data
|
|
362
|
+
- Finding 2 with supporting data
|
|
363
|
+
```
|
|
364
|
+
```
|
|
365
|
+
|
|
366
|
+
**For Flexible Guidance**:
|
|
367
|
+
```markdown
|
|
368
|
+
## Report Structure
|
|
369
|
+
|
|
370
|
+
This is a reasonable default format, but use your best judgment:
|
|
371
|
+
|
|
372
|
+
[Template with note: Adjust sections as needed based on analysis type]
|
|
373
|
+
```
|
|
374
|
+
|
|
375
|
+
### Example Pattern
|
|
376
|
+
|
|
377
|
+
For skills where output quality depends on seeing examples:
|
|
378
|
+
|
|
379
|
+
```markdown
|
|
380
|
+
## Commit Message Format
|
|
381
|
+
|
|
382
|
+
**Example 1:**
|
|
383
|
+
Input: Add user authentication using JWT tokens
|
|
384
|
+
Output:
|
|
385
|
+
```
|
|
386
|
+
feat(auth): implement JWT-based authentication
|
|
387
|
+
|
|
388
|
+
Add login endpoint and token validation middleware
|
|
389
|
+
```
|
|
390
|
+
|
|
391
|
+
**Example 2:**
|
|
392
|
+
Input: Fix bug where dates display incorrectly in reports
|
|
393
|
+
Output:
|
|
394
|
+
```
|
|
395
|
+
fix(reports): correct date formatting in timezone conversion
|
|
396
|
+
```
|
|
397
|
+
|
|
398
|
+
Follow this style: type(scope): short description, then details.
|
|
399
|
+
```
|
|
400
|
+
|
|
401
|
+
### Conditional Workflow Pattern
|
|
402
|
+
|
|
403
|
+
```markdown
|
|
404
|
+
## Document Modification Workflow
|
|
405
|
+
|
|
406
|
+
1. Determine modification type:
|
|
407
|
+
|
|
408
|
+
**Creating new content?** → Follow "Create Workflow" below
|
|
409
|
+
**Editing existing content?** → Follow "Edit Workflow" below
|
|
410
|
+
```
|
|
411
|
+
|
|
412
|
+
---
|
|
413
|
+
|
|
414
|
+
## Evaluation and Iteration
|
|
415
|
+
|
|
416
|
+
### Build Evaluation First
|
|
417
|
+
|
|
418
|
+
**Create evaluations BEFORE writing extensive documentation.**
|
|
419
|
+
|
|
420
|
+
**Evaluation-Driven Development**:
|
|
421
|
+
1. **Identify gaps**: Run Claude on representative tasks without skill. Document specific failures
|
|
422
|
+
2. **Create evaluations**: Build 3 scenarios to test those gaps
|
|
423
|
+
3. **Establish baseline**: Measure Claude's performance without skill
|
|
424
|
+
4. **Write minimal instructions**: Create enough content to address gaps and pass evaluations
|
|
425
|
+
5. **Iterate**: Execute evaluation, compare to baseline, improve
|
|
426
|
+
|
|
427
|
+
### Iterate with Claude
|
|
428
|
+
|
|
429
|
+
Work with one Claude instance ("Claude A") to create skills that will be used by other instances ("Claude B").
|
|
430
|
+
|
|
431
|
+
**Creating New Skills**:
|
|
432
|
+
1. Complete task without skill with Claude A
|
|
433
|
+
2. Identify reusable patterns from context you provided
|
|
434
|
+
3. Ask Claude A to create skill: "Create a skill to capture the patterns we just used"
|
|
435
|
+
4. Review for conciseness
|
|
436
|
+
5. Test with Claude B on similar tasks
|
|
437
|
+
6. Iterate based on observations
|
|
438
|
+
|
|
439
|
+
**Iterating Existing Skills**:
|
|
440
|
+
1. Use skill in real workflows with Claude B
|
|
441
|
+
2. Observe where Claude B struggles or succeeds
|
|
442
|
+
3. Return to Claude A for improvements
|
|
443
|
+
4. Apply and test changes
|
|
444
|
+
5. Repeat as needed
|
|
445
|
+
|
|
446
|
+
---
|
|
447
|
+
|
|
448
|
+
## Anti-patterns to Avoid
|
|
449
|
+
|
|
450
|
+
### Avoid Windows-Style Paths
|
|
451
|
+
|
|
452
|
+
Always use forward slashes, even on Windows:
|
|
453
|
+
- **Good**: `scripts/helper.py`, `reference/guide.md`
|
|
454
|
+
- **Bad**: `scripts\helper.py`, `reference\guide.md`
|
|
455
|
+
|
|
456
|
+
### Avoid Too Many Options
|
|
457
|
+
|
|
458
|
+
Don't present multiple approaches unless necessary:
|
|
459
|
+
|
|
460
|
+
**Bad (confusing)**:
|
|
461
|
+
```markdown
|
|
462
|
+
You can use pypdf, or pdfplumber, or PyMuPDF, or pdf2image, or...
|
|
463
|
+
```
|
|
464
|
+
|
|
465
|
+
**Good (provide default with escape hatch)**:
|
|
466
|
+
```markdown
|
|
467
|
+
Use pdfplumber for text extraction:
|
|
468
|
+
```python
|
|
469
|
+
import pdfplumber
|
|
470
|
+
```
|
|
471
|
+
|
|
472
|
+
For scanned PDFs requiring OCR, use pdf2image with pytesseract instead.
|
|
473
|
+
```
|
|
474
|
+
|
|
475
|
+
### Avoid Assuming Tools Are Installed
|
|
476
|
+
|
|
477
|
+
**Bad**:
|
|
478
|
+
```markdown
|
|
479
|
+
Use the pdf library to process files.
|
|
480
|
+
```
|
|
481
|
+
|
|
482
|
+
**Good**:
|
|
483
|
+
```markdown
|
|
484
|
+
Install required packages: `pip install pypdf`
|
|
485
|
+
|
|
486
|
+
Then use it:
|
|
487
|
+
```python
|
|
488
|
+
from pypdf import PdfReader
|
|
489
|
+
reader = PdfReader("file.pdf")
|
|
490
|
+
```
|
|
491
|
+
```
|
|
492
|
+
|
|
493
|
+
---
|
|
494
|
+
|
|
495
|
+
## Advanced: Skills with Executable Code
|
|
496
|
+
|
|
497
|
+
### Solve, Don't Punt
|
|
498
|
+
|
|
499
|
+
Handle error conditions instead of punting to Claude.
|
|
500
|
+
|
|
501
|
+
**Good: Handle Errors Explicitly**:
|
|
502
|
+
```python
|
|
503
|
+
def process_file(path):
|
|
504
|
+
"""Process file, create if doesn't exist."""
|
|
505
|
+
try:
|
|
506
|
+
with open(path) as f:
|
|
507
|
+
return f.read()
|
|
508
|
+
except FileNotFoundError:
|
|
509
|
+
print(f"File {path} not found, creating default")
|
|
510
|
+
with open(path, 'w') as f:
|
|
511
|
+
f.write('')
|
|
512
|
+
return ''
|
|
513
|
+
```
|
|
514
|
+
|
|
515
|
+
**Bad: Punt to Claude**:
|
|
516
|
+
```python
|
|
517
|
+
def process_file(path):
|
|
518
|
+
# Just fail and let Claude figure it out
|
|
519
|
+
return open(path).read()
|
|
520
|
+
```
|
|
521
|
+
|
|
522
|
+
### Document Configuration Values
|
|
523
|
+
|
|
524
|
+
Avoid "voodoo constants" (Ousterhout's Law).
|
|
525
|
+
|
|
526
|
+
**Good: Self-Documenting**:
|
|
527
|
+
```python
|
|
528
|
+
# HTTP requests typically complete within 30 seconds
|
|
529
|
+
# Longer timeout accounts for slow connections
|
|
530
|
+
REQUEST_TIMEOUT = 30
|
|
531
|
+
|
|
532
|
+
# Three retries balance reliability with speed
|
|
533
|
+
MAX_RETRIES = 3
|
|
534
|
+
```
|
|
535
|
+
|
|
536
|
+
**Bad: Magic Numbers**:
|
|
537
|
+
```python
|
|
538
|
+
TIMEOUT = 47 # Why 47?
|
|
539
|
+
RETRIES = 5 # Why 5?
|
|
540
|
+
```
|
|
541
|
+
|
|
542
|
+
### Provide Utility Scripts
|
|
543
|
+
|
|
544
|
+
Pre-made scripts are more reliable than generated code, save tokens and time, and ensure consistency.
|
|
545
|
+
|
|
546
|
+
**Example**:
|
|
547
|
+
```markdown
|
|
548
|
+
## Utility Scripts
|
|
549
|
+
|
|
550
|
+
**analyze_form.py**: Extract all form fields from PDF
|
|
551
|
+
```bash
|
|
552
|
+
python scripts/analyze_form.py input.pdf > fields.json
|
|
553
|
+
```
|
|
554
|
+
|
|
555
|
+
**validate.py**: Check for errors
|
|
556
|
+
```bash
|
|
557
|
+
python scripts/validate.py fields.json
|
|
558
|
+
```
|
|
559
|
+
```
|
|
560
|
+
|
|
561
|
+
### MCP Tool References
|
|
562
|
+
|
|
563
|
+
Always use fully qualified tool names: `ServerName:tool_name`
|
|
564
|
+
|
|
565
|
+
```markdown
|
|
566
|
+
Use the BigQuery:bigquery_schema tool to retrieve table schema.
|
|
567
|
+
Use the GitHub:create_issue tool to create issues.
|
|
568
|
+
```
|
|
569
|
+
|
|
570
|
+
---
|
|
571
|
+
|
|
572
|
+
## Checklist for Effective Skills
|
|
573
|
+
|
|
574
|
+
### Core Quality
|
|
575
|
+
- [ ] Description is specific and includes key terms
|
|
576
|
+
- [ ] Description includes what skill does AND when to use it
|
|
577
|
+
- [ ] **Description uses third person**
|
|
578
|
+
- [ ] SKILL.md body is under 500 lines
|
|
579
|
+
- [ ] Additional details in separate files (if needed)
|
|
580
|
+
- [ ] No time-sensitive information (or in "Legacy Patterns" section)
|
|
581
|
+
- [ ] Terminology consistent throughout skill
|
|
582
|
+
- [ ] Examples are specific, not abstract
|
|
583
|
+
- [ ] File references one level deep
|
|
584
|
+
- [ ] Progressive disclosure used appropriately
|
|
585
|
+
- [ ] Workflows have clear steps
|
|
586
|
+
|
|
587
|
+
### Code and Scripts
|
|
588
|
+
- [ ] Scripts solve problems rather than punt to Claude
|
|
589
|
+
- [ ] Error handling is explicit and helpful
|
|
590
|
+
- [ ] No "voodoo constants" (all values justified)
|
|
591
|
+
- [ ] Required packages listed and verified available
|
|
592
|
+
- [ ] Scripts have clear documentation
|
|
593
|
+
- [ ] No Windows-style paths (all forward slashes)
|
|
594
|
+
- [ ] Validation/verification steps for critical operations
|
|
595
|
+
- [ ] Feedback loops included for quality-critical tasks
|
|
596
|
+
|
|
597
|
+
### Testing
|
|
598
|
+
- [ ] At least 3 evaluations created
|
|
599
|
+
- [ ] Tested with Haiku, Sonnet, and Opus
|
|
600
|
+
- [ ] Tested with real-world use cases
|
|
601
|
+
- [ ] Team feedback incorporated (if applicable)
|
|
602
|
+
|
|
603
|
+
---
|
|
604
|
+
|
|
605
|
+
## Key Takeaways
|
|
606
|
+
|
|
607
|
+
| Principle | Guideline |
|
|
608
|
+
|-----------|-----------|
|
|
609
|
+
| **Conciseness** | Only add what Claude doesn't know. Question every token. |
|
|
610
|
+
| **Third Person** | Always write descriptions in third person. |
|
|
611
|
+
| **Progressive Disclosure** | SKILL.md is navigation, not encyclopedia. |
|
|
612
|
+
| **One Level Deep** | Keep file references one level from SKILL.md. |
|
|
613
|
+
| **500 Lines Max** | SKILL.md body should stay under 500 lines. |
|
|
614
|
+
| **Test All Models** | What works for Opus may need more detail for Haiku. |
|
|
615
|
+
| **Evaluation First** | Build evaluations before extensive documentation. |
|
|
616
|
+
| **Solve, Don't Punt** | Handle errors explicitly in scripts. |
|