
Skill Creator
Create, refactor, validate, or slim down SKILL.md packages so your agent triggers stay lean and YAML-safe.
Overview
Skill-creator is a journey-wide agent skill that authors, audits, and restructures SKILL.md packages—usable whenever a solo builder needs a maintainable agent capability before committing to ad-hoc prompts.
Install
npx skills add https://github.com/steipete/clawdis --skill skill-creatorWhat is this skill?
- Hard rules keep SKILL.md lean and put only trigger-critical facts in quoted frontmatter description
- Standard layout: SKILL.md plus optional scripts, references, assets, and agents metadata
- Validates YAML frontmatter after edits and discourages README churn inside skill folders
- Supports create, edit, audit, tidy, validate, and restructure workflows for AgentSkills
- Noun-phrase descriptions with short generic triggers—not full workflow dumps in metadata
- Documented folder shape lists five optional top-level dirs: scripts, references, assets, agents
- Hard rules block extra README/changelog/setup docs unless they are task references
Adoption & trust: 1.9k installs on skills.sh; 378k GitHub stars; 3/3 security scanners passed (skills.sh audits).
What problem does it solve?
Your agent know-how lives in chat logs or bloated markdown, so triggers misfire and YAML frontmatter breaks when you try to share the workflow.
Who is it for?
Solo builders shipping Claude Code, Cursor, or Codex skills who want catalog-ready folders without hand-rolling structure each time.
Skip if: Teams that only need a one-shot prompt with no reuse, or projects that forbid agent shell/scripts folders entirely.
When should I use this skill?
Create, edit, audit, tidy, validate, or restructure AgentSkills and SKILL.md files.
What do I get? / Deliverables
You leave with a validated SKILL.md skeleton, optional scripts/references split, and frontmatter that agents can load on demand without dragging entire manuals into context.
- Validated SKILL.md with quoted frontmatter
- Optional scripts/, references/, and assets/ layout
- Audit notes for overweight or mis-structured skills
Recommended Skills
Journey fit
Useful at every journey phase - explore requirements and options before committing to a direction.
Where it fits
Capture a repeatable competitor-research ritual as a named skill before you automate scraping scripts.
Wrap a third-party API workflow into SKILL.md with scripts/ for deterministic setup steps.
Audit an overweight skill before publishing to a team repo or Prism catalog entry.
Tidy frontmatter and split references after months of incremental edits broke YAML validation.
How it compares
Skill package authoring discipline, not an MCP server installer or runtime executor.
Common Questions / FAQ
Who is skill-creator for?
Indie developers and agent tinkerers who maintain SKILL.md trees for Claude Code, Codex, Cursor, or OpenClaw-compatible layouts.
When should I use skill-creator?
At Idea when capturing a repeatable research ritual, during Build when wrapping a new integration, at Ship when auditing skills before release, or in Operate when slimming overweight packages.
Is skill-creator safe to install?
Check the Security Audits panel on this page; editing skills may imply filesystem access wherever your agent writes SKILL.md and scripts.
SKILL.md
READMESKILL.md - Skill Creator
# Skill Creator Skills are compact triggerable workflows. Metadata is always visible; body loads only after trigger; references/scripts/assets load only as needed. ## Hard rules - Keep `SKILL.md` lean; Codex is already capable. - Put only trigger-critical facts in frontmatter `description`. - Quote frontmatter `description`. - Frontmatter needs `name` + `description`; local OpenClaw skills may also use `metadata`, `homepage`, `allowed-tools`, `user-invocable`, `license`. - Prefer noun-phrase descriptions; short generic trigger phrase, not full workflow. - Move long examples/docs to `references/`; scripts to `scripts/`; templates/media to `assets/`. - No extra README/changelog/setup docs inside a skill unless they are actual task references. - Validate YAML frontmatter after edits. ## Shape ```text skill-name/ SKILL.md scripts/ optional deterministic helpers references/ optional docs loaded only when needed assets/ optional output resources/templates agents/ optional UI metadata ``` ## Good SKILL.md ```markdown --- name: pdf-tools description: "Inspect, split, merge, OCR, redact, or convert PDFs with local CLI tools." --- # PDF tools Use for PDF manipulation. Prefer deterministic scripts for page edits. ## Workflow 1. Inspect file/page count. 2. Choose exact operation. 3. Write output beside input unless user asked otherwise. 4. Render/verify changed pages. ``` ## Edit workflow 1. Read existing skill and nearby resource names. 2. Remove generic advice the base model already knows. 3. Keep brittle command syntax, auth caveats, safety rules, and validation. 4. Replace tables with bullets unless a table is clearly needed. 5. Relax prose; fragments ok. 6. Validate frontmatter and run any script tests touched. ## Validation ```bash python skills/skill-creator/scripts/quick_validate.py skills/<name> python - <<'PY' from pathlib import Path import yaml for p in Path("skills").glob("*/SKILL.md"): text=p.read_text() if not text.startswith("---\n"): raise SystemExit(f"missing frontmatter: {p}") fm=text.split("---",2)[1] yaml.safe_load(fm) print("ok") PY ``` `quick_validate.py` is conservative; repo-local frontmatter may allow keys beyond public skill bundles. #!/usr/bin/env python3 """ Skill Packager - Creates a distributable .skill file of a skill folder Usage: python utils/package_skill.py <path/to/skill-folder> [output-directory] Example: python utils/package_skill.py skills/public/my-skill python utils/package_skill.py skills/public/my-skill ./dist """ import sys import zipfile from pathlib import Path from quick_validate import validate_skill def _is_within(path: Path, root: Path) -> bool: try: path.relative_to(root) return True except ValueError: return False def package_skill(skill_path, output_dir=None): """ Package a skill folder into a .skill file. Args: skill_path: Path to the skill folder output_dir: Optional output directory for the .skill file (defaults to current directory) Returns: Path to the created .skill file, or None if error """ skill_path = Path(skill_path).resolve() # Validate skill folder exists if not skill_path.exists(): print(f"[ERROR] Skill folder not found: {skill_path}") return None if not skill_path.is_dir(): print(f"[ERROR] Path is not a directory: {skill_path}") return None # Validate SKILL.md exists skill_md = skill_path / "SKILL.md" if not skill_md.exists(): print(f"[ERROR] SKILL.md not found in {skill_path}") return None # Run validation before packaging print("Validating skill...") valid, message = validate_skill(skill_path) if not valid: print(f"[ERROR] Validation failed: {message}") print(" Plea