Claude-skill-registry agenthero-ai
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.
git clone https://github.com/majiayu000/claude-skill-registry
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/agenthero-ai" ~/.claude/skills/majiayu000-claude-skill-registry-agenthero-ai && rm -rf "$T"
skills/data/agenthero-ai/SKILL.mdAgentHero 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
)
scripts/topic_manager.pyPurpose: Manage topic lifecycle (V2.0 - uses topics.json)
Commands:
- Initialize new topic in topics.jsoncreate_topic <title>
- List non-completed topicslist_active_topics
- List completed topicslist_completed_topics
- Get topic progress and metricsget_topic_status <slug>
- Update last active timetouch_topic <slug>
- Recalculate progress from tasksupdate_topic_progress <slug>
- Move topic to archive directoryarchive_topic <slug>
- Update last active and return statusresume_topic <slug>
- Get summary for SessionStart hookget_active_topics_summary
- Mark as completed and archivecomplete_topic <slug>
- Delete topic (use with caution)delete_topic <slug>
Usage Examples:
# Create new topic (V2.0) python .claude/skills/agenthero-ai/scripts/topic_manager.py \ create_topic \ "Add JWT authentication" \ --description "Implement JWT-based auth with tokens and middleware" # List active topics python .claude/skills/agenthero-ai/scripts/topic_manager.py \ list_active_topics # Get topic status (reads from topics.json) python .claude/skills/agenthero-ai/scripts/topic_manager.py \ get_topic_status \ "auth-system-jwt" # Archive completed topic python .claude/skills/agenthero-ai/scripts/topic_manager.py \ archive_topic \ "auth-system-jwt" # Get active topics summary (SessionStart hook) python .claude/skills/agenthero-ai/scripts/topic_manager.py \ get_active_topics_summary
2. State Manager (scripts/state_manager.py
)
scripts/state_manager.pyPurpose: CRUD operations for state files (V2.0)
Commands:
- Initialize state file from templatecreate_state_file <path> <template>
- Read specific field from stateread_state <path> <field>
- Update state fieldupdate_state <path> <field> <value>
- Append log entryappend_log <path> <level> <message>
- Update task statusset_task_status <path> <status>
- Track file changetrack_file_change <path> <file> <change_type>
- Update progress (0-100)update_progress <path> <progress>
- Validate JSON structurevalidate_state <path>
- Set blocking questionset_blocking_question <path> <question>
- Answer blocking questionanswer_question <path> <answer>
- Set task completion resultset_task_result <path> <result>
Usage Examples:
# Create new task state 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" # Append log entry 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" # Read current status python .claude/skills/agenthero-ai/scripts/state_manager.py \ read_state \ ".claude/agents/state/agenthero-ai/topics/auth-system/task-001-backend.json" \ "status" # Update progress 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
)
scripts/utils.pyPurpose: Shared helper functions
Functions:
- Find project root by locating .claude directoryfind_project_root()
- Convert text to URL-safe slugslugify(text)
- Generate unique task IDgenerate_task_id(topic_slug)
- Get ISO 8601 timestamp with timezonetimestamp_iso()
- Atomic file write (supports dict/list/str)atomic_write(path, content)
- Create directory if neededensure_directory(path)
- Read and parse JSON fileread_json_file(path)
- Read specific JSON fieldread_json_field(path, field)
- Update JSON fieldupdate_json_field(path, field, value)
- Append to JSON arrayappend_json_array(path, field, value)
- Validate JSON structurevalidate_json(path)
Usage (imported by other scripts):
from utils import ( find_project_root, slugify, timestamp_iso, atomic_write, read_json_file ) # Generate slug slug = slugify("Add JWT Authentication") # Returns: "add-jwt-authentication" # Atomic write (prevents corruption) atomic_write("state.json", {"status": "completed"}) # Find project root project_root = find_project_root() # Returns: Path to directory containing .claude/
4. Setup Project Structure (scripts/setup_project_structure.py
)
scripts/setup_project_structure.pyPurpose: Create initial directory structure for topics
Usage:
# Create Project-tasks/{slug}/ structure python .claude/skills/agenthero-ai/scripts/setup_project_structure.py \ "landing-page-builder" # Creates: # - Project-tasks/landing-page-builder/ # - Project-tasks/landing-page-builder/spec/ # - Project-tasks/landing-page-builder/deliverables/
5. Finalize Topic (scripts/finalize_topic.py
)
scripts/finalize_topic.pyPurpose: Mark topic as completed and archive
Usage:
# Finalize topic (V2.0) python .claude/skills/agenthero-ai/scripts/finalize_topic.py \ "landing-page-builder" # Actions: # 1. Marks status as "completed" in topics.json # 2. Sets completedAt timestamp # 3. Archives topic directory
6. Check Topics File (scripts/check_topics_file.py
)
scripts/check_topics_file.pyPurpose: Validate topics.json structure
Usage:
# Validate topics registry (V2.0) python .claude/skills/agenthero-ai/scripts/check_topics_file.py --summary # Returns summary of topics.json health
7. SessionStart Hook (scripts/get_topics_quiet.sh
)
scripts/get_topics_quiet.shPurpose: Display active topics on Claude Code startup
Usage (configured in
.claude/settings.local.json):
bash .claude/skills/agenthero-ai/scripts/get_topics_quiet.sh # Output (if topics exist): # Found 2 active topic(s): # • Landing Page Builder (45% complete, 3/5 tasks) # • API Integration (20% complete, 1/4 tasks) # Output (if no topics): # No pending topics - ready for new work!
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
# PM creates new topic (V2.0) python .claude/skills/agenthero-ai/scripts/topic_manager.py \ create_topic "User login feature" \ --description "Create login with validation" # Returns: user-login-feature (slug)
2. Directory Setup
# PM creates Project-tasks structure python .claude/skills/agenthero-ai/scripts/setup_project_structure.py \ "user-login-feature"
3. Task State Management
# PM initializes sub-agent task 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
# PM reads task status 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
# PM finalizes topic (V2.0) python .claude/skills/agenthero-ai/scripts/finalize_topic.py \ "login-feature"
Integration with Sub-Agents
Sub-agents use state_manager for logging and updates:
# Sub-agent logs progress python .claude/skills/agenthero-ai/scripts/state_manager.py \ append_log \ "$STATE_FILE" \ "info" \ "Creating LoginForm component" # Sub-agent updates progress python .claude/skills/agenthero-ai/scripts/state_manager.py \ update_progress \ "$STATE_FILE" \ 40 # Sub-agent tracks file changes 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:
# Validate state file 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:
# Check topics registry cat .claude/agents/state/agenthero-ai/topics.json | python -m json.tool
Wrong directory created:
# Ensure scripts run from project root OR # Use absolute paths (scripts auto-detect project root via find_project_root())
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