backlog
Manage a GitHub-Issues-backed backlog and a Projects-v2 work graph via five verbs.
Skill by jesdi
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/jesdi-backlog
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: research, productivity
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Python package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/backlog
What's inside
- Skill name
backlog- Description
- Manage a GitHub-Issues-backed backlog and a Projects-v2 work graph via five verbs. Use when the user wants to CAPTURE an idea/research thread ("add to backlog", "capture this", "note this idea", "log a task"), TRIAGE the inbox ("triage the backlog", "score the inbox"), see what to work on NEXT ("what's next", "what should I work on", "ranked backlog", "next actionable task"), LAND a finished item ("mark done", "close out #N"), or SETUP the board the first time. Ranks open issues by impact÷effort, respecting `Blocked by:` edges, so only actionable work surfaces.
- License
- MIT
- Instructions
- 226 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Files (7)
- SKILL.md
- meta.py
- project-meta.example.json
- rank.py
- graphql.md · references/
- test_meta.py
- test_rank.py
SKILL.md (first lines)
# backlog — capture + ranked work graph on GitHub
Two needs, one substrate: a frictionless **capture** inbox (loose issues labelled
`inbox`) and a typed, dependency-aware **work graph** (one user-owned Project v2
with Impact / Effort / Area / Status). The verbs below operate on both.
**Dispatch on the user's intent:**
| Intent | Verb |
|--------|------|
| "add this idea", "capture", "note this" | `capture` |
| "triage the inbox", "score these" | `triage` |
| "what's next", "ranked backlog" | `next` |
| "I'm starting #N", beginning work on an issue | `start` |
| "mark #N done", "close it out" | `land` |
| first-time board creation | `setup` |
All exact commands live in `references/graphql.md`. Board IDs come from the
**consuming project's** `.backlog/project-meta.json` (created by `setup`, found
by walking up from the current directory). That file is a **static schema
pointer** — project/field/option IDs only, *not* issue state (Impact/Effort/
Status live on the GitHub board and `rank.py` fetches them live). Because the IDs
are non-secret constants that change only on re-provision, the file is
**committed in the consuming repo** and shared across every branch/worktree;
`project-meta.example.json` is the shape reference. Reads use the existing `gh`
login; **writes need the one-time `gh auth refresh -s project`** (Projects v2 is
not in the default `repo` scope).
`<owner>`, `<repo>`, `<projectNumber>` below all come from that
`.backlog/project-meta.json`.
## Label taxonomy (capture infers, triage confirms)
Issues carry conventional repo labels alongside `inbox`. They are orthogonal to
the board's `Area` field — never derive one from the other. Apply every label
that clearly fits, typically 1–3 total; when unsure, apply fewer. Use **only**
these labels (`setup` provisions them all) — never invent new ones.
**Type — at most one:**
| Label | Apply when |
|-------|-----------|
| `bug` | Something is broken or behaves incorrectly |
| `enhancement` | New feature or improvement to existing behavior |
| `documentation` | Docs, READMEs, comments, guides |
| `question` | Open question or decision needed, not yet actionable work |
**Area — pick 0–2:**
| Label | Apply when |
|-------|-----------|
| `frontend` | UI, components, styling, client/browser behavior |
| `backend` | Server logic, APIs, data models, services |
| `infra` | Deployment, hosting, environments, tooling, build |
| `ci` | CI/CD pipelines, workflows, checks |
| `security` | Vulnerabilities, auth, permissions, hardening |
| `performance` | Speed, memory, efficiency, scalability |
| `testing` | Test coverage, test infrastructure, flaky tests |
| `dependencies` | Upgrading or managing third-party dependencies |
**Pipeline — orthogonal to Type and Area:**
Whether an issue is ready for an unattended agent to pick up, and what it
carries. `auto` and `human-required` are mutually exclusive; leave both off
when it is genuinely unclear — an unlabelled issue is simply not routed, which
is the safe default. `spec-ready` may sit alongside `auto`. Dispatchers filter
on `auto` and read `spec-ready`; nothing else reads these.
| Label | Apply when |
|-------|-----------|
| `auto` | Trivial, or close enough to previously automated work — suitable for the unattended agents pipeline |
| `human-required` | Substantial fog of war remains; needs heavy human interaction before an agent can take it |
| `spec-ready` | The issue body already carries a settled design (Problem, Solution, Implementation and Testing Decisions), typically written by `to-spec` after a grilling session — the pipeline skips its own interview and reconciles the design against current code |
## `setup` — create the board once (idempotent)
Run when `.backlog/project-meta.json` is absent or the board is being
(re)provisioned. Reconciles rather than duplicates — re-running after adding a
field is safe. Writes into the **project's** `.backlog/` directory, not the skill
dir.
1. Ensure the `project` scope: `gh auth status`; if Projects calls 403, run
`gh auth refresh -s project`.
2. Follow `references/graphql.md` → **Setup**: create the Project, link the repo,
add the six fields, create the `inbox` label plus the 15 taxonomy labels
(idempotent — `--force` reconciles color/description on re-runs). On a
brand-new board the `Area`
single-select is created with the generic default options
`feature,bug,infra,docs,research`. If any step reports "already exists", treat
it as done and continue. Projects that want different Areas edit the option set
on the board (GitHub UI) and re-run `setup` to reconcile the IDs.
3. Discover IDs: `gh project view … --format json` (project id) and
`gh project field-list … --format json` (field + option ids).
4. Build `.backlog/project-meta.json` from that discovery using
`meta.build_project_meta`. Run from the skill directory (so `import meta`
resolves), writing to the project's `.backlog/` (create it if missing):
```bash
mkdir -p "$PROJECT_ROOT/.backlog"
gh project view <projectNumber> --owner <owner> --format json > /tmp/proj.json
gh project field-list <projectNumber> --owner <owner> --format json > /tmp/fields.json
python3 - "$PROJECT_ROOT/.backlog/project-meta.json" <<'PY'
import json, sys, meta
proj = json.load(open("/tmp/proj.json"))
fields = json.load(open("/tmp/fields.json"))
out = meta.build_project_meta(
"<owner>", "<repo>",
proj["number"], proj["id"], fields)
json.dump(out, open(sys.argv[1], "w"), indent=2)
print("wrote", sys.argv[1])
PY
```
5. Confirm every field + option id in `.backlog/project-meta.json` is non-empty,
then commit the real file (non-secret schema pointer). Report the Project URL.
6. **Built-in workflows (UI-only — no API exists; ask the user to click):**
at `https://github.com/users/<owner>/projects/<projectNumber>/workflows`
enable:From jesdi/general-skills, MIT.
More from jesdi/general-skills
- 0.570score
pr-visual-diff
jesdi
Capture before/after screenshots of UI views with Playwright and embed them in a PR.
SkillAFreshness: AClaude Code +9 - 0.565score
pr-risk
jesdi
Merge-risk block of a PR body.
SkillAFreshness: AClaude Code +9 - 0.565score
review-page
jesdi
One interactive HTML page for a plan review or a questionnaire, built from a fixed template.
SkillAFreshness: AClaude Code +9 - 0.565score
to-openspec
jesdi
Turn settled discovery notes and a sketched data model into a spec folder in openspec shape (proposal, spec, design) under specs/<slug>/, plus ticket files…
SkillAFreshness: AClaude Code +9 - 0.565score
review-diff
jesdi
Review a branch before merge: first a gate (the repo's check command plus crap-gate), then three independent reviewers in parallel — spec (did we build what…
SkillAFreshness: AClaude Code +9 - 0.561score
to-tickets
jesdi
Break a spec, plan, or the current conversation into numbered tracer-bullet ticket files under .agent/tickets/, each declaring its blocking edges and…
SkillAFreshness: AClaude Code +9 - 0.561score
babysit-pr
jesdi
Babysit an open pull request until it is merged or handed to a human.
SkillAFreshness: AClaude Code +9 - 0.555score
implement-spec
jesdi
Implement a specification in code.
SkillAFreshness: AClaude Code +9 - 0.534score
test-prune
jesdi
Mutation-guided test pruning: a fixer proposes deleting redundant tests and strengthening weak ones, an independent reviewer accepts or rejects each proposal…
SkillAFreshness: AClaude Code +9 - 0.524score
deep-quality-review
jesdi
Extremely strict maintainability review of a branch's changes: duplicated concepts, complexity that got rearranged instead of deleted, spaghetti branching…
SkillBFreshness: BClaude Code +9 - 0.524score
red-team-data-model
jesdi
Attack a proposed or existing data model for the ways it breaks under real conditions — concurrency, time windows, money, permissions — without proposing a…
SkillBFreshness: BClaude Code +9 - 0.524score
crap-gate
jesdi
Score every function a branch changed with CRAP (cyclomatic complexity × untested fraction), fail on existing functions above 15 and new functions above 9…
SkillBFreshness: BClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 23
- Last commit (this folder)
- Oct 6, 2026 (24 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/jesdi/general-skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from jesdi
- 0.570score
pr-visual-diff
jesdi
Capture before/after screenshots of UI views with Playwright and embed them in a PR.
SkillAFreshness: AClaude Code +9 - 0.565score
review-page
jesdi
One interactive HTML page for a plan review or a questionnaire, built from a fixed template.
SkillAFreshness: AClaude Code +9 - 0.565score
to-openspec
jesdi
Turn settled discovery notes and a sketched data model into a spec folder in openspec shape (proposal, spec, design) under specs/<slug>/, plus ticket files…
SkillAFreshness: AClaude Code +9 - 0.565score
pr-risk
jesdi
Merge-risk block of a PR body.
SkillAFreshness: AClaude Code +9 - 0.565score
review-diff
jesdi
Review a branch before merge: first a gate (the repo's check command plus crap-gate), then three independent reviewers in parallel — spec (did we build what…
SkillAFreshness: AClaude Code +9 - 0.561score
babysit-pr
jesdi
Babysit an open pull request until it is merged or handed to a human.
SkillAFreshness: AClaude Code +9
Cite this page
backlog skill. Agent Mart. https://agentmart.dev/skills/jesdi-backlog (last updated 2026-10-24)