Agent skill

Backlog Refiner

by axelixlabs in axelixlabs/axelix

Refine and triage GitHub backlog by finding open issues that are stale, obsolete, or resolved by another path.

LGPL-3.0Auto-check passedProduct & Project Management

Install Backlog Refiner

skills CLI
$ npx skills add axelixlabs/axelix --skill backlog-refiner -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install axelixlabs/axelix backlog-refiner --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/axelixlabs/axelix.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agent_skills/backlog-refiner .claude/skills/backlog-refiner && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
backlog-refiner
GitHub stars
148
Token cost
~1.7k tokens
SKILL.md length
822 words
Files
2
Skills in repo
9
Repo updated
First seen
Licence
LGPL-3.0

At a glance

Refine and triage GitHub backlog by finding open issues that are stale, obsolete, or resolved by another path.

  • Works in 5 steps: Resolve owner and repo from git → Fetch open issues via GitHub API → Decide investigation order → …
  • The user asks about stale issues
  • SKILL.md covers Core idea, When to offer this workflow, Prerequisites and safety and Step 1 — Resolve owner and…, plus 6 more sections
  • Calls gh and git; reaches github.com; needs GITHUB_TOKEN and GH_TOKEN

What it does

Backlog Refiner is an agent skill from axelixlabs/axelix. Refine and triage GitHub backlog by finding open issues that are stale, obsolete, or resolved by another path. Use this skill whenever the user asks about stale issues, backlog hygiene, issue triage, closing old tickets, reviewing open GitHub issues, whether an issue still applies, or reconciling issue text with the actual codebase—including when the ticket’s proposed fix was abandoned in favor of a different solution. Use it for axelixlabs repositories or whenever the goal is to cross-check GitHub issues against…

Its SKILL.md is about 1.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `evals/evals.json`).

It sits in Product & Project Management, covering Issue triage. It works with GitHub and Spring Boot. The repository describes itself as: The source code of Axelix - a Delta Force for your Spring Boot ecosystem. The licence is LGPL-3.0.

When your agent uses it

  • The user asks about stale issues
  • Backlog hygiene
  • Closing old tickets
  • Reviewing open GitHub issues

Example prompts

  • “refine backlog,”
  • “which issues can we close,”
  • “is this issue still valid,”
  • “/backlog-refiner”

Requirements

  • A credential in GITHUB_TOKEN

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Resolve owner and repo from git
  2. Fetch open issues via GitHub API
  3. Decide investigation order
  4. Investigate each issue (the mandatory part)
  5. Report (always use this shape)

What it can do on your machine

Read from SKILL.md and the folder at commit c0f35c5. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • gh
    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • github.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • GITHUB_TOKEN
    • GH_TOKEN

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Backlog Refiner loads about 1.7k tokens when it runs. Until then it costs about 179 tokens; SKILL.md has 822 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~179
When it runs · the whole SKILL.md, loaded when a task matches
~1.7k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from axelixlabs/axelix at commit c0f35c5, republished under its LGPL-3.0 licence (© axelixlabs). 822 words, ~1,698 tokens.

Download SKILL.mdSave it as .claude/skills/backlog-refiner/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
backlog-refiner
description
Refine and triage GitHub backlog by finding open issues that are stale, obsolete, or resolved by another path. Use this skill whenever the user asks about stale issues, backlog hygiene, issue triage, closing old tickets, reviewing open GitHub issues, whether an issue still applies, or reconciling issue text with the actual codebase—including when the ticket’s proposed fix was abandoned in favor of a different solution. Use it for axelixlabs repositories or whenever the goal is to cross-check GitHub issues against the current repo state (not just by last-updated dates). Triggers often include “refine backlog,” “which issues can we close,” “is this issue still valid,” or “audit open issues.”

Backlog Re-finer

Guide the user through a codebase-informed review of open GitHub issues for the repository that matches this workspace’s origin remote. The goal is a short list of likely-stale issues with evidence, not a blind “old = stale” report.

Core idea

An issue is not stale just because it is old or quiet. It is stale when investigation shows at least one of:

  1. Already addressed — The behavior or work described is implemented, fixed, or otherwise satisfied in the current codebase (possibly in a different area than the ticket assumed).
  2. Superseded approach — The ticket recommends or assumes a particular solution, but the project chose another path that solves the underlying problem; keeping the ticket open misrepresents current intent.
  3. No longer applicable — Product/architecture/constraints changed; the ticket’s premise no longer holds.
  4. Duplicate / replaced — Another issue, PR, or doc supersedes it (link the evidence).

If you cannot find evidence after reasonable code and history search, say so and treat the issue as undetermined rather than stale.

When to offer this workflow

Offer or follow this skill when:

  • The user wants a backlog cleanup, stale issue list, or what can we close review.
  • The user points at open issues in the GitHub repo that matches this git remote.
  • The user suspects tickets describe the wrong solution compared to what the code does now.

Prerequisites and safety

  • Authentication: Prefer the GitHub CLI (gh) if available and already logged in (gh auth status). Otherwise use a GITHUB_TOKEN (or GH_TOKEN) with at least repo scope for private repos, or public read access for public repos. Never paste tokens into chat, logs, or committed files.
  • Rate limits: Use pagination and caching; avoid hammering the API. If listing hundreds of issues, summarize in batches or ask the user for filters (label, assignee, milestone, “updated before date”).
  • Scope: Default to open issues only unless the user asks otherwise.

Step 1 — Resolve owner and repo from git

Run in the workspace root (or ask the user for the path):

bash
git remote get-url origin

Parse the remote URL into owner and repo:

  • https://github.com/OWNER/REPO.git → OWNER, REPO (strip .git).
  • git@github.com:OWNER/REPO.git → same.

If there is no origin, or parsing fails, ask the user for OWNER/REPO explicitly. For this project, expect axelixlabs/axelix when the remote is the default GitHub URL.

Step 2 — Fetch open issues via GitHub API

Include issues only: GitHub’s “issues” listing includes pull requests. Filter out items that have a pull_request field in the API response, or use GraphQL/REST fields that distinguish issues.

Recommended (CLI):

bash
gh api "repos/OWNER/REPO/issues?state=open&per_page=100" --paginate \
  --jq 'map(select(.pull_request == null))'

Use query parameters on GET requests (state, per_page, labels, etc.). Use -f only when the endpoint expects a body (for example POST).

Adjust OWNER/REPO or use /repos/{owner}/{repo}/issues with pagination in the tool the environment provides.

Capture for each issue at minimum: number, title, body, html_url, labels, assignees, created_at, updated_at, author, state (should be open).

Step 3 — Decide investigation order

Unless the user specifies otherwise:

  1. Prefer issues least recently updated first (often higher stale risk given you will still verify in code).
  2. Or prioritize issues the user names, or those with labels like tech-debt, bug, feature.
Show full SKILL.md (314 more words)Show less

Step 4 — Investigate each issue (the mandatory part)

For each issue under review:

  1. Restate the intent in one sentence (problem vs proposed implementation).
  2. Search the codebase — Use repo search tools for distinctive terms from the title/body; open relevant files. Trace modules mentioned (e.g. master/, sbs/, front-end/) from CLAUDE.md/AGENTS.md if helpful.
  3. Check for superseded solutions — If the ticket says “we should do X,” look for evidence that the problem was solved by Y instead (commits, ADRs, newer components, feature flags, renamed packages). Cite file paths or PR/issue links if found via gh or git history.
  4. Check completion — Tests, feature toggles, removed code paths, or comments referencing the GitHub issue number can support “done.”
  5. Conclusion — One of: likely stale (close or rewrite) · not stale · undetermined (needs human).

If exploration is inconclusive, say undetermined and list what would confirm either way (e.g. product decision, external dependency).

Step 5 — Report (always use this shape)

Produce a report so maintainers can act without re-deriving your reasoning.

Summary
  • Total open issues considered (and scope: entire backlog vs subset).
  • Counts: likely stale, not stale, undetermined.
Table — Likely stale

For each issue, include:

| Issue | Title | Stale reason category | Evidence (paths, brief notes) | Suggested next step |

Suggested next steps examples: “Close as completed,” “Close as not planned,” “Rewrite issue to match approach Y,” “Split into new scoped ticket.”

Table — Not stale (optional, brief)

Only if useful for the user—short list or counts.

Notes
  • API/tool limits, skipped issues, or filters applied.

Pitfalls to avoid

  • Do not mark stale solely from updated_at or age.
  • Do not assume the ticket’s proposed implementation is still the plan—verify against code and recent changes.
  • Do not leak or commit secrets; avoid dumping full issue bodies if the user only wants a summary.

Quick reference — REST endpoints

  • List issues: GET /repos/{owner}/{repo}/issues?state=open&per_page=100
  • Single issue: GET /repos/{owner}/{repo}/issues/{issue_number}

(Prefer gh api when available; same endpoints under the hood.)

© axelixlabs, LGPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file in .agent_skills/backlog-refiner of axelixlabs/axelix.

  • SKILL.md
  • evals/evals.json

Open the folder on GitHubat commit c0f35c5

Compare with similar skills

Backlog Refiner next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Backlog Refiner compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Backlog Refiner this skillaxelixlabs/axelix148—~1.7kAutomated safety check: PassLGPL-3.0
GitHub Project Management Swarmruvnet/agentic-flow8196 repos~7.1kAutomated safety check: PassNone
Issue Triagesuperset-sh/superset15k—~995Automated safety check: PassCustom licence
Issue Triage WorkflowHack23/cia239—~1.1kAutomated safety check: PassApache-2.0
GitHub Issue TriageOpenHands/extensions161—~437Automated safety check: PassMIT
A2ui Issue Triagea2ui-project/a2ui17k—~1.5kAutomated safety check: PassApache-2.0

Similar skills

  • Manages GitHub issues and project boards with swarm coordination: issue creation and triage, issue-to-task conversion, progress tracking and stale issue cleanup.

    819 GitHub starsUsed in 6 repos~7.1k tokens
    Product & Project ManagementAuto-check passed
  • Issue Triage

    superset-sh/superset

    Triage a GitHub issue into something actionable — reproduce the claim, find duplicates, judge severity, and apply labels, milestone, and assignee.

    15k GitHub stars~995 tokensUpdated today
    Product & Project ManagementAuto-check passed
  • Triage GitHub issues: labeling, prioritization, assignment, and resolution tracking

    239 GitHub stars~1.1k tokensUpdated today
    Product & Project ManagementAuto-check passed
  • GitHub Issue Triage

    OpenHands/extensions

    Prioritize open issues and establish acceptance criteria before marking them ready for development.

    161 GitHub stars~437 tokensUpdated today
    Product & Project ManagementAuto-check passed
  • A2ui Issue Triage

    a2ui-project/a2ui

    Automates the triage of GitHub issues in the A2UI repository.

    17k GitHub stars~1.5k tokensUpdated today
    DevelopmentAuto-check passed
  • AI Project Copilot

    sun461941-hub/ai-project-copilot

    A skill your agent uses to turn an AI idea or existing repository into a credible open-source product and to run evidence-first repository engineering across codebase discovery, context-efficient…

    100 GitHub stars~3k tokensUpdated 1 mo ago
    AI & LLM EngineeringAuto-check passed

More from axelixlabs/axelix

All 9 skills in this repo
  • Config Breaking Changes

    axelixlabs/axelix

    Review configuration property changes in the Axelix project for breaking changes and migration-policy compliance.

    148 GitHub stars~2.6k tokensUpdated today
    Auto-check passed
  • Pick open GitHub issues in the Axelix monorepo that are suitable for unpaid volunteer contributors working in their spare time.

    148 GitHub stars~2.2k tokensUpdated today
    Auto-check passed
  • Prepare Minor Release

    axelixlabs/axelix

    Prepare an Axelix minor lockstep release — the pre-release housekeeping changes, a hand-editable release-notes draft, and the post-release bump to the next -SNAPSHOT.

    148 GitHub stars~2.5k tokensUpdated today
    Auto-check passed
  • Create batched Dependabot-style pull requests for GitHub security findings in axelixlabs/axelix, grouped by dependency surface such as master/front-end, master/build.gradle.kts, or starter Gradle…

    148 GitHub stars~4.2k tokensUpdated today
    Auto-check passed
  • Starter Domain Reviewer

    axelixlabs/axelix

    Reviews changes in sbs/starter-domain for technology-agnostic domain logic, forbidden production dependencies, and Java 11+ compatibility.

    148 GitHub stars~3.3k tokensUpdated today
    Auto-check passed
  • Test Reviewer

    axelixlabs/axelix

    Reviews test code in GitHub pull requests for isolation, public-API contract coverage, AAA structure, and correct exception assertions.

    148 GitHub stars~3.2k tokensUpdated today
    Auto-check passed

Questions about Backlog Refiner

What does Backlog Refiner do?

Refine and triage GitHub backlog by finding open issues that are stale, obsolete, or resolved by another path. Backlog Refiner is an agent skill from axelixlabs/axelix. Refine and triage GitHub backlog by finding open issues that are stale, obsolete, or resolved by another path.

When should I use Backlog Refiner?

Backlog Refiner fits situations like: the user asks about stale issues; backlog hygiene; closing old tickets; reviewing open GitHub issues.

How do I install Backlog Refiner in Claude Code?

Run `npx skills add axelixlabs/axelix --skill backlog-refiner -a claude-code`. Or copy the skill folder (.agent_skills/backlog-refiner in axelixlabs/axelix) into .claude/skills/backlog-refiner in your project. Claude Code loads it when a task matches its description.

How do I install Backlog Refiner in Codex?

Run `npx skills add axelixlabs/axelix --skill backlog-refiner -a codex`. Or copy the skill folder (.agent_skills/backlog-refiner in axelixlabs/axelix) into .agents/skills/backlog-refiner in your project. Codex loads it when a task matches its description.

Can I use Backlog Refiner in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add axelixlabs/axelix --skill backlog-refiner -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/backlog-refiner, .gemini/skills/backlog-refiner, .github/skills/backlog-refiner and .opencode/skills/backlog-refiner in your project.

What does Backlog Refiner need to run?

Going by SKILL.md and its folder, Backlog Refiner needs the command-line tools its instructions call (gh and git) and credentials named GITHUB_TOKEN and GH_TOKEN. Our summary lists: A credential in GITHUB_TOKEN.

Does Backlog Refiner access the network?

SKILL.md names 1 domain. In commands or code: github.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Backlog Refiner safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Backlog Refiner use?

Backlog Refiner is published under the LGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Backlog Refiner use?

About 1.7k tokens (SKILL.md is roughly 6.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Backlog Refiner?

Skills that share tags, products or a category with Backlog Refiner: GitHub Project Management Swarm (ruvnet/agentic-flow, 819 stars), Issue Triage (superset-sh/superset, 15k stars), Issue Triage Workflow (Hack23/cia, 239 stars) and GitHub Issue Triage (OpenHands/extensions, 161 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Backlog Refiner?

axelixlabs (a GitHub organization) maintains it in axelixlabs/axelix, which has 148 GitHub stars. The repository holds 9 skills in this directory. The repository was last updated on October 8, 2026.

Source: axelixlabs/axelix on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.