{"id":"d2c91604-9284-423f-ac53-3cf70793df4c","shortId":"HwWgMy","kind":"skill","title":"skills-best-practices","tagline":"Build high-quality Agent Skills for Claude following official Anthropic best practices. Covers SKILL.md structure, frontmatter, description writing, progressive disclosure, testing, patterns, troubleshooting, and distribution across all surfaces (Claude.ai, Claude Code, API, Agen","description":"# Skills Best Practices\n\nComprehensive reference for building Agent Skills that follow Anthropic's official guidelines. Skills are folders containing instructions, scripts, and resources that teach Claude how to handle specific tasks. They follow the [Agent Skills open standard](https://agentskills.io).\n\n## Quick Start\n\nA minimal skill is a directory with a `SKILL.md` file:\n\n```\nmy-skill/\n├── SKILL.md          # Required - instructions with YAML frontmatter\n├── references/       # Optional - detailed docs loaded on demand\n├── scripts/          # Optional - executable code\n└── assets/           # Optional - templates, fonts, icons\n```\n\nMinimal `SKILL.md`:\n\n```yaml\n---\nname: my-skill-name\ndescription: What it does. Use when [specific triggers].\n---\n\n# My Skill Name\n\n[Instructions here]\n```\n\nOnly `name` and `description` are required in frontmatter.\n\n## Core Design Principles\n\n### Progressive Disclosure (Most Important)\n\nSkills load information in three levels to minimize token usage:\n\n| Level | When Loaded | Token Cost | Content |\n|-------|------------|------------|---------|\n| **1: Metadata** | Always (startup) | ~100 tokens | `name` + `description` from frontmatter |\n| **2: Instructions** | When skill triggers | <5k tokens | SKILL.md body |\n| **3: Resources** | As needed | Effectively unlimited | Bundled files, scripts |\n\nKeep SKILL.md under **500 lines**. Move detailed docs to separate files and reference them:\n\n```markdown\n## Advanced features\n- **Form filling**: See [FORMS.md](FORMS.md)\n- **API reference**: See [reference.md](reference.md)\n```\n\nClaude reads referenced files only when the task requires them.\n\n### Composability\n\nSkills work alongside other skills. Don't assume yours is the only one loaded.\n\n### Portability\n\nSkills work across Claude.ai, Claude Code, API, and Agent SDK without modification (if dependencies are available).\n\n## Writing the Description (Critical)\n\nThe description is the **single most important field** - it determines when your skill activates. Claude uses it to decide relevance from potentially 100+ available skills.\n\n### Rules\n\n- Write in **third person** (\"Processes files...\" not \"I help you process files...\")\n- Include **WHAT** it does + **WHEN** to use it\n- Max 1024 characters, no XML angle brackets\n- Be slightly \"pushy\" - Claude tends to **undertrigger** rather than overtrigger\n- Include specific trigger phrases users would naturally say\n\n### Good vs Bad\n\n```yaml\n# GOOD - specific, actionable, includes triggers\ndescription: Extract text and tables from PDF files, fill forms, merge\n  documents. Use when working with PDF files or when the user mentions\n  PDFs, forms, or document extraction.\n\n# BAD - too vague\ndescription: Helps with documents.\n\n# BAD - missing triggers\ndescription: Creates sophisticated multi-page documentation systems.\n```\n\nMore examples in [references/description-guide.md](references/description-guide.md).\n\n## Frontmatter Reference\n\n### Required Fields\n\n| Field | Rules |\n|-------|-------|\n| `name` | Kebab-case, max 64 chars, lowercase + numbers + hyphens only. No \"claude\" or \"anthropic\" |\n| `description` | Non-empty, max 1024 chars, no XML tags. WHAT + WHEN |\n\n### Optional Fields (Claude Code)\n\n| Field | Purpose |\n|-------|---------|\n| `argument-hint` | Autocomplete hint, e.g. `[issue-number]` |\n| `disable-model-invocation` | `true` = only user can invoke (for deploy, commit) |\n| `user-invocable` | `false` = hidden from `/` menu (background knowledge) |\n| `allowed-tools` | Tools allowed without permission, e.g. `Read, Grep, Glob` |\n| `model` | Override model for this skill |\n| `effort` | Override effort level: `low`, `medium`, `high`, `max` |\n| `context` | `fork` = run in isolated subagent |\n| `agent` | Subagent type when `context: fork` (e.g. `Explore`, `Plan`) |\n| `paths` | Glob patterns limiting when skill activates |\n\n### Naming Conventions\n\nPrefer **gerund form** for clarity:\n\n- `processing-pdfs`, `analyzing-spreadsheets`, `managing-databases`\n- Also acceptable: `pdf-processing`, `process-pdfs`\n- Avoid: `helper`, `utils`, `tools`, `documents`\n\n## Structuring Instructions\n\n### Be Concise\n\nClaude is smart. Only add context it doesn't already have:\n\n```markdown\n# GOOD (~50 tokens)\n## Extract PDF text\nUse pdfplumber for text extraction:\n```python\nimport pdfplumber\nwith pdfplumber.open(\"file.pdf\") as pdf:\n    text = pdf.pages[0].extract_text()\n```\n\n# BAD (~150 tokens)\n## Extract PDF text\nPDF files are a common file format containing text and images.\nTo extract text, you need a library. There are many available...\n```\n\n### Set Degrees of Freedom\n\n- **High freedom** (text guidelines): Multiple approaches valid, context-dependent\n- **Medium freedom** (pseudocode/templates): Preferred pattern exists, some variation OK\n- **Low freedom** (exact scripts): Operations are fragile, consistency critical\n\n### Recommended SKILL.md Structure\n\n```markdown\n# Skill Name\n\n## Quick start\n[Minimal working example]\n\n## Workflow Decision Tree\n[Route to the right approach based on task type]\n\n## Detailed Instructions\n[Step-by-step for each workflow]\n\n## Examples\n[Concrete input/output pairs]\n\n## Troubleshooting\n[Common errors and fixes]\n```\n\n### Reference Files\n\nKeep references **one level deep** from SKILL.md. Avoid nested chains:\n\n```markdown\n# BAD: Too deep\nSKILL.md -> advanced.md -> details.md -> actual info\n\n# GOOD: One level\nSKILL.md -> advanced.md (contains the info directly)\nSKILL.md -> reference.md (contains the info directly)\n```\n\nFor reference files >100 lines, include a **table of contents** at the top.\n\n## Patterns\n\n### Sequential Workflow\n\n```markdown\n## Step 1: Analyze input\nRun: `python scripts/analyze.py input.pdf`\n\n## Step 2: Validate\nRun: `python scripts/validate.py fields.json`\nFix any errors before continuing.\n\n## Step 3: Execute\nRun: `python scripts/process.py input.pdf fields.json output.pdf`\n```\n\n### Conditional Workflow (Decision Tree)\n\n```markdown\n## Workflow Decision Tree\n**Creating new content?** -> Follow \"Creation workflow\"\n**Editing existing content?** -> Follow \"Editing workflow\"\n**Reviewing content?** -> Follow \"Review workflow\"\n```\n\n### Feedback Loop\n\n```markdown\n1. Make edits\n2. Validate: `python scripts/validate.py`\n3. If validation fails -> fix issues -> go to step 2\n4. Only proceed when validation passes\n```\n\n### Checklist Pattern (for complex tasks)\n\n```markdown\nCopy this checklist and track progress:\n- [ ] Step 1: Analyze input\n- [ ] Step 2: Create plan\n- [ ] Step 3: Validate plan\n- [ ] Step 4: Execute\n- [ ] Step 5: Verify output\n```\n\nMore patterns in [references/patterns.md](references/patterns.md).\n\n## Scripts\n\nWhen your skill includes executable code:\n\n- **Solve, don't punt**: Handle errors explicitly instead of letting them fail\n- **Justify constants**: No magic numbers - document why each value was chosen\n- **Prefer execution over loading**: Scripts run without entering context; only output consumes tokens\n- **Clarify intent**: \"Run `analyze.py`\" (execute) vs \"See `analyze.py`\" (read as reference)\n- **List dependencies** in SKILL.md and verify availability\n\n## Testing\n\n### Triggering Tests\n\n```\nShould trigger:\n- \"Help me set up a new project in [Service]\"\n- \"I need to create a project\" (paraphrased)\n\nShould NOT trigger:\n- \"What's the weather?\" (unrelated)\n- \"Write Python code\" (too generic)\n```\n\n### Functional Tests\n\nTest normal operations, edge cases, and out-of-scope requests. Run the same request 3-5 times to check consistency.\n\n### Debug Triggering\n\nAsk Claude: \"When would you use the [skill-name] skill?\" - it quotes the description back. Adjust based on what's missing.\n\n## Troubleshooting\n\n| Symptom | Cause | Fix |\n|---------|-------|-----|\n| Skill never loads | Description too vague | Add specific triggers and key terms |\n| Skill loads for wrong tasks | Description too broad | Add negative triggers, be more specific |\n| Instructions not followed | Too verbose or buried | Put critical instructions at top, use headers |\n| Slow/degraded responses | SKILL.md too large | Move content to references/, keep under 500 lines |\n| \"Could not find SKILL.md\" | Wrong filename | Must be exactly `SKILL.md` (case-sensitive) |\n| \"Invalid skill name\" | Spaces or capitals | Use kebab-case: `my-skill-name` |\n\n## Distribution\n\n| Surface | How to Deploy |\n|---------|--------------|\n| Claude.ai | Settings > Features > Upload zip |\n| Claude Code (personal) | `~/.claude/skills/<name>/SKILL.md` |\n| Claude Code (project) | `.claude/skills/<name>/SKILL.md` |\n| Claude Code (plugin) | `<plugin>/skills/<name>/SKILL.md` |\n| API | POST `/v1/skills` with beta headers |\n| Enterprise | Managed settings (org-wide) |\n\nSkills don't sync across surfaces - deploy separately to each.\n\n## Security\n\n- Only use skills from **trusted sources**\n- No XML angle brackets in frontmatter (injection risk)\n- Audit all bundled scripts and resources before using third-party skills\n- Be cautious of skills that fetch from external URLs\n\n## Additional References\n\n- [Description writing guide](references/description-guide.md) - detailed examples and anti-patterns\n- [Patterns and workflows](references/patterns.md) - advanced patterns with MCP, subagents, iterative refinement\n- [Claude Code features](references/claude-code-features.md) - context:fork, dynamic injection, argument substitution\n- [Quality checklist](references/checklist.md) - pre-upload validation checklist\n\n## Official Resources\n\n- [Agent Skills Spec](https://agentskills.io/specification)\n- [Claude Code Skills Docs](https://code.claude.com/docs/en/skills)\n- [API Skills Guide](https://platform.claude.com/docs/en/build-with-claude/skills-guide)\n- [Best Practices](https://platform.claude.com/docs/en/agents-and-tools/agent-skills/best-practices)\n- [Anthropic Skills Repo](https://github.com/anthropics/skills)\n- [Engineering Blog: Agent Skills](https://claude.com/blog/equipping-agents-for-the-real-world-with-agent-skills)\n- [Complete Guide PDF](https://resources.anthropic.com/hubfs/The-Complete-Guide-to-Building-Skill-for-Claude.pdf)","tags":["skills","best","practices","tenequm","agent-skills","ai-agents","claude-code","claude-skills","clawhub","erc-8004","mpp","openclaw"],"capabilities":["skill","source-tenequm","skill-skills-best-practices","topic-agent-skills","topic-ai-agents","topic-claude-code","topic-claude-skills","topic-clawhub","topic-erc-8004","topic-mpp","topic-openclaw","topic-skills","topic-solana","topic-x402"],"categories":["skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/tenequm/skills/skills-best-practices","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add tenequm/skills","source_repo":"https://github.com/tenequm/skills","install_from":"skills.sh"}},"qualityScore":"0.461","qualityRationale":"deterministic score 0.46 from registry signals: · indexed on github topic:agent-skills · 23 github stars · SKILL.md body (10,000 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-04-22T01:01:40.773Z","embedding":null,"createdAt":"2026-04-18T23:05:25.770Z","updatedAt":"2026-04-22T01:01:40.773Z","lastSeenAt":"2026-04-22T01:01:40.773Z","tsv":"'-5':967 '/.claude/skills':1093 '/anthropics/skills)':1235 '/blog/equipping-agents-for-the-real-world-with-agent-skills)':1242 '/docs/en/agents-and-tools/agent-skills/best-practices)':1229 '/docs/en/build-with-claude/skills-guide)':1224 '/docs/en/skills)':1218 '/hubfs/the-complete-guide-to-building-skill-for-claude.pdf)':1248 '/skill.md':1094,1099,1104 '/skills':1103 '/specification)':1211 '/v1/skills':1107 '0':581 '1':167,739,795,831 '100':171,290,724 '1024':315,425 '150':585 '2':177,747,798,811,835 '3':186,759,802,839,966 '4':812,843 '5':846 '50':561 '500':198,1051 '5k':182 '64':410 'accept':532 'across':31,250,1121 'action':345 'activ':281,514 'actual':704 'add':552,1006,1020 'addit':1163 'adjust':990 'advanc':210,1179 'advanced.md':702,710 'agen':38 'agent':9,46,73,256,499,1206,1238 'agentskills.io':77,1210 'agentskills.io/specification)':1209 'allow':469,472 'allowed-tool':468 'alongsid':235 'alreadi':557 'also':531 'alway':169 'analyz':526,740,832 'analyze.py':900,904 'analyzing-spreadsheet':525 'angl':319,1136 'anthrop':15,50,419,1230 'anti':1173 'anti-pattern':1172 'api':37,217,254,1105,1219 'approach':621,662 'argument':439,1194 'argument-hint':438 'ask':974 'asset':110 'assum':240 'audit':1142 'autocomplet':441 'avail':263,291,611,914 'avoid':539,694 'back':989 'background':466 'bad':341,376,383,584,698 'base':663,991 'best':3,16,40,1225 'beta':1109 'blog':1237 'bodi':185 'bracket':320,1137 'broad':1019 'build':5,45 'bundl':192,1144 'buri':1032 'capit':1071 'case':408,955,1064,1075 'case-sensit':1063 'caus':998 'cautious':1155 'chain':696 'char':411,426 'charact':316 'check':970 'checklist':818,826,1197,1203 'chosen':883 'clarifi':897 'clariti':521 'claud':12,35,64,222,252,282,324,417,434,548,975,1090,1095,1100,1186,1212 'claude.ai':34,251,1085 'claude.com':1241 'claude.com/blog/equipping-agents-for-the-real-world-with-agent-skills)':1240 'claude/skills':1098 'code':36,109,253,435,860,946,1091,1096,1101,1187,1213 'code.claude.com':1217 'code.claude.com/docs/en/skills)':1216 'commit':458 'common':594,681 'complet':1243 'complex':821 'compos':232 'comprehens':42 'concis':547 'concret':677 'condit':767 'consist':642,971 'constant':874 'consum':895 'contain':57,597,711,717 'content':166,730,777,783,788,1046 'context':493,503,553,624,892,1190 'context-depend':623 'continu':757 'convent':516 'copi':824 'core':144 'cost':165 'could':1053 'cover':18 'creat':387,775,836,932 'creation':779 'critic':267,643,1034 'databas':530 'debug':972 'decid':286 'decis':656,769,773 'deep':691,700 'degre':613 'demand':105 'depend':261,625,909 'deploy':457,1084,1123 'descript':22,123,139,174,266,269,348,379,386,420,988,1003,1017,1165 'design':145 'detail':101,201,667,1169 'details.md':703 'determin':277 'direct':714,720 'directori':85 'disabl':448 'disable-model-invoc':447 'disclosur':25,148 'distribut':30,1080 'doc':102,202,1215 'document':359,374,382,392,543,878 'doesn':555 'dynam':1192 'e.g':443,475,505 'edg':954 'edit':781,785,797 'effect':190 'effort':485,487 'empti':423 'engin':1236 'enter':891 'enterpris':1111 'error':682,755,866 'exact':637,1061 'exampl':395,654,676,1170 'execut':108,760,844,859,885,901 'exist':631,782 'explicit':867 'explor':506 'extern':1161 'extract':349,375,563,570,582,587,602 'fail':805,872 'fals':462 'featur':211,1087,1188 'feedback':792 'fetch':1159 'field':275,402,403,433,436 'fields.json':752,765 'file':89,193,205,225,299,305,355,365,591,595,686,723 'file.pdf':576 'filenam':1058 'fill':213,356 'find':1055 'fix':684,753,806,999 'folder':56 'follow':13,49,71,778,784,789,1028 'font':113 'fork':494,504,1191 'form':212,357,372,519 'format':596 'forms.md':215,216 'fragil':641 'freedom':615,617,627,636 'frontmatt':21,98,143,176,399,1139 'function':949 'generic':948 'gerund':518 'github.com':1234 'github.com/anthropics/skills)':1233 'glob':478,509 'go':808 'good':339,343,560,706 'grep':477 'guid':1167,1221,1244 'guidelin':53,619 'handl':67,865 'header':1039,1110 'help':302,380,920 'helper':540 'hidden':463 'high':7,491,616 'high-qual':6 'hint':440,442 'hyphen':414 'icon':114 'imag':600 'import':150,274,572 'includ':306,331,346,726,858 'info':705,713,719 'inform':153 'inject':1140,1193 'input':741,833 'input.pdf':745,764 'input/output':678 'instead':868 'instruct':58,95,134,178,545,668,1026,1035 'intent':898 'invalid':1066 'invoc':450,461 'invok':455 'isol':497 'issu':445,807 'issue-numb':444 'iter':1184 'justifi':873 'kebab':407,1074 'kebab-cas':406,1073 'keep':195,687,1049 'key':1010 'knowledg':467 'larg':1044 'let':870 'level':156,161,488,690,708 'librari':607 'limit':511 'line':199,725,1052 'list':908 'load':103,152,163,246,887,1002,1013 'loop':793 'low':489,635 'lowercas':412 'magic':876 'make':796 'manag':529,1112 'managing-databas':528 'mani':610 'markdown':209,559,647,697,737,771,794,823 'max':314,409,424,492 'mcp':1182 'medium':490,626 'mention':370 'menu':465 'merg':358 'metadata':168 'minim':81,115,158,652 'miss':384,995 'model':449,479,481 'modif':259 'move':200,1045 'multi':390 'multi-pag':389 'multipl':620 'must':1059 'my-skil':90 'my-skill-nam':119,1076 'name':118,122,133,137,173,405,515,649,983,1068,1079 'natur':337 'need':189,605,930 'negat':1021 'nest':695 'never':1001 'new':776,925 'non':422 'non-empti':421 'normal':952 'number':413,446,877 'offici':14,52,1204 'ok':634 'one':245,689,707 'open':75 'oper':639,953 'option':100,107,111,432 'org':1115 'org-wid':1114 'out-of-scop':957 'output':848,894 'output.pdf':766 'overrid':480,486 'overtrigg':330 'page':391 'pair':679 'paraphras':935 'parti':1152 'pass':817 'path':508 'pattern':27,510,630,734,819,850,1174,1175,1180 'pdf':354,364,534,564,578,588,590,1245 'pdf-process':533 'pdf.pages':580 'pdfplumber':567,573 'pdfplumber.open':575 'pdfs':371,524,538 'permiss':474 'person':297,1092 'phrase':334 'plan':507,837,841 'platform.claude.com':1223,1228 'platform.claude.com/docs/en/agents-and-tools/agent-skills/best-practices)':1227 'platform.claude.com/docs/en/build-with-claude/skills-guide)':1222 'plugin':1102 'portabl':247 'post':1106 'potenti':289 'practic':4,17,41,1226 'pre':1200 'pre-upload':1199 'prefer':517,629,884 'principl':146 'proceed':814 'process':298,304,523,535,537 'process-pdf':536 'processing-pdf':522 'progress':24,147,829 'project':926,934,1097 'pseudocode/templates':628 'punt':864 'purpos':437 'pushi':323 'put':1033 'python':571,743,750,762,800,945 'qualiti':8,1196 'quick':78,650 'quot':986 'rather':328 'read':223,476,905 'recommend':644 'refer':43,99,207,218,400,685,688,722,907,1048,1164 'referenc':224 'reference.md':220,221,716 'references/checklist.md':1198 'references/claude-code-features.md':1189 'references/description-guide.md':397,398,1168 'references/patterns.md':852,853,1178 'refin':1185 'relev':287 'repo':1232 'request':961,965 'requir':94,141,230,401 'resourc':61,187,1147,1205 'resources.anthropic.com':1247 'resources.anthropic.com/hubfs/the-complete-guide-to-building-skill-for-claude.pdf)':1246 'respons':1041 'review':787,790 'right':661 'risk':1141 'rout':658 'rule':293,404 'run':495,742,749,761,889,899,962 'say':338 'scope':960 'script':59,106,194,638,854,888,1145 'scripts/analyze.py':744 'scripts/process.py':763 'scripts/validate.py':751,801 'sdk':257 'secur':1127 'see':214,219,903 'sensit':1065 'separ':204,1124 'sequenti':735 'servic':928 'set':612,922,1086,1113 'singl':272 'skill':2,10,39,47,54,74,82,92,121,132,151,180,233,237,248,280,292,484,513,648,857,982,984,1000,1012,1067,1078,1117,1130,1153,1157,1207,1214,1220,1231,1239 'skill-nam':981 'skill-skills-best-practices' 'skill.md':19,88,93,116,184,196,645,693,701,709,715,911,1042,1056,1062 'skills-best-practic':1 'slight':322 'slow/degraded':1040 'smart':550 'solv':861 'sophist':388 'sourc':1133 'source-tenequm' 'space':1069 'spec':1208 'specif':68,129,332,344,1007,1025 'spreadsheet':527 'standard':76 'start':79,651 'startup':170 'step':670,672,738,746,758,810,830,834,838,842,845 'step-by-step':669 'structur':20,544,646 'subag':498,500,1183 'substitut':1195 'surfac':33,1081,1122 'symptom':997 'sync':1120 'system':393 'tabl':352,728 'tag':429 'task':69,229,665,822,1016 'teach':63 'templat':112 'tend':325 'term':1011 'test':26,915,917,950,951 'text':350,565,569,579,583,589,598,603,618 'third':296,1151 'third-parti':1150 'three':155 'time':968 'token':159,164,172,183,562,586,896 'tool':470,471,542 'top':733,1037 'topic-agent-skills' 'topic-ai-agents' 'topic-claude-code' 'topic-claude-skills' 'topic-clawhub' 'topic-erc-8004' 'topic-mpp' 'topic-openclaw' 'topic-skills' 'topic-solana' 'topic-x402' 'track':828 'tree':657,770,774 'trigger':130,181,333,347,385,916,919,938,973,1008,1022 'troubleshoot':28,680,996 'true':451 'trust':1132 'type':501,666 'undertrigg':327 'unlimit':191 'unrel':943 'upload':1088,1201 'url':1162 'usag':160 'use':127,283,312,360,566,979,1038,1072,1129,1149 'user':335,369,453,460 'user-invoc':459 'util':541 'vagu':378,1005 'valid':622,748,799,804,816,840,1202 'valu':881 'variat':633 'verbos':1030 'verifi':847,913 'vs':340,902 'weather':942 'wide':1116 'without':258,473,890 'work':234,249,362,653 'workflow':655,675,736,768,772,780,786,791,1177 'would':336,977 'write':23,264,294,944,1166 'wrong':1015,1057 'xml':318,428,1135 'yaml':97,117,342 'zip':1089","prices":[{"id":"4e067df8-7d1f-42dc-b9f0-47aa827f2eff","listingId":"d2c91604-9284-423f-ac53-3cf70793df4c","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"tenequm","category":"skills","install_from":"skills.sh"},"createdAt":"2026-04-18T23:05:25.770Z"}],"sources":[{"listingId":"d2c91604-9284-423f-ac53-3cf70793df4c","source":"github","sourceId":"tenequm/skills/skills-best-practices","sourceUrl":"https://github.com/tenequm/skills/tree/main/skills/skills-best-practices","isPrimary":false,"firstSeenAt":"2026-04-18T23:05:25.770Z","lastSeenAt":"2026-04-22T01:01:40.773Z"}],"details":{"listingId":"d2c91604-9284-423f-ac53-3cf70793df4c","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"tenequm","slug":"skills-best-practices","github":{"repo":"tenequm/skills","stars":23,"topics":["agent-skills","ai-agents","claude-code","claude-skills","clawhub","erc-8004","mpp","openclaw","skills","solana","x402"],"license":"mit","html_url":"https://github.com/tenequm/skills","pushed_at":"2026-04-14T16:24:57Z","description":"Agent skills for building, shipping, and growing software products","skill_md_sha":"4f7a9b23a97feab68f2fb974a73fb42630d0064b","skill_md_path":"skills/skills-best-practices/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/tenequm/skills/tree/main/skills/skills-best-practices"},"layout":"multi","source":"github","category":"skills","frontmatter":{"name":"skills-best-practices","description":"Build high-quality Agent Skills for Claude following official Anthropic best practices. Covers SKILL.md structure, frontmatter, description writing, progressive disclosure, testing, patterns, troubleshooting, and distribution across all surfaces (Claude.ai, Claude Code, API, Agent SDK). Use when creating new skills, reviewing skill quality, debugging skill triggering, structuring skill directories, writing skill descriptions, or improving existing skills. Triggers on \"build a skill\", \"create a skill\", \"skill structure\", \"SKILL.md\", \"skill best practices\", \"skill not triggering\", \"skill quality\"."},"skills_sh_url":"https://skills.sh/tenequm/skills/skills-best-practices"},"updatedAt":"2026-04-22T01:01:40.773Z"}}