| name | dge-sync |
| description | Sync Delivery Graph nodes to external task trackers such as Linear, Azure DevOps, or GitHub Issues. |
| argument-hint | [linear|ado|github|all] [optional graph path] |
DGE Sync
Use this skill when the graph should create or update tracker records.
Purpose
Project the canonical delivery graph into external systems. Trackers are projections; the graph remains the source of truth.
Supported targets
- Linear
- Azure DevOps
- GitHub Issues
- local sync files
Core rules
- Never create tracker records for unresolved blocker gaps.
- Sync only executable nodes unless the user asks to sync demands or requirements.
- Preserve graph IDs in tracker titles or metadata.
- Update
delivery-graph/sync/<target>.json after successful sync.
- If tracker state conflicts with graph state, report a conflict; do not silently overwrite the graph.
Mapping
| DGE object | Linear | Azure DevOps |
|---|
| Demand | Project / Initiative | Feature / Epic |
| Requirement | Milestone, label, or parent issue | User Story / PBI |
| Track | Project view, label, or cycle | Area grouping |
| Work node | Issue | Task |
| Dependency | Blocks relation | Related/predecessor link |
| Validation | Checklist/comment | Acceptance checklist |
Workflow
- Read
delivery-graph/graph.json.
- Resolve sync target from arguments or config.
- Identify nodes missing external IDs.
- Create missing records.
- Update existing records when title, status, dependency, or validation changed.
- Save sync map under
delivery-graph/sync/.
- Report created, updated, skipped, and conflicted records.
Output
Follow the shared output convention (see skills/README.md): lead the final
reply with a bold one-line synthesis (e.g. "Synced: 3 created, 2 updated, 1
conflict"), then the created/updated/skipped/conflicted record list, then a
## Next block: resolve reported conflicts, or /dge-work-node for
newly-synced items.
CLI contract
Use local dry-run adapters first:
npm run dge -- sync linear --team-id "<linear-team-id>"
npm run dge -- sync ado --org "<ado-org>" --project "<ado-project>" --area "<area-path>" --iteration "<iteration-path>"
These write delivery-graph/sync/linear.json or delivery-graph/sync/ado.json with planned tracker payloads. Treat those files as the reviewable projection before enabling any API-backed sync.
Safety
If credentials or tracker tools are unavailable, write a dry-run plan instead of failing silently:
delivery-graph/sync/<target>.json