Skip to main content
skill CX Codex

skill-perfection — Claude Code skill: what it does, how to install

Audits and patches skill markdown files in a single pass against official documentation. Useful when preparing an agent skill for release.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add OmidZamani/dspy-skills --skill skills-skill-perfection -a claude-code
Open on GitHub

What skill-perfection does

This skill audits and edits plugin skill definitions section by section. When it spots an invalid API call or broken import statement, it applies the fix on the spot rather than postponing edits to a second pass. Web searches stay batched under 20 queries per file to keep context clean.

A helper script scripts/preflight.py is included for Python-heavy skills and runs via uv run python. This check is strictly advisory: if you audit skills containing TypeScript, Rust, or Go, or if the script hangs, you skip preflight and let the language model review the syntax directly.

Once the review finishes, the agent spot-checks three to five altered lines and writes a summary under 100 lines into PERFECTION_REPORT.md. Without uv installed the bundled preflight script will not launch, which leaves direct LLM inspection as the sole review method.

What it helps with

  • Validate API signatures and imports against current documentation
  • Patch syntax errors inside code snippets directly in the file
  • Detect broken links and verify replacements with web fetching
  • Generate a structured PERFECTION_REPORT.md logging all updates

Example prompts for the agent

  • Run skill-perfection on skill.md to audit and fix outdated API calls
  • Audit skills/custom-plugin/SKILL.md against official docs and write a report

How to install skill-perfection

1Skills CLI (Vercel)

npx skills add OmidZamani/dspy-skills --skill skills-skill-perfection -a claude-code

2Manually: put the files in place

~/.claude/skills/skills-skill-perfection/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/skills-skill-perfection/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about skill-perfection

How to install skill-perfection in Claude Code?

Run npx skills add OmidZamani/dspy-skills --skill skills-skill-perfection -a claude-code in your terminal. The file is placed at ~/.claude/skills/skills-skill-perfection/SKILL.md.

What does skill-perfection do?

It reviews skill markdown files, verifies code examples against official documentation, patches mistakes on the spot, and produces a summary report.

Is the preflight.py script required for auditing?

No, preflight is purely advisory and only handles Python syntax. For non-Python files or ambiguous errors, skip it completely and rely on model verification.

Source text

SKILL.md · MIT
---
name: skill-perfection
description: "Use this skill when you need to QA audit and fix a plugin skill file. Provides a methodology for verifying skill content against official documentation, fixing issues in-place, and producing verification reports."
version: 1.1.0
---

# Skill Perfection

A systematic process for auditing and fixing plugin skills in a single pass.

## Core Principle

**Audit + Fix in One Pass**: When you find an issue, fix it immediately, then continue. This eliminates redundant research and multiple iterations.

## Process Overview

```
[Optional Preflight] → Audit+Fix (single pass) → Verify (spot-check) → Report
```

## Phase 1: Preflight (Optional, Advisory)

A Python-based preflight script is bundled for **Python-heavy skills only**. 

### When to Use Preflight

| Skill Content | Use Preflight? |
|---------------|----------------|
| Mostly Python code blocks | ✅ Yes |
| Mixed Python + other languages | ⚠️ Optional (Python blocks only) |
| Non-Python (JS, Rust, Go, etc.) | ❌ Skip, go to Phase 2 |
| Skill about the preflight script itself | ❌ Skip (conflict of interest) |

### Running Preflight

```bash
uv run python ${SKILL_DIR}/scripts/preflight.py <path-to-skill.md> --no-urls
```

### Interpreting Results

| Result | Action |
|--------|--------|
| `✅ PASSED` | Good signal. Proceed to Phase 2, trust syntax is valid. |
| `❌ FAILED` with clear errors (syntax error at line X) | Fix those specific issues, then proceed to Phase 2. |
| `❌ FAILED` with confusing/many errors | **Ignore preflight entirely.** Proceed to Phase 2, let LLM verify. |
| Script crashes or hangs | **Ignore preflight entirely.** Proceed to Phase 2. |

### Key Rule: Preflight is Advisory

**The preflight script is a helper, not a gatekeeper.** If it produces confusing output, skip it. The LLM-based Phase 2 is always authoritative.

Signs to ignore preflight:
- More than 10 errors on a skill that "looks fine"
- Errors that don't make sense (line numbers don't match)
- Python tracebacks from the script itself
- Timeouts or hanging

**When in doubt, skip preflight and let the LLM verify everything.**

## Phase 2: Audit + Fix (Single Pass) - THE CORE

This is the main phase. Work through the skill file section by section.

### 2.1 Identify the Technology

From the skill's content, identify:
- Primary technology/framework (e.g., LangGraph, React, Axum, Go-kit)
- Version constraints if mentioned
- Official documentation domain

### 2.2 Research Strategy

**Batch similar lookups** to minimize web calls:

```
Example: For a skill with 10 import statements from the same package,
do ONE search that covers them all, not 10 separate searches.
```

**Documentation priority**:
1. Official docs (use `site:` filter)
2. Official GitHub repo (examples, tests, README)
3. Package registry (PyPI, npm, crates.io, pkg.go.dev)
4. Official blog/changelog

### 2.3 For Each Verifiable Item

