项目看板同步_agent-project-board-sync
以下为本文档的中文说明
agent-project-board-sync 是一个将 AI 智能体集群(Agent Swarm)与 GitHub Projects 进行双向同步的技能,实现可视化的任务管理、进度追踪和团队协作。它通过 ruv-swarm 命令工具,将分布式 AI 智能体的工作状态和进度实时映射到 GitHub Projects 看板上,让团队成员能够使用熟悉的项目管理界面来监控 AI 工作流的运行状态。使用场景包括:当多个 AI 智能体协同处理复杂任务,需要统一的任务看板来追踪进度时;当团队希望将 AI 智能体的工作流与现有的 GitHub Projects 项目管理流程整合时;当需要为智能体集群创建专属的状态视图、工作负载视图和优先级视图时;当管理者需要直观地查看每个智能体的当前状态、已完成任务和阻塞项时;当需要在项目周报中自动汇总智能体的工作进展时;当需要在多智能体系统中进行任务分配和负载均衡时。核心特点包括:一是双向同步模式,既将智能体状态推送到 GitHub Projects,也能从 Projects 中读取任务变更来影响智能体行为,形成完整的闭环管理;二是支持创建多维度视图,包括集群状态视图、智能体工作负载视图和优先级视图,提供全面的实时监控能力;三是通过 gh CLI 实现与 GitHub 的深度集成,利用原生 GitHub 认证和 API 机制,安全性有充分保障,无需额外凭证管理;四是支持自定义字段映射,如「集群状态」「智能体工作负载」「优先级」等项目管理字段,灵活适配不同团队的工作流程和规范;五是初始化配置简单快捷,通过 npx ruv-swarm 命令行工具即可快速完成对接和设置,降低使用门槛。这个技能将先进的 AI 智能体编排与传统项目管理工具无缝连接起来。
Project Board Sync - GitHub Projects Integration
Overview
Synchronize AI swarms with GitHub Projects for visual task management, progress tracking, and team coordination.
Core Features
1. Board Initialization
# Connect swarm to GitHub Project using gh CLI
# Get project details
PROJECT_ID=$(gh project list --owner @me --format json | \\
jq -r '.projects[] | select(.title == "Development Board") | .id')
# Initialize swarm with project
npx ruv-swarm github board-init \\
--project-id "$PROJECT_ID" \\
--sync-mode "bidirectional" \\
--create-views "swarm-status,agent-workload,priority"
# Create project fields for swarm tracking
gh project field-create $PROJECT_ID --owner @me \\
--name "Swarm Status" \\
--data-type "SINGLE_SELECT" \\
--single-select-options "pending,in_progress,completed"
2. Task Synchronization
# Sync swarm tasks with project cards
npx ruv-swarm github board-sync \\
--map-status '{
"todo": "To Do",
"in_progress": "In Progress",
"review": "Review",
"done": "Done"
}' \\
--auto-move-cards \\
--update-metadata
3. Real-time Updates
# Enable real-time board updates
npx ruv-swarm github board-realtime \\
--webhook-endpoint "https:/$api.example.com$github-sync" \\
--update-frequency "immediate" \\
--batch-updates false
Configuration
Board Mapping Configuration
# .github$board-sync.yml
version: 1
project:
name: "AI Development Board"
number: 1
mapping:
# Map swarm task status to board columns
status:
pending: "Backlog"
assigned: "Ready"
in_progress: "In Progress"
review: "Review"
completed: "Done"
blocked: "Blocked"
# Map agent types to labels
agents:
coder: "🔧 Development"
tester: "🧪 Testing"
analyst: "📊 Analysis"
designer: "🎨 Design"
architect: "🏗️ Architecture"
# Map priority to project fields
priority:
critical: "🔴 Critical"
high: "🟡 High"
medium: "🟢 Medium"
low: "⚪ Low"
# Custom fields
fields:
- name: "Agent Count"
type: number
source: task.agents.length
- name: "Complexity"
type: select
source: task.complexity
- name: "ETA"
type: date
source: task.estimatedCompletion
View Configuration
// Custom board views
{
"views": [
{
"name": "Swarm Overview",
"type": "board",
"groupBy": "status",
"filters": ["is:open"],
"sort": "priority:desc"
},
{
"name": "Agent Workload",
"type": "table",
"groupBy": "assignedAgent",
"columns": ["title", "status", "priority", "eta"],
"sort": "eta:asc"
},
{
"name": "Sprint Progress",
"type": "roadmap",
"dateField": "eta",
"groupBy": "milestone"
}
]
}
Automation Features
1. Auto-Assignment
# Automatically assign cards to agents
npx ruv-swarm github board-auto-assign \\
--strategy "load-balanced" \\
--consider "expertise,workload,availability" \\
--update-cards
2. Progress Tracking
# Track and visualize progress
npx ruv-swarm github board-progress \\
--show "burndown,velocity,cycle-time" \\
--time-period "sprint" \\
--export-metrics
3. Smart Card Movement
# Intelligent card state transitions
npx ruv-swarm github board-smart-move \\
--rules '{
"auto-progress": "when:all-subtasks-done",
"auto-review": "when:tests-pass",
"auto-done": "when:pr-merged"
}'
Board Commands
Create Cards from Issues
# Convert issues to project cards using gh CLI
# List issues with label
ISSUES=$(gh issue list --label "enhancement" --json number,title,body)
# Add issues to project
echo "$ISSUES" | jq -r '.[].number' | while read -r issue; do
gh project item-add $PROJECT_ID --owner @me --url "https:/$github.com/$GITHUB_REPOSITORY$issues/$issue"
done
# Process with swarm
npx ruv-swarm github board-import-issues \\
--issues "$ISSUES" \\
--add-to-column "Backlog" \\
--parse-checklist \\
--assign-agents
Bulk Operations
# Bulk card operations
npx ruv-swarm github board-bulk \\
--filter "status:blocked" \\
--action "add-label:needs-attention" \\
--notify-assignees
Card Templates
# Create cards from templates
npx ruv-swarm github board-template \\
--template "feature-development" \\
--variables '{
"feature": "User Authentication",
"priority": "high",
"agents": ["architect", "coder", "tester"]
}' \\
--create-subtasks
Advanced Synchronization
1. Multi-Board Sync
# Sync across multiple boards
npx ruv-swarm github multi-board-sync \\
--boards "Development,QA,Release" \\
--sync-rules '{
"Development->QA": "when:ready-for-test",
"QA->Release": "when:tests-pass"
}'
2. Cross-Organization Sync
# Sync boards across organizations
npx ruv-swarm github cross-org-sync \\
--source "org1/Project-A" \\
--target "org2/Project-B" \\
--field-mapping "custom" \\
--conflict-resolution "source-wins"
3. External Tool Integration
# Sync with external tools
npx ruv-swarm github board-integrate \\
--tool "jira" \\
--mapping "bidirectional" \\
--sync-frequency "5m" \\
--transform-rules "custom"
Visualization & Reporting
Board Analytics
# Generate board analytics using gh CLI data
# Fetch project data
PROJECT_DATA=$(gh project item-list $PROJECT_ID --owner @me --format json)
# Get issue metrics
ISSUE_METRICS=$(echo "$PROJECT_DATA" | jq -r '.items[] | select(.content.type == "Issue")' | \\
while read -r item; do
ISSUE_NUM=$(echo "$item" | jq -r '.content.number')
gh issue view $ISSUE_NUM --json createdAt,closedAt,labels,assignees
done)
# Generate analytics with swarm
npx ruv-swarm github board-analytics \\
--project-data "$PROJECT_DATA" \\
--issue-metrics "$ISSUE_METRICS" \\
--metrics "throughput,cycle-time,wip" \\
--group-by "agent,priority,type" \\
--time-range "30d" \\
--export "dashboard"
Custom Dashboards
// Dashboard configuration
{
"dashboard": {
"widgets": [
{
"type": "chart",
"title": "Task Completion Rate",
"data": "completed-per-day",
"visualization": "line"
},
{
"type": "gauge",
"title": "Sprint Progress",
"data": "sprint-completion",
"target": 100
},
{
"type": "heatmap",
"title": "Agent Activity",
"data": "agent-tasks-per-day"
}
]
}
}
Reports
# Generate reports
npx ruv-swarm github board-report \\
--type "sprint-summary" \\
--format "markdown" \\
--include "velocity,burndown,blockers" \\
--distribute "slack,email"
Workflow Integration
Sprint Management
# Manage sprints with swarms
npx ruv-swarm github sprint-manage \\
--sprint "Sprint 23" \\
--auto-populate \\
--capacity-planning \\
--track-velocity
Milestone Tracking
# Track milestone progress
npx ruv-swarm github milestone-track \\
--milestone "v2.0 Release" \\
--update-board \\
--show-dependencies \\
--predict-completion
Release Planning
# Plan releases using board data
npx ruv-swarm github release-plan-board \\
--analyze-velocity \\
--estimate-completion \\
--identify-risks \\
--optimize-scope
Team Collaboration
Work Distribution
# Distribute work among team
npx ruv-swarm github board-distribute \\
--strategy "skills-based" \\
--balance-workload \\
--respect-preferences \\
--notify-assignments
Standup Automation
# Generate standup reports
npx ruv-swarm github standup-report \\
--team "frontend" \\
--include "yesterday,today,blockers" \\
--format "slack" \\
--schedule "daily-9am"
Review Coordination
# Coordinate reviews via board
npx ruv-swarm github review-coordinate \\
--board "Code Review" \\
--assign-reviewers \\
--track-feedback \\
--ensure-coverage
Best Practices
1. Board Organization
- Clear column definitions
- Consistent labeling system
- Regular board grooming
- Automation rules
2. Data Integrity
- Bidirectional sync validation
- Conflict resolution strategies
- Audit trails
- Regular backups
3. Team Adoption
- Training materials
- Clear workflows
- Regular reviews
- Feedback loops
Troubleshooting
Sync Issues
# Diagnose sync problems
npx ruv-swarm github board-diagnose \\
--check "permissions,webhooks,rate-limits" \\
--test-sync \\
--show-conflicts
Performance
# Optimize board performance
npx ruv-swarm github board-optimize \\
--analyze-size \\
--archive-completed \\
--index-fields \\
--cache-views
Data Recovery
# Recover board data
npx ruv-swarm github board-recover \\
--backup-id "2024-01-15" \\
--restore-cards \\
--preserve-current \\
--merge-conflicts
Examples
Agile Development Board
# Setup agile board
npx ruv-swarm github agile-board \\
--methodology "scrum" \\
--sprint-length "2w" \\
--ceremonies "planning,review,retro" \\
--metrics "velocity,burndown"
Kanban Flow Board
# Setup kanban board
npx ruv-swarm github kanban-board \\
--wip-limits '{
"In Progress": 5,
"Review": 3
}' \\
--cycle-time-tracking \\
--continuous-flow
Research Project Board
# Setup research board
npx ruv-swarm github research-board \\
--phases "ideation,research,experiment,analysis,publish" \\
--track-citations \\
--collaborate-external
Metrics & KPIs
Performance Metrics
# Track board performance
npx ruv-swarm github board-kpis \\
--metrics '[
"average-cycle-time",
"throughput-per-sprint",
"blocked-time-percentage",
"first-time-pass-rate"
]' \\
--dashboard-url
Team Metrics
# Track team performance
npx ruv-swarm github team-metrics \\
--board "Development" \\
--per-member \\
--include "velocity,quality,collaboration" \\
--anonymous-option
See also: swarm-issue.md, multi-repo-swarm.md3e:[“ " , " "," ","L41”,null,{“content”:“$42”,“frontMatter”:{“name”:“agent-project-board-sync”,“description”:“Agent skill for project-board-sync - invoke with $agent-project-board-sync”}}]
3f:[“KaTeX parse error: Expected '}', got 'EOF' at end of input: …,"children":[["”,“div”,null,{“className”:“flex items-center justify-between border-b border-border bg-muted/30 px-4 py-2.5”,“children”:[[“KaTeX parse error: Expected '}', got 'EOF' at end of input: …","children":["”,“span”,null,{“className”:“truncate text-xs font-medium text-muted-foreground”,“children”:“同仓库更多 Skills”}]}],[“KaTeX parse error: Expected 'EOF', got '}' at position 88: …ldren":"同仓库"}]]}̲],["”,“div”,null,{“className”:“p-4 sm:p-5”,“children”:[[“ " , " h 2 " , n u l l , " i d " : " r e l a t e d − s k i l l s − h e a d i n g " , " c l a s s N a m e " : " t e x t − 2 x l f o n t − s e m i b o l d t r a c k i n g − n o r m a l t e x t − f o r e g r o u n d " , " c h i l d r e n " : " 同仓库更多 S k i l l s " ] , [ " ","h2",null,{"id":"related-skills-heading","className":"text-2xl font-semibold tracking-normal text-foreground","children":"同仓库更多 Skills"}],[" ","h2",null,"id":"related−skills−heading","className":"text−2xlfont−semiboldtracking−normaltext−foreground","children":"同仓库更多Skills"],["”,“div”,null,{“className”:“mt-4 grid gap-3 sm:grid-cols-2”,“children”:[“ L 43 " , " L43"," L43","L44”,“ L 45 " , " L45"," L45","L46”,“ L 47 " , " L47"," L47","L48”]}]]}]]}]
49:I[206516,[“/_next/static/chunks/051aanbhrv4br.js”,“/_next/static/chunks/0mizr60h7ayzt.js”,“/_next/static/chunks/0v9lm1dmbdoo-.js”,“/_next/static/chunks/0rxr1j1j3j-.r.js”,“/_next/static/chunks/02ftybezfvqjd.js”,“/_next/static/chunks/0.v9ksvnnj8ia.js”,“/_next/static/chunks/0bn6id96nx3k.js",“/_next/static/chunks/13ybnhn37c.tc.js”,“/_next/static/chunks/0_fnrdtruz8uf.js”,“/_next/static/chunks/0r6l15utt1mwb.js”,“/_next/static/chunks/0dm9a5into854.js”,"/_next/static/chunks/07k6hqoibtcn.js”,“/next/static/chunks/0b4cao.4y…j.js”,“/_next/static/chunks/02i-n28z7kjd0.js”],“default”]
更多推荐


所有评论(0)