agentleFS
aaitoraaitor/skill-github-projects/SKILL.md

github-project-board

Skill2 starsChanged 16 days agoMITView on GitHub

Manage GitHub Project Boards (Projects v2) via gh CLI. Read backlogs, claim work, update status, add comments, and communicate between agents through standardized board conventions.

1 other project uses a version of this.

Adopted by

Most recently taken up by

  • Other versions1 project uses a version of this.

    Word for word · 0

    None found.

    Edited · 0

    None found.

    Wrote their own version · 1

    1. Cloud-Peek/agent-skills★ 1same name

    How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.

  • In this repositoryOne other file it gives its agents.

The file

We split this skill into the rules it gives an agent

12 rules. About 0 are common, 10 are distinctive, and 2 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈10

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Use this skill when:

    line 10
  2. Distinctive:

    Use short, lowercase labels that describe the agent's domain or role:

    line 30
  3. Distinctive:

    Create labels in the repo if they don't exist:

    line 40
  4. Distinctive:

    Before any board operation, discover the board structure.

    line 65
  5. Very specific:

    Read the board README (gh project view ...

    line 86
  6. Distinctive:

    All commands use dynamically discovered IDs from the Board Discovery step.

    line 113
  7. Very specific:

    When an agent is scoped to a label, cross-reference the board items with the issue's labels.

    line 125
  8. Distinctive:

    When commenting on issues, use this structured format so other agents and humans can parse updates consistently:

    line 196
  9. Distinctive:

    Add a comment with your question using the Agent Comment Convention

    line 241
  10. Distinctive:

    Add a comment with:

    line 249
  11. Distinctive:

    Add a structured comment summarizing what was done and what remains

    line 258
  12. Distinctive:

    Before marking any board operation as complete, verify:

    line 264

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

GitHub Project Board Skill

When to Activate

Use this skill when:

  • Checking or reading a project board / backlog / sprint / kanban
  • Finding work assigned to you or available to pick up
  • Updating issue status on a board
  • Adding progress comments to issues
  • Creating issues or sub-issues on a board
  • Handing off work between agents
  • Any mention of "board", "backlog", "sprint", "kanban", "project board"

Agent Filtering (Optional)

Agents can be scoped to a subset of board issues using labels. This enables multiple independent agents to work the same board without stepping on each other.

  • An agent given a label filter (e.g., --label research) only processes issues with that label
  • An agent given no label filter processes any issue on the board (default behavior)
  • Labels are assigned to issues, not board items — use gh issue edit to manage them
  • Multiple labels can be combined: an issue labeled research,security is visible to both the "research" agent and the "security" agent

Label conventions

Use short, lowercase labels that describe the agent's domain or role:

LabelAgent role
researchResearch and analysis tasks
codingImplementation and bug fixes
docsDocumentation tasks
devopsInfrastructure and deployment
reviewCode review and QA

Create labels in the repo if they don't exist:

gh label create <LABEL> --repo <OWNER>/<REPO> --description "<description>"

Assign a label to an issue:

gh issue edit <ISSUE_URL> --add-label "<LABEL>"

Board Requirements

This skill expects a board with three single-select fields — Status (In Definition, Todo, In progress, To Review, Ready, Done), Priority (Critical → Zero), and Size (XL → XS). To create a compatible board from scratch, see docs/board-setup.md.

Read-only and offline requests

Honor the requested scope: a backlog summary or proposed action does not authorize claims, comments, or status changes. For a supplied offline snapshot, analyze that input and label the result as a sample; do not claim live discovery occurred. Before an authorized live operation, use the discovery step below and re-read the current item before claiming it.

Board Discovery (Mandatory First Step)

Before any board operation, discover the board structure. All field IDs and option IDs are resolved dynamically — never hardcode them.

# 1. Get project metadata and README (workflow rules)
gh project view <NUMBER> --owner <OWNER> --format json

# 2. Get all fields with IDs and option values
gh project field-list <NUMBER> --owner <OWNER> --format json

# 3. Get all items with current field values
gh project item-list <NUMBER> --owner <OWNER> --format json --limit 100

From the field-list output, resolve:

  • Status field ID — find the field where name == "Status"
  • Status option IDs — map each option name ("Todo", "In progress", etc.) to its ID
  • Priority field ID — find the field where name == "Priority"
  • Priority option IDs — map each option name to its ID
  • Size field ID — find the field where name == "Size"
  • Project ID — from gh project view output, the id field (starts with PVT_)

Read the board README (gh project view ... --format json | jq -r .readme) to understand board-specific workflow rules. The README is authoritative for that board's conventions.

Board Workflow

The standard 6-status lifecycle:

In Definition → Todo → In Progress → To Review → Done
                                    → Ready → Done

Who controls what

TransitionWho
In Definition → TodoHuman (issue is ready for work)
Todo → In ProgressAgent (claiming work)
In Progress → To ReviewAgent (needs clarification or review)
In Progress → ReadyAgent (work complete, needs final approval)
To Review → TodoHuman (feedback given, back to backlog)
Ready → DoneHuman (approved)
Ready → TodoHuman (rejected, needs rework)

Agents should never move items to "In Definition" or "Done" — those are human-controlled states.

Quick Command Reference

All commands use dynamically discovered IDs from the Board Discovery step.

List backlog items by status

# All Todo items (no label filter)
gh project item-list <NUMBER> --owner <OWNER> --format json --limit 100 \
  | jq '[.items[] | select(.status == "Todo")]'

List backlog items filtered by label

When an agent is scoped to a label, cross-reference the board items with the issue's labels. The item-list output includes each item's issue URL — use GraphQL to filter by label efficiently (see references/graphql-recipes.md recipe #6), or filter locally:

# Get Todo items, then check each for the target label
TODO_ITEMS=$(gh project item-list <NUMBER> --owner <OWNER> --format json --limit 100 \
  | jq '[.items[] | select(.status == "Todo")]')

# Filter by label (requires checking each issue)
echo "$TODO_ITEMS" | jq -r '.[].content.url' | while read url; do
  labels=$(gh issue view "$url" --json labels --jq '.labels[].name')
  if echo "$labels" | grep -q "^<LABEL>$"; then
    echo "$url"
  fi
done

Move item to a new status

gh project item-edit \
  --project-id <PROJECT_ID> \
  --id <ITEM_ID> \
  --field-id <STATUS_FIELD_ID> \
  --single-select-option-id <TARGET_STATUS_OPTION_ID>

Add a comment to an issue

gh issue comment <ISSUE_URL> --body "<structured comment>"

Create an issue and add to board

# Create the issue (add --label to assign to a specific agent)
gh issue create --repo <OWNER>/<REPO> --title "<title>" --body "<body>" \
  --label "<LABEL>"

# Add to board (use the returned issue URL)
gh project item-add <NUMBER> --owner <OWNER> --url <ISSUE_URL>

Set priority or size

gh project item-edit \
  --project-id <PROJECT_ID> \
  --id <ITEM_ID> \
  --field-id <PRIORITY_FIELD_ID> \
  --single-select-option-id <PRIORITY_OPTION_ID>

Create a sub-issue

gh issue create --repo <OWNER>/<REPO> \
  --title "<sub-issue title>" \
  --body "Parent: <PARENT_ISSUE_URL>"

# Then add to the board and set fields

Open board in browser

gh project view <NUMBER> --owner <OWNER> --web

Agent Comment Convention

When commenting on issues, use this structured format so other agents and humans can parse updates consistently:

## Agent Update — <AGENT_NAME>

**Status**: Working | Blocked | Complete | Needs Review
**Action**: <brief description of what was done>

### Details

<fuller description of the work, findings, or changes>

### Blockers (if any)

- <blocker description>

### Next Steps

- <next action to take>

---
_Updated by `<AGENT_NAME>` at <ISO 8601 timestamp>_

Agent Workflow Patterns

Pick Up Work

  1. Discover the board (see Board Discovery above)
  2. List items with status "Todo" — if a label filter was provided, only consider issues with that label
  3. Sort by priority (Critical > Very High > High > Average > Low > Very Low > Zero)
  4. Claim the highest-priority item by moving it to "In Progress"
  5. Comment on the issue with an "Agent Update" noting you've started

Work Cycle

  1. Read the issue description, comments, and attachments for requirements
  2. Implement the requested work
  3. Comment periodically with progress updates
  4. Move to "To Review" (if you need feedback) or "Ready" (if work is complete)
  5. Comment with a final summary of what was done

Ask for Clarification

  1. Move the issue to "To Review"
  2. Add a comment with your question using the Agent Comment Convention
  3. Set **Status**: Blocked in the comment
  4. A human will review, answer in comments, and move back to "Todo"
  5. Pick it up again from the backlog

Submit for Approval

  1. Move the issue to "Ready"
  2. Add a comment with:
    • Summary of all changes made
    • Links to PRs or commits
    • Any caveats or known limitations
  3. Set **Status**: Complete in the comment

Agent Handoff

  1. Complete your portion of work
  2. Add a structured comment summarizing what was done and what remains
  3. Move the issue back to "Todo" (or keep in "In Progress" if the next agent should continue immediately)
  4. The next agent picks it up following the "Pick Up Work" pattern

Quality Gate

Before marking any board operation as complete, verify:

  • Status field was actually updated (re-read the item to confirm)
  • Comment follows the Agent Comment Convention
  • No stale "In Progress" items left behind (if you're done with an item, move it)
  • Board README rules were followed

See references/ for the detailed command reference, GraphQL recipes, and expanded workflow patterns; examples/ for installation recipes, usage scenarios, and a full walkthrough; and docs/board-setup.md to create a compatible board.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.