Use when managing multiple projects simultaneously, tracking project states, syncing with GitHub Projects, or coordinating cross-project dependencies. Trigger with multi-project coordination requests.
npx claudepluginhub emasoft/emasoft-plugins --plugin emasoft-chief-of-staffThis skill uses the workspace's default tool permissions.
Multi-project management enables the Chief of Staff to oversee and coordinate work across multiple codebases, repositories, and project contexts simultaneously. This skill teaches you how to maintain a project registry, track project states, synchronize with GitHub Projects, and manage cross-project dependencies.
Orchestrates sub-agents via Granary CLI to delegate implementation tasks, respect dependencies, and manage parallel execution per scheduler.
Guides interview-based setup of GitHub as command center for AI-agent project management, creating projects, labels, CLAUDE.md config, and canonical files.
Coordinates changes across multiple repositories by syncing skills, templates, agents, and harness policies via git-mediated workflows or specification-mediated patterns for multi-repo projects.
Share bugs, ideas, or general feedback.
Multi-project management enables the Chief of Staff to oversee and coordinate work across multiple codebases, repositories, and project contexts simultaneously. This skill teaches you how to maintain a project registry, track project states, synchronize with GitHub Projects, and manage cross-project dependencies.
Before using this skill, ensure:
| Operation | Output |
|---|---|
| Cross-project query | Aggregated status from all projects |
| Agent reassignment | Agent moved between projects, registries updated |
| Resource sharing | Resource allocation adjusted across projects |
Multi-project management is the coordination of multiple independent projects under unified oversight. It involves:
┌─────────────────────────────────────────────────────────┐
│ CHIEF OF STAFF │
│ │
│ ┌──────────────────────────────────────────────────┐ │
│ │ PROJECT REGISTRY │ │
│ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │
│ │ │ Project │ │ Project │ │ Project │ ... │ │
│ │ │ A │ │ B │ │ C │ │ │
│ │ └────┬─────┘ └────┬─────┘ └────┬─────┘ │ │
│ └───────┼────────────┼────────────┼───────────────┘ │
│ │ │ │ │
│ ▼ ▼ ▼ │
│ ┌──────────────────────────────────────────────────┐ │
│ │ GITHUB PROJECTS SYNC │ │
│ └──────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────┘
When to use: When adding new projects, updating project status, or querying project information.
Steps: Load registry, perform operation (add/update/query/remove), validate changes, persist registry.
Related documentation:
When to use: When pulling status from GitHub, pushing updates to GitHub, or reconciling local and remote state.
Steps: Authenticate with gh CLI, fetch remote state, compare with local, apply sync direction, update both sides.
Related documentation:
When to use: When tasks span multiple projects, when projects have dependencies, or when resources must be shared.
Steps: Identify cross-project scope, map dependencies, plan coordination, execute with checkpoints, reconcile states.
Related documentation:
Copy this checklist and track your progress:
{
"projects": {
"skill-factory": {
"id": "skill-factory",
"path": "{baseDir}/SKILL_FACTORY",
"status": "active",
"github_repo": "Emasoft/SKILL_FACTORY",
"github_project": "SKILL_FACTORY Development",
"last_sync": "2025-02-01T10:00:00Z",
"agents_assigned": ["code-impl-01", "test-eng-01"],
"priority": "high"
}
}
}
# Fetch project board state
gh project list --owner Emasoft --format json | jq '.projects[] | select(.title == "SKILL_FACTORY Development")'
# Update issue status
gh project item-edit --project-id PVT_xxx --id PVTI_xxx --field-id PVTF_xxx --single-select-option-id "Done"
# Sync local registry after GitHub update
python scripts/ecos_sync_github_projects.py --project skill-factory --direction pull
## Cross-Project Coordination Plan
### Projects Involved
1. perfect-skill-suggester (PSS)
2. claude-plugins-validation (CPV)
3. emasoft-plugins-marketplace (EPM)
### Dependency Chain
PSS depends on CPV for validation
EPM depends on PSS and CPV as submodules
### Coordination Steps
1. Update CPV validation logic
2. Run CPV tests (blocking)
3. Update PSS to use new CPV
4. Run PSS tests (blocking)
5. Update EPM submodules
6. Run marketplace validation
7. Publish all three
### Checkpoints
- After step 2: CPV stable
- After step 4: PSS stable
- After step 6: EPM stable
Step-by-step runbooks for executing individual multi-project management operations. Use these when performing a specific operation.
Symptoms: JSON parse errors, missing projects, duplicate entries.
See references/project-registry.md Section 1.7 Troubleshooting for resolution.
Symptoms: Auth errors, rate limits, stale data.
See references/github-projects-sync.md Section 2.7 Troubleshooting for resolution.
Symptoms: Circular dependencies, agents blocked waiting for each other.
See references/cross-project-coordination.md Section 3.7 Troubleshooting for resolution.
When to use: During active work sessions to detect external changes to the Kanban board.
Poll the GitHub Project board every 5 minutes during active work:
# Check for recent card movements and status changes
gh project item-list --owner Emasoft --limit 50 --format json | jq '[.items[] | select(.updatedAt > (now - 300 | strftime("%Y-%m-%dT%H:%M:%SZ")))]'
# Check for new comments on project items
gh api graphql -f query='
query($owner: String!, $number: Int!) {
user(login: $owner) {
projectV2(number: $number) {
items(first: 20, orderBy: {field: UPDATED_AT, direction: DESC}) {
nodes {
content {
... on Issue {
number
title
comments(last: 5) {
nodes {
createdAt
body
}
}
}
}
}
}
}
}
}
' -f owner="Emasoft" -f number=1
| Change Type | Detection Method | Response |
|---|---|---|
| Card moved to different column | Compare status field with cached state | Notify affected agent, update local registry |
| New card added | Check for items with recent createdAt | Alert EOA for task assignment |
| Card assigned to different agent | Compare assignees field | Notify both old and new assignees |
| New comment added | Check comments.nodes[].createdAt | Forward comment to assigned agent |
| Card priority changed | Compare priority field | Notify assigned agent of priority change |
When external changes are detected:
Use the agent-messaging skill to notify the affected agent:
[EXTERNAL CHANGE] GitHub Project card movedhighexternal-change-notification, describing what changed (card title, old status, new status, who changed it, detection timestamp), and requesting the agent to acknowledge the changeVerify: confirm message delivery and await agent acknowledgment.
See references/project-registry.md for registry structure and operations.
See references/github-projects-sync.md for synchronization procedures.
See references/cross-project-coordination.md for multi-project orchestration.
Version: 1.0 Last Updated: 2025-02-01 Target Audience: Chief of Staff Agents Difficulty Level: Advanced