From ravn-ai-toolkit
Guides creating effective, portable skills with YAML frontmatter, markdown instructions, and bundled resources. Useful when authoring or updating skills.
How this skill is triggered — by the user, by Claude, or both
Slash command
/ravn-ai-toolkit:agent-skill-creatorThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Create effective, portable skills that work across Claude.ai, Claude Code, and the API. A skill is a folderized instruction set that encodes a reusable workflow once, then applies it consistently.
Create effective, portable skills that work across Claude.ai, Claude Code, and the API. A skill is a folderized instruction set that encodes a reusable workflow once, then applies it consistently.
skill-name/
├── SKILL.md # Required: YAML frontmatter + markdown instructions
├── scripts/ # Optional: executable code for deterministic tasks
├── references/ # Optional: docs loaded into context as needed
└── assets/ # Optional: files used in output (templates, images, fonts)
Two parts:
name and description fields. Always in context. Determines when the skill triggers.| Directory | Purpose | Loaded into context? |
|---|---|---|
scripts/ | Executable code (Python/Bash) for deterministic operations | Only when Claude reads them |
references/ | Documentation Claude consults while working | On demand |
assets/ | Files used in output (templates, images, fonts) | Never — used directly in output |
Do not include README.md, CHANGELOG.md, or any auxiliary documentation files.
The context window is shared. Only include what Claude does not already know. Prefer concise examples over verbose explanations. Every paragraph must justify its token cost — remove paragraphs that do not.
Hard limit: Keep SKILL.md body under 5,000 words. Move detailed content to references/.
Match specificity to the task's fragility:
Three-layer loading minimizes context usage:
Keep SKILL.md lean. Split into reference files when exceeding 300 lines. Always reference split files from SKILL.md with clear descriptions of when to read them.
Gather concrete use cases before building anything.
Entry: User request to create or improve a skill.
Actions:
Exit: Clear understanding of the skill's scope, triggers, and expected outputs.
Determine what reusable resources the skill needs.
Entry: Concrete use cases from Step 1.
Actions:
scripts/references/assets/references/workflows.md for common patterns.Exit: List of resources to create and SKILL.md outline.
Create the skill folder and write its contents.
Entry: Resource list and SKILL.md outline from Step 2.
Actions:
Create the skill folder following the structure above. If scripts/init_skill.py is available in the environment, use it as a scaffolding accelerator:
scripts/init_skill.py <skill-name> --path <output-directory>
Otherwise, create the folder and SKILL.md manually.
Write bundled resources first — scripts, references, assets. Test scripts by running them. Delete any scaffolding files not needed.
Write SKILL.md:
references/description-authoring.md for the description formulareferences/validation-checklist.md to ensure the skill meets all structural requirementsDelete unused scaffolding — remove example files and empty directories.
Exit: Complete skill folder with all resources and SKILL.md.
Validate triggering and output quality.
Entry: Complete skill from Step 3.
Actions:
See references/testing-iteration.md for detailed testing methodology and success criteria.
Exit: Skill triggers on 9 out of 10 relevant prompts and produces consistent output.
Refine based on real usage.
Entry: Test results or user feedback.
Actions:
references/testing-iteration.mdExit: Skill meets success criteria across real-world usage.
Package a finished skill as a .skill file (zip with .skill extension). If scripts/package_skill.py is available, use it — it validates and packages automatically:
scripts/package_skill.py <path/to/skill-folder> [output-directory]
Otherwise, zip the skill folder manually ensuring SKILL.md is at the root of the archive.
Consult these based on the skill's needs:
references/description-authoring.md — formula, trigger phrases, negative triggers, hard constraintsreferences/workflows.md — sequential, multi-service, iterative, context-aware, domain intelligencereferences/output-patterns.md — templates and example-based output guidancereferences/testing-iteration.md — triggering tests, functional tests, performance metrics, diagnosticsreferences/validation-checklist.md — structural requirements every skill must meetreferences/troubleshooting.md — common failures and resolution pathsUser: "Create a new skill for converting PDFs to markdown with reusable scripts."
Expected behavior: Follow this skill's workflow — understand use cases, plan resources, build the skill.
User: "Find and fix a TypeScript type error in src/api/client.ts."
Expected behavior: Do not use this skill. Choose a more relevant skill or proceed directly.
references/description-authoring.md.references/ files. Keep SKILL.md as a lean workflow guide.references/troubleshooting.md.npx claudepluginhub ravnhq/ai-toolkitGuides developers in creating and updating effective Claude skills with best practices, core principles, resource links, and workflow advice for specialized extensions.
Guides creation of new Claude Code skills from scratch, covering SKILL.md anatomy, YAML frontmatter best practices, trigger phrases, and optional resources like scripts. Triggers on 'create a skill', 'new skill', 'scaffold skill'.
Guides users through creating or updating skills that extend Claude with specialized knowledge, workflows, and tool integrations.