본문으로 건너뛰기
cccskills
무료GitHub에 공개

auto-loop

TDD-based autonomous development loop with checkpoint recovery and observability changelog

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

설치 방법 보기

포함된 파일(1)

  • SKILL.md7.8 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Auto-Loop

Execute a TDD-based autonomous development loop with full observability.


Usage

# Start new task
/auto-loop "Implement user login"

# With acceptance criteria
/auto-loop "Implement authentication

Acceptance Criteria:
- [ ] Login form (email + password)
- [ ] JWT token generation
- [ ] Error handling
"

# Resume interrupted session
/auto-loop --resume

# Force restart (clear old state)
/auto-loop --force "New task"

# Check status
/auto-loop --status

# With iteration limit
/auto-loop "Task" --max-iterations 15

How It Works

┌───────────────────────────────────────────────────────────────┐
│                      TDD Iteration                            │
├───────────┬───────────────────────────────────────────────────┤
│  RED      │ Write failing test for next AC                    │
│           │ → Auto-logged: file_write, test_fail              │
├───────────┼───────────────────────────────────────────────────┤
│  GREEN    │ Write implementation to make test pass            │
│           │ → Auto-logged: file_write/edit, test_pass         │
├───────────┼───────────────────────────────────────────────────┤
│  REFACTOR │ Improve code quality (no behavior change)         │
│           │ → Use code-reviewer agent for suggestions         │
├───────────┼───────────────────────────────────────────────────┤
│  VALIDATE │ Run full test suite + linter                      │
│           │ → Auto-logged: test_pass/fail                     │
├───────────┼───────────────────────────────────────────────────┤
│  COMMIT   │ Commit changes with descriptive message           │
│           │ → Auto-logged: commit                             │
├───────────┼───────────────────────────────────────────────────┤
│  DECIDE   │ Check AC completion → continue or complete        │
└───────────┴───────────────────────────────────────────────────┘

Execution

When user runs /auto-loop "<request>":

1. State Detection (Conflict Prevention)

STATE_DIR=".auto-loop"
CHECKPOINT="$STATE_DIR/checkpoint.json"

# Check for existing in-progress session
if [ -f "$CHECKPOINT" ]; then
    status=$(jq -r '.status // "unknown"' "$CHECKPOINT" 2>/dev/null || echo "unknown")
    iteration=$(jq -r '.current_iteration // 0' "$CHECKPOINT" 2>/dev/null || echo "0")

    if [ "$status" == "in_progress" ]; then
        echo "⚠️  Found interrupted session at iteration #$iteration"
        echo "Options:"
        echo "  /auto-loop --resume        → Continue"
        echo "  /auto-loop --force \"...\"  → Start fresh"
        exit 1
    fi
fi

Behavior Matrix:

Existing StateCommandAction
None/auto-loop "task"Start new
completed/auto-loop "task"Archive & start new
in_progress/auto-loop "task"Block - prompt user
in_progress/auto-loop --resumeContinue
in_progress/auto-loop --force "task"Archive & start new

2. Initialize

# Archive old changelog if > 100 lines
CHANGELOG_DIR=".director-mode"
CHANGELOG="$CHANGELOG_DIR/changelog.jsonl"

if [ -f "$CHANGELOG" ] && [ $(wc -l < "$CHANGELOG") -gt 100 ]; then
    mv "$CHANGELOG" "$CHANGELOG_DIR/changelog.$(date +%Y%m%d_%H%M%S).jsonl"
fi

# Create state directories
mkdir -p "$STATE_DIR" "$CHANGELOG_DIR"

# Initialize checkpoint
# Build with jq so multiline requests or embedded double quotes stay valid JSON
# (a raw heredoc would break on the quoted acceptance-criteria usage above).
jq -n --arg req "$ARGUMENTS" \
  '{request: $req, current_iteration: 0, max_iterations: 20, status: "in_progress", started_at: (now | todate), acceptance_criteria: [], last_test_result: null, files_changed: []}' \
  > "$CHECKPOINT"

# acceptance_criteria stays empty here; the parse step below fills it in.

3. Parse Acceptance Criteria

Input:
  "Implement authentication

  Acceptance Criteria:
  - [ ] Login form
  - [ ] JWT token
  "

Parsed:
{
  "acceptance_criteria": [
    { "id": 1, "description": "Login form", "done": false },
    { "id": 2, "description": "JWT token", "done": false }
  ]
}

4. DECIDE - Completion Check

┌─────────────────────────────────────────────────────────────┐
│  DECIDE - Iteration #3                                      │
├─────────────────────────────────────────────────────────────┤
│  [x] 1. Login form            ← test passing               │
│  [x] 2. JWT token             ← test passing               │
│  [ ] 3. Error handling        ← NO TEST YET                │
├─────────────────────────────────────────────────────────────┤
│  Decision: 2/3 complete → CONTINUE                          │
└─────────────────────────────────────────────────────────────┘

Complete when:

  • All AC marked done: true
  • All tests passing

Stop when:

  • max_iterations reached
  • .auto-loop/stop file exists

Flags

FlagDescription
--resumeContinue interrupted session
--forceClear old state, start fresh
--statusShow current session status
--max-iterations NSet iteration limit (default: 20)

Observability

All events are automatically logged via PostToolUse hooks:

EventTriggerHook
file_writeWrite toollog-file-change.sh
file_editEdit toollog-file-change.sh
test_pass/failBash (test)log-bash-event.sh
commitBash (git commit)log-bash-event.sh

Query with /changelog:

/changelog              # Recent events
/changelog --summary    # Statistics
/changelog --type test  # Filter by type

Stop / Resume

# Interrupt (stop after current iteration)
touch .auto-loop/stop

# Check status
/auto-loop --status

# Resume
/auto-loop --resume

# Force restart
/auto-loop --force "New task"

Related

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Validate custom agent file format and structure. Use after creating or editing an agent, before committing agent changes, or when an agent fails to load.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

claude-world/director-mode-lite802026년 8월 31일 업데이트

Generate custom agent from template. Use when creating a new subagent from scratch, or scaffolding an agent file with correct frontmatter.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

claude-world/director-mode-lite802026년 8월 31일 업데이트

agents

무료

List all available agents (core, expert, self-evolving). Use when the user asks what agents are available or runs /agents.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

claude-world/director-mode-lite802026년 8월 31일 업데이트

changelog

무료

View and manage the runtime changelog for observability

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

claude-world/director-mode-lite802026년 8월 31일 업데이트

Track development session events in a daily markdown changelog, including file changes, test results, and key decisions.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

claude-world/director-mode-lite802026년 8월 31일 업데이트

Verify Claude, Codex, and Grok availability plus Director guidance, relay, agents, and skills. Audit optional hooks only when selected. Use after installation or when a native surface misbehaves.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

claude-world/director-mode-lite802026년 8월 31일 업데이트

claude-world의 스킬 모두 보기

이 스킬의 문제 신고