Skip to content

Skills · trackers

tracker-brief-sync

Turn a brief or PRD (such as prd-draft output) into tracker-ready epics and issues — title, description, acceptance criteria, labels and a link back to the doc section — as a CSV for Jira, a mapped CSV for other importers, or gh commands for GitHub; and in reverse, report drift between the doc and the tracker (issues with no section, sections with no issue, issues for Won't-have requirements). Use when the user wants to load a PRD into Jira, Linear or GitHub, says "create tickets from this brief", or asks "does the tracker still match the PRD?".

Pack trackersTier standardJob Build and review softwarev0.1.2

npx skilldrop-cli install tracker-brief-sync
Other ways to install

With the sibling skills it hands off to:

npx skilldrop-cli install tracker-brief-sync --with-related

The whole pack it belongs to:

npx skilldrop-cli install --pack trackers

By hand, from a clone of the repo:

cp -R packs/trackers/skills/tracker-brief-sync ~/.claude/skills/

In Claude Code, with the trackers plugin installed, invoke it as:

/trackers:tracker-brief-sync

Try it

A realistic prompt from the skill's acceptance evals:

Turn examples/prd-guest-checkout.md into Jira epics and stories we can import. Link each one back to the PRD; the wiki copy is https://wiki.northwind.example/checkout/prd-guest-checkout.

What a good result looks like

Example output

Example: guest checkout, from PRD to Jira and back · the skill's own worked example, source

Worked example

Two runs on one PRD. First the user asks for Jira-ready issues from the PRD. Two weeks later they ask whether the tracker still matches the doc.

Files:

Run 1: PRD to issues

"Turn this PRD into Jira epics and stories. Link each back to its section. The wiki copy is at https://wiki.northwind.example/checkout/prd-guest-checkout."

Mapping, before writing the spec. One epic per goal, one story per requirement:

Doc sectionBecomesWhy
G1Epic E1 "Checkout without an account"Goal; R1–R3 map to it
G2Epic E2 "Support and safety for guest orders"Goal; R4–R6 map to it
R1–R6Stories S1–S6 under their goal's epicOne testable requirement each; the acceptance criteria restate the requirement's observable behaviour
R7NothingWon't have. Listed under "Not created" so nobody adds it later by mistake
Non-goals, open questionNothingNot work. The open question about 3-D Secure goes back to the user as an unresolved dependency

The spec is guest-checkout-spec.json. Then:

python3 scripts/brief_sync.py export examples/guest-checkout-spec.json --target jira \
  --doc examples/prd-guest-checkout.md -o guest-checkout-jira.csv

Script output, unedited:

wrote guest-checkout-jira.csv: 8 items (2 epics, 6 others)

First three rows of the CSV, unedited:

Issue Id,Parent Id,Issue Type,Summary,Description,Labels,Labels
1,,Epic,Checkout without an account,"Let first-time shoppers pay without creating an account. Goal: sign-up-step drop-off from 38% to under 20% within 4 weeks of launch.

Source: https://wiki.northwind.example/checkout/prd-guest-checkout#goals (G1)",guest-checkout,
2,,Epic,Support and safety for guest orders,"Guest orders can be found, screened and returned like account orders.

Source: https://wiki.northwind.example/checkout/prd-guest-checkout#goals (G2)",guest-checkout,
3,1,Story,Pay as a guest with email and delivery details,"As a first-time shopper, I can pay without creating an account, so I can buy in one sitting.

Acceptance criteria:
- Given a shopper with no account at checkout, when they choose Continue as guest, then they can pay after entering only an email address and delivery details
- Given a guest payment succeeds, then no account is created

Source: https://wiki.northwind.example/checkout/prd-guest-checkout#requirements (R1)",guest-checkout,checkout

The spec check catches mistakes before anything reaches the tracker. Here's the same spec with five deliberate errors (a story with no criteria, a missing parent, a Won't-have source, a section that isn't in the doc, a label with a space):

spec has 5 problem(s):
  - S1: a story needs acceptance_criteria
  - S2: parent 'E9' is not an item in the spec
  - S3: source 'R7' is marked Won't have in the doc
  - S4: source 'R12' is not a section in the doc
  - S5: label 'guest checkout' has a space; Jira labels can't

The script exits 1 and writes nothing.

What the user gets back: the CSV, the mapping table above, and:

  • Import steps: in Jira's CSV importer, map Issue Id and Parent Id so stories land under their epics, and map both Labels columns to Labels.
  • Not created: R7 (Won't have), the three non-goals.
  • Unresolved: the PRD's open question (does the PSP need an account ID for 3-D Secure on guest payments?) may add work to R1. No issue was created for it, because the doc doesn't define any.

Run 2: drift, two weeks later

"Here's the Jira export for guest checkout. Does it still match the PRD?"

python3 scripts/brief_sync.py drift --doc examples/prd-guest-checkout.md \
  --export examples/tracker-after-two-weeks.csv -o drift.md

Script output, unedited:

# Drift: prd-guest-checkout.md vs tracker-after-two-weeks.csv

9 sections in the doc (6 need an issue, 1 marked Won't have) · 11 issues in the export (1 canceled or duplicate, ignored)
Sections are IDs matching `R\d+`.

| Drift | Count |
|---|---:|
| Doc sections with no issue | 1 |
| Issues with no doc section | 1 |
| Issues pointing at a section the doc doesn't have | 1 |
| Issues for a Won't-have requirement | 1 |

## Doc sections with no issue

- R3 (S): After paying, a guest shopper is offered an account, pre-filled from the order, which they can decline

## Issues with no doc section

- CHK-210 Klarna for guest orders (Backlog, Story)

## Issues pointing at a section the doc doesn't have

- CHK-211 3-D Secure exemption handling for guest payments: points at R8

## Issues for a Won't-have requirement

- CHK-209 Save card for guest shoppers: R7 is Won't have in the doc

## Coverage

| Section | MoSCoW | Issues |
|---|---|---|
| G1 | - | CHK-201 (In Progress) |
| G2 | - | CHK-202 (To Do) |
| R1 | M | CHK-203 (In Progress) |
| R2 | M | CHK-204 (To Do) |
| R3 | S | - |
| R4 | M | CHK-206 (To Do) |
| R5 | M | CHK-207 (To Do) |
| R6 | S | CHK-208 (To Do) |
| R7 | W | CHK-209 (To Do) |

Linked by mentioning the ID rather than a Source line (check these): CHK-207

What the user gets back, after reading the four flagged issues:

DriftItemWhat happenedFix
Doc section with no issueR3 (Should)CHK-205 was cancelled: "growth team will run this as an experiment later"Either move R3 to Won't have in the PRD, or reopen CHK-205. The doc and the tracker currently disagree
Issue for a Won't-have requirementCHK-209 Save card for guest shoppersAdded because "Sales asked for this"; the PRD rules it outClose CHK-209, or change R7 in the PRD first. Scope changes go through the doc
Issue pointing at a missing sectionCHK-211 3-D Secure exemption (In Progress)Points at R8, which the PRD doesn't have. Its description answers the PRD's open questionAdd the answer and a requirement to the PRD, then relink CHK-211
Issue with no doc sectionCHK-210 Klarna for guest ordersNot in the PRDAsk whether Klarna-on-guest is in scope. If yes, add a requirement; if not, move it out of the epic
Linked by mentionCHK-207Its Source line was deleted; it mentions R5Restore the line: Source: …#requirements (R5)

R1, R2, R4, R5 and R6 each have exactly one live issue.

How it's checked

Measured against plain Claude Code (2026-10-23): it met 84% of its checks, against 55% without it, and a blind judge preferred it. How skills are checked

28 assertions across 4 acceptance evals, and 8 trigger queries. Every skill's checks

What the output must do
  • Shows the mapping from doc sections to epics and stories before or alongside the spec
  • Creates one epic per goal and one story per M/S/C requirement
  • Creates no issue for R7 (Won't have) or the non-goals, and lists them as not created
  • Every story has Given/When/Then acceptance criteria that restate the requirement without adding behaviour
  • Every item's description ends with a Source line linking to the wiki URL and the section ID
  • Runs the export with --doc so the spec is checked, and hands over a Jira CSV with import steps
  • Reports the PRD's open question as unresolved rather than turning it into a ticket with a guessed answer
  • Does not invent requirements, numbers or reasons not in the PRD
  • Reports R3 as a doc section with no live issue, noting CHK-205 was cancelled
  • Reports CHK-209 as an issue for a Won't-have requirement (R7)
  • Reports CHK-211 as pointing at R8, which the PRD does not have
  • Reports CHK-210 as an issue with no doc section
  • For each item gives both resolutions (change the tracker or change the doc) rather than assuming the tracker is wrong
  • Flags CHK-207 as linked only by mention and asks for its Source line to be restored
  • Writes hds-import.csv whose header uses only the six accepted columns, with no Priority or other extra column
  • Creates no ticket for R7 (Won't have) or for the non-goals
  • Reports the care-home question (Q1) as unresolved rather than turning it into a ticket with an assumed answer
  • Treats R3 and R8 as the same requirement, with one ticket or an explicit flag, rather than two unflagged tickets for the same work
  • Flags that 180 members grown by 50% is 270, which does not match the 250 in G1
  • Every ticket traces back to its section of the brief, by link or section ID
  • Does not invent requirements, numbers, owners or dates not in the brief
  • Flags the accessible toilet as in the plan with no card
  • Flags stage curtains as a card with no matching plan item
  • Flags new chairs as a card for work the plan puts off to next year
  • Treats kitchen units and kitchen flooring as covering the new kitchen, and rewiring as matching, without reporting them as mismatches
  • Gives a short list in plain language
  • Does not invent costs, dates or reasons not given
  • Answers without asking questions first
When it should and shouldn't activate

Should activate:

  • Turn this PRD into Jira epics and stories as a CSV I can import
  • Create GitHub issues from this brief, each linked back to the section it came from
  • Does our Linear project still match the PRD? Find tickets with no requirement and requirements with no ticket
  • Load the guest checkout requirements into our tracker with acceptance criteria and labels

Should leave to another skill:

  • Draft a PRD for guest checkout from these interview notes
  • Break the guest checkout epic into thin vertical slices with a build order
  • Find duplicates and stale items in our Jira backlog
  • Summarise the guest checkout PRD in one page for the leadership team

Hands off to

Related skills

backlog-triage, prd-draft

Source

SKILL.md · the whole folder on GitHub.