Instrucciones de origen · Vista previa de solo lectura
name
eia-github-integration
description
Use when integrating GitHub Projects. Trigger with GitHub sync, label setup, or PR workflow requests.
license
Apache-2.0
compatibility
Requires GitHub CLI version 2.14 or higher, GitHub account with write permissions to target repositories, and basic Git knowledge. Requires AI Maestro installed.
metadata
{"author":"Emasoft","version":"1.0.0"}
agent
api-coordinator
context
fork
workflow-instruction
support
procedure
support-skill
user-invocable
false
GitHub Integration Dispatcher
Overview
This skill is the entry point for all GitHub integration tasks in agent orchestration workflows. It routes you to specialized skills based on your task type. Use this skill to determine which specialized GitHub skill to invoke.
Prerequisites
Before using any GitHub integration skill, ensure:
GitHub CLI version 2.14 or higher is installed (gh --version)
GitHub CLI is authenticated (gh auth status)
You have write permissions to the target repository
Basic familiarity with Git commands
First-time setup:
# Install GitHub CLI
brew install gh # macOS# or see https://cli.github.com/manual/installation for other platforms# Authenticate
gh auth login
# Verify authentication
gh auth status
Using the gh_multiuser.py script for automated identity management
Batch Operations (Unique to This Skill)
When you need to perform operations that span multiple GitHub areas (e.g., bulk label changes across issues AND PRs, or cross-project synchronization):
Filtering by multiple criteria (label + status + assignee + date)
Previewing changes before executing (dry-run mode)
Creating audit trails for batch operations
Quick example:
# Bulk add label to all open issues with "feature" label
gh issue list --label "feature" --state open --json number --jq '.[].number' | \
xargs -I {} gh issue edit {} --add-label "priority:high"
This skill produces the following outputs depending on the operation performed:
Routing decision: The name of the specialized skill to invoke (e.g., eia-github-pr-workflow, eia-github-projects-sync).
Batch operation results: A summary of affected items (issue numbers, PR numbers) and the changes applied (labels added/removed, statuses changed).
Automation script output: JSON or plain-text reports from the Python automation scripts (e.g., generate-project-report.py produces a Markdown status report).
Verification output: Confirmation messages from gh CLI commands showing the current state of issues, PRs, or project boards after modifications.
Dry-run previews: Lists of items that would be affected by a batch operation, displayed before execution for review.
Re-authenticate with gh auth login and verify with gh auth status
HTTP 403 - Resource not accessible
Insufficient permissions on the target repository
Request write access from the repository owner, or check that your token has the required scopes (repo, project)
HTTP 422 - Validation Failed
Invalid field values (e.g., non-existent label name, malformed project field)
Verify the label exists with gh label list or check project field names with gh project field-list
API rate limit exceeded
Too many API calls in a short period
Wait for the rate limit reset (check gh api rate-limit), or use GraphQL to batch multiple queries into one request
Could not resolve to a Project
Wrong project number or the project is in a different organization
Verify the project number with gh project list --owner <org> and ensure you are targeting the correct owner
xargs: gh: terminated by signal 13
Pipe broken during batch operation, often due to API errors mid-stream
Re-run the batch operation with smaller batch sizes or add error handling with `xargs -I {} sh -c 'gh issue edit {} --add-label "label"
Examples
Example 1: Route to the correct skill for a PR task
You receive a request: "Create a PR for the feature branch and link it to issue #42."
This is a Pull Request task. According to the decision tree, invoke eia-github-pr-workflow:
# Switch to eia-github-pr-workflow skill, then run:
gh pr create --base main --head feature-branch --title "Implement feature X" \
--body "Closes #42" --assignee "@me"
Example 2: Bulk add a label to all open bug issues
You need to add the priority:critical label to all issues labeled bug that are currently open:
# Step 1: Preview affected issues (dry-run)
gh issue list --label "bug" --state open --json number,title --jq '.[] | "\(.number): \(.title)"'# Step 2: Apply the label change
gh issue list --label "bug" --state open --json number --jq '.[].number' | \
xargs -I {} gh issue edit {} --add-label "priority:critical"# Step 3: Verify a sample issue
gh issue view 15 --json labels --jq '.labels[].name'
Example 3: Check which skill to use for a Projects V2 sync request
You receive a request: "Sync the agent task board with the GitHub Project for repository X."
This is a GitHub Projects V2 synchronization task. According to the decision tree, invoke eia-github-projects-sync:
# Verify the project exists first
gh project list --owner Emasoft --format json
# Then follow the eia-github-projects-sync skill instructions for bidirectional sync
uv run python scripts/sync-projects-v2.py --repo Emasoft/repo-x --project 3 --direction bidirectional