Skip to content
Back to skills

Ac State Tracker

ASecurity

State persistence for autonomous coding. Use when saving progress, loading state, tracking features, managing checkpoints, or persisting data across sessions.

  • 3 stars
  • 0 votes
  • 0 copies
  • 4 views
  • Added February 8, 2026
developmentpythongogit

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned February 12, 2026

npx -y skills add adaptationio/Skrillz --skill ac-state-tracker --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Ac State Tracker?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Ac State Tracker
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/adaptationio-ac-state-tracker/badge)](https://www.skillsdirectory.com/skills/adaptationio-ac-state-tracker)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: ac-state-tracker
description: State persistence for autonomous coding. Use when saving progress, loading state, tracking features, managing checkpoints, or persisting data across sessions.
version: 1.0.0
layer: foundation
category: auto-claude-replication
triggers:
  - "save state"
  - "load state"
  - "track progress"
  - "update feature"
  - "checkpoint"
---

# 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
```python
from scripts.state_tracker import StateTracker

state = StateTracker(project_dir)
await state.initialize()
```

### Save/Load State
```python
# Save current state
await state.save()

# Load state from files
current_state = await state.load()
```

### Update Feature Status
```python
# 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

```json
{
  "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

```json
{
  "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

```json
{
  "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

```python
state = StateTracker(project_dir)
await state.initialize()

# Creates default files if not exist
# Loads existing state if present
```

### 2. Update Feature

```python
# 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

```python
checkpoint = await state.create_checkpoint(
    name="before-refactor",
    git_commit=True
)
# Returns checkpoint ID for rollback
```

### 4. Restore Checkpoint

```python
await state.restore_checkpoint("checkpoint-20250115-100000")
# Restores feature_list.json and git state
```

### 5. Log Activity

```python
await state.log_activity(
    action="CONTINUE",
    details="Implementing login endpoint",
    iteration=12
)
# Appends to autonomous-log.jsonl
```

### 6. Save Handoff

```python
await state.save_handoff({
    "current_feature": "auth-002",
    "context_summary": "Completed auth, starting profile...",
    "next_action": "Implement profile page"
})
```

### 7. Get Progress Summary

```python
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

- `references/STATE-SCHEMA.md` - Complete state schemas
- `references/FEATURE-LIFECYCLE.md` - Feature state machine

## Scripts

- `scripts/state_tracker.py` - Core StateTracker class
- `scripts/feature_manager.py` - Feature list operations
- `scripts/checkpoint_store.py` - Checkpoint storage
- `scripts/progress_logger.py` - Progress file generation

Files in this skill

  • SKILL.md5.3 KB
  • scripts/state_tracker.py17.4 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.