| Item Type | What to Verify |
|-----------|---------------|
| Import/require statement | Package exists, path is current, not deprecated |
| API call | Signature matches official docs, parameters correct |
| Code example | Would execute, complete imports, correct syntax |
| URL/link | Accessible (WebFetch), points to claimed content |
| Version claim | Current/accurate |
| Best practice claim | Aligned with official recommendations |

### 2.4 Fix-As-You-Go

When you find an issue:

1. **STOP** auditing that section
2. **FIX** the issue immediately (Edit tool)
3. **LOG** the change in memory: `{location, old, new, reason, source_url}`
4. **CONTINUE** auditing

**All severities get fixed in one pass** - don't defer anything.

### 2.5 Syntax Verification (LLM-based)

For code blocks, verify syntax by reading carefully:

**Python**: Check for matching parentheses, correct indentation, valid syntax
**JavaScript/TypeScript**: Check for matching braces, valid syntax, correct imports  
**Rust**: Check for matching braces, semicolons, valid syntax
**Go**: Check for matching braces, correct package structure
**Any language**: Apply your knowledge of that language's syntax rules

If unsure about syntax validity, note it but don't block on it - focus on semantic correctness against official docs.

## Phase 3: Verification (Spot-Check)

After completing Phase 2:

1. **Re-read the modified skill file**
2. **Spot-check 3-5 items you fixed** (not everything)
3. **Verify URLs you added/modified** (WebFetch)

If spot-checks pass → Proceed to Phase 4
If spot-checks fail → Fix those specific items, re-check only those

**Do NOT do a full re-audit.** You already verified everything in Phase 2.

## Phase 4: Generate Report

Create a concise report (<100 lines):

```markdown
# Skill Perfection Report

**Skill**: {skill-name}
**Date**: {date}  
**Version**: {old} → {new}
**Status**: ✅ PERFECTED | ⚠️ NEEDS REVIEW

## Summary
- Items verified: {N}
- Issues found and fixed: {N}

## Changes Made

### High Priority
| Location | Change | Reason | Source |
|----------|--------|--------|--------|
| line 45 | `old` → `new` | why | [docs](url) |

### Medium/Low Priority
| Location | Change | Reason | Source |
|----------|--------|--------|--------|
| line 12 | `old` → `new` | why | [docs](url) |

## Verification
- [x] All imports verified against official docs
- [x] All API signatures match current documentation
- [x] Code examples are complete and correct
- [x] All URLs accessible

## Sources
1. {url}
2. {url}
```

Save to: `{skill-directory}/PERFECTION_REPORT.md`

## Efficiency Guidelines

| Metric | Target |
|--------|--------|
| Web searches | <20 per skill (batch similar items) |
| Iterations | 1 audit+fix pass + 1 spot-check |
| Report length | <100 lines |

## Anti-Patterns

❌ Run preflight on non-Python skills
✅ Skip preflight, let LLM verify

❌ Trust confusing preflight output  
✅ Ignore preflight when output doesn't make sense

❌ Separate audit pass, then separate update pass
✅ Fix issues as you find them

❌ Full re-audit after fixes
✅ Spot-check only changed items

❌ Research same API multiple times  
✅ Batch similar lookups, cache results

## Bundled Scripts

### scripts/preflight.py

**Purpose**: Quick syntax check for Python-heavy skills
**Limitation**: Only useful for Python; advisory only

```bash
# Use for Python skills
uv run python ${SKILL_DIR}/scripts/preflight.py skill.md --no-urls

# Skip for non-Python skills or if output is confusing
```

**If preflight causes problems, ignore it entirely.** The LLM-based audit is always the authoritative verification.

© OmidZamani · MIT · OmidZamani/dspy-skills

Similar skills

All skills for Agent setup: memory, context, orchestration →

From the same set23

dspy-simba-optimizer This skill guides SIMBA optimization for DSPy programs, using numeric scores to refine prompts and demonstrations. Use it when you can measure task quality with a metric. CX Codex +1 ★ 124repo stars dspy-signature-designer Turns a task description into a typed DSPy signature with declared inputs and outputs. Useful when model replies must fit a fixed schema. CX Codex +1 ★ 124repo stars dspy-reasoning-modules Guides configuration of DSPy 3.2.1 reasoning modules including RLM, ProgramOfThought, CodeAct, and Parallel. Useful for sandboxed code and long documents. CX Codex +1 ★ 124repo stars dspy-react-agent-builder This skill guides you through building DSPy ReAct agents that call tools to handle multi-step tasks. Use it for workflows involving retrieval, calculations, or answers based on external data. CX Codex +1 ★ 124repo stars dspy-rag-pipeline Builds retrieval-augmented generation pipelines powered by ColBERTv2 that can be systematically optimized. Use when questions require searching across your own document corpus and grounding answers in retrieved facts. CX Codex +1 ★ 124repo stars dspy-production-deployment Prepares DSPy 3.2.1 pipelines for production by configuring safe caching, state-only JSON persistence, async calls, and output streaming. CX Codex +1 ★ 124repo stars dspy-output-refinement-constraints This skill shows how to validate DSPy outputs, refine them with dspy.Refine, and choose among candidates with dspy.BestOfN. Use it when generated results must meet format or content rules. CX Codex +1 ★ 124repo stars dspy-optimizer-selection Helps you pick a DSPy optimizer that fits your data and budget, from LabeledFewShot up to GEPA and BetterTogether. Useful when you don't know where to start compiling. CX Codex +1 ★ 124repo stars

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor