autoimprove-cc - SKILL.md 자동 개선 시스템

Karpathy의 autoresearch 루프를 SKILL.md에 적용. /autoimprove 한 줄로 밤새 스킬을 자동 개선.

핵심 아이디어

Python 스크립트 없이 Claude Code agents + commands만으로 동작.

1. SKILL.md 읽기
2. eval.json의 binary assertions로 채점
3. 실패한 assertion 하나를 고치도록 SKILL.md 수정
4. 재채점 → 점수 올랐으면 git commit, 아니면 git reset
5. 100% 달성하거나 max_loops까지 반복

핵심 차이: Karpathy는 train.py의 수치 메트릭을 사용하지만, 우리는 binary assertions(참/거짓 테스트)의 패스율을 사용.

설치

# 클론
git clone https://github.com/VoidLight00/autoimprove-cc.git
 
# 글로벌 설치
ln -s $(pwd)/autoimprove-cc/.claude/agents/skill-optimizer.md ~/.claude/agents/
ln -s $(pwd)/autoimprove-cc/.claude/commands/autoimprove.md ~/.claude/commands/
 
# 또는 프로젝트 로컬
cp -r autoimprove-cc/.claude/agents/skill-optimizer.md .claude/agents/
cp -r autoimprove-cc/.claude/commands/autoimprove.md .claude/commands/

사용법

# 1. eval.json 자동 생성 + 루프 실행
/autoimprove skills/my-skill
 
# 2. eval.json만 생성 (검토 후 수동 실행)
/autoimprove skills/my-skill --gen-eval-only
 
# 3. 최대 50회 반복
/autoimprove skills/my-skill --max-loops 50
 
# 4. Dry-run (git 변경 없이 채점만)
/autoimprove skills/my-skill --dry-run

eval.json 구조

{
  "skill_name": "my-skill",
  "skill_md_path": "skills/my-skill/SKILL.md",
  "tests": [
    {
      "id": "test-001",
      "description": "구조 — 필수 섹션 존재 여부",
      "prompt": "/my-skill 이라고 입력했을 때",
      "expected_behavior": "스킬이 활성화되고 워크플로우를 시작한다",
      "assertions": [
        "SKILL.md에 스킬 이름이 포함된 H1 헤딩이 있다",
        "Workflow 섹션이 존재한다",
        "Rules 섹션에 최소 2개의 금지 사항이 있다"
      ]
    }
  ]
}

좋은 Assertion vs 나쁜 Assertion

# 좋은 assertion (명확한 참/거짓)
"SKILL.md에 '## Workflow' 섹션이 존재한다"
"워크플로우에 최소 5개의 단계가 있다"
"코드 블록이 최소 2개 포함되어 있다"
 
# 나쁜 assertion (주관적, 판단 불가)
"SKILL.md가 잘 작성되어 있다"
"워크플로우가 충분히 상세하다"

Assertion 카테고리

카테고리내용
구조필수 섹션, 헤딩 계층, 파일 구조
트리거슬래시 커맨드, 활성화 조건, 인자 형식
워크플로우단계별 프로세스, 분기 조건, 출력 형식
규칙금지 사항, 제약 조건, Do NOT 항목
완성도예시, 코드블록, 에지 케이스, 의존성

skill-autoimprove vs autoimprove-cc

항목skill-autoimprove (OpenClaw)autoimprove-cc (Claude Code)
아키텍처Python 스크립트 4개Claude Code agent + command
진입점python scripts/run-loop.py/autoimprove 슬래시 커맨드
타겟CLAUDE.mdSKILL.md
LLM 호출claude -p subprocessClaude Code 에이전트 내장
의존성Python 3.10+없음 (Claude Code만 필요)

Karpathy autoresearch 매핑

Original (Karpathy)Our adaptation
train.pySKILL.md
numeric metricsbinary assertions (pass rate)
git commit/resetgit commit/reset (동일)
“never stop""never stop” (동일)

요구사항

  • Claude Code CLI (claude 명령어)
  • 타겟 스킬이 git 저장소 내부 (롤백 기능에 필요)