| name | creating-skills |
| description | Use when a new reusable skill needs to be built, either detected by gap analysis, requested by the user, or triggered by /singularity-create |
Create a New Skill
Build a new Claude Code skill through a structured workflow that ensures quality, testability, and integration with the singularity evolution engine.
Prerequisites
- Read
superpowers:writing-skills if available — it defines SKILL.md authoring best practices
- This skill creates standard Claude Code skills usable by any plugin
Workflow
Step 1: Requirements Gathering
Ask the user ONE question at a time:
- What does this skill do? (core purpose in one sentence)
- When should it trigger? (symptoms, conditions, error messages)
- What tools does it need? (Read, Write, Edit, Bash, Agent, etc.)
- What's the output? (files created, code modified, analysis produced)
Step 2: Check Registry
Read ~/.claude/singularity/registry.json to verify no duplicate or overlapping skill exists.
If a similar skill exists, ask: "A skill called '' already covers . Should I extend it or create a separate skill?"
Step 3: Generate SKILL.md
Create the skill following these conventions:
---
name: <skill-name>
description: Use when <triggering conditions>
---
Content structure:
- Overview (1-2 sentences)
- When to use / when NOT to use
- Workflow steps (numbered, actionable)
- Common mistakes / red flags
- Integration with other skills (if applicable)
Rules:
- Description = triggering conditions ONLY, not what the skill does
- Keep under 500 words for frequently-used skills
- Use cross-references (
superpowers:skill-name) not file paths
- Include a "When NOT to use" section
Step 4: Write the Skill
Write to ~/.claude/skills/<skill-name>/SKILL.md
If the skill needs supporting files (templates, rubrics, scripts), create them in:
~/.claude/skills/<skill-name>/references/
Step 5: Register
Update ~/.claude/singularity/registry.json:
"${CLAUDE_PLUGIN_ROOT}/scripts/score-manager.sh" init <skill-name>
Then update registry.json to add the skill entry:
{
"skills": {
"<skill-name>": {
"location": "~/.claude/skills/<skill-name>/SKILL.md",
"createdBy": "singularity-claude:creating-skills",
"createdAt": "<ISO-8601>",
"currentVersion": "v1.0.0",
"maturity": "draft",
"tags": ["<relevant>", "<tags>"],
"lastExecuted": null,
"executionCount": 0,
"averageScore": 0
}
}
}
Step 6: Initial Test
Invoke the newly created skill via the Skill tool to verify it loads correctly.
Step 7: Initial Score
Run singularity-claude:scoring on the test output to establish a baseline score.
Step 8: Log Telemetry
"${CLAUDE_PLUGIN_ROOT}/scripts/telemetry-writer.sh" log <skill-name> \
--trigger "creation" \
--summary "Created new skill: <description>"
Output
After creation, report:
- Skill location:
~/.claude/skills/<skill-name>/SKILL.md
- Initial version: v1.0.0
- Maturity: draft
- Next steps: use the skill, then score with
/singularity-score