Manage Agent Hive projects using AGENCY.md files. Use this skill when creating, updating, or working with AGENCY.md project files, managing project metadata (status, owner, blocked, priority), marking tasks complete, adding agent notes, or understanding the Agent Hive shared memory system.
Scanned 2/12/2026
Install via CLI
openskills install majiayu000/claude-skill-registry---
name: hive-project-management
description: Manage Agent Hive projects using AGENCY.md files. Use this skill when creating, updating, or working with AGENCY.md project files, managing project metadata (status, owner, blocked, priority), marking tasks complete, adding agent notes, or understanding the Agent Hive shared memory system.
---
# Hive Project Management
This skill guides you in managing Agent Hive projects through AGENCY.md files - the shared memory primitive that enables coordination between humans and AI agents.
## AGENCY.md Structure
Every project has an AGENCY.md file with YAML frontmatter:
```markdown
---
project_id: unique-identifier
status: active # active, pending, blocked, completed
owner: null # null or agent name (e.g., "claude-3.5-sonnet")
last_updated: 2025-01-15T10:30:00Z
blocked: false
blocking_reason: null
priority: high # low, medium, high, critical
tags: [feature, backend]
dependencies: # Optional dependency tracking
blocked_by: [] # Projects that must complete first
blocks: [] # Projects this blocks
parent: null # Parent project ID
related: [] # Related projects
---
# Project Title
## Objective
What this project aims to achieve.
## Tasks
- [ ] Task 1
- [ ] Task 2
- [x] Completed task
## Agent Notes
- **2025-01-15 10:30 - Claude**: Started work on Task 1
```
## Frontmatter Fields Reference
| Field | Type | Description |
|-------|------|-------------|
| `project_id` | string | Unique identifier for the project |
| `status` | enum | `active`, `pending`, `blocked`, `completed` |
| `owner` | string/null | Agent name currently working, or null if unclaimed |
| `last_updated` | ISO timestamp | When the file was last modified |
| `blocked` | boolean | Set to true if human intervention needed |
| `blocking_reason` | string/null | Explanation of what's blocking |
| `priority` | enum | `low`, `medium`, `high`, `critical` |
| `tags` | array | Organizational labels |
| `dependencies` | object | Dependency relationships (see below) |
### Dependencies Object
```yaml
dependencies:
blocked_by: [project-a, project-b] # Must wait for these to complete
blocks: [project-c] # These projects wait for this one
parent: parent-project-id # Hierarchical relationship
related: [sibling-project] # Informational links
```
## Working with Projects
### Claiming a Project
Before starting work on a project:
1. Check that `owner` is `null` (unclaimed)
2. Check that `status` is `active`
3. Check that `blocked` is `false`
4. Verify no unresolved `dependencies.blocked_by`
5. Set `owner` to your agent name
```yaml
owner: "claude-sonnet-4"
```
### Updating Progress
When completing tasks:
1. Mark tasks with `[x]` in the markdown content
2. Update `last_updated` timestamp
3. Add a note to the "Agent Notes" section
### Adding Agent Notes
Format notes with timestamp and agent name:
```markdown
## Agent Notes
- **2025-01-15 14:30 - claude-sonnet-4**: Completed research phase. Found 5 sources.
- **2025-01-15 10:00 - claude-sonnet-4**: Starting work on research tasks.
```
### Setting Blocked Status
If you need human intervention:
```yaml
blocked: true
blocking_reason: "Need API credentials for external service"
```
### Completing a Project
When finished:
1. Mark all tasks complete
2. Set `status: completed`
3. Set `owner: null`
4. Add final notes
### Releasing Without Completing
If handing off to another agent:
1. Set `owner: null`
2. Add notes about current state
3. Leave `status` unchanged
## Creating New Projects
To create a new project:
1. Create directory: `projects/your-project-name/`
2. Create `AGENCY.md` with proper frontmatter
3. Define clear objectives and tasks
4. Set initial `status: pending` or `status: active`
## Best Practices
1. **Always claim before working** - Set `owner` to prevent conflicts
2. **Update frequently** - Keep `last_updated` current
3. **Be descriptive in notes** - Future agents need context
4. **Use blocking correctly** - Only set `blocked: true` for external dependencies
5. **Manage dependencies** - Keep `blocked_by`/`blocks` accurate
6. **Release when done** - Set `owner: null` when finished or handing off
7. **Follow priority** - Work on `critical` and `high` priority first
## Common Patterns
### Research then Implementation
```markdown
## Tasks
### Research Phase
- [x] Find sources
- [x] Summarize findings
### Implementation Phase
- [ ] Design solution
- [ ] Implement feature
- [ ] Test changes
```
### Phased Rollout
Use `dependencies.blocked_by` to sequence phases:
```yaml
# Phase 2 project
dependencies:
blocked_by: [phase-1-project]
```
### Parent-Child Projects
```yaml
# Child project
dependencies:
parent: main-feature-project
```
No comments yet. Be the first to comment!