project-board-enforcement

Enforces GitHub Project board membership and status gates before any work proceeds.

Updated Jan 1, 2026
One-click install
npx skills add https://github.com/sarkarshivaditya-lab/WellMate --skill project-board-enforcement-sarkarshivaditya-lab
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: project-board-enforcement
Source: https://github.com/sarkarshivaditya-lab/WellMate/tree/main/.engineering-skills/troykelly-claude-skills/skills/project-board-enforcement
Command: npx skills add https://github.com/sarkarshivaditya-lab/WellMate --skill project-board-enforcement-sarkarshivaditya-lab

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Teams lose track of work state when issues live outside the project board or carry stale statuses. This Skill makes the GitHub Project board the single source of truth by providing gate functions that block any work until issues are in the board with correct Status, Type, and Priority fields. ## Core Features & Use Cases - Gate Verification Functions: Bash functions like verify_issue_in_project and verify_status_set block work when an issue is missing from the board or lacks a Status field, returning actionable fix commands. - Cached API Reads: All read operations use GH_CACHE_ITEMS and GH_CACHE_FIELDS environment variables, reducing GitHub API calls to zero for queries and one call for writes. - Transition Enforcement: Validates status transitions (Backlog → Ready → In Progress → In Review → Done, plus Blocked) and rejects invalid state changes. - Use Case: Before starting work on issue #42, another skill calls verify_issue_in_project; if the issue is not on the board, work is blocked with the exact gh project item-add command needed to fix it. ## Quick Start Ask the AI to verify that issue #42 is on the GitHub Project board with a valid status before starting any work on it.

Frequently Asked Questions about project-board-enforcement

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I verify a GitHub issue is in a project board before working on it?▼

Call the verify_issue_in_project function with the issue number. It checks the cached GH_CACHE_ITEMS data with jq and returns the project item ID, or blocks work and prints the gh project item-add command needed to fix it.

How to reduce GitHub API calls when querying project board status?▼

Cache project items and fields once at session start into GH_CACHE_ITEMS and GH_CACHE_FIELDS environment variables. All read queries then run against the cache with jq for zero API calls; only writes like item-add or item-edit consume API calls.

What environment variables are required for GitHub project board automation?▼

You need GITHUB_PROJECT (full URL), GITHUB_PROJECT_NUM (project number), GH_PROJECT_OWNER, plus cached values GH_CACHE_ITEMS, GH_CACHE_FIELDS, GH_PROJECT_ID, GH_STATUS_FIELD_ID, and the GH_STATUS_*_ID option IDs set by the session-start skill.

Why does work get blocked with NOT_IN_PROJECT or NO_STATUS errors?▼

These gate errors fire when an issue is missing from the project board or its Status field is unset. Add the issue with gh project item-add and set the Status field, then the verification functions will pass and work can proceed.

Should I use labels or project board fields for issue status tracking?▼

Use the project board Status field for state tracking, not labels. Labels are reserved for supplementary info like epic names or spawned-from references, while the board's Status, Type, and Priority fields are the enforced source of truth.