Back to list
lnittman

skill-improve

by lnittman

Claude Code skills for power users

0🍴 0📅 Jan 23, 2026

SKILL.md


name: skill-improve description: This skill should be used when improving existing Claude Code skills. Triggers include "improve this skill", "skill feels shallow", "upgrade skill", or when self-evaluating skill quality. Codifies the self-eval -> research -> rewrite -> validate -> artifact pattern.

skill-improve

systematic improvement of claude code skills. turns shallow guidance into decision-ready playbooks with validated artifacts.

philosophy

"a skill is only as good as the decision it enables"

principleapplication
primary sourcesread real code and official docs, not summaries
decision treesexpress if/then logic for common scenarios
concrete valuescite constants with file/line or URL
tool integrationconnect to the user's existing CLI and workflows
evidence over vibesevery claim has a source or example
validation requiredpair review before declaring done
reusable prose lives in promptskeep SKILL.md tight, link to prompts

when to use

useskip
skill feels shallow or genericskill is newly created (use skill-create)
weighted score < 8 on self-evalminor typo or formatting fixes
missing decision trees or valuesdeleting a skill
periodic skill auditsskill has recent validation evidence
skill-audit identified gapscosmetic changes only

decision tree: improvement scope

Should I patch or rewrite?
├── Weighted score >= 8 and only 1-2 gaps?
│   └── patch (surgical edits, keep structure)
├── Weighted score 5-7 or missing core sections?
│   └── rewrite (replace structure, keep intent)
├── Weighted score <= 4 or wrong domain fit?
│   └── rebuild (new structure + new sources)
└── Conflicting instructions?
    └── ask user for direction

decision tree: skill type assessment

What type of skill is this?
├── Orchestrates multi-step workflows?
│   └── workflow skill (loop, auto, skill-compose)
│       └── needs: phases, decision trees, tool integration
├── Provides domain expertise?
│   └── domain skill (emil-kowalski, imessage)
│       └── needs: concrete values, examples, voice guidance
├── Wraps a tool or CLI?
│   └── tool skill (test-pilot, pr-audit)
│       └── needs: command reference, patterns, error handling
├── Meta (about skills)?
│   └── meta skill (skill-create, skill-improve, skill-audit)
│       └── needs: evaluation criteria, process steps
└── External integration?
    └── integration skill (slack, context)
        └── needs: API patterns, auth, error handling

decision tree: gap prioritization

Which gaps should I fix first?
├── 0 decision trees?
│   └── CRITICAL: add decision trees first (skill is broken)
├── No concrete values?
│   └── HIGH: extract values from sources
├── Missing when-to-use table?
│   └── HIGH: add trigger conditions
├── No anti-patterns?
│   └── MEDIUM: document common mistakes
├── Thin references (<50 lines)?
│   └── MEDIUM: expand with patterns
├── Missing tool integration?
│   └── MEDIUM: add CLI examples
└── Workflow unclear?
    └── LOW: restructure phases

decision tree: research depth

How deep should research go?
├── Missing concrete values or defaults?
│   └── Tier 1: source code required
├── New domain or tool?
│   └── Tier 1 + Tier 2: code + official docs
├── Wording or structure only?
│   └── Tier 2: docs sufficient
├── Need patterns from codebase?
│   └── Reference: arbor/koto/kumori patterns
└── Unsure?
    └── Default to Tier 1 + Tier 2

decision tree: source selection

Where should I look for sources?
├── Tool/CLI skill?
│   ├── Source code → `outline --search=X src/`
│   ├── Config files → glob for *.config.*
│   └── Tests → fd -e test.ts
├── Domain skill?
│   ├── Reference implementations → arbor, koto, kumori
│   ├── Industry standards → web search
│   └── User patterns → git log of related changes
├── Workflow skill?
│   ├── Existing workflows → loop, auto, pair
│   ├── User's AGENTS.md → ~/AGENTS.md
│   └── CLI tools → utils help output
└── Integration skill?
    ├── API docs → ref_search_documentation
    ├── SDK source → outline of SDK
    └── Error messages → grep for throw/error

decision tree: validation routing

What validation is required?
├── Major rewrite or new decision trees?
│   └── pair thorough + artifact + pair quick
├── Medium edits with new values?
│   └── pair thorough (or quick if confidence >= 8)
├── Small patch?
│   └── pair quick
└── Confidence < 7?
    └── ask user or HIL

decision tree: artifact selection

What artifact should I create?
├── Tool skill?
│   └── Working command examples with real output
├── Domain skill?
│   └── Example applying domain expertise
├── Workflow skill?
│   └── Trace of workflow execution
├── Integration skill?
│   └── Successful API call or integration test
└── Meta skill?
    └── Self-application (improve the improver)

concrete values

metrictargetsource
decision tree count>= 5 covering 80% scenariosgold standard skills (loop: 35, pair: 14)
concrete values count>= 5 with sourceshealthy skills have 5-10
anti-pattern count>= 5 with fixeshealthy skills have 5-10
reference depth>= 50 lines eachmeaningful patterns, not stubs
SKILL.md length200-400 linesenough depth, not overwhelming
when-to-use table>= 4 use casesclear triggers
self-eval threshold< 8 triggers improvementreferences/evaluation-rubric.md
validation confidence>= 8 to passpair skill routing

self-evaluation rubric (quick)

| dimension | weight | scoring |
|-----------|--------|---------|
| decision trees | 2x | 0=none, 5=1-2, 10=5+ |
| concrete values | 2x | 0=none, 5=generic, 10=sourced |
| anti-patterns | 1x | 0=none, 5=3-4, 10=5+ |
| references | 1x | 0=stubs, 5=<50 lines, 10=50+ |
| tool integration | 1x | 0=none, 5=basic, 10=comprehensive |
| when-to-use | 1x | 0=none, 5=vague, 10=clear table |

