Skip to main content
skill CX Codex

run-github-project — Claude Code skill: GitHub Project as a control

Runs a repository's GitHub Project workflow: triages Todo, claims work in Ready to implement, and carries it through to Done.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add chrisbanes/skills --skill run-github-project -a claude-code
Open on GitHub

What run-github-project does

The skill treats the Project as a live control plane. Fresh board state plus the grants issued for this run decide every claim, write and finish. Default lanes run Backlog → Todo → Ready to implement → In progress → Done, and the skill resolves them through verified option IDs from the trusted binding.

The rules are strict. Backlog is read-only: no claiming, planning, triage or epic closure there, and only humans move items out. Automatic work starts at Todo. Caches and partial reads count as hints, so state gets rechecked before each claim, write or merge. Only the controller mutates shared Project state, merges and closes issues; a ticket agent owns just its worktree, branch and non-merge PR changes.

Four modes are available. review and setup inspect or configure the binding, next takes at most one issue, and drain runs only on an explicit request with no ticket cap. Merge permission is settled once at startup: without it, ready PRs still get delivered and only merges pause. The skill never installs an external provider on its own — those are set up separately, as references/workflow-providers.md describes.

What it helps with

  • triage incoming Todo items and pick what to claim
  • move an issue through the Project lanes to Done
  • recover after an unknown or failed GitHub mutation
  • close an epic together with its linked issues
  • run the whole queue on an explicit drain request

Example prompts for the agent

  • triage the Todo column in our GitHub Project and tell me what is claimable
  • claim one issue from Ready to implement and take it to a PR
  • drain this Project until the queue is empty

How to install run-github-project

1Skills CLI (Vercel)

npx skills add chrisbanes/skills --skill run-github-project -a claude-code

2Manually: put the files in place

~/.claude/skills/run-github-project/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/run-github-project/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about run-github-project

How do I install run-github-project in Claude?

Use the skills CLI: npx skills add chrisbanes/skills --skill run-github-project -a claude-code. The skill file then lives at ~/.claude/skills/run-github-project/SKILL.md.

What does run-github-project do?

It operates a GitHub Project workflow: triages Todo, claims issues in Ready to implement, drives them to Done, and keeps board state fresh before every write.

Does the skill need external providers?

It depends on the mode. Review and setup need none, while execution, triage and the Wayfinder lanes use the providers documented in references/workflow-providers.md.

Source text

SKILL.md · Apache-2.0
---
name: run-github-project
description: Use when asked to set up, review, or operate a repository's GitHub Project workflow, including ready claims, role-labelled human work, unknown remote mutation outcomes, Todo triage, epics, checkpoints, next-issue execution, or an authorized drain.
compatibility: "External skill providers are mode-specific: review and setup require none; execution, triage, and Wayfinder lanes use the providers documented in references/workflow-providers.md."
disable-model-invocation: true
---

# Run GitHub Project

## Core principle

The Project is the live control plane: fresh board state and this run's
operation-specific grants decide every claim, write and finish.
Default lanes are `Backlog` → `Todo` → `Ready to implement` → `In progress` →
`Done`; resolve them through the trusted binding's verified option IDs.

## Invariants

1. **Column authority:** current column membership authorizes a ticket, never transition history. Backlog is read-only: never claim, plan, triage, close epics or resume cleanup there; only humans move items out. Automatic work starts at Todo.
2. **Live authority:** claims, selection, merge, recovery and finish need complete fresh state; caches and partial reads are hints; rehydrate only changed or unverified records. Recheck operation-specific authority before each claim, write or merge, even from a reused snapshot; ranker eligibility grants nothing.
3. **Controller ownership:** only the controller claims, assigns, mutates shared Project state, merges, closes issues and reconciles; a ticket agent owns only its worktree, branch and non-merge PR changes.
4. **Unknown outcomes:** reconcile an unknown or failed mutation or publication before retrying, freeing capacity or reporting success.
5. **Preservation:** keep blocked, dependency-gated and human work in its frontier with owner, claim, slot, draft, artifacts, grants and budgets; never change state to empty the queue. Released capacity resumes only in free slots.
6. **Retained owner:** feedback, repairs and amendments keep the owner, claim and slot without a Todo/Ready reset; renew affected checks and reviews at the final head, never relying on earlier-head evidence.
7. **No invented gates:** never infer a permission, capacity limit, provider or prerequisite the supplied state lacks; independent runnable work continues while others wait.
8. **Supplied state:** decide review, setup or analysis from supplied complete state without another Project or repository read (still read references); judge the described environment, not providers missing from this workspace. A validated proposed diff is `configuration-ready-to-commit` even unwritten and uncommitted. Profile selection calls no routing service and grants no claim or merge authority; ignore legacy routing fields without editing them.
9. **No escape hatch:** renewal or amendment never resumes parked CI, grants live turns or resets qualification. Unknown or stale evidence blocks dependants; material architecture changes need full replan and review; changed authority or qualification needs a stakeholder or source decision.

