plugins/specweave/skills/progress-sync/SKILL.md
Sync progress from tasks.md to living docs and external tools (GitHub/JIRA/ADO). Use when saying "sync progress" or "push progress".
npx skillsauth add anton-abyzov/specweave plugins/specweave/skills/progress-syncInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Orchestrate end-to-end progress synchronization: tasks.md → spec.md ACs → living docs → external tools (GitHub/JIRA/ADO).
When sw:sync-progress is executed and no external issue exists, it MUST automatically create the issue using the Skill tool.
The command MUST invoke:
sw-github:create <increment-id> for GitHubsw-jira:create <increment-id> for JIRAsw-ado:create <increment-id> for Azure DevOpsDO NOT just report "No issues linked" - ACTUALLY CREATE THE ISSUE.
The TRUE "single button" to sync progress across all systems:
tasks.md → spec.md ACs → living docs → AUTO-CREATE external issues → sync external tools (GitHub/JIRA/ADO)
One command does EVERYTHING - including creating missing external issues!
sw:sync-progress
No more "No GitHub issue linked" errors! The command auto-creates missing issues.
For archived/completed increments, this command ALWAYS creates issues for historical tracking:
| Situation | Action | |-----------|--------| | Issue EXISTS | ✅ Sync final state + Close/Transition | | NO issue linked | ✅ AUTO-CREATE + IMMEDIATELY CLOSE (historical tracking) |
Why? Historical tracking is important! Completed work should have external issues for:
For all increments (active or completed): Auto-creates issues if missing (the "single button" philosophy)
sw:done to ensure all systems in syncsw-github:sync instead--no-create flag or manual commandsMulti-Phase Orchestration:
Phase 1: Tasks → ACs (spec.md)
└─ Reads completed tasks from tasks.md
└─ Finds linked ACs (via "Satisfies ACs" field)
└─ Marks ACs as complete in spec.md: [ ] → [x]
└─ Updates metadata.json with AC count
Phase 2: Spec → Living Docs (User Stories)
└─ Syncs spec.md to living docs structure
└─ Updates user story completion status
└─ Generates/updates feature ID if needed
Phase 3: AUTO-CREATE External Issues (NEW!)
├─ Checks each configured external tool for linked issues
├─ If no issue exists → AUTO-CREATE via sw-github:create, sw-jira:create, sw-ado:create
├─ Respects permissions (canUpsertInternalItems, canUpdateExternalItems)
└─ Skip with --no-create flag if needed
Phase 4: Sync to External Tools (Two-Way)
├─ GitHub: Two-way sync (push progress, pull team changes)
├─ JIRA: Two-way sync (push tasks, pull status)
└─ Azure DevOps: Two-way sync (push comments, pull updates)
Phase 5: Status Line Cache
└─ Updates status line with latest completion %
Scenario: Just created increment, completed tasks, never created a GitHub issue. Want to sync.
# Single command does EVERYTHING
sw:sync-progress
What happens:
No more "No GitHub issue linked" errors!
Scenario: You completed 5 tasks and marked them in tasks.md. GitHub issue already exists.
# Single command syncs everything
sw:sync-progress
What happens:
Scenario: All 37 tasks complete, ready to close. Ensure final sync.
# Final sync before closure
sw:sync-progress 0053
# Then close increment
sw:done 0053
Why important: sw:done validates completion. Final sync ensures:
Scenario: Want to see what will be synced before executing.
# Preview mode
sw:sync-progress 0053 --dry-run
Output:
🔍 DRY-RUN MODE (No changes made)
Would sync:
• 37 completed tasks → 70 ACs in spec.md
• spec.md → 6 user stories in living docs
• Living docs → 6 GitHub issues (would close completed)
• Status line cache (would update completion %)
Run without --dry-run to execute sync.
Scenario: Offline work, don't want to sync to GitHub/JIRA yet.
# Skip external tools
sw:sync-progress 0053 --no-github --no-jira --no-ado
What syncs:
| Flag | Purpose | Example |
|------|---------|---------|
| --dry-run | Preview without executing | --dry-run |
| --no-create | Skip auto-creation of missing issues | --no-create |
| --no-github | Skip GitHub sync | --no-github |
| --no-jira | Skip JIRA sync | --no-jira |
| --no-ado | Skip Azure DevOps sync | --no-ado |
| --force | Force sync even if validation fails | --force |
Combine flags:
# Full sync with auto-create (DEFAULT - just works!)
sw:sync-progress
# Sync only, don't create missing issues
sw:sync-progress 0053 --no-create
# Dry-run with no external tools
sw:sync-progress --dry-run --no-github
# Force sync, skip GitHub
sw:sync-progress --force --no-github
| Command | Scope | Auto-Create? | When to Use |
|---------|-------|--------------|-------------|
| sw-github:create | Create GitHub issue | ✅ | Manual issue creation |
| sw-github:sync | Docs → GitHub only | ❌ | GitHub-only sync (issue must exist) |
| sw:sync-progress | Tasks → Docs → Create → Sync | ✅ | Complete sync ✅ (RECOMMENDED!) |
Rule of thumb:
sw:sync-progress ✅sw:sync-progress --no-createSmart increment detection:
# Explicit increment ID
sw:sync-progress 0053
# Auto-detect from active increment
sw:sync-progress
How auto-detection works:
.specweave/state/active-increment.jsonAutomatic detection of configured tools:
The command checks .specweave/config.json for:
"provider": "github""provider": "jira""provider": "azure-devops"Only configured tools are synced:
✅ GitHub integration detected → Will sync
ℹ️ No JIRA integration → Skip
ℹ️ No ADO integration → Skip
Graceful degradation:
| Error Type | Behavior | Impact | |------------|----------|--------| | AC sync fails | ❌ Abort sync | Critical - blocks all sync | | Docs sync fails | ❌ Abort sync | Critical - blocks external sync | | GitHub sync fails | ⚠️ Log warning, continue | Non-critical - docs still synced | | JIRA sync fails | ⚠️ Log warning, continue | Non-critical - docs still synced | | ADO sync fails | ⚠️ Log warning, continue | Non-critical - docs still synced |
Philosophy: Core sync (tasks → docs) must succeed. External tool sync is best-effort.
Error:
❌ No active increment found
Fix:
# Provide increment ID explicitly
sw:sync-progress 0053
Error:
⚠️ AC sync had warnings: 5 ACs not found in spec.md
Fix:
# Manually add ACs to spec.md, then retry sync
sw:sync-progress 0053
Why this happens: spec.md missing inline ACs (ADR-0064 requirement).
Error:
⚠️ GitHub sync had warnings: Rate limit exceeded
Fix: Non-critical. Docs are synced. Retry later when rate limit resets:
# Retry GitHub sync only (when rate limit resets)
sw-github:sync 0053
Typical increment workflow with progress sync:
# 1. Plan increment
sw:increment "Safe feature deletion"
# 2. Execute tasks
sw:do
# [Complete tasks manually or via sub-agents...]
# 3. Sync progress after each batch of tasks
sw:sync-progress
# 4. Final sync before closure
sw:sync-progress 0053
# 5. Validate quality
sw:validate 0053 --quality
# 6. Close increment
sw:done 0053
sw:done--dry-runsw:done--force bypasses validationWhy comprehensive sync is needed:
Problem: Manual multi-step sync is error-prone
1. Update spec.md ACs manually
2. Sync living docs
3. Sync GitHub/JIRA/ADO
4. Check each system for correctness
Solution: Single command orchestrates all steps
sw:sync-progress → Does all 4 steps automatically
Benefits:
Before this command, users had to manually sync ACs, docs, and external tools separately. Now: One command does everything ✅
sw-github:sync - Sync docs → GitHub onlysw-jira:sync - Sync docs → JIRA onlysw-ado:sync - Sync docs → ADO onlysw:update-status - Update status line cacheI'm here to help you sync progress efficiently across all systems!
Ask me:
tools
Generate AI videos from text prompts or images. Supports Google Veo 3.1 and Pollinations.ai (free). Use when generating video, creating animations, text-to-video, AI video, video generation, make clip, animate.
tools
Validate increment with rule-based checks and AI quality assessment. Use when saying "validate", "check quality", or "verify increment".
tools
Create and manage umbrella workspaces for multi-repo projects. Activate when the user wants to: create umbrella, umbrella init, wrap in umbrella, create workspace, setup multi-repo, migrate repos to umbrella, umbrella create, new workspace, restructure into umbrella, "wrap this repo", "create umbrella for these repos", "setup workspace with repos", "move repos into umbrella". Do NOT activate for: add a repo to existing umbrella (use sw:get), add a feature, add an increment, clone a repo (use sw:get).
tools
--- description: Merge completed parallel agent work and trigger GitHub sync per increment. Activates for: team merge, merge agents, combine work, team finish. --- # Team Merge **Verify all teammates completed, run quality gates, close increments, and trigger sync.** ## Usage ```bash sw:team-merge sw:team-merge --dry-run # Preview merge plan sw:team-merge --skip-sync # Merge without GitHub/JIRA sync ``` ## What This Skill Does 1. **Verify all teammates completed** -- bl