Weighted score = sum(score × weight) / sum(weights)

quick scoring template:

Skill: [name]
Date: [YYYY-MM-DD]

| dimension | score | weight | notes |
|-----------|-------|--------|-------|
| decision trees | /10 | 2x | |
| concrete values | /10 | 2x | |
| anti-patterns | /10 | 1x | |
| references | /10 | 1x | |
| tool integration | /10 | 1x | |
| when-to-use | /10 | 1x | |

Weighted: /10
Action: [patch/rewrite/rebuild]

workflow

phase 1: assess

# read the skill
Read /Users/luke/Developer/skills/{skill}/SKILL.md

# check references
ls /Users/luke/Developer/skills/{skill}/references/

# count decision trees
grep -c "decision tree" SKILL.md

# score using rubric

phase 2: diagnose gaps

signalgapaction
no decision treemissing control flowadd decision tree for top scenarios
vague valuesno concrete constantsextract from source code
generic toolingno user integrationadd CLI commands
no anti-patternsmissing failure guidanceadd pitfalls + fixes
thin referencesstubs or <50 linesexpand with patterns

phase 3: research

# for tool skills - read source
outline --callers=functionName src/

# for domain skills - check reference projects
layer ~/Developer/arbor/arbor-xyz
fd -e ts . ~/Developer/arbor/arbor-xyz/packages/backend/convex | head -20

# for workflow skills - check existing patterns
Read /Users/luke/Developer/skills/loop/SKILL.md

# for any skill - search docs
ref_search_documentation "{tool} {feature} guide"

phase 4: rewrite

structure template:

---
name: skill-name
description: trigger description
---

# skill-name

one-line purpose.

## philosophy
| principle | application |

## when to use
| use | skip |

## decision tree: {scenario}

{tree}


## concrete values
| item | value | source |

## workflow
### phase N: name
{steps}

## anti-patterns
| pattern | problem | fix |

## output contract
```json
{schema}

references


### phase 5: validate

use pair skill for external validation:

```bash
# pair thorough for major rewrites
cat <<'EOF' | codex exec - --full-auto -o /tmp/skill-review.json
Skill depth review.

Skill: {skill_name}
Content: {SKILL.md content}

Validate:
1. Decision trees present and actionable?
2. Concrete values from primary sources?
3. Tool integration with user's setup?
4. Anti-patterns documented?
5. Would domain expert recognize as informed?

Output JSON only:
{"pass":true,"depth_score":8,"issues":[],"confidence":9}
EOF

# poll for response
while [ ! -f /tmp/skill-review.json ]; do sleep 5; done

phase 6: finalize

  • verify line counts (aim for 200-400 in SKILL.md)
  • ensure references are substantive (>50 lines each)
  • update references with new findings
  • commit with descriptive message

tool integration

toolcommandpurpose
layerlayer /Users/luke/Developer/skillsskill structure overview
outlineoutline src/ --statscode analysis for tool skills
codexcodex exec - --full-auto -o /tmp/response.jsondeep validation
copilotcopilot -p --model gemini-3-proquick assessment
refref_search_documentation, ref_read_urldocumentation lookup
trailstrails trail recordimprovement history persistence

trails integration

persist improvement sessions for progress tracking:

# record improvement completion
trails trail record --agent claude --action completed \
  --task "skill-improve: $SKILL_NAME - score $BEFORE→$AFTER" \
  --confidence $CONFIDENCE --json -q

trails enables:

  • tracking skill improvement velocity
  • measuring score progression
  • correlating improvements with usage

example commands

# exploration
layer /Users/luke/Developer/skills    # structure
outline src/ --stats                   # if applicable

# reference projects
layer ~/Developer/arbor/arbor-xyz     # gold standard repo
fd -e ts . packages/backend/convex    # find patterns

# documentation
ref_search_documentation "{tool} {feature}"
ref_read_url "https://docs.example.com/path"

# validation
cat prompt | codex exec - --full-auto -o /tmp/response.json
copilot -p --model gemini-3-pro --output-format json "prompt"

anti-patterns

patternproblemfix
web-scrape onlymisses implementation detailsread source code or official docs
philosophy without actionno executable decisionsadd if/then decision tree
generic valuesvague ranges without sourcecite exact constants from code
skip validationno proof of depthrequire pair review
improvement without artifactno applied proofcreate real artifact
burying prose in SKILL.mdhard to reusemove to prompts and link
endless rewrite loopsno new sourcescap to 2 cycles, then ask
counting without qualitytrees exist but uselesstrees must have conditional logic
over-engineering50 decision trees5-15 is healthy range
stale referencesreferenced files don't existverify all links

output contract

{
  "mode": "improve",
  "status": "success | partial | blocked",
  "summary": "improved {skill}: added 5 decision trees, 8 concrete values, expanded references",
  "confidence": 8,
  "artifacts": [
    { "type": "file", "path": "skills/{skill}/SKILL.md", "status": "updated" },
    { "type": "file", "path": "skills/{skill}/references/X.md", "status": "created" }
  ],
  "sources": {
    "prompts": [],
    "files_read": ["loop/SKILL.md", "pair/SKILL.md"]
  },
  "verification": {
    "before_score": 6,
    "after_score": 8,
    "pair_review": "passed",
    "decision_trees_added": 5
  }
}

references

Score

Total Score

50/100

Based on repository quality metrics

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

0/10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

Reviews

💬

Reviews coming soon