| name | agenthero-ai |
| description | AgentHero AI - Hierarchical multi-agent orchestration system with PM coordination, file-based state management, and interactive menu interface. Use when managing complex multi-agent workflows, coordinating parallel sub-agents, or organizing large project tasks with multiple specialists. All created agents use aghero- prefix. |
| version | 2.0.0 |
AgentHero AI Skill (V2.0)
Comprehensive orchestration utilities for managing hierarchical multi-agent systems with PM coordination, state management, and topic-based organization.
Overview
This skill provides Python-based utilities for:
- State Management: Create, read, update state files for orchestration (V2.0)
- Topic Lifecycle: Initialize, resume, archive project topics
- Task Coordination: Manage sub-agent tasks and dependencies
- Token Tracking: Monitor and report token usage across agents
- SessionStart Hook: Display active topics on Claude Code startup
When Claude Should Use This Skill
Auto-activate when:
- PM orchestrator needs to manage state files
- Creating or updating topic metadata
- Initializing sub-agent task states
- Archiving completed topics
- Reading orchestration state for resume
Directory Structure (V2.0)
.claude/
├── agents/
│ ├── agenthero-ai/ # PM agent
│ │ ├── agent.md
│ │ └── orchestrated-sub-agent-template.md
│ └── state/ # Runtime state
│ └── agenthero-ai/ # V2.0 namespace
│ ├── topics.json # ✅ Single source of truth
│ ├── topics/ # Topic directories
│ │ └── {topic-slug}/
│ │ ├── task-{id}-{name}.json
│ │ └── messages.json
│ └── archive/ # Completed topics
│
└── skills/
└── agenthero-ai/
├── skill.md # This file
├── scripts/ # Python utilities (V2.0)
│ ├── topic_manager.py # Topic lifecycle
│ ├── state_manager.py # State CRUD operations
│ ├── utils.py # Shared utilities
│ ├── setup_project_structure.py # Directory setup
│ ├── finalize_topic.py # Topic completion
│ ├── check_topics_file.py # Validation
│ └── get_topics_quiet.sh # SessionStart hook
└── templates/
└── state-templates.json # State file schemas
Python Utilities (V2.0)
1. Topic Manager (scripts/topic_manager.py)
Purpose: Manage topic lifecycle (V2.0 - uses topics.json)
Commands:
create_topic <title> - Initialize new topic in topics.json
list_active_topics - List non-completed topics
list_completed_topics - List completed topics
get_topic_status <slug> - Get topic progress and metrics
touch_topic <slug> - Update last active time
update_topic_progress <slug> - Recalculate progress from tasks
archive_topic <slug> - Move topic to archive directory
resume_topic <slug> - Update last active and return status
get_active_topics_summary - Get summary for SessionStart hook
complete_topic <slug> - Mark as completed and archive
delete_topic <slug> - Delete topic (use with caution)
Usage Examples:
python .claude/skills/agenthero-ai/scripts/topic_manager.py \
create_topic \
"Add JWT authentication" \
--description "Implement JWT-based auth with tokens and middleware"
python .claude/skills/agenthero-ai/scripts/topic_manager.py \
list_active_topics
python .claude/skills/agenthero-ai/scripts/topic_manager.py \
get_topic_status \
"auth-system-jwt"
python .claude/skills/agenthero-ai/scripts/topic_manager.py \
archive_topic \
"auth-system-jwt"
python .claude/skills/agenthero-ai/scripts/topic_manager.py \
get_active_topics_summary
2. State Manager (scripts/state_manager.py)
Purpose: CRUD operations for state files (V2.0)
Commands:
create_state_file <path> <template> - Initialize state file from template
read_state <path> <field> - Read specific field from state
update_state <path> <field> <value> - Update state field
append_log <path> <level> <message> - Append log entry
set_task_status <path> <status> - Update task status
track_file_change <path> <file> <change_type> - Track file change
update_progress <path> <progress> - Update progress (0-100)
validate_state <path> - Validate JSON structure
set_blocking_question <path> <question> - Set blocking question
answer_question <path> <answer> - Answer blocking question
set_task_result <path> <result> - Set task completion result
Usage Examples:
python .claude/skills/agenthero-ai/scripts/state_manager.py \
create_state_file \
".claude/agents/state/agenthero-ai/topics/auth-system/task-001-backend.json" \
"task-state"
python .claude/skills/agenthero-ai/scripts/state_manager.py \
append_log \
".claude/agents/state/agenthero-ai/topics/auth-system/task-001-backend.json" \
"info" \
"Starting database schema design"
python .claude/skills/agenthero-ai/scripts/state_manager.py \
read_state \
".claude/agents/state/agenthero-ai/topics/auth-system/task-001-backend.json" \
"status"
python .claude/skills/agenthero-ai/scripts/state_manager.py \
update_progress \
".claude/agents/state/agenthero-ai/topics/auth-system/task-001-backend.json" \
50
3. Utility Functions (scripts/utils.py)
Purpose: Shared helper functions
Functions:
find_project_root() - Find project root by locating .claude directory
slugify(text) - Convert text to URL-safe slug
generate_task_id(topic_slug) - Generate unique task ID
timestamp_iso() - Get ISO 8601 timestamp with timezone
atomic_write(path, content) - Atomic file write (supports dict/list/str)
ensure_directory(path) - Create directory if needed
read_json_file(path) - Read and parse JSON file
read_json_field(path, field) - Read specific JSON field
update_json_field(path, field, value) - Update JSON field
append_json_array(path, field, value) - Append to JSON array
validate_json(path) - Validate JSON structure
Usage (imported by other scripts):
from utils import (
find_project_root, slugify, timestamp_iso,
atomic_write, read_json_file
)
slug = slugify("Add JWT Authentication")
atomic_write("state.json", {"status": "completed"})
project_root = find_project_root()
4. Setup Project Structure (scripts/setup_project_structure.py)
Purpose: Create initial directory structure for topics
Usage:
python .claude/skills/agenthero-ai/scripts/setup_project_structure.py \
"landing-page-builder"
5. Finalize Topic (scripts/finalize_topic.py)
Purpose: Mark topic as completed and archive
Usage:
python .claude/skills/agenthero-ai/scripts/finalize_topic.py \
"landing-page-builder"
6. Check Topics File (scripts/check_topics_file.py)
Purpose: Validate topics.json structure
Usage:
python .claude/skills/agenthero-ai/scripts/check_topics_file.py --summary
7. SessionStart Hook (scripts/get_topics_quiet.sh)
Purpose: Display active topics on Claude Code startup
Usage (configured in .claude/settings.local.json):
bash .claude/skills/agenthero-ai/scripts/get_topics_quiet.sh
State File Templates (V2.0)
Templates are stored in templates/state-templates.json:
Task State Template
{
"taskId": "",
"focusArea": "",
"agentName": "",
"status": "pending",
"assignedAt": "",
"startedAt": null,
"completedAt": null,
"progress": 0,
"currentOperation": null,
"logs": [],
"filesCreated": [],
"filesModified": [],
"blockingQuestion": null,
"result": null,
"error": null,
"tokenUsage": {
"total": 0,
"operations": []
}
}
Integration with PM Orchestrator
The PM agent (agenthero-ai) uses these utilities for:
1. Topic Initialization
python .claude/skills/agenthero-ai/scripts/topic_manager.py \
create_topic "User login feature" \
--description "Create login with validation"
2. Directory Setup
python .claude/skills/agenthero-ai/scripts/setup_project_structure.py \
"user-login-feature"
3. Task State Management
python .claude/skills/agenthero-ai/scripts/state_manager.py \
create_state_file \
".claude/agents/state/agenthero-ai/topics/login-feature/task-001-frontend.json" \
"task-state"
4. Progress Monitoring
python .claude/skills/agenthero-ai/scripts/state_manager.py \
read_state \
".claude/agents/state/agenthero-ai/topics/login-feature/task-001-frontend.json" \
"status"
5. Topic Completion
python .claude/skills/agenthero-ai/scripts/finalize_topic.py \
"login-feature"
Integration with Sub-Agents
Sub-agents use state_manager for logging and updates:
python .claude/skills/agenthero-ai/scripts/state_manager.py \
append_log \
"$STATE_FILE" \
"info" \
"Creating LoginForm component"
python .claude/skills/agenthero-ai/scripts/state_manager.py \
update_progress \
"$STATE_FILE" \
40
python .claude/skills/agenthero-ai/scripts/state_manager.py \
track_file_change \
"$STATE_FILE" \
"src/components/LoginForm.tsx" \
"created"
Best Practices
- Always validate JSON before writing (automatic in atomic_write)
- Use atomic writes to prevent corruption (built-in)
- Log regularly (every 30-60 seconds minimum)
- Update progress milestones (25%, 50%, 75%, 100%)
- Track file changes in state files
- Archive completed topics for history (automatic via finalize_topic.py)
Error Handling
All scripts include error handling:
- Validate input parameters
- Check file existence
- Verify JSON structure (automatic validation)
- Return meaningful error codes (0 = success, 1 = error)
- Log errors to stderr (colored output)
Performance
State operations are optimized:
- Atomic writes prevent corruption
- Minimal file I/O
- Path resolution caches project root
- JSON validation only when needed
Security
State files may contain sensitive data:
- Gitignored by default (
.claude/agents/state/)
- File permissions: 644 (owner read/write)
- No credentials stored in state
- Audit trail via logs array
Troubleshooting
Invalid JSON error:
python .claude/skills/agenthero-ai/scripts/state_manager.py \
validate_state \
".claude/agents/state/agenthero-ai/topics/my-topic/task-001.json"
State file not found:
cat .claude/agents/state/agenthero-ai/topics.json | python -m json.tool
Wrong directory created:
Version
Version: 2.0.0
Created: 2025-10-22
Updated: 2025-10-24 (Python migration complete)
Migration Notes (V1 → V2)
Key Changes:
- ✅ Bash scripts → Python scripts
- ✅ Individual topic.json files → Single topics.json registry
- ✅ Relative paths → Absolute path resolution
- ✅ Manual JSON handling → Atomic write with validation
- ✅ List support added to atomic_write()
Support
For issues:
- Check JSON validity:
python -m json.tool < file.json
- Validate topics.json:
check_topics_file.py --summary
- Review state structure: See
STATE-STRUCTURE-V2.md
- Verify directory structure exists
- Check file permissions
Part of: Hierarchical Multi-Agent Orchestration System V2.0
Related: agenthero-ai agent, orchestrated-sub-agent-template