Skillpack skillpack-creator
Create a reusable SkillPack from a successful completed task. Use when the user wants to convert a one-off research, coding, analysis, or content workflow into a distributable local SkillPack with `skillpack.json`, local skills under `skills/`, starter prompts, start scripts, and an optional zip package.
git clone https://github.com/CreminiAI/skillpack
T=$(mktemp -d) && git clone --depth=1 https://github.com/CreminiAI/skillpack "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/skillpack-creator" ~/.claude/skills/creminiai-skillpack-skillpack-creator && rm -rf "$T"
skills/skillpack-creator/SKILL.mdSkillpack Creator
Overview
Turn a successful task into a reusable SkillPack. Extract the stable workflow, decide what belongs in a local skill versus pack-level prompts, generate the pack structure, and package it only after the workflow is explicit and repeatable.
Workflow
1. Normalize the source task
Reduce the finished task into a clean execution spec:
- Capture the user goal, concrete deliverable, and the final successful workflow (not the full exploratory transcript).
- List required skills, tools, files, secrets, and environment assumptions.
- Separate deterministic steps from heuristic steps; remove dead ends and debugging noise.
- If the task is still too broad, narrow the scope instead of writing a vague mega-skill. If key success conditions depend on hidden human judgment, mark the pack as a best-effort assistant workflow.
Ask for missing stable facts or infer only the low-risk pieces.
2. Decide what the pack should contain
- Local skill (
): reusable procedural knowledge. Keep scripts minimal unless reproducibility depends on exact file generation or repetitive shell steps.skills/ - Scripts (
): repeated shell or file-generation logic where reliability matters.scripts/ - References (
): detailed schemas, API notes, or conventions that should not bloatreferences/
.SKILL.md - Prompts (
): 1–3 pack-level starter inputs for the UI — not a DAG or state machine. Seeskillpack.json
for exact pack semantics.references/skillpack-format.md
3. Create the pack specification
Before writing files, define the pack spec. Prefer one local orchestrator skill plus a small number of external skills. Example minimal manifest:
{ "name": "company-research", "description": "Research a company and produce a summary report", "version": "1.0.0", "prompts": ["Research {company} and create a report with financials and competitors"], "skills": [ { "name": "research-orchestrator", "source": "./skills/research-orchestrator", "description": "Orchestrate company research across multiple sources" } ] }
4. Create the local orchestrator skill
Create
skills/<skill-name>/SKILL.md with frontmatter and imperative workflow instructions:
--- name: research-orchestrator description: "Orchestrate multi-source company research. Use when the user wants a structured company report covering financials, competitors, and market position." ---
- Write the stable workflow as imperative steps in the body.
- Add
only for fragile or repeated operations; addscripts/
only for detailed information.references/
5. Materialize the pack
Use
scripts/scaffold_skillpack.py when you have the pack spec:
# Basic python3 skills/skillpack-creator/scripts/scaffold_skillpack.py \ --manifest /tmp/skillpack.json \ --output /absolute/path/to/output-pack # With zip python3 skills/skillpack-creator/scripts/scaffold_skillpack.py \ --manifest /tmp/skillpack.json \ --output /absolute/path/to/output-pack \ --zip
The script validates the manifest, writes
skillpack.json, creates skills/, copies start.sh/start.bat from templates/, and optionally runs npx -y @cremini/skillpack zip.
6. Validate the result
Before handing the pack back, confirm:
- The manifest matches the intended pack scope
- Every declared skill has a valid
,name
, andsourcedescription - Local skills are present under the target pack's
skills/ - Starter prompts are concrete enough to reproduce the workflow
- Zip only after the pack runs as a directory
Output Standard
Produce:
- A short summary of the stabilized workflow.
- The target pack structure and skill inventory.
- The created or updated local skill files.
- The generated
.skillpack.json - Whether the pack was zipped and where the zip lives.