tcgflow-sync-jiralisted
Install: claude install-skill bibennurbani/geekstack-flow
# `/tcgflow-sync-jira` — refresh Jira statuses into the project cache
## When to use
The user typed `/tcgflow-sync-jira` or said *"sync Jira"*, *"refresh Jira status"*, *"what's the Jira status of our tasks?"*, or the Cockpit shows a stale "synced Xh ago".
## What to do
Run the `sync-jira` skill in `.tcgstackflow/skills/sync-jira/SKILL.md`. High-level flow:
1. **Collect Jira-keyed task IDs** from `tasks/active|completed|archive/` (folders matching `[A-Z][A-Z0-9]+-\d+`, e.g. `ES-6965`; skip non-Jira IDs).
2. **Confirm the Atlassian MCP is connected** (`atlassian` in `config.yaml` `mcp.recommended`). If not, stop and ask the user to connect it — never invent statuses.
3. **Fetch statuses** — prefer one JQL batch (`key in (…)`, fields `status`,`summary`); use `tempo.cloudId` from config if needed.
4. **Write `tasks/jira-cache.json`** (project-local snapshot): `_synced`, `_cloudId`, and an `issues` map of `{ status, category, url, summary, updated }` per key. Overwrite the whole file each run.
5. **Report** issues synced, unrecognised keys, and any **drift** (workspace done-ish but Jira not, or vice-versa). Then tell the user to refresh the Cockpit (it reads the cache live).
## Guardrails
- **Read-only on Jira.** Never transition a ticket — that's a separate HIGH action.
- **Never invent statuses** — omit unfetchable keys and report them.
- **Project-specific cache only** — always `.tcgstackflow/tasks/jira-cache.json` in the project being synced.
## Notes
- The Cockpit h