
Skill Creator
Scaffold a new agent SKILL.md package with Starchild metadata, optional scripts/references/assets folders, and a chosen structuring pattern before you wire custom workflows.
Overview
skill-creator is a journey-wide agent skill that scaffolds new SKILL.md packages with Starchild metadata and optional resource folders—usable whenever a solo builder needs to add reusable agent capability before committi
Install
npx skills add https://github.com/starchild-ai-agent/official-skills --skill skill-creatorWhat is this skill?
- Python initializer `init_skill.py` with `--path`, `--resources`, and `--examples` flags
- SKILL.md template with YAML frontmatter, Starchild `skillKey`, env/bin `requires`, and `user-invocable: true`
- Four structuring patterns to choose from: workflow-based, task-based, reference/guidelines, capabilities-based
- Allowed bundled resource dirs: scripts, references, assets (validated set)
- Skill name capped at 64 characters with kebab-case naming guidance
- 64-character max skill name
- 4 structuring patterns in template
- 3 allowed resource types: scripts, references, assets
Adoption & trust: 6.3k installs on skills.sh; 13 GitHub stars; 3/3 security scanners passed (skills.sh audits); trending (+100% hot-view momentum).
What problem does it solve?
You know what workflow the agent should follow, but starting from a blank SKILL.md wastes time and produces inconsistent metadata across your skill library.
Who is it for?
Indie builders maintaining a growing set of Claude/Cursor skills who want one command to match Starchild conventions.
Skip if: Teams that only consume third-party skills from a marketplace and never author or fork local SKILL.md files.
When should I use this skill?
You need a new local skill folder with valid frontmatter and optional bundled resources before implementing workflow content.
What do I get? / Deliverables
You get a named skill directory with frontmatter, structuring guidance, and optional scripts/references/assets ready for you to fill in triggers and steps.
- Skill directory with SKILL.md
- Optional scripts/references/assets subfolders
- Starchild metadata block ready to customize
Recommended Skills
Journey fit
Useful at every journey phase - explore requirements and options before committing to a direction.
Where it fits
Draft a narrow skill for a landing-page experiment before the full SaaS build so the agent scope stays bounded.
Run init_skill.py to add an API-helper skill with a scripts folder for curl wrappers.
Factor repetitive review instructions into a checker skill package before release week.
Clone the template to version a hotfix workflow after production incidents exposed prompt drift.
How it compares
Use instead of copying random SKILL.md snippets from chat—this is a scaffold generator, not an MCP server or runtime plugin.
Common Questions / FAQ
Who is skill-creator for?
Solo and small-team builders who author or fork agent skills for Claude Code, Cursor, Codex, or similar hosts and want Starchild-aligned folder structure.
When should I use skill-creator?
During Build when adding agent-tooling; during Validate when prototyping a skill-backed workflow; during Operate when splitting a monolithic prompt into a maintained skill; and anytime you need a fresh skill slug under your workspace skills path.
Is skill-creator safe to install?
Review the Security Audits panel on this Prism page for file hash and risk signals; the initializer writes files under paths you pass—treat `--path` like any code-generation tool and inspect output before committing.
SKILL.md
READMESKILL.md - Skill Creator
#!/usr/bin/env python3 """ Skill Initializer - Creates a new skill from template Usage: init_skill.py <skill-name> --path <path> [--resources scripts,references,assets] [--examples] Examples: python init_skill.py my-new-skill --path ./workspace/skills python init_skill.py api-helper --path ./workspace/skills --resources scripts,references python init_skill.py custom-skill --path ./workspace/skills --resources scripts --examples """ import argparse import re import sys from pathlib import Path MAX_SKILL_NAME_LENGTH = 64 ALLOWED_RESOURCES = {"scripts", "references", "assets"} SKILL_TEMPLATE = """--- name: {skill_name} description: "[TODO: What this skill does. Use when <specific trigger scenarios>.]" metadata: starchild: emoji: skillKey: {skill_name} requires: env: [] bins: [] user-invocable: true --- # {skill_title} [TODO: 1-2 sentences in direct voice. "You do X" not "This skill does X." Explain what capability this gives the agent and why it matters.] ## Structuring This Skill Pick the pattern that fits best, then delete this section: - **Workflow-based** — Step-by-step process (fetch data -> process -> render -> output) - **Task-based** — Organized by user request ("analyze X" / "compare Y" / "generate Z") - **Reference/guidelines** — Rules, decision frameworks, core truths - **Capabilities-based** — Organized by what the skill can do (tool group A / tool group B) ## [TODO: Main Section] [TODO: Core instructions the agent needs every time this skill activates. Focus on knowledge the agent doesn't already have: - Domain-specific interpretation guides - Decision trees ("when X, do Y; when Z, do W") - Gotchas and edge cases - Key parameters and thresholds] ## Resources [TODO: Document scripts/, references/, assets/ if used. Delete this section if no resource directories exist.] """ EXAMPLE_SCRIPT = '''#!/usr/bin/env python3 """ {skill_title} - Helper Script Usage: python scripts/example.py --input <path> [--output <path>] This script handles [TODO: describe what this automates]. Scripts are for low-freedom operations: fragile API calls, exact rendering, repetitive boilerplate. The agent executes these via bash, not by reading them into context. """ import argparse import json import sys def main(): parser = argparse.ArgumentParser(description="{skill_title} helper") parser.add_argument("--input", required=True, help="Input file path") parser.add_argument("--output", default=None, help="Output file path (default: stdout)") args = parser.parse_args() # TODO: Replace with actual implementation print(f"Processing: {{args.input}}") result = {{"status": "ok", "input": args.input}} if args.output: with open(args.output, "w") as f: json.dump(result, f, indent=2) print(f"Output written to: {{args.output}}") else: print(json.dumps(result, indent=2)) if __name__ == "__main__": main() ''' EXAMPLE_REFERENCE = """# {skill_title} — Reference Documentation This reference is loaded on demand via `read_file` when the agent needs detailed information beyond what's in the main SKILL.md. ## When to Load This Reference - Agent needs full API endpoint details - Agent needs to look up error codes or schema definitions - Complex multi-step process requires detailed walkthrough ## API Reference ### Authentication [TODO: How to authenticate — headers, tokens, env vars] ### Endpoints | Endpoint | Method | Description | |----------|--------|-------------| | `/api/example` | GET | [TODO: Description] | | `/api/example` | POST | [TODO: Description] | ### Error Codes | Code | Meaning | Recovery | |------|---------|----------| | 401 | Invalid API key | Check env var is set | | 429 | Rate limited | Wait and retry (backoff) | ## Troubleshooting [TODO: Common issues a