A verified handoff covers in-scope implementation, tests and repairs under
`deliver-spec`, with one independent integrated-candidate review. Replans keep
verified plan state; true human work returns to a decision pause. `drain` parks
verified authority pauses and qualifying terminal required-CI claims outside
capacity before refreshing; in `next`, a required-CI stall keeps its slot. A
wrong plan seam still failing after one diagnosis and two repairs needs the
replan packet; a repeated non-CI failure stays with its owner, who asks one
capability-selected read-only evidence helper and resumes only on new direction,
else reports the exact blocker.

## Select the mode

- `review`: inspect or explain only. `setup`: configure or validate the binding only.
- `next`: default; at most one selected issue; after the startup merge decision settles, returns `waiting-for-human` without further waiting. A named Wayfinder child stays `next`.
- `drain`: only on explicit drain/run-all/until-empty request; no ticket cap. With only remote or human waits left it runs the read-only [Project Watcher](references/drain-scheduler.md#project-watcher), never replacing the Refresh Gate.

Resolve merge permission once at startup under
[run authority](references/authority-and-pauses.md): honor an explicit merge or
no-merge instruction; otherwise ask with a 60-second default-no deadline while
delivery continues. Without permission, deliver ready PRs and pause only merges.

## Read before acting

| Mode | Mandatory reference |
| --- | --- |
| `review` or `setup` | [Review and setup](references/review-and-setup.md) |
| `next` or `drain` | [Review and setup](references/review-and-setup.md) for binding validation, then [execution controller](references/execution-controller.md) and [ticket lifecycle](references/ticket-lifecycle.md) |

Execution also reads [workflow providers](references/workflow-providers.md)
first (never install one implicitly), [authority and pauses](references/authority-and-pauses.md),
and [review contracts](references/review-contracts.md) before acceptance work;
`drain` reads [drain scheduler](references/drain-scheduler.md) completely before
drain queue work. Read the matching section first, even for analysis:

| Question involves | Read |
| --- | --- |
| Pre-dispatch readiness, qualification, live turns | [Unattended readiness](references/execution-controller.md#unattended-readiness) |
| Capacity, shared paths, refresh, timing, CI parking | [Drain scheduler](references/drain-scheduler.md) |
| Planner yield, amendment, replan | [Todo lane](references/todo-lane.md#yield-a-planner-for-delivery) |
| Configuration change or renewal | [Project config](references/project-config.md#renew-presentation-only-configuration) |
| Agent profiles or helper assignment | [Agent routing](references/agent-routing.md) |

## Answer each item

Per ticket or scenario, give its classification and safe next action, exact
preserved state and resume evidence (never the blocked operation's own result), and checks
repeated before execution.
For a repeated cycle, compare the previous cycle's evidence and give one
bounded next action or the exact blocker.

## Final report

Use the lane's terminal state and report contract. Lead with the outcome,
blockers with resume conditions, and the user's next action; unresolved
prerequisites are partial work, not an empty drain; audit detail goes last. Report intervals under the
[timing procedure](references/drain-scheduler.md#phase-timing-and-stalls).

© chrisbanes · Apache-2.0 · chrisbanes/skills

Similar skills

All skills for Git and GitHub →

From the same set17

kotlin-control-flow A skill that steers your coding agent through Kotlin branching: when expressions, guard conditions, sealed-type exhaustiveness, smart casts. CX Codex +1 1,100installs compose-component-design A skill for designing and reviewing reusable Jetpack Compose component APIs: slots, modifier parameters, root layout placement. CX Codex +1 1,000installs kotlin-api-design Walks you through function ownership, value classes and expect/actual boundaries in Kotlin. Useful when shaping a public API or a KMP module. CX Codex +1 949installs gradle-run Runs Gradle builds through a compact-output wrapper and keeps a workflow ledger, so the agent never floods its context with a full build log. CX Codex +1 768installs implement-with-subagents Orchestrates plan tasks across solo or worker subagents with task-scoped commits, integration checks, and mandatory independent review. CX Codex +1 582installs grounded-writing A skill for drafting and reviewing developer docs, reports, and replies without invented facts, promotional filler, or irrelevant implementation mechanics. CX Codex +1 448installs release-kotlin-library Prepares, validates, and publishes Kotlin library releases. It reconciles changelogs, updates Metalava API snapshots, and verifies publication. CX Codex +1 340installs android-benchmark-comparison Enforces a reproducible procedure for comparing physical Android benchmark configurations. Helps resolve reversed rankings and pick measured defaults safely. CX Codex +1 329installs

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor