Claude Code Plugins

Community-maintained marketplace

Feedback

agentdb-state-manager

@stharrold/stharrold-templates
1
0

|

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name agentdb-state-manager
version 1.0.0
description Persistent state management using AgentDB (DuckDB) for workflow analytics and checkpoints. Provides read-only analytics cache synchronized from TODO_*.md files, enabling: - Complex dependency graph queries - Historical workflow metrics - Context checkpoint storage/recovery - State transition analysis Use when: Data gathering and analysis for workflow state tracking Triggers: "analyze workflow", "query state", "checkpoint", "workflow metrics"

AgentDB State Manager Skill

Purpose

The AgentDB State Manager provides persistent database storage for workflow state tracking using DuckDB through Claude Code's AgentDB integration. This skill enables:

  • Read-only analytics: Complex queries over workflow history without parsing files
  • Checkpoint management: Store/recover context checkpoints at 100K token threshold
  • Dependency resolution: Query task dependencies and critical paths
  • Metrics analysis: Historical trends, time-in-phase, bottleneck identification

Primary source of truth: TODO_*.md files (AgentDB is an analytics cache)

Primary purpose: Data gathering and analysis

Workflow phase: Cross-phase (Utilities) - All phases (1-6)

When to Use

Use this skill when:

  • Querying complex task dependencies or critical paths
  • Analyzing workflow metrics (time-in-phase, completion rates)
  • Storing context checkpoints at 100K tokens
  • Tracking state transitions and historical trends
  • Avoiding repetitive TODO file parsing for analytics

Triggered by keywords: "analyze workflow", "query state", "checkpoint", "workflow metrics", "task dependencies"

Integration with Workflow

Phase integration: Cross-phase (Utilities)

This skill integrates with all workflow phases:

Phase 0 (Setup):

  • Initialize AgentDB schema on first use
  • Load canonical state definitions from workflow-states.json

Phase 1 (Planning - BMAD):

  • Track BMAD Q&A responses
  • Store epic definitions and requirements

Phase 2 (Specification + Implementation):

  • Sync tasks from TODO_*.md to AgentDB
  • Query task dependencies for parallel execution
  • Track implementation progress

Phase 3 (Quality):

  • Store quality gate results
  • Track test coverage trends
  • Historical quality metrics

Phase 4 (Integration):

  • Store as-built deviation data
  • Metrics for feedback loop
  • Compare planning vs actual

Phase 5 (Release):

  • Release workflow state tracking
  • Final QA checkpoint data

Phase 6 (Hotfix):

  • Hotfix-specific state tracking
  • Emergency rollback data

Context checkpoints (all phases):

  • Store checkpoint at 100K tokens
  • Faster resume with structured queries vs file parsing

Orchestrator integration:

  • workflow-orchestrator optionally calls AgentDB for complex queries
  • Fallback to file parsing if AgentDB unavailable
  • Automatic sync after TODO file updates

Official Documentation Alignment

This skill follows the local workflow system patterns which extend official Claude Code skill specifications:

Official Claude Code Skills:

Local Pattern Extensions:

file_structure:

  • Local: ['SKILL.md', 'CLAUDE.md', 'README.md', 'CHANGELOG.md', 'ARCHIVED/', 'scripts/', 'templates/']
  • Official: ['skill.md', 'README.md']
  • Rationale: Extended structure supports multi-phase workflow with version tracking, context files, and archived materials

frontmatter:

  • Local: YAML with 'name', 'version', 'description' fields
  • Official: YAML with 'name', 'description' fields only
  • Rationale: 'version' field enables semantic versioning integration with validate_versions.py and UPDATE_CHECKLIST.md workflow

directory_organization:

  • Local: scripts/, templates/ subdirectories
  • Official: Flat structure with skill.md
  • Rationale: Separates Python code (scripts/) from templates (workflow-states.json) for better maintainability

These extensions support the multi-phase workflow system while maintaining compatibility with core Claude Code concepts.

Architecture

Data Flow (Read-Only Analytics Mode)

TODO_*.md (source of truth)
    ↓
sync_todo_to_db.py
    ↓
AgentDB (DuckDB)
    ↓
query_state.py / analyze_metrics.py
    ↓
Analytics results

Session ID Generation

AgentDB requires a session ID for database identification. This skill uses:

Method: Timestamp-based (reproducible)

from datetime import datetime
import hashlib

# Generate session ID from current timestamp
current_time = datetime.utcnow().isoformat()
session_id = hashlib.md5(current_time.encode()).hexdigest()[:16]
# Example: "f8e7d6c5b4a39281"

Rationale: Provides reproducible session IDs across agent invocations within the same timeframe, balancing uniqueness with reproducibility.

Schema Design (Immutable Append-Only)

Core principle: NEVER UPDATE or DELETE records - always INSERT new records

Primary table: workflow_records

CREATE TABLE IF NOT EXISTS workflow_records (
    record_id UUID PRIMARY KEY DEFAULT uuid(),
    record_datetimestamp TIMESTAMP DEFAULT current_timestamp,
    object_id VARCHAR NOT NULL,     -- Stable ID for workflow object
    object_type VARCHAR NOT NULL,   -- 'feature', 'task', 'epic', etc.
    object_state VARCHAR NOT NULL,  -- '20_in-progress', '99_done', etc.
    object_metadata JSON             -- Framework, dependencies, etc.
);

CREATE INDEX idx_records_object
ON workflow_records(object_id, record_datetimestamp DESC);

Current state query pattern:

-- Get latest state for each object
SELECT DISTINCT ON (object_id)
    object_id, object_type, object_state, object_metadata
FROM workflow_records
WHERE object_type = 'task'
ORDER BY object_id, record_datetimestamp DESC;

Usage

1. Initialize AgentDB (First Use)

# Initialize database schema and load state definitions
python .claude/skills/agentdb-state-manager/scripts/init_database.py

What it does:

  • Creates workflow_records table
  • Loads workflow-states.json
  • Sets up indexes for efficient queries
  • Stores session metadata

2. Sync TODO Files to AgentDB

# Sync all TODO_*.md files to database
python .claude/skills/agentdb-state-manager/scripts/sync_todo_to_db.py

# Sync specific TODO file
python .claude/skills/agentdb-state-manager/scripts/sync_todo_to_db.py \
  TODO_feature_20251023T143000Z_my-feature.md

What it does:

  • Parses YAML frontmatter from TODO files
  • Converts to immutable append-only records
  • Stores workflow progress, tasks, quality gates
  • Preserves full state history

3. Query Current Workflow State

# Get current state of all workflows
python .claude/skills/agentdb-state-manager/scripts/query_state.py

# Query specific workflow
python .claude/skills/agentdb-state-manager/scripts/query_state.py \
  --slug my-feature

# Query task dependencies
python .claude/skills/agentdb-state-manager/scripts/query_state.py \
  --dependencies --task impl_003

What it does:

  • Queries latest state for each object
  • Resolves task dependencies
  • Identifies blocked tasks
  • Shows critical path

4. Analyze Workflow Metrics

# Generate metrics report
python .claude/skills/agentdb-state-manager/scripts/analyze_metrics.py

# Historical trends
python .claude/skills/agentdb-state-manager/scripts/analyze_metrics.py \
  --trends --days 30

# Bottleneck analysis
python .claude/skills/agentdb-state-manager/scripts/analyze_metrics.py \
  --bottlenecks

What it does:

  • Calculates time-in-phase for workflows
  • Identifies bottlenecks and slow phases
  • Tracks quality gate pass/fail rates
  • Compares planning estimates vs actual

5. Context Checkpoint Management

# Store checkpoint at 100K tokens
python .claude/skills/agentdb-state-manager/scripts/checkpoint_manager.py \
  store --todo TODO_feature_*.md

# List available checkpoints
python .claude/skills/agentdb-state-manager/scripts/checkpoint_manager.py list

# Restore from checkpoint
python .claude/skills/agentdb-state-manager/scripts/checkpoint_manager.py \
  restore --checkpoint-id <uuid>

What it does:

  • Stores complete workflow state to AgentDB
  • Records token count, phase, step, last task
  • Provides resume instructions
  • Faster recovery than parsing TODO files

Best Practices

1. AgentDB as Analytics Cache

✓ DO: Treat TODO_*.md files as source of truth ✗ DON'T: Modify TODO files based on AgentDB state

Rationale: Files are git-tracked and permanent; AgentDB sessions last 24 hours

2. Sync After TODO Updates

✓ DO: Run sync_todo_to_db.py after every TODO file update ✗ DON'T: Let AgentDB state drift from file state

Rationale: AgentDB is a cache - it must stay synchronized

3. Use for Complex Queries Only

✓ DO: Use AgentDB for dependency graphs, metrics, historical analysis ✗ DON'T: Use for simple current state queries (parse TODO file instead)

