Use when managing GitHub Kanban boards. Trigger with board state, card move, or completion requests.
npx claudepluginhub emasoft/emasoft-plugins --plugin emasoft-integrator-agentThis skill uses the workspace's default tool permissions.
**GitHub Projects Kanban IS the orchestration state. There is no other source of truth.**
README.mdreferences/agent-assignment-via-board.mdreferences/ai-agent-vs-human-workflow-part1-fundamentals.mdreferences/ai-agent-vs-human-workflow-part2-workflows.mdreferences/ai-agent-vs-human-workflow.mdreferences/blocking-workflow.mdreferences/board-column-semantics.mdreferences/board-queries-part1-basic.mdreferences/board-queries-part2-filtered.mdreferences/board-queries-part3-history.mdreferences/board-queries.mdreferences/failure-scenarios.mdreferences/instruction-templates.mdreferences/integration-points.mdreferences/issue-to-module-mapping.mdreferences/kanban-as-truth.mdreferences/op-add-issue-to-board.mdreferences/op-check-completion.mdreferences/op-create-module-issue.mdreferences/op-get-board-state.mdManages GitHub Projects V2 kanban boards: creates boards, adds columns, moves items via gh CLI, GraphQL mutations, and Python scripts. Use for kanban or column requests.
Orchestrates autonomous AI development pipelines via Kanban boards (Asana, GitHub Projects, Linear). Dispatches multi-worker Claude Code tasks with deterministic quality gates, adversarial review, cost tracking, and crash-proof execution.
Suggests manual /compact at logical task boundaries in long Claude Code sessions and multi-phase tasks to avoid arbitrary auto-compaction losses.
Share bugs, ideas, or general feedback.
GitHub Projects Kanban IS the orchestration state. There is no other source of truth.
If it's not on the board, it doesn't exist. If the board says "In Progress", it IS in progress.
This skill establishes GitHub Projects V2 as the absolute center of EOA orchestration workflow. All planning, tracking, assignment, and completion verification flows through the Kanban board.
Before using this skill, ensure:
gh auth status)Follow these steps when using GitHub Kanban as the orchestration source of truth:
eia_kanban_get_board_state.py to see all items and their columnseia_kanban_check_completion.py to ensure all items are DoneCopy this checklist and track your progress:
gh auth statuspython3 scripts/eia_kanban_get_board_state.py OWNER REPO PROJECT_NUMBERpython3 scripts/eia_kanban_move_card.py OWNER REPO PROJECT_NUMBER ISSUE_NUMBER NEW_STATUS--reason flagpython3 scripts/eia_kanban_check_completion.py OWNER REPO PROJECT_NUMBERRead this skill when:
| Column | Code | Meaning | Who Can Move Here |
|---|---|---|---|
| Backlog | backlog | Not scheduled | Orchestrator only |
| Todo | todo | Ready to start | Orchestrator only |
| In Progress | in-progress | Active work | Assigned agent |
| AI Review | ai-review | Integrator reviews ALL tasks | Integrator agent |
| Human Review | human-review | User reviews BIG tasks only | User/human reviewer |
| Merge/Release | merge-release | Ready to merge | Orchestrator |
| Done | done | Completed and merged | Auto (PR merge) |
| Blocked | blocked | Cannot proceed | Any (with reason) |
All detailed operations are in reference files. Each section shows WHEN to read and the full TOC.
Read this FIRST to understand the philosophical foundation.
Contents:
Read this when you need to understand what each column means and its requirements.
Contents:
Read this when creating issues for modules or understanding the 1:1 mapping.
Contents:
Read this when assigning work to agents or checking assignments.
Contents:
Read this when moving cards between columns or validating transitions.
Contents:
Read this when an item becomes blocked or when resolving blockers.
Contents:
Read this when you need GraphQL queries to inspect board state.
Contents:
Read this to understand how the stop hook uses board state for completion verification.
Contents:
Read this when coordinating between AI agents and human developers.
Contents:
Read this when creating assignments, integrations, or communicating with agents.
Contents:
Read this when handling task failures, integration issues, or unresponsive agents.
Contents:
Read this when encountering issues with board synchronization or operations.
Contents:
The /create-issue-tasks command creates Claude Tasks checklists for handling issues. See the full command documentation at:
${CLAUDE_PLUGIN_ROOT}/commands/create-issue-tasks.md
/create-issue-tasks <CATEGORY> <REPORTER> <MODULE> "<TITLE>" ["<DESCRIPTION>"]
Categories: BUG, BLOCKER, QUESTION, ENHANCEMENT, CONFIG, INVESTIGATION
Example:
/create-issue-tasks BUG implementer-1 auth-core "Login fails with OAuth" "401 error after token expiry"
Get complete board state with all items grouped by column.
python3 scripts/eia_kanban_get_board_state.py OWNER REPO PROJECT_NUMBER
Output: JSON with items grouped by status column.
Move a card to a different column with validation.
python3 scripts/eia_kanban_move_card.py OWNER REPO PROJECT_NUMBER ISSUE_NUMBER NEW_STATUS [--reason "Reason"]
Validates: Transition is allowed, preconditions met.
Check if all board items are complete (for stop hook).
python3 scripts/eia_kanban_check_completion.py OWNER REPO PROJECT_NUMBER
Exit codes:
Read this when understanding how Kanban connects to planning, orchestration, stop hooks, assignments, and PR completion.
Contents:
github-kanban-core/
├── SKILL.md # This file (map/TOC)
├── README.md # Skill overview
├── scripts/
│ ├── eia_kanban_get_board_state.py # Get full board state
│ ├── eia_kanban_move_card.py # Move card between columns
│ └── eia_kanban_check_completion.py # Check completion for stop hook
└── references/
├── kanban-as-truth.md # Why Kanban is single source of truth
├── board-column-semantics.md # Column meanings and requirements
├── issue-to-module-mapping.md # Module-to-issue 1:1 mapping
├── agent-assignment-via-board.md # Assignment via issue assignees
├── status-transitions.md # Valid state transitions
├── blocking-workflow.md # Handling blocked items
├── board-queries.md # GraphQL queries for board state
├── stop-hook-integration.md # Stop hook completion checks
├── ai-agent-vs-human-workflow.md # Different workflows for AI vs humans
└── troubleshooting.md # Common issues and solutions
# Get full board state with all items
python3 scripts/eia_kanban_get_board_state.py owner repo 1
# Output: JSON with items grouped by status column (Backlog, Todo, In Progress, etc.)
# Move issue #42 to In Progress
python3 scripts/eia_kanban_move_card.py owner repo 1 42 in-progress --reason "Starting work"
# Check if all items are complete (for stop hook)
python3 scripts/eia_kanban_check_completion.py owner repo 1
# Exit code 0 = all done, 1 = items pending, 2 = blocked items exist
| Output Type | Format | Description | When Generated |
|---|---|---|---|
| Board State JSON | JSON object | All items grouped by status column | Via eia_kanban_get_board_state.py |
| Transition Result | JSON object | Success/failure of card move with validation | Via eia_kanban_move_card.py |
| Completion Status | Exit code + JSON | 0=all done, 1=pending, 2=blocked | Via eia_kanban_check_completion.py |
| Assignment Notification | AI Maestro message | Agent receives work assignment | When issue assigned |
| GraphQL Query Results | JSON object | Raw board data from GitHub API | Via reference queries |
| Blocker Report | JSON object | All blocked items with reasons | When querying blocked items |
| Error | Cause | Resolution |
|---|---|---|
| Issue not appearing on board | Issue not added to Projects V2, wrong project number | Verify project link with gh issue view <N>, re-add to project |
| Status change not reflecting | Invalid transition, missing permissions | Check transition matrix in references/status-transitions.md, verify GitHub permissions |
| Assignment not showing | Issue not on board, invalid assignee username | Ensure issue is on project board, use correct GitHub username |
| GraphQL API rate limit | Too many rapid queries | Wait 60 seconds, use query caching, reduce polling frequency |
| Permission denied | Insufficient GitHub permissions | Verify gh auth status, ensure write access to repository and project |
| Board state out of sync | Stale cache, concurrent modifications | Force refresh with fresh GraphQL query, avoid caching board state |
| Stop hook blocking exit | Items not in Done column | Complete pending items, move to Done, or defer with explicit reason |
| Corrupted board state | Manual edits outside workflow | Use recovery procedure in references/troubleshooting.md section 10.8 |
Read this when setting up or running proactive board monitoring during orchestration sessions.
Contents: