| name | github-projects |
| description | Gerencia GitHub Projects V2 via GraphQL API.
Cria projects, configura campos customizados e views.
Use quando: iniciar projeto SDLC, mover issues entre fases.
|
| allowed-tools | ["Read","Write","Bash"] |
| user-invocable | false |
| version | 1.0.0 |
GitHub Projects Skill
Skill para gerenciamento de GitHub Projects V2 usando GraphQL API.
Objetivo
Automatizar criacao e gerenciamento de GitHub Projects V2 para projetos SDLC,
incluindo configuracao de campos customizados, views e sincronizacao de issues.
Pre-requisitos
- GitHub CLI (
gh) instalado e autenticado
- Scope
project habilitado: gh auth refresh -s project
Scripts Disponiveis
project_manager.py
Gerencia Projects V2 via GraphQL.
python3 .claude/skills/github-projects/scripts/project_manager.py create \
--title "SDLC: Feature X" \
--description "Projeto para feature X"
python3 .claude/skills/github-projects/scripts/project_manager.py get --title "SDLC: Feature X"
python3 .claude/skills/github-projects/scripts/project_manager.py list
python3 .claude/skills/github-projects/scripts/project_manager.py add-item \
--project-number 1 \
--issue-url "https://github.com/owner/repo/issues/123"
python3 .claude/skills/github-projects/scripts/project_manager.py update-field \
--project-number 1 \
--item-id "PVTI_xxx" \
--field "Phase" \
--value "Implementation"
python3 .claude/skills/github-projects/scripts/project_manager.py configure-fields \
--project-number 1
project_views.py
Gerencia views (Kanban, Timeline, Table) do Project.
python3 .claude/skills/github-projects/scripts/project_views.py create-kanban \
--project-number 1
python3 .claude/skills/github-projects/scripts/project_views.py create-timeline \
--project-number 1
python3 .claude/skills/github-projects/scripts/project_views.py list \
--project-number 1
Campos Customizados SDLC
| Campo | Tipo | Valores |
|---|
| Phase | SingleSelect | Backlog, Requirements, Architecture, Planning, In Progress, QA, Release, Done |
| Sprint | Iteration | Sprints configurados |
| Story Points | Number | 1, 2, 3, 5, 8, 13, 21 |
| Priority | SingleSelect | Critical, High, Medium, Low |
Colunas do Kanban (por fase SDLC)
- Backlog - Phases 0-1 (Preparation, Discovery)
- Requirements - Phase 2
- Architecture - Phase 3
- Planning - Phase 4
- In Progress - Phase 5 (Implementation)
- QA - Phase 6 (Quality)
- Release - Phase 7
- Done - Completed
GraphQL Queries Utilizadas
Criar Project
mutation CreateProject($ownerId: ID!, $title: String!) {
createProjectV2(input: {ownerId: $ownerId, title: $title}) {
projectV2 { id number url }
}
}
Adicionar Item
mutation AddItem($projectId: ID!, $contentId: ID!) {
addProjectV2ItemById(input: {projectId: $projectId, contentId: $contentId}) {
item { id }
}
}
Atualizar Campo
mutation UpdateField($projectId: ID!, $itemId: ID!, $fieldId: ID!, $value: ProjectV2FieldValue!) {
updateProjectV2ItemFieldValue(
input: {projectId: $projectId, itemId: $itemId, fieldId: $fieldId, value: $value}
) { item { id } }
}
Integracao SDLC
Ao iniciar workflow (Phase 0)
PROJECT=$(python project_manager.py create --title "SDLC: $FEATURE_NAME" --json)
python project_manager.py configure-fields --project-number $PROJECT_NUMBER
python project_views.py create-kanban --project-number $PROJECT_NUMBER
Ao transicionar de fase
python project_manager.py update-phase \
--project-number $PROJECT_NUMBER \
--from-phase 5 \
--to-phase 6
Exemplo de Uso Completo
python project_manager.py create \
--title "SDLC: Sistema de Autenticacao" \
--description "Implementacao de autenticacao OAuth2"
python project_manager.py configure-fields --project-number 1
python project_manager.py add-item \
--project-number 1 \
--issue-url "https://github.com/arbgjr/sdlc_agentico/issues/123"
python project_manager.py update-field \
--project-number 1 \
--item-id "PVTI_xxx" \
--field "Phase" \
--value "In Progress"
Limitacoes
- Projects V2 requer scope
project no token
- Alguns campos (Iteration) tem API limitada
- Views customizadas tem suporte parcial via API