1.9 KiB
1.9 KiB
| id | type | title | tags | importance | confidence | created | updated | relations | ||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| e0a851a7-1dc5-4191-b220-aa90112a1171 | code_pattern | Skill architecture: SKILL.md only, app code lives separately |
|
0.75 | 0.8 | 2026-03-01T05:48:30.126096+00:00 | 2026-03-01T05:48:50.361659+00:00 |
|
Skill Architecture Pattern: Separate App Code from Skill Instructions
Pattern
Skills in ~/.claude/skills/ should contain only SKILL.md — instructions for Claude on how to use the tool.
The actual application/tool lives in a proper location:
- Development tools:
/mnt/NV2/Development/<tool-name>/ - Installed via:
uv tool install -e .orpip install - Referenced in SKILL.md by: CLI command name only, not path to source files
Examples Following This Pattern
- z-image: app at
/mnt/NV2/Development/z-image/, installed asz-imageCLI - youtube-transcriber: app at
/mnt/NV2/Development/youtube-transcriber/, skill just documents CLI usage
Anti-Pattern (Avoid)
- Putting
generate.py, venvs, or other code inside~/.claude/skills/<skill-name>/ - Bash wrapper scripts that
sourcea venv inside the skills directory
Benefits
- Clean separation of concerns
- Skills directory stays small and readable
- App code can be versioned/developed independently in its own repo
uv tool install -e .allows development without reinstalling- Console scripts entry point provides a clean binary name