Skip to content
Back to skills

Creating Skills

ASecurity

Use when a new reusable skill needs to be built, either detected by gap analysis, requested by the user, or triggered by /singularity-create

  • 27 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added May 27, 2026
data-aibashapi

Works with

  • claude code
  • cli
  • api

Security analysis

A100/100

Pro scans all 3 files and shows the line behind each finding

Scanned May 27, 2026

npx -y skills add Shmayro/singularity-claude --skill creating-skills --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Creating Skills?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Creating Skills
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/shmayro-creating-skills/badge)](https://www.skillsdirectory.com/skills/shmayro-creating-skills)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
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:

1. **What** does this skill do? (core purpose in one sentence)
2. **When** should it trigger? (symptoms, conditions, error messages)
3. **What tools** does it need? (Read, Write, Edit, Bash, Agent, etc.)
4. **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 '<name>' already covers <overlap>. Should I extend it or create a separate skill?"*

### Step 3: Generate SKILL.md

Create the skill following these conventions:

```yaml
---
name: <skill-name>  # kebab-case, verb-first (e.g., creating-api-clients)
description: Use when <triggering conditions>  # Max 500 chars, start with "Use when"
---
```

**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`:

```bash
# Using score-manager to initialize scoring
"${CLAUDE_PLUGIN_ROOT}/scripts/score-manager.sh" init <skill-name>
```

Then update registry.json to add the skill entry:
```json
{
  "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

```bash
"${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`

Files in this skill

  • SKILL.md3.2 KB
  • references/scoring-template.json370 B
  • references/skill-template.md555 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.