Jira Sync Guide
Jira Sync Guide
This directory contains all TC Portal initiatives and epics using a meta.yaml-based system synced from Jira.
π Structure
INITIATIVES/βββ TP-1857-Supplier-Management/β βββ meta.yaml # Initiative metadataβ βββ TP-2291-SAP-Supplier-Audit/ # Epic folderβ βββ meta.yaml # Epic metadata + phasesβ βββ stories.yaml # User stories (synced from Jira)β βββ PROGRESS.md # Weekly progress notesβ βββ idea.md # Original idea briefβ βββ PRD.md # Product requirementsβ βββ DUMP/ # Attachments, exportsπ Syncing Commands
Product Manager agent uses /jira-sync with MCP Atlassian tools:
# Sync specific epic (daily)/jira-sync --epic TP-432
# Sync entire initiative (weekly)/jira-sync --initiative TP-1857
# Full sync (monthly)/jira-sync --fullWhat Sync Does
- Fetches epic/initiative from Jira (
getJiraIssue) - Fetches phases:
"parent = TP-432 AND type = Phase" - Fetches stories:
"parent = TP-432 AND type = Story" - Creates/updates
meta.yamlandstories.yamlfiles - Creates
PROGRESS.mdtemplate if missing - Confirms with user before creating new epic folders
What Sync Skips
- Archived epics (in
ARCHIVED/folders) - Tasks/subtasks (stay in Jira only)
π File Formats
Initiative meta.yaml
jira_key: TP-1857title: Supplier Managementdescription: Initiative description from Jirastatus: activeepic_count: 8last_synced: 2025-01-10T14:30:00ZEpic meta.yaml
jira_key: TP-432title: S@H APIstatus: In Progressprefix: SAH-APIdescription: Epic description from Jiralast_synced: 2025-01-10T14:30:00Z
phases: - key: TP-3020 name: SAH-API - Discovery status: Done assignee: displayName: Sarah Chen accountId: acc1 created: 2025-01-15T00:00:00Zstories.yaml
epic_key: TP-432last_synced: 2025-01-10T14:30:00Zstories: - key: TP-2145 title: As an API consumer, I want to authenticate via OAuth status: Done assignee: Alex Chen estimate: 8 sprint: Sprint 23π€ For Product Manager Agent
Skills to Use
When syncing, invoke these skills in .claude/skills/:
- jira-full-sync - Orchestrate complete sync (initiatives β epics β phases β stories)
- initiative-epic-sync - Sync initiative/epic structure
- jira-phase-sync - Batch sync phases (1 query for all epics)
- stories-sync - Batch sync user stories (1 query for all epics)
- archive-handler - Archive closed epics with metadata
New Epic Discovery Flow
When you find epics in Jira that donβt exist locally:
1. Detect new epic (e.g., TP-2999)2. Show user: "Found new epic: TP-2999 - New Feature Name Create local folder? [Y/n]"3. If confirmed: - Create folder structure - Write meta.yaml - Write stories.yaml (if stories exist) - Create PROGRESS.md template4. Append to SYNC-LOG.mdLogging
Append brief entries to .claude/INITIATIVES/SYNC-LOG.md:
## 2025-11-10 14:30- Synced: 41 epics, 156 stories- Created: 2 new epic folders (TP-2999, TP-3000)- Archived: 1 closed epic- Issues: NoneKeep under 10 lines per sync.
π MCP Tools Used
Product Manager agent has access to:
mcp__atlassian__getJiraIssue- Get epic/initiative detailsmcp__atlassian__searchJiraIssuesUsingJql- Batch query phases/storiesmcp__atlassian__getAccessibleAtlassianResources- Get cloud ID
Batch Query Strategy
Efficient approach (preferred):
// Single query for all phasesjql: "type = Phase AND parent IN (TP-432, TP-900, TP-901, ...)"
// Single query for all storiesjql: "type = Story AND parent IN (TP-432, TP-900, TP-901, ...)"Performance: 144+ calls β 5 calls (97% reduction)
π οΈ Maintenance
Regular Tasks
- Daily: Sync active epics with
--epic - Weekly: Sync initiatives with
--initiative - Monthly: Full sync with
--full
Current State
- 7 Active Initiatives with meta.yaml
- 41 Active Epics with meta.yaml
- 4 Archived Epics in ARCHIVED folders
- System: meta.yaml-based (v2.0)
π Resources
- Jira: https://trilogycare.atlassian.net/browse/TP
- Frontend: http://tc-portal.test/documentation/initiatives
- Services:
domain/Documentation/Services/InitiativesService.php
Last Updated: 2025-11-10 System: meta.yaml-based sync via MCP Atlassian tools