Learn-skills.dev ac-state-tracker
State persistence for autonomous coding. Use when saving progress, loading state, tracking features, managing checkpoints, or persisting data across sessions.
install
source · Clone the upstream repo
git clone https://github.com/NeverSight/learn-skills.dev
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/NeverSight/learn-skills.dev "$T" && mkdir -p ~/.claude/skills && cp -r "$T/data/skills-md/adaptationio/skrillz/ac-state-tracker" ~/.claude/skills/neversight-learn-skills-dev-ac-state-tracker && rm -rf "$T"
manifest:
data/skills-md/adaptationio/skrillz/ac-state-tracker/SKILL.mdsource content
AC State Tracker
Persistent state management for cross-session autonomous coding.
Overview
Maintains all state across sessions:
- Feature list tracking (passes: false → true)
- Execution state (iteration, cost, status)
- Progress logging
- Handoff packages
- Checkpoint management
Quick Start
Initialize State Tracker
from scripts.state_tracker import StateTracker state = StateTracker(project_dir) await state.initialize()
Save/Load State
# Save current state await state.save() # Load state from files current_state = await state.load()
Update Feature Status
# Mark feature as passing (IMMUTABLE: false → true only!) await state.update_feature("auth-001", passes=True)
State Files
Primary State Files
project/ ├── feature_list.json # Feature tracking (immutable passes) ├── claude-progress.txt # Human-readable log └── .claude/ ├── master-state.json # Orchestrator state ├── autonomous-state.json # Execution state ├── autonomous-log.jsonl # Activity log ├── handoffs/ │ └── current.json # Mid-session handoff └── checkpoints/ └── checkpoint-*.json # Rollback points
feature_list.json Schema
{ "features": [ { "id": "auth-001", "description": "User registration endpoint", "category": "authentication", "status": "completed", "passes": true, "test_cases": [ "User can register with email", "Validation errors shown" ], "dependencies": [], "estimated_effort": "4h", "actual_effort": "2.5h", "started_at": "2025-01-15T10:00:00Z", "completed_at": "2025-01-15T12:30:00Z" } ], "total": 50, "completed": 25, "in_progress": 1, "blocked": 0 }
CRITICAL RULE: Features can ONLY transition
passes: false → true. Never delete or edit features - this prevents the agent from "solving" by removing tasks.
autonomous-state.json Schema
{ "session_id": "session-20250115-100000", "iteration": 12, "status": "running", "estimated_cost": 4.23, "consecutive_failures": 0, "current_feature": "auth-002", "last_task": "Implement login endpoint", "started_at": "2025-01-15T10:00:00Z", "context_usage": 0.45 }
master-state.json Schema
{ "project_id": "my-project", "objective": "Build chat application", "sessions_used": 5, "total_features": 50, "features_completed": 25, "current_phase": "implementation", "last_handoff": "2025-01-15T12:00:00Z" }
Operations
1. Initialize State
state = StateTracker(project_dir) await state.initialize() # Creates default files if not exist # Loads existing state if present
2. Update Feature
# Mark feature complete await state.update_feature( feature_id="auth-001", passes=True, actual_effort="2.5h" ) # Mark feature in progress await state.update_feature( feature_id="auth-002", status="in_progress" )
3. Create Checkpoint
checkpoint = await state.create_checkpoint( name="before-refactor", git_commit=True ) # Returns checkpoint ID for rollback
4. Restore Checkpoint
await state.restore_checkpoint("checkpoint-20250115-100000") # Restores feature_list.json and git state
5. Log Activity
await state.log_activity( action="CONTINUE", details="Implementing login endpoint", iteration=12 ) # Appends to autonomous-log.jsonl
6. Save Handoff
await state.save_handoff({ "current_feature": "auth-002", "context_summary": "Completed auth, starting profile...", "next_action": "Implement profile page" })
7. Get Progress Summary
progress = await state.get_progress() # Returns: # completed: 25 # total: 50 # percentage: 50% # current_feature: "auth-002" # estimated_remaining: "4 hours"
Progress File Format
claude-progress.txt
=== AUTONOMOUS CODING SESSION === Project: my-project Started: 2025-01-15 10:00:00 Sessions: 5 === PROGRESS === [25/50] 50% complete === CURRENT FEATURE === auth-002: Login with JWT === COMPLETED THIS SESSION === - auth-001: User registration [PASS] - auth-002: Login endpoint [IN PROGRESS] === BLOCKERS === None === LAST UPDATED === 2025-01-15 12:30:00
Integration Points
- ac-config-manager: Loads paths configuration
- ac-session-manager: Triggers state save/load
- ac-autonomous-loop: Updates feature status
- ac-checkpoint-manager: Creates/restores checkpoints
- ac-handoff-coordinator: Manages handoff packages
References
- Complete state schemasreferences/STATE-SCHEMA.md
- Feature state machinereferences/FEATURE-LIFECYCLE.md
Scripts
- Core StateTracker classscripts/state_tracker.py
- Feature list operationsscripts/feature_manager.py
- Checkpoint storagescripts/checkpoint_store.py
- Progress file generationscripts/progress_logger.py