dspy-adapters-multimod…
Use for DSPy adapter selection, JSONAdapter, XMLAdapter, ChatAdapter, native function calling, structured outputs, and multimodal inputs like dspy.Image or…
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.
$ npx -y skills add OmidZamani/dspy-skills --skill skill-perfection --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/skill-perfectionContext preview
The summary Claude sees to decide when to auto-load this skill.
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.
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
A systematic process for auditing and fixing plugin skills in a single pass.
**Audit + Fix in One Pass**: When you find an issue, fix it immediately, then continue. This eliminates redundant research and multiple iterations.
[Optional Preflight] → Audit+Fix (single pass) → Verify (spot-check) → Report
A Python-based preflight script is bundled for **Python-heavy skills only**.
| 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) |
uv run python ${SKILL_DIR}/scripts/preflight.py <path-to-skill.md> --no-urls| 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. |
**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:
**When in doubt, skip preflight and let the LLM verify everything.**
This is the main phase. Work through the skill file section by section.
From the skill's content, identify:
**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
| 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 |
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.
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.
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.
Create a concise report (<100 lines):
# 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`
| Metric | Target | |--------|--------| | Web searches | <20 per skill (batch similar items) | | Iterations | 1 audit+fix pass + 1 spot-check | | Report length | <100 lines |
❌ 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
A Claude Code plugin containing 22 focused skills for programming, optimizing, evaluating, and deploying LLM applications with DSPy. Stable DSPy baseline: 3.2.1, released May 5, 2026.
Use for DSPy adapter selection, JSONAdapter, XMLAdapter, ChatAdapter, native function calling, structured outputs, and multimodal inputs like dspy.Image or…
Use for composing DSPy modules with Ensemble, MultiChainComparison, ensemble voting, sequential pipelines, and multi-program workflows.
Use for BetterTogether, prompt plus weight optimization, fine-tuning sequences, and strategy chains like p -> w -> p.
Use for BootstrapFewShot, bootstrapped demonstrations, teacher-model demos, and low-data DSPy prompt optimization.
Use for creating custom DSPy modules, extending dspy.Module, reusable components, stateful modules, serialization, and module testing.
Use for debugging DSPy programs, inspect_history, tracing LLM calls, custom callbacks, observability, monitoring, and cost tracking.