Skip to content
Agentmart
Submit a tool

backlog-sync

Push user stories from story maps to issue trackers.

Skill by jterratsdev

IndexedBSD-3-Clause
Write a review

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/jterratsdev-backlog-sync-e642f6

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.

We use your email only for this newsletter. Privacy

About

Push user stories from story maps to issue trackers. Supports GitHub Issues, GitLab Issues, Jira, Azure DevOps, and Bitbucket. Auto-detects the platform from project files, parses the story map markdown, creates issues with field mapping, and guards against duplicates. USE FOR: create issues, push stories, sync backlog, upload user stories, create tickets, push to jira, push to github, create work items, backlog sync. Reusable by PM and BA profiles.

Use cases: documents, devops, cloud

No 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

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/backlog-sync

What's inside

Skill name
backlog-sync
Description
Push user stories from story maps to issue trackers. Supports GitHub Issues, GitLab Issues, Jira, Azure DevOps, and Bitbucket. Auto-detects the platform from project files, parses the story map markdown, creates issues with field mapping, and guards against duplicates. USE FOR: create issues, push stories, sync backlog, upload user stories, create tickets, push to jira, push to github, create work items, backlog sync. Reusable by PM and BA profiles.
License
BSD-3-Clause
Instructions
193 lines in SKILL.md · view on GitHub

Before installing

  • Instructions call the network

Files (1)

  • SKILL.md

SKILL.md (first lines)

# Backlog Sync

## Prerequisites

| Platform | CLI / Tool | Check | Install / Configure |
|----------|-----------|-------|---------------------|
| GitHub | `gh` | `gh auth status` | `gh auth login` |
| GitLab | `glab` | `glab auth status` | `glab auth login` |
| Azure DevOps | `az` | `az account show` | `az login && az extension add --name azure-devops` |
| Jira | `curl` + env vars | `echo $JIRA_API_TOKEN` | Set `JIRA_BASE_URL`, `JIRA_USER_EMAIL`, `JIRA_API_TOKEN` |
| Bitbucket | `curl` + env vars | `echo $BITBUCKET_TOKEN` | Set `BITBUCKET_WORKSPACE`, `BITBUCKET_REPO`, `BITBUCKET_TOKEN` |

> Only the CLI for the target platform is required. You do not need all of them.

---

## Active Job Monitoring (CRITICAL)

When creating issues, you MUST create them one by one and report progress.
**Never** batch-create without tracking. After all issues are created, report:
total created, any failures, and the URLs of the new issues.

---

## 1. Platform Detection

Auto-detect the target platform from project files:

| Indicator | Platform |
|-----------|----------|
| `.github/` directory exists | **GitHub** |
| `.gitlab-ci.yml` exists | **GitLab** |
| `azure-pipelines.yml` exists | **Azure DevOps** |
| `JIRA_BASE_URL` env var is set | **Jira** |
| `BITBUCKET_WORKSPACE` env var is set | **Bitbucket** |

If multiple indicators match, ask the user which platform to use.
If none match, ask: "Which issue tracker does this project use?"

---

## 2. Parsing the Story Map

The story map follows the standard format from the Story Mapping skill.
Parse each epic table to extract:

| Field | Source column | Maps to |
|-------|-------------|---------|
| US ID | `US ID` | Issue title prefix |
| Title | `User Story` | Issue title |
| Persona | `Persona` | Label |
| Priority | `Priority` | Label (P1/P2/P3) |
| Acceptance Criteria | `Acceptance Criteria` | Issue body |
| Epic | Table heading (`## Epic N: Name`) | Milestone, parent issue, or label |

Compose the issue title as: `US-NNN: <User Story text>`

Compose the issue body as:

```markdown
## User Story

As a [Persona], I want [action], so that [value].

## Acceptance Criteria

- **Given** [precondition]
  **When** [action]
  **Then** [expected result]

## Metadata

- **Epic:** [Epic Name]
- **Persona:** [Persona ID and Name]
- **Priority:** [P1/P2/P3]
- **T-shirt Size:** [if estimated]
```

---

## 3. Idempotency Guard (CRITICAL)

Before creating any issue, **search for an existing issue with the same US ID**
to avoid duplicates:

```bash
# GitHub
gh issue list --search "US-101" --json number,title --limit 5

# GitLab
glab issue list --search "US-101" --per-page 5

# Azure DevOps
az boards work-item query --wiql "SELECT [System.Id] FROM WorkItems WHERE [System.Title] CONTAINS 'US-101'"
```

For Jira and Bitbucket, use their respective search APIs via `curl`.

If a match is found:
- Report: "US-101 already exists as #<number> — skipping."
- Do NOT create a duplicate. Move to the next story.

---

## 4. Creating Issues by Platform

### GitHub Issues

```bash
gh issue create \
  --title "US-101: Login via SSO" \
  --body "<body markdown>" \
  --label "P1,persona:FieldRep,epic:Authentication"
```

To assign to a milestone (epic): `--milestone "Epic 1: Authentication"`

### GitLab Issues

From jterratsdev/smart-deployment, BSD-3-Clause.

More from jterratsdev/smart-deployment

Signals

Stars
0
Forks
0
Open issues
14
Last commit (this folder)
Aug 5, 2026 (2 months ago)
Last release
Sep 29, 2026 (29 days ago)

From GitHub (fetched Oct 24, 2026).

Details

License
BSD-3-Clause
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from jterratsdev

Cite this page

backlog-sync skill. Agent Mart. https://agentmart.dev/skills/jterratsdev-backlog-sync-e642f6 (last updated 2026-10-24)