Skillpack 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 (
skills/): reusable procedural knowledge. Keep scripts minimal unless reproducibility depends on exact file generation or repetitive shell steps. - Scripts (
scripts/): repeated shell or file-generation logic where reliability matters. - References (
references/): detailed schemas, API notes, or conventions that should not bloatSKILL.md. - Prompts (
skillpack.json): 1–3 pack-level starter inputs for the UI — not a DAG or state machine. Seereferences/skillpack-format.mdfor exact pack semantics.
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:
json{ "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:
yaml--- 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
scripts/only for fragile or repeated operations; addreferences/only for detailed information.
5. Materialize the pack
Use scripts/scaffold_skillpack.py when you have the pack spec:
bash# 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,source, anddescription - 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.

