.claude/skills/skill-developer/SKILL.md
# Skill Developer ## When to Load This Skill Load when: creating a new skill, modifying an existing skill, updating `skill-rules.json`, evaluating skill quality, or refactoring the skill library. ## Skill Anatomy Every skill follows this structure: ``` .claude/skills/{skill-name}/ ├── SKILL.md # main file — MUST be under 500 lines └── resources/ ├── topic-1.md # deep-dive subsections — under 500 lines each └── topic-2.md ``` `SKILL.md` is the entry point
npx skillsauth add pyramidheadshark/ml-claude-infra .claude/skills/skill-developerInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Load when: creating a new skill, modifying an existing skill, updating skill-rules.json, evaluating skill quality, or refactoring the skill library.
Every skill follows this structure:
.claude/skills/{skill-name}/
├── SKILL.md # main file — MUST be under 500 lines
└── resources/
├── topic-1.md # deep-dive subsections — under 500 lines each
└── topic-2.md
SKILL.md is the entry point. It must:
resources/ files for details rather than inlining everythingAsk: "What file patterns or prompt keywords make this skill relevant?"
These go into skill-rules.json under the skill's triggers.
Structure:
# {Skill Name}
## When to Load This Skill
{file patterns and keywords}
## {Core Concept or Setup}
{immediately actionable content}
## {Main Pattern 1}
{code example or steps}
## {Main Pattern 2}
{code example or steps}
## Further Resources
{
"skill": "my-new-skill",
"triggers": {
"files": ["*.relevant-ext", "specific-file.py"],
"keywords": ["relevant keyword", "another trigger phrase"],
"always_load": false
},
"priority": 11
}
Priority determines load order when the 3-skill limit is reached. Lower number = higher priority.
Open a test project, mention a trigger keyword, and verify the skill appears in context via the hook output.
A good skill is:
A bad skill is:
SKILL.md or the relevant resource file in resources/skill-rules.jsonSKILL.mddocs/CHANGELOG.md with the changeThe skill-activation-prompt.js hook compresses skills over 300 lines before injecting them.
Keep main SKILL.md under 300 lines to avoid compression and ensure full content is always available.
Resources are loaded on demand — they are not affected by the compression threshold.
| Skill | Lines | Status | |---|---|---| | python-project-standards | ~150 | Full | | fastapi-patterns | ~180 | Full | | multimodal-router | ~120 | Full | | test-first-patterns | ~160 | Full | | ml-data-handling | ~170 | Full | | htmx-frontend | ~160 | Full | | langgraph-patterns | ~190 | Full | | infra-yandex-cloud | ~190 | Full | | design-doc-creator | ~120 | Full | | skill-developer | this file | Full |
Update this table when adding or significantly modifying skills.
testing
# Design Doc Creator ## When to Load This Skill Load when: design documents, requirements, new project start. Short fixture skill for testing (optional/meta skill).
development
# Windows Developer Guide ## When to Load Automatically loaded on Windows (`platform_trigger: "win32"`). Applies to: `.py`, `.ps1`, `.bat`, `.cmd` files and any Windows-specific workflow. ## Python on Windows ### Encoding (CRITICAL) Windows defaults to `cp1251` / `cp1252` for file I/O. Always specify UTF-8 explicitly: ```python with open("file.txt", "r", encoding="utf-8") as f: content = f.read() Path("file.txt").read_text(encoding="utf-8") Path("file.txt").write_text(content, encodin
development
# Test-First Patterns ## When to Load This Skill Load when writing tests, creating `.feature` files, setting up conftest, discussing test strategy, or reviewing coverage. ## Philosophy Tests are written BEFORE code. Always. No exceptions. The order is: Design Doc → BDD Scenarios → Unit Tests → Implementation. BDD scenarios come from the design document's use cases section — they are a direct translation of business requirements into executable specifications. This makes tests the living do
testing
# Skill: Supply Chain Auditor ## When to Load Auto-load when: adding dependencies, reviewing packages, updating versions, or discussing `requirements.txt`, `pyproject.toml`, `package.json`. Triggers on `dependency`, `install`, `package`, `CVE`, `audit`, `vulnerable` (≥2 keywords). ## Core Rules Every new dependency addition must pass this checklist before merging: 1. **Pinned** — exact version in production (`==1.2.3` for pip, `"1.2.3"` for npm, not `^` or `~`). 2. **Maintained** — last com