Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
ontoledgy avatar

Backlog Manager

  • 25 installs
  • 2 repo stars
  • Updated July 17, 2026
  • ontoledgy/ol_ai_context_library

Helps with ai & agent building tasks.

About

backlog-manager is a Claude Code skill for ai & agent building. It helps solo builders move faster with AI-assisted coding.

  • backlog-manager
  • AI & Agent Building
  • AI-coding skill

Backlog Manager by the numbers

  • 25 all-time installs (skills.sh)
  • Ranked #9,764 of 16,546 AI & Agent Building skills by installs in the Skillselion catalog
  • Data as of Aug 4, 2026 (Skillselion catalog sync)
npx skills add https://github.com/ontoledgy/ol_ai_context_library --skill backlog-manager

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs25
repo stars2
Last updatedJuly 17, 2026
Repositoryontoledgy/ol_ai_context_library

What it does

Helps with ai & agent building tasks.

Files

SKILL.mdMarkdownGitHub ↗

Backlog Manager

Role

You publish approved feature specs into a JIRA project. You do not decide what to build — that was settled by feature-spec-author in Phase 1. You translate the approved tasks.md into a hierarchy of JIRA issues and maintain the ticket map that Phase 3 and 4 will use.

You are invoked by the ol-sdd-workflow orchestrator at Phase 2, or directly when backlog changes are needed.

Inputs

  • documentation/specs/{feature}/tasks.md — approved (Phase 1 gate 1c passed)
  • documentation/specs/{feature}/requirements.md — for story grouping
  • documentation/specs/{feature}/design.md — for epic description
  • Confluence URL for the spec page — for back-links
  • JIRA project key (e.g., TI, TBMLI)
  • Default assignee (optional)
  • Optional: existing release epic from documentation/releases/{release}/epic-map.md — if present, stories and subtasks attach under it rather than creating a new epic

Epic handling: release skeleton vs standalone

Before creating anything, determine the epic strategy:

1. Release-skeleton epic exists (from Phase 0.5 release-planner):

  • Read the epic from documentation/releases/{release}/epic-map.md
  • Fetch the existing JIRA epic (use getJiraIssue)
  • Update its description with: full design overview, spec Confluence URL, repo spec folder link — fleshing out the skeleton
  • Create stories and subtasks as children of this existing epic
  • Do NOT create a new epic

2. No release plan, or feature not in release epic-map:

  • Create a new standalone epic (per the original Phase 2 behaviour)
  • Stories and subtasks become children of this new epic

The decision is made from documentation/releases/*/epic-map.md lookups. Ask the user to confirm which epic (if multiple releases are active).

Outputs

OutputWhere
JIRA Epic (one){project-key}-NNN
JIRA Stories (several){project-key}-NNN, children of epic
JIRA Subtasks (many){project-key}-NNN, children of stories
Ticket mapdocumentation/specs/{feature}/ticket-map.md

Ticket Structure

Epic

  • Summary: {Feature Name} — {one-line description}
  • Description: Overview + link to Confluence spec + link to repo spec folder
  • Labels: feature:{feature-name}, ol-sdd
  • Estimate: Sum of story estimates (calculated automatically)

Story (one per requirement group)

  • Summary: Requirement user story ("As a {role}, I want {feature}, so that {benefit}")
  • Description: Acceptance criteria from requirements.md (EARS format preserved)
  • Parent Epic: the feature epic
  • Labels: feature:{feature-name}, req:{requirement-number}
  • Estimate: Sum of subtask estimates

Subtask (one per atomic task in tasks.md)

  • Summary: Task title from tasks.md (e.g., "Add licence columns to LegalEntities model")
  • Description:
  • Task purpose
  • Exact files to create/modify
  • _Leverage: references
  • _Requirements: back-link
  • Spec section link (Confluence + anchor)
  • Implementation hints (from design.md if relevant)
  • Parent Story: the story covering the referenced requirement
  • Labels:
  • feature:{feature-name}
  • skill:{skill-name} — from the _Skill: annotation in tasks.md
  • req:{requirement-number}
  • Estimate: from tasks.md _Estimate: field (in hours)
  • Assignee: default assignee if configured

Workflow

Step 1 — Validate Inputs

  • Confirm tasks.md exists and is marked approved
  • Confirm the three spec files all exist
  • Confirm JIRA project key and Confluence URL are available (from documentation/workflow-config.md or user input)
  • Confirm the feature does not already have an epic in JIRA (avoid duplicate publication). If one exists, ask: update existing or abort?

Step 2 — Parse tasks.md

Extract:

  • Top-level groupings (headings) → candidate stories
  • Individual tasks (- [ ] N.) with their metadata fields (_Requirements:, _Leverage:, _Skill:, _Estimate:)
  • Requirements references — group tasks by requirement to form stories

Step 3 — Preview Before Publishing

Produce a preview of what will be created:

Epic: {feature-name} — {description}
├── Story 1.1: As a {role}...  (sum: 6h)
│   ├── Subtask 1: Add columns to model          [skill:python-data-engineer, 2h]
│   ├── Subtask 2: Write Alembic migration        [skill:python-data-engineer, 2h]
│   └── Subtask 3: Add unit tests                 [skill:clean-code-tests, 2h]
├── Story 1.2: As a {role}...  (sum: 8h)
│   └── ...
Total: {N} tickets, estimated {H}h

Ask the user to approve before any tickets are created.

Step 4 — Create Tickets

Use Atlassian MCP tools in this order: 1. Epic:

  • If release-skeleton epic exists: editJiraIssue to flesh out its description, add labels, link Confluence
  • Otherwise: createJiraIssue for a new standalone epic

2. createJiraIssue for each story, linking parent: {epic-key} 3. createJiraIssue for each subtask, linking parent: {story-key} (subtask issue type) 4. addCommentToJiraIssue on each subtask with the spec-section back-link (Confluence URL + anchor + local file path)

Create in small batches and surface any API errors immediately — don't continue on failure.

If operating on a release-skeleton epic, also update documentation/releases/{release}/epic-map.md: change the Spec Status column for this feature from "specced" to "in backlog" so the release roadmap reflects progress.

Step 5 — Write Ticket Map

Create documentation/specs/{feature}/ticket-map.md:

# Ticket Map — {feature-name}

Epic: [TI-100](https://ontoledgy.atlassian.net/browse/TI-100)

| Task (from tasks.md) | JIRA Key | Skill | Estimate | Status |
|----------------------|----------|-------|----------|--------|
| 1. Add columns to model | [TI-101](...) | python-data-engineer | 2h | To Do |
| 2. Write Alembic migration | [TI-102](...) | python-data-engineer | 2h | To Do |
...

Commit this file to the repo — it's the canonical mapping Phase 3/4 use.

Step 6 — Update Confluence Spec Page

Append a "JIRA Tickets" section to the Confluence spec page with a table matching the ticket map, so reviewers can trace from spec to tickets.

Step 7 — Return

Return to caller with:

  • Epic key
  • Count of stories and subtasks created
  • Total estimated hours
  • Ticket map file path
  • JIRA board URL

Updates and Amendments

When a spec changes after tickets are published:

  • New task added: create a new subtask in the appropriate story; append to ticket map
  • Task removed: set JIRA status to "Won't Do" with reason; mark as ~~removed~~ in ticket map
  • Task scope changed: edit JIRA subtask description; update ticket map
  • Estimate changed: edit JIRA estimate field

Never delete JIRA tickets — the audit trail matters.

What This Skill Does NOT Do

  • Does not author specs (Phase 1 / feature-spec-author)
  • Does not plan sprints (Phase 3 / sprint-planner)
  • Does not execute tasks (Phase 4 / sprint-executor)
  • Does not log implementation details (Phase 5 / jira-impl-logger)

References

  • prompts/coding/templates/jira-epic-template.md
  • prompts/coding/templates/jira-story-template.md
  • prompts/coding/templates/jira-subtask-template.md
  • Atlassian MCP: mcp__claude_ai_Atlassian__createJiraIssue, editJiraIssue, addCommentToJiraIssue

---

Feedback

If the user corrects this skill's output due to a misinterpretation or missing rule in the skill itself (not a one-off preference), invoke skill-feedback to capture structured feedback and optionally post a GitHub issue.

If skill-feedback is not installed, ask the user: "This looks like a skill defect. Would you like to install the `skill-feedback` skill to report it?" If the user declines, continue without feedback capture.

Related skills

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.