github-sync
Bidirectional sync between BMAD planning artifacts and GitHub Projects v2.
Skill by bmad-labs
Chalk Labs
Need help deploying github-sync?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
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/bmad-labs-github-sync
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.
About
Reviews
Write a reviewNo 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
- Runs as
- Python package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/github-sync
What's inside
- Skill name
github-sync- Description
- Bidirectional sync between BMAD planning artifacts and GitHub Projects v2. Use this skill whenever the user says "sync to github", "push stories", "pull status from github", "set up github project", "github sync", "onboard github project", "create github issues from stories", "update stories from github", "sync status", or wants to manage BMAD artifacts in GitHub Projects. Also trigger when user mentions "gh project", "github board", "sprint board", "project roadmap", "relationship field", "blocked by", or "parent issue" in the context of BMAD artifacts. Trigger on implicit cues like "I want to track stories in github", "let's set up a project board", "what's out of sync", "push the sprint to github".
- License
- MIT
- Instructions
- 495 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Files (6)
- SKILL.md
- evals.json · evals/
- config-schema.md · references/
- content-mapping.md · references/
- gh-commands.md · references/
- parse-artifacts.py · scripts/
SKILL.md (first lines)
# GitHub Sync — BMAD to GitHub Projects v2
Bidirectional sync between BMAD planning artifacts (epics, stories, sprint plan) stored as
markdown files and GitHub Projects v2 for visual project tracking.
> **Quick navigation**
> - `gh` CLI commands, GraphQL queries → `references/gh-commands.md`
> - Issue body template, field mapping, labels, milestones → `references/content-mapping.md`
> - Config file format → `references/config-schema.md`
> - Artifact parser script → `scripts/parse-artifacts.py`
---
## Four Rules (Never Break These)
1. **Never sync automatically.** Every mutating operation (create issues, update fields, modify
files) requires generating a sync report first, presenting it to the user, and waiting for
explicit approval before executing. The user must see exactly what will change.
2. **Field-level source of truth.** Each field has one owner — either BMAD files or GitHub.
During sync, the owner side always wins. Never overwrite the owner's data.
- **BMAD owns:** story body, acceptance criteria, tasks, sprint assignment, epic grouping, dependencies
- **GitHub owns:** status, dev assignment, task checkbox completion, story points, priority
3. **Idempotent operations.** Running the same sync twice produces the same result. Link-back
identifiers (H1 title links in story files, `gh_item_url` in planning frontmatter) prevent
duplicate creation. Always check for existing sync state before creating.
4. **Never auto-parse issue bodies with a script.** Issue body generation requires reading each
story file directly with the Read tool and crafting the body manually following the template
in `references/content-mapping.md`. Auto-parsing scripts fail silently in subtle ways:
they strip task lists when formatting assumptions are wrong, gut dev notes by removing code
blocks, and produce empty section headers. One bad push contaminates all 27 issues at once.
**Read the file. Write the body. No shortcuts.**
---
## Flow Detection
| User Says | Workflow | Config Required? |
|-----------|----------|-----------------|
| "set up github project", "onboard", "initialize github" | **Onboarding** | No (creates config) |
| "push to github", "sync push", "create issues" | **Push** | Yes |
| "pull from github", "sync pull", "update from github" | **Pull** | Yes |
| "sync status", "what's out of sync" | **Status Check** | Yes |
**If no `.github-sync.yaml` exists at project root, always route to Onboarding first.**
---
## Prerequisite Check (Run Before Every Workflow)
Before any workflow, verify these in order. Stop at first failure.
```
Step 1: gh --version
→ If missing: "Install GitHub CLI: https://cli.github.com/"
Step 2: gh auth status
→ If not authenticated: "Run: gh auth login"
Step 3: gh auth status (check for "project" in scopes)
→ If missing: "Run: gh auth refresh -s project"
Step 4: (For push/pull/status only) Check .github-sync.yaml exists
→ If missing: "Run onboarding first: say 'set up github project'"
```
---
## Onboarding Workflow
This is the first-time setup. It creates or connects to a GitHub Project, creates custom
fields, labels, and phase-based milestones.
### Step 1: Detect BMAD Artifacts
Run the parser to discover what exists:
```bash
python3 .agents/skills/github-sync/scripts/parse-artifacts.py --mode scan \
--stories-dir .artifacts/implementation-artifacts
```
Also check that these files exist:
- `.artifacts/planning-artifacts/epics.md`
- `.artifacts/planning-artifacts/sprint-plan.md`
> **Note:** The artifacts path `.artifacts/` may differ per project. Check the actual
> directory structure — some projects use `_bmad-output/`. Confirm the correct paths with
> the user and use them throughout. Update `paths.*` in the config accordingly.
Report the count: "Found N story files, M epics, K sprints."
### Step 2: Gather GitHub Details
Auto-detect the current repo:
```bash
gh repo view --json owner,name --jq '.owner.login + "/" + .name'
```
List existing projects and ask the user whether to use one or create new:
```bash
gh project list --owner {owner} --format json
```
Present detected owner/repo and existing projects. Ask for confirmation before proceeding.
### Step 3: Parse Epic and Sprint Data
**Read `references/content-mapping.md` now** — sections 7 (Label Scheme), 8 (Milestone Scheme),
and 12 (Epic Derivation). You need these to build an accurate onboarding report.
Then parse the actual artifacts:
```bash
python3 .agents/skills/github-sync/scripts/parse-artifacts.py --mode epics \
--file .artifacts/planning-artifacts/epics.mdFrom bmad-labs/skills, MIT.
More from bmad-labs/skills
- 0.647score
to-markdown
bmad-labs
Use when converting a PDF, scanned document, slide deck, or DOCX into Markdown that must stay faithful to the source — a paper, thesis, standard, datasheet…
SkillAFreshness: A★ 18Claude Code +9 - 0.647score
to-wiki
bmad-labs
Use when turning a transcribed source — a thesis, paper, standard, manual, or a folder of Markdown chapters under docs/references — into a Karpathy-style LLM…
SkillAFreshness: A★ 18Claude Code +9 - 0.647score
create-intent
bmad-labs
Use when turning Jira stories, tickets, or raw requirement notes into business intent documents (intent, functional and non-functional requirements, open…
SkillAFreshness: A★ 18Claude Code +9 - 0.622score
architecture-design
bmad-labs
Use when the user asks for a design package, designs folder, detailed design, solution design, or contracts of a system or service before it is built — C4…
SkillAFreshness: A★ 18Claude Code +9 - 0.607score
jira-to-local
bmad-labs
Use when the user wants Jira issues pulled onto disk as local files — "pull PROJ-123", "fetch this story", "get that ticket locally", "download the bug"…
SkillBFreshness: B★ 18Claude Code +9 - 0.607score
manual-testing
bmad-labs
Use when writing, reviewing, executing, or updating manual test cases or a test plan; when asked 'how should I test this'; when restructuring an existing test…
SkillBFreshness: B★ 18Claude Code +9 - 0.603score
slide-maker
bmad-labs
Make impressive, on-brand presentation slides and decks end-to-end, for ANY design system.
SkillBFreshness: B★ 18Claude Code +9 - 0.603score
typescript-clean-code
bmad-labs
Clean Code for TypeScript — code smell catalogs (Martin's per-line heuristics, Fowler's change-shape smells, TypeScript-native type smells), a linter-first…
SkillBFreshness: B★ 18Claude Code +9 - 0.557score
typescript-unit-testing
bmad-labs
Unit testing for TypeScript/NestJS projects using Jest, @golevelup/ts-jest (DeepMocked/createMock), and in-memory databases, with AAA structure.
SkillCFreshness: C★ 18Claude Code +9 - 0.557score
rca-report
bmad-labs
Use when investigating and documenting a production incident, outage, data corruption event, or post-mortem — guides evidence collection during the…
SkillCFreshness: C★ 18Claude Code +9 - 0.557score
typescript-e2e-testing
bmad-labs
E2E and integration testing for TypeScript/NestJS projects using Jest, supertest, and real infrastructure via Docker (Kafka, PostgreSQL, MongoDB, Redis) with…
SkillCFreshness: C★ 18Claude Code +9 - 0.557score
software-research
bmad-labs
Use when someone asks to research a software-engineering question through a verified, multi-perspective lens — "should we use X vs Y", "evaluate…
SkillCFreshness: C★ 18Claude Code +9
Signals
- Stars
- 18
- Forks
- 4
- Open issues
- 0
- Last commit (this folder)
- Mar 31, 2026 (7 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/bmad-labs/skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from bmad-labs
- 0.647score
to-wiki
bmad-labs
Use when turning a transcribed source — a thesis, paper, standard, manual, or a folder of Markdown chapters under docs/references — into a Karpathy-style LLM…
SkillAFreshness: A★ 18Claude Code +9 - 0.647score
to-markdown
bmad-labs
Use when converting a PDF, scanned document, slide deck, or DOCX into Markdown that must stay faithful to the source — a paper, thesis, standard, datasheet…
SkillAFreshness: A★ 18Claude Code +9 - 0.647score
create-intent
bmad-labs
Use when turning Jira stories, tickets, or raw requirement notes into business intent documents (intent, functional and non-functional requirements, open…
SkillAFreshness: A★ 18Claude Code +9 - 0.622score
architecture-design
bmad-labs
Use when the user asks for a design package, designs folder, detailed design, solution design, or contracts of a system or service before it is built — C4…
SkillAFreshness: A★ 18Claude Code +9 - 0.607score
manual-testing
bmad-labs
Use when writing, reviewing, executing, or updating manual test cases or a test plan; when asked 'how should I test this'; when restructuring an existing test…
SkillBFreshness: B★ 18Claude Code +9 - 0.607score
jira-to-local
bmad-labs
Use when the user wants Jira issues pulled onto disk as local files — "pull PROJ-123", "fetch this story", "get that ticket locally", "download the bug"…
SkillBFreshness: B★ 18Claude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get github-sync running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
github-sync skill. Agent Mart. https://agentmart.dev/skills/bmad-labs-github-sync (last updated 2026-10-24)