Create workflow-* skills by composing existing skills into end-to-end chains. Turns a user idea into a workflow_spec.md SSOT (via workflow-brainstorm), discovers available skills locally + from skills.sh, and generates a new workflow-<slug>/ skill package. Use when you want to design a new workflow, chain multiple skills into a flow, or turn scattered atomic skills into a resumable plan-then-confirm workflow.
Create a new workflow-<slug>/ skill package that chains existing skills with Ship Faster-standard artifacts.
workflow_spec.md must map to exactly one skill (or a tiny, verifiable manual action).https://skills.sh/, suggest 2-3 options + install commands, and wait for the user.proposal.md, tasks.md, context.json under run_dir/.tasks.md -> ## Approvals.runs/ by default, OpenSpec when openspec/project.md exists (unless overridden in context.json).proposal.md, tasks.md, context.json.tasks.md.repo_root (skills repository root)workflow_spec_path (if the user already wrote a spec)workflow-<slug>/SKILL.mdworkflow-<slug>/references/workflow-spec.md (SSOT)Resolve skills_root using this priority:
repo_root, use it.<dir>/skills/manifest.json (monorepo layout) -> skills_root = <dir>/skills/<dir>/manifest.json (skills-repo layout) -> skills_root = <dir>/workflow_spec.md (SSOT)If workflow_spec_path is not provided:
Call workflow-brainstorm first to converge on:
Skill Discovery (REQUIRED) - before finalizing required_skills:
a) Local skills scan: List all potentially relevant skills under skills_root:
ls -1 ~/.claude/skills/ | grep -E "(tool-|review-|workflow-)"
Identify which local skills could serve steps in the workflow.
b) skills.sh lookup (MANDATORY): Fetch the leaderboard from https://skills.sh/ and identify relevant skills:
c) Present findings to user:
## Skill Discovery Results
### Local Skills (available)
| Skill | Relevance | Notes |
|-------|-----------|-------|
| tool-xxx | HIGH | ... |
| review-yyy | MEDIUM | ... |
### External Skills (skills.sh)
| Skill | Installs | Source | Relevance |
|-------|----------|--------|-----------|
| skill-name | 10K | owner/repo | ... |
**Want to inspect any external skills before deciding?** (list numbers or "none")
d) If user wants to inspect: fetch skill details from skills.sh page, show SKILL.md content, then ask again.
e) User confirms final skill selection: only then proceed to write spec.
Write a workflow_spec.md using the template in references/workflow-spec-template.md.
Run:
python3 scripts/validate_workflow_spec.py /path/to/workflow_spec.md
Fix any validation errors before generating.
required_skills / optional_skills from the spec.skills_root.references/prompt-pack.md to do a skills.sh lookup.workflow-<slug>/workflow-<slug>/ under skills_root if missing.workflow-<slug>/references/workflow-spec.md (copy from the validated spec).workflow-<slug>/SKILL.md:
name must match directory name (workflow-<slug>).description must embed the spec triggers (routing fuel).runs/ vs OpenSpec).tasks.md.tasks.md -> ## Approvals (timestamp + scope) and start execution.Run:
python3 scripts/validate_skill_md.py /path/to/workflow-<slug>
If it fails, fix frontmatter/name/line endings until it passes.
Note: The repo also includes skill-creator/scripts/quick_validate.py, but it may require extra Python deps. Use the validator in this skill as the default.
Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer