Agent skill

Backlog

by meain in meain/dotfiles

Daily backlog management — full planning review OR add a single entry from a URL.

MITAuto-check passed

Install Backlog

skills CLI
$ npx skills add meain/dotfiles --skill backlog -a claude-code

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

GitHub CLI
$ gh skill install meain/dotfiles backlog --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/meain/dotfiles.git skills-src && mkdir -p .claude/skills && cp -r skills-src/agents/.agents/skills/backlog .claude/skills/backlog && 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
GitHub stars
285
Token cost
~3k tokens
SKILL.md length
1,409 words
Files
4 (incl. scripts)
Skills in repo
36
Repo updated
First seen
Licence
MIT

At a glance

Daily backlog management — full planning review OR add a single entry from a URL.

  • Works in 11 steps: Classify → Fetch Content → Compose Entry → …
  • SKILL.md covers Backlog Location, Mode A: Add Entry from URL and Mode B: Full Daily Review
  • Runs Shell scripts from its folder; calls gh, git and jq; reaches github.com

What it does

Backlog is an agent skill from meain/dotfiles. Daily backlog management — full planning review OR add a single entry from a URL. Full review: gathers Jira sprint, GitHub PRs, checked-off items, and collaboratively plans the day. Add from URL: looks up a Teams message, Jira ticket, GitHub PR/issue, or incident.io alert and creates a concise backlog entry with a [ref] link. Triggers: /backlog-review, /update-backlog, "update my backlog", "plan my backlog", "what should I work on today", "refresh backlog", "backlog update", /backlog-add, "add this link to…

Its SKILL.md is about 3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including scripts (for example `scripts/date-before.sh`, `scripts/pending-prs.sh` and `scripts/sprint-tickets.sh`).

It works with Jira and GitHub. The repository describes itself as: If there is a shell, there is a way! The licence is MIT.

Example prompts

  • “update my backlog”
  • “plan my backlog”
  • “what should I work on today”
  • “/backlog”

Requirements

  • A Bash shell

Workflow steps

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

  1. Classify
  2. Fetch Content
  3. Compose Entry
  4. Add to Backlog
  5. Verify Today's Date
  6. Read Backlog
  7. Handle Checked-Off Items
  8. Gather External Data (parallel)
  9. Select Candidates via Emacs
  10. Commit Then Update Backlog
  11. Code Review Summaries (on request only)

What it can do on your machine

Read from SKILL.md and the folder at commit f469fb6. 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

    Ships 3 files in scripts/ (Shell), which the agent can run.

    Shell commands in SKILL.md call:

    • gh
    • git
    • jq

    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 no API keys, tokens, secrets or passwords.

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

Context cost

Backlog loads about 3k tokens when it runs. Until then it costs about 145 tokens; SKILL.md has 1,409 words of instructions outside code blocks.

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

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); the scripts in this folder are not scanned.

SKILL.md

The full file from meain/dotfiles at commit f469fb6, republished under its MIT licence (© meain). 1,409 words, ~2,997 tokens.

Download SKILL.mdSave it as .claude/skills/backlog/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
backlog
description
Daily backlog management — full planning review OR add a single entry from a URL. Full review: gathers Jira sprint, GitHub PRs, checked-off items, and collaboratively plans the day. Add from URL: looks up a Teams message, Jira ticket, GitHub PR/issue, or incident.io alert and creates a concise backlog entry with a [ref] link. Triggers: /backlog-review, /update-backlog, "update my backlog", "plan my backlog", "what should I work on today", "refresh backlog", "backlog update", /backlog-add, "add this link to backlog", "backlog from link", "look up and add to backlog"
user_invocable
true

/backlog — Daily Backlog Management

Two modes: full daily review (default) or add single entry from URL (when a URL is provided).

Backlog Location

File: /Users/meain/.local/share/sbdb/Backlog/Backlog.md Sections: Today, Tomorrow, This Week, Weekend, Next Week, Whenever, Ongoing, and dated "Before" sections.


Mode A: Add Entry from URL

When given a URL, classify the source, fetch content, and add a task to the backlog.

Step 1: Classify
PatternType
teams.microsoft.com/l/message/Teams message
veeam-vdc.atlassian.net/browse/Jira ticket
github.com/.../pull/GitHub PR
github.com/.../issues/GitHub issue
app.incident.io/incident.io alert/incident
Step 2: Fetch Content
  • Teams: Use MS365 MCP read_resource with URI teams:///teams/{groupId}/channels/{channelId}/messages/{messageId}. Extract sender name, message body.
  • Jira: jira issue view PROJ-123 --plain — extract summary, status, assignee, type.
  • GitHub PR: gh pr view <url> --json title,author,body,state
  • GitHub issue: gh issue view <url> --json title,author,body,state
  • incident.io: Use incident.io MCP tools (alert_show or incident_show).
Step 3: Compose Entry

Format: - [ ] <concise description> [ref](<original-url>)

Guidelines:

  • Keep description short — a few words, enough to identify the task. No inline rationale or detail.
  • If more context is needed, create a task note and link it with a wiki-link instead of expanding the description.
  • Include person's first name if someone is asking/assigning something
  • Jira: Fix auth token storage bug [DP-1234](url)
  • GitHub PR: Review [repo#number](url): summary
  • Teams: Review topic from Name [ref](url)
  • Use [x] for completed or won't-do items. Never use [-] or any other checkbox state.
Step 4: Add to Backlog

Use /vault skill to add to the specified section (default: Today). If unavailable, directly edit Backlog.md — find the target section heading and insert at the end of that section.


Mode B: Full Daily Review

Collaboratively update the Today section of the backlog by pulling data from external sources and working with the user to decide what's realistic.

Step 0: Verify Today's Date

Always run date "+%Y-%m-%d (%A)" and treat its output as authoritative.

Monday cleanup: /Users/meain/.local/share/ignored-prs-for-review.yaml is a YAML file with three top-level list keys: prs (specific PR path fragments, e.g. owner/repo/pull/123), repos (bare repo names — blocks every PR from that repo), and people (author logins — blocks every PR by that person). Only the prs list resolves to real PRs, so Monday cleanup only touches that section — leave repos and people entries untouched.

If today is Monday, extract just the prs entries and check each one's state:

bash
awk '/^prs:/{f=1;next} /^[a-zA-Z_]+:/{f=0} f' /Users/meain/.local/share/ignored-prs-for-review.yaml | sed -E 's/^[[:space:]]*- //'

For each non-empty result line:

bash
export GIT_DIR=$(jj git root 2>/dev/null || echo .git)
result=$(gh pr view "https://github.com/$prpath" --json state 2>&1)
state=$(echo "$result" | grep -o 'OPEN\|MERGED\|CLOSED')

(use a variable name other than path — zsh aliases lowercase path to $PATH, and overwriting it breaks every subsequent command in the shell).

Remove any prs entries where state is not OPEN (merged, closed, or unknown/deleted), rewriting only that list in the YAML file — leave repos and people untouched. Report how many were pruned.

Step 1: Read Backlog

Read the full backlog file first.

Step 2: Handle Checked-Off Items

Note the checked-off items from Today — they will be archived to Before during Step 5. Format: ### YYYY-MM-DD (DayOfWeek). Get the date with:

bash
~/.agents/skills/backlog/scripts/date-before.sh

Insert the new date block at the end (bottom) of the Before section — Before is chronologically ascending (oldest at top, newest at bottom).

Step 3: Gather External Data (parallel)

All Jira and GitHub commands must be run with dangerouslyDisableSandbox: true — the sandbox blocks TLS certificate verification needed for these hosts.

3a. Jira sprint:

bash
jira issue list -q "sprint in openSprints() AND assignee = currentUser()" --raw 2>&1

Returns JSON array with raw Jira issue data. Parse with jq to extract key, status, summary.

Also fetch the sprint end date for the "This Cycle" section header:

bash
jira sprint list --project DP | awk '/active/ {print $6}' | head -1

Returns a date like 2026-06-29. Use it in the section header as ### This Cycle (ends YYYY-MM-DD). If the backlog already has a "This Cycle" header with a different date, update it to reflect the current sprint.

3b. GitHub PRs — pending reviews:

bash
~/.agents/skills/backlog/scripts/pending-prs.sh

Returns JSON array of PRs where user is a direct reviewer (not via team), excluding approved PRs, drafts, and Veeam-VDC/vdc-shared-data-plane PRs (never surface data-plane PRs — not the user's area). Also exclude dependabot PRs from Veeam-VDC repos — they are auto-reviewed and merged.

After fetching, filter out ignored PRs/repos/people. Flatten the YAML blocklist to one pattern per line, then filter the one-PR-per-line JSON with grep -vFf:

bash
~/.agents/skills/backlog/scripts/pending-prs.sh | jq -c '.[]' | grep -vFf <(grep -E '^[[:space:]]*- ' /Users/meain/.local/share/ignored-prs-for-review.yaml | sed -E 's/^[[:space:]]*- //')

Apply the same flatten-and-filter pattern (jq per-line, then grep -vFf against the flattened YAML) whenever filtering PR lists in this skill, including the meain/* repos list in 3b-ii.

3b-ii. PRs from meain/ repos needing review:* Open PRs in repos owned by the meain GitHub org (user's personal projects where others open PRs):

bash
GIT_DIR=$(jj git root 2>/dev/null || echo .git) gh search prs --state=open --owner=meain --json number,title,url,repository,updatedAt,isDraft,author 2>&1

Include all non-draft PRs not authored by meain. Filter out ignored PRs/repos/authors using the same flatten-and-filter pattern as 3b. Surface these in a separate "meain/* repos" subsection of the candidates file.

3c. PRs authored by user: Open PRs authored by the user across Veeam-VDC org.

3d. Calendar: Use MS365 MCP outlook_calendar_search to fetch today's meetings.

3e. This Cycle candidates: From the Jira sprint results (Step 3a), identify items that are not Done and not already present anywhere in the backlog file (check all sections — Today, Tomorrow, This Week, This Cycle, Next Week, Whenever). These are sprint commitments that have fallen off the radar.

Show full SKILL.md (608 more words)Show less
Step 4: Select Candidates via Emacs

Write all candidates to /tmp/backlog-candidates-YYYY-MM-DD.md with - [ ] lines, grouped by:

  • Morning routine (Apply rosemary water, Apply sunscreen, Check emails, Check Slack, Check Teams, Charge devices)
  • Today's meetings (from calendar — list as info, no checkboxes; don't add to backlog)
  • My PRs — approved (ready to merge)
  • My PRs — needs action
  • PRs needing direct review — split into subsections:
    • Recent (this week): PRs updated within the last ~7 days (only where login: meain is a direct reviewer, not team; exclude PRs with "local-dev" in the title, never include vdc-shared-data-plane PRs, and never include dependabot PRs from Veeam-VDC repos — they are auto-reviewed)
    • Older (sitting for a while): PRs more than ~7 days old that are still open and awaiting review (same exclusion rules apply) — useful for surfacing stale reviews that may have been overlooked
    • meain/ repos*: Open PRs in meain-owned repos (from Step 3b-ii), grouped separately — always include these regardless of age
  • This Cycle — sprint items not yet in the backlog (from Step 3e); selected items go into the ### This Cycle section, not Today
  • Candidates from other sections (Tomorrow/This Week/Whenever worth pulling in)

The "Checked-off items to move to Before" header must include the day name, e.g. (2026-06-03, Wednesday).

Inline Jira details: For any candidate line that references a Jira ticket (e.g. [DP-1234](url) or a DP-1234 in a PR title), fetch the ticket with jira issue view DP-1234 --plain (run in parallel for all tickets, dangerouslyDisableSandbox: true) and add a concise detail line immediately below the candidate, indented and prefixed with ↳. Format: ↳ DP-1234 (Type, Status, assignee/mine): one-line summary of the ask. This lets the reader glance at ticket context while selecting. These ↳ lines are candidate-file only — do NOT carry them into Backlog.md, which stays single-line per item.

Invoke the /edit-in-emacs skill with the file path (blocking, 600s timeout). After it returns, treat remaining - [ ] lines as selections.

Handling (ignored) markers: After the emacs edit returns, scan the candidates file for any lines containing (ignored). For each such line, extract the GitHub URL and append it (as a path fragment like owner/repo/pull/N) to /Users/meain/.local/share/ignored-prs-for-review. Do not add these PRs to the backlog.

Never use AskUserQuestion / multi-select prompts — always go straight to the emacs file.

Step 5: Commit Then Update Backlog

Before writing any changes to the backlog file, commit the current state:

bash
cd /Users/meain/.local/share/sbdb && git add -A && git commit -m "Before backlog updates"

Then:

  1. Move items from other sections to Today (don't duplicate)
  2. Add new "This Cycle" candidates to the ### This Cycle section (not Today)
  3. Add new items with reference links
  4. Preserve priority emojis near top of Today
Step 6: Code Review Summaries (on request only)

Do not generate these automatically — the user rarely reads them. Only do this if explicitly asked (e.g. "generate summaries for today's reviews", "add a code review summary for cpb#5046").

When asked, spin off parallel background agents — one per requested PR. Each agent should:

  1. Fetch the PR diff and details from GitHub
  2. Run /explain-flow on the PR to generate a code flow summary
  3. Write the result to:
    /Users/meain/.local/share/sbdb/Artifacts/Code Reviews/<org>/<repo>/<pr-number>.md
    For example: Artifacts/Code Reviews/Veeam-VDC/control-plane-backend/5046.md
  4. Update the matching backlog line to append a markdown link:
    - [ ] Review [cpb#5046](https://github.com/...): title (author) [summary](Artifacts/Code%20Reviews/Veeam-VDC/control-plane-backend/5046.md)
    Use [summary] as link text. Path is vault-root-relative (no ../). URL-encode spaces (Code%20Reviews).
  5. Commit the updated backlog file.
Formatting Rules
  • Prefer inline links over trailing links (e.g. Merge [repo#123](url))
  • Trailing [ref](url) only for URLs without a natural inline anchor (Teams links)
  • Each PR must be on its own line
  • Never remove section headers (Today, Tomorrow, etc.) even when empty
  • Show meeting times in IST (UTC+5:30)
  • Keep all backlog entries short — a few words per line. Use task notes for detail.
  • Only two checkbox states: - [ ] (open) and - [x] (done/won't-do). Never use [-].

© meain, MIT. 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 3 other files (scripts) in agents/.agents/skills/backlog of meain/dotfiles.

  • SKILL.md
  • scripts/date-before.sh
  • scripts/pending-prs.sh
  • scripts/sprint-tickets.sh

Open the folder on GitHubat commit f469fb6

Compare with similar skills

Backlog 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 compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Backlog this skillmeain/dotfiles285—~3kAutomated safety check: PassMIT
YugabyteDB Issue Creatoryugabyte/yugabyte-db11k—~2kAutomated safety check: PassCustom licence
Connect Apps with ComposioComposioHQ/awesome-claude-skills77k3 repos~557Automated safety check: PassNone
Link Ticket To SessionJayantDevkar/claude-code-karma329—~1.8kAutomated safety check: NotesApache-2.0
Octo LoopMininglamp-OSS/octo-cli918—~2.3kAutomated safety check: PassApache-2.0
Opendocsioteverythin/OpenDocs233—~746Automated safety check: NotesMIT

Similar skills

  • YugabyteDB Issue Creator

    yugabyte/yugabyte-db

    Creates a GitHub issue or JIRA ticket for a YugabyteDB change or bug, after scrubbing customer data, secrets and unreleased details from anything public.

    11k GitHub stars~2k tokensUpdated today
    DevelopmentAuto-check passed
  • Connect Apps with Composio

    ComposioHQ/awesome-claude-skills

    Connects an agent to 1000+ external apps through the Composio Tool Router plugin, so it can actually send emails, create issues and post messages instead of only drafting them.

    77k GitHub starsUsed in 3 repos~557 tokens
    Productivity & AutomationAuto-check passed
  • Link Ticket To Session

    JayantDevkar/claude-code-karma

    Link the current Claude Code session to a ticket (Linear, Jira, GitHub Issues, or GitHub Pull Requests) and cache its title/status in karma.

    329 GitHub stars~1.8k tokensUpdated 8 days ago
    DevelopmentAuto-check: notes
  • Octo Loop

    Mininglamp-OSS/octo-cli

    A skill your agent uses when operating the Octo Loop control plane through the octo-cli loop commands: reading or writing Fleet tasks, comments, metadata, projects, and labels; dispatching work to…

    918 GitHub stars~2.3k tokensUpdated 9 days ago
    Backend & APIsAuto-check passed
  • Opendocs

    ioteverythin/OpenDocs

    Generates multi-format documentation (Word, PDF, PPTX, Markdown blog post, JIRA ticket, FAQ, changelog, LaTeX, social snippet, architecture diagram) from a GitHub README, npm package, local Markdown…

    233 GitHub stars~746 tokensUpdated 1 mo ago
    Documents & OfficeAuto-check: notes
  • Issue Triage Loop

    cobusgreyling/loop-engineering

    Scans open GitHub issues and discussions, flags duplicates, scores priority and proposes labels into issue-triage-state.md without ever labeling or closing.

    11k GitHub stars~522 tokensUpdated today
    DevelopmentAuto-check passed

More from meain/dotfiles

All 36 skills in this repo
  • Recall

    meain/dotfiles

    Search past Claude Code and Codex sessions. An agent skill from meain/dotfiles.

    285 GitHub starsUsed in 1 repo~684 tokens
    Auto-check passed
  • Grill With Docs

    meain/dotfiles

    Grilling session that challenges your plan against the existing domain model, sharpens terminology, and updates documentation (CONTEXT.md, ADRs) inline as decisions crystallise.

    285 GitHub starsUsed in 21 repos~875 tokens
    Auto-check passed
  • Concern Review

    meain/dotfiles

    Generate an interactive local HTML review page for a large PR or diff, grouping the changed files by logical concern (not just by file) so a reviewer can go through one theme at a time instead of a…

    285 GitHub stars~2.2k tokensUpdated 1 mo ago
    Auto-check passed
  • My Weekly Report

    meain/dotfiles

    Generate a concise weekly status update in team format. An agent skill from meain/dotfiles.

    285 GitHub stars~2.5k tokensUpdated 1 mo ago
    Auto-check passed
  • Web Search

    meain/dotfiles

    Search the web using lynx and DuckDuckGo. An agent skill from meain/dotfiles.

    285 GitHub stars~830 tokensUpdated 1 mo ago
    Auto-check passed
  • Codebase Query

    meain/dotfiles

    Query and analyze codebases semantically using codebase-memory-mcp graph database.

    285 GitHub stars~2.5k tokensUpdated 1 mo ago
    Auto-check passed

Works with

Questions about Backlog

What does Backlog do?

Daily backlog management — full planning review OR add a single entry from a URL. Backlog is an agent skill from meain/dotfiles. Daily backlog management — full planning review OR add a single entry from a URL.

How do I install Backlog in Claude Code?

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

How do I install Backlog in Codex?

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

Can I use Backlog 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 meain/dotfiles --skill backlog -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, .gemini/skills/backlog, .github/skills/backlog and .opencode/skills/backlog in your project.

What does Backlog need to run?

Going by SKILL.md and its folder, Backlog needs a shell for the scripts in its folder and the command-line tools its instructions call (gh, git and jq). Our summary lists: A Bash shell.

Does Backlog 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 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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Backlog use?

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

How many tokens does Backlog use?

About 3k tokens (SKILL.md is roughly 12k 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?

Skills that share tags, products or a category with Backlog: YugabyteDB Issue Creator (yugabyte/yugabyte-db, 11k stars), Connect Apps with Composio (ComposioHQ/awesome-claude-skills, 77k stars), Link Ticket To Session (JayantDevkar/claude-code-karma, 329 stars) and Octo Loop (Mininglamp-OSS/octo-cli, 918 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Backlog?

meain (a GitHub user) maintains it in meain/dotfiles, which has 285 GitHub stars. The repository holds 36 skills in this directory. The repository was last updated on September 5, 2026.

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