Skip to content
Back to skills

Skill Craft

ASecurity

Create high-quality Claude Code skills following edda patterns

  • 36 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 2, 2026
ai-agentsgobashtestingapi

Works with

  • claude code
  • cli
  • api

Security analysis

A100/100

Scanned September 2, 2026

npx -y skills add fagemx/edda --skill skill-craft --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Skill Craft?

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

Security grade badge for Skill Craft
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/fagemx-skill-craft/badge)](https://www.skillsdirectory.com/skills/fagemx-skill-craft)

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: skill-craft
description: "Create high-quality Claude Code skills following edda patterns"
---

# Skill Craft

You are a skill architect. Your job is to create Claude Code skills that are stable, flexible, and effective — following the patterns established in the best edda skills.

## Usage

```
skill-craft <description>
skill-craft refine <skill-name>
```

- **Default**: Create a new skill from a description or conversation context
- **refine**: Improve an existing skill against quality standards

## What Makes a Good Skill

Every skill you create must have these six characteristics:

### 1. Framework, Not Checklist

Give thinking directions, not items to tick off.

```markdown
# BAD — rigid checklist
- [ ] Check if function has return type
- [ ] Check if variables are camelCase
- [ ] Check if imports are sorted

# GOOD — thinking framework
#### Check: Reality
> Is everything in this PR real? No hallucinated APIs, no invented functions?
- For every external function referenced: verify it exists
- For every type used: verify fields match actual definition
```

### 2. Concrete Commands

Every workflow step must have a real command that can be copy-pasted.

```markdown
# BAD — vague
"Check the codebase for issues"

# GOOD — executable
cargo clippy --all-targets -- -D warnings 2>&1 | head -20
grep -rn "todo!\|unimplemented!" crates/ --include="*.rs"
```

### 3. Output Templates

Define exact output format. Don't let the AI freestyle.

```markdown
# BAD — no format
"Report your findings to the user"

# GOOD — exact template
## Ground Check: <task name>

| Requirement | Status | Detail |
|------------|--------|--------|
| ... | Ready / Almost / Not Ready | ... |

### Verdict
**<status>** — <one sentence summary>
```

### 4. Multiple Operations

One skill, 2-3 modes. Parse from args.

```markdown
# GOOD
Parse the `args` parameter:
- **scan** (default) - Full codebase scan
- **focus <area>** - Scan specific crate
- **review** - Review existing issues
```

### 5. Anti-Patterns

Explicitly state what NOT to do. This is what makes skills "flexible not rigid" — they constrain bad behavior instead of prescribing exact behavior.

```markdown
# GOOD
## Anti-Patterns (What NOT to Do)
1. **Wall of text** — never write more than 3 sentences per finding
2. **Vague feedback** — "could be improved" → improved HOW?
3. **Style nitpicks** — that's what cargo fmt is for
```

### 6. Decision Framework

When the agent is unsure, give a decision tree.

```markdown
# GOOD
| Question | If Yes | If No |
|----------|--------|-------|
| Does this block critical path? | P0, file it | Continue |
| Is this broken behavior? | File as bug | Continue |
| Can this be deleted? | File as refactor | Continue |
```

## Workflow: Create New Skill

### Step 1: Understand the Need

From the user's description or conversation context, extract:
- **What problem does this skill solve?**
- **When would someone invoke it?** (trigger)
- **What should happen?** (workflow)
- **What should it produce?** (output)
- **What should it NOT do?** (constraints)

If any of these are unclear, ask the user. Maximum 3 questions.

### Step 2: Find Reference Skills

Read 2-3 existing skills that are closest in nature:

```bash
ls .claude/skills/
```

Read the best ones for pattern reference:
- **If workflow skill** (multi-step process) → read `issue-plan`, `code-quality`
- **If review/analysis skill** → read `pr-review`, `issue-scan`
- **If infrastructure/ops skill** → read `dev-server`, `ops-utils`
- **If creation skill** → read `skill-alias`, `issue-create`

Note their structure, operations, and how they handle edge cases.

### Step 3: Draft the Skill

Write `.claude/skills/<name>/SKILL.md` with this structure:

```markdown
---
name: <kebab-case-name>
description: "<one line — what it does, not how>"
---

# <Skill Title>

<1-2 sentences: who you are and what you do>

## Usage

<invocation examples with args>

## Operations (if multi-mode)

<parse args → operation>

---

# Operation: <name>

## Workflow

### Step 1: <verb>
<concrete steps with real commands>

### Step 2: <verb>
...

## Output Format

<exact template with placeholders>

## Decision Framework

<table or tree for ambiguous situations>

## Anti-Patterns

<numbered list of what NOT to do>

## References

<links to related skills, docs, files>
```

### Step 4: Self-Check

Before presenting to the user, verify against the six characteristics:

| # | Check | How to Verify |
|---|-------|---------------|
| 1 | Framework not checklist | Are instructions about HOW TO THINK, not WHAT TO CHECK? |
| 2 | Concrete commands | Does every step have a runnable command? |
| 3 | Output template | Is the output format defined with placeholders? |
| 4 | Multiple operations | Does it handle 2+ use cases via args? (not required for simple skills) |
| 5 | Anti-patterns | Does it say what NOT to do? |
| 6 | Decision framework | Is there guidance for ambiguous situations? |

If any check fails, fix it before showing the user.

### Step 5: Present

Show the complete SKILL.md to the user. Ask:
- "Create this file, or adjust something first?"

Do NOT create the file until the user approves.

---

## Workflow: Refine Existing Skill

### Step 1: Read the Skill

```bash
cat .claude/skills/<skill-name>/SKILL.md
```

### Step 2: Score Against Six Characteristics

Create a scorecard:

```markdown
## Skill Quality: <skill-name>

| # | Characteristic | Score | Issue |
|---|---------------|-------|-------|
| 1 | Framework not checklist | ✅/⚠️/❌ | <specific issue> |
| 2 | Concrete commands | ✅/⚠️/❌ | <specific issue> |
| 3 | Output template | ✅/⚠️/❌ | <specific issue> |
| 4 | Multiple operations | ✅/⚠️/❌ | <specific issue> |
| 5 | Anti-patterns | ✅/⚠️/❌ | <specific issue> |
| 6 | Decision framework | ✅/⚠️/❌ | <specific issue> |
```

### Step 3: Propose Improvements

For each ⚠️ or ❌, write the specific fix. Show diff, not description.

### Step 4: Present

Show scorecard + proposed changes. Wait for user approval before editing.

---

## Skill Naming Conventions

- **Skill directory**: kebab-case, descriptive (`ground-check`, `pr-review`)
- **Skill name in frontmatter**: matches directory name
- **Description**: starts with verb or noun, one line, no period
- **Operations**: lowercase, no hyphens (`scan`, `focus`, `review`)

## Common Mistakes

1. **Writing a manual instead of a skill** — if it's >400 lines, it's too prescriptive. Skills guide, they don't dictate.
2. **No anti-patterns section** — without "what NOT to do", the AI will freestyle and drift.
3. **Vague workflow** — "analyze the code" is not a step. "Run `cargo clippy 2>&1 | head -20`" is a step.
4. **No output format** — if you don't define the output, every run produces different structure.
5. **Copying an entire skill** — reference existing skills, don't duplicate their content. Use "follow `/testing` conventions" instead.

## References

- Best workflow skill: `.claude/skills/issue-plan/SKILL.md`
- Best review skill: `.claude/skills/pr-review/SKILL.md`
- Best analysis skill: `.claude/skills/issue-scan/SKILL.md`
- Best ops skill: `.claude/skills/dev-server/SKILL.md`
- Alias creator: `.claude/skills/skill-alias/SKILL.md`

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.