claude.symlink/skills/skill-gen/SKILL.md
Generates new Claude Code skills with proper structure and best practices. Use when user asks to create a new skill, slash command, or wants to automate a workflow. Guides through requirements gathering, structure generation, and validation.
npx skillsauth add htlin222/dotfiles skill-genInstall 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.
Generates properly structured Claude Code skills from user requirements.
To create a new skill, gather from the user:
processing-pdfs, testing-code)Create directory: ~/.claude/skills/{skill-name}/
{skill-name}/
├── SKILL.md # Required: Main instructions (<500 lines)
├── scripts/ # Optional: Executable code
│ └── main.py
└── references/ # Optional: Detailed docs (one level deep)
└── examples.md
---
name: {skill-name}
description: {What it does in third person}. Use when {trigger conditions}.
---
# {Skill Title}
{Brief overview - assume Claude is smart, only add context it doesn't already have}
## Quick Start
{Minimal working example or first step}
## Instructions
{Step-by-step guidance with appropriate freedom level}
## Advanced Features
**Feature A**: See [references/feature-a.md](references/feature-a.md)
**Feature B**: See [references/feature-b.md](references/feature-b.md)
After drafting SKILL.md, count its lines. If approaching or exceeding 500 lines:
references/{topic}.md — keep links one level deep**Advanced feature X**: See [references/feature-x.md](references/feature-x.md)
Even under 500 lines, prefer splitting if a section is self-contained and only needed in specific scenarios.
Run through the validation checklist before finalizing.
processing-pdfs, testing-code, writing-documentationpdf-processing, process-pdfs-, consecutive --, reserved words (anthropic, claude), XML tagshelper, utils, tools), overly generic (documents, data)Good examples:
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.
description: Generates descriptive commit messages by analyzing git diffs. Use when the user asks for help writing commit messages or reviewing staged changes.
Avoid: "Helps with documents", "Processes data", "Does stuff with files"
The context window is shared. Challenge each piece of information:
Only add context Claude doesn't already have.
Match specificity to the task's fragility:
| Freedom | Use When | Example | |---------|----------|---------| | High (text instructions) | Multiple valid approaches, context-dependent | Code review guidelines | | Medium (pseudocode/params) | Preferred pattern exists, some variation ok | Report generation template | | Low (exact scripts) | Fragile operations, consistency critical | Database migrations |
Pick one term and use it throughout. Don't mix "API endpoint" / "URL" / "API route" / "path".
For complex multi-step operations:
## Workflow
Copy this checklist and track progress:
```
- [ ] Step 1: Analyze input
- [ ] Step 2: Generate plan
- [ ] Step 3: Validate plan
- [ ] Step 4: Execute
- [ ] Step 5: Verify output
```
Run validator → fix errors → repeat:
1. Make changes
2. Validate: `python scripts/validate.py`
3. If validation fails: fix issues, return to step 2
4. Only proceed when validation passes
Provide output format templates, matching strictness to requirements.
Provide input/output pairs for output-quality-dependent skills.
Guide through decision points:
**Creating new?** → Follow "Creation workflow"
**Editing existing?** → Follow "Editing workflow"
script.py to extract fields" (execute)script.py for the algorithm" (read as reference)scripts/helper.py not scripts\helper.py)ServerName:tool_name<details> tagEval-driven development: See references/eval-driven-development.md for the build → test → observe → iterate cycle, two-Claude iterative development, and observation patterns for refining skills after initial creation.
testing
Converts narrative medical text into Pocket Medicine bullet-style notes with proper abbreviations, then modularizes sections exceeding 20 lines into linked standalone files.
devops
Use when deploying Docker services on the local VM (hostname: vm, Pop!_OS) with Traefik reverse proxy and Homepage dashboard. Covers crane image workflow, Traefik file-provider registration, Homepage services.yaml entries, and compose templates on the traefik-proxy network.
development
Use when reviewing a data visualization or figure for clarity, checking if a graph communicates its message without additional context, or iterating on R/Python plot scripts until a naive reader can fully understand the figure.
development
Runs Vale prose linter on markdown/text files and auto-fixes issues. Use when the user asks to lint, proofread, or improve writing quality of markdown or text files.