Rationale: Minimize token overhead - use database for queries that justify the cost

4. Immutable Records

✓ DO: Always INSERT new records for state changes ✗ DON'T: UPDATE or DELETE existing records

Rationale: Preserves full history for temporal analysis

5. Session Lifetime Awareness

✓ DO: Re-initialize at session start if needed ✗ DON'T: Assume AgentDB persists across days

Rationale: 24-hour auto-deletion - treat as ephemeral cache

Scripts Reference

init_database.py

Purpose: Initialize AgentDB schema and load state definitions When to run: First use in a session, or if schema corrupted Token cost: ~300-400 tokens

sync_todo_to_db.py

Purpose: Sync TODO_*.md files to AgentDB When to run: After every TODO file update Token cost: ~200-300 tokens per TODO file

query_state.py

Purpose: Query current workflow state and dependencies When to run: Complex state queries (dependency graphs, critical paths) Token cost: ~100-200 tokens per query

analyze_metrics.py

Purpose: Historical metrics and trend analysis When to run: End of phase, workflow retrospectives Token cost: ~400-600 tokens (complex queries)

checkpoint_manager.py

Purpose: Store/restore context checkpoints When to run: At 100K token threshold, or before context reset Token cost: ~200-400 tokens (store + verify)

Token Efficiency

Before AgentDB (Manual File Parsing)

Complex dependency query:

  1. Read TODO_*.md file (~1,500 tokens)
  2. Parse YAML frontmatter (~500 tokens)
  3. Iterate through tasks (~1,000 tokens)
  4. Resolve dependencies (~800 tokens) Total: ~3,800 tokens

After AgentDB (Database Query)

Same query:

  1. Run query_state.py --dependencies (~200 tokens)
  2. Parse SQL results (~100 tokens) Total: ~300 tokens

Savings: ~3,500 tokens (92% reduction) for complex queries

Context Checkpoint Recovery

Before AgentDB:

  • Parse TODO_*.md (~1,500 tokens)
  • Reconstruct state (~1,000 tokens)
  • Determine next step (~800 tokens) Total: ~3,300 tokens

After AgentDB:

  • Query checkpoint table (~150 tokens)
  • Load resume instructions (~100 tokens) Total: ~250 tokens

Savings: ~3,050 tokens (92% reduction)

Integration with Other Skills

workflow-orchestrator

  • Calls query_state.py for complex next-step determination
  • Uses checkpoint_manager.py at 100K tokens
  • Falls back to file parsing if AgentDB unavailable

workflow-utilities

  • todo_updater.py triggers sync_todo_to_db.py after updates
  • Dual write: update file + sync to database

speckit-author

  • Uses AgentDB for as-built metrics (update_asbuilt.py)
  • Queries historical planning accuracy

quality-enforcer

  • Stores quality gate results to AgentDB
  • Tracks coverage trends over time

bmad-planner

  • Stores BMAD Q&A responses
  • Epic definition tracking

Related Documentation

Related Skills

  • workflow-orchestrator - Calls AgentDB for complex queries
  • workflow-utilities - Triggers sync after TODO updates
  • speckit-author - Uses for as-built metrics
  • quality-enforcer - Stores quality gate results
  • bmad-planner - Stores planning data

Limitations

  1. Session lifetime: AgentDB persists for 24 hours, then auto-deleted
  2. Source of truth: TODO_*.md files remain authoritative
  3. Sync overhead: ~200-300 tokens per sync operation
  4. DuckDB constraints: Optimized for OLAP (analytics), not OLTP (transactions)
  5. No vector search: Unlike PostgreSQL pgvector

Academic References

This skill implements the MIT Agent Synchronization Pattern based on:

Meng, E., & Jackson, D. (2025). "What You See Is What It Does: A Structural Pattern for Legible Software." Onward! at SPLASH 2025. arXiv:2508.14511v1. https://arxiv.org/abs/2508.14511

Key concepts from the paper:

  • Concepts: Fully independent services (implemented as agents/worktrees)
  • Synchronizations: Event-based rules mediating between services (implemented as agent_synchronizations table)

The pattern improves incrementality, integrity, and transparency in multi-agent workflows.

Version History

v1.0.0 (2025-11-02):

  • Initial release
  • Read-only analytics mode
  • Sync from TODO files to AgentDB
  • Complex query support (dependencies, metrics)
  • Context checkpoint storage
  • All phases (1-6) integration