skills/assistant/agent-skill-creator/SKILL.md
Guide for creating effective, portable skills that extend Claude's capabilities with specialized knowledge, workflows, and tool integrations. Use when: (1) Creating a new skill from scratch, (2) Updating or improving an existing skill, (3) Structuring skill content for progressive disclosure, (4) Writing skill descriptions and triggers, (5) Packaging a skill for distribution. Triggers on: "create a skill", "build a skill", "new skill", "update this skill", "improve skill description", "skill structure", "skill triggers".
npx skillsauth add ravnhq/ai-toolkit agent-skill-creatorInstall 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.
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.testing
Transform user requests into detailed, precise prompts for AI models. Use when users say 'promptify', 'promptify this', 'rewrite this prompt', 'make this prompt better/more specific', or explicitly request prompt engineering or improvement of their request for better AI responses.
tools
Manage AI skills from the Ravn AI Toolkit via corvus CLI — install, update, remove, search, and configure skills for any project. Use when: (1) Installing AI skills into a project, (2) Updating installed skills to latest versions, (3) Browsing or searching available skills, (4) Configuring global or per-project skill sets, (5) Troubleshooting corvus setup. Triggers on: "install skills", "add skills", "update skills", "corvus", "skill manager", "browse skills", "set up AI rules".
development
Generate a gallery of design variations for a UI component. Takes an existing component (referenced by name, pasted code, or screenshot) and produces N distinct rendered alternatives in a single comparison page. Use when exploring visual directions, generating mockups, comparing design approaches for a component, creating A/B candidates, or when anyone says "show me options" or "give me variations" for a UI element.
tools
Create custom QA agent personalities for project-specific testing needs. Guided builder that asks about the specialty, tools, and test scenarios, then generates a personality file and registers it in the QA config. Trigger on "create a QA personality", "add a custom test agent", "build a webhook tester", or when the user needs a project-specific QA agent. Also triggered by /qa-create-personality.