push-to-trackerlisted
Install: claude install-skill firatcand/forge
# /push-to-tracker
Delegate to the `tracker-syncer` subagent. Tracker-agnostic; dispatches per `.forge/settings.yaml`'s `tracker.type`.
## Preconditions
- `plans/phases.yaml` exists
- `.forge/settings.yaml` exists and has a `tracker:` block (validated by `src/schemas/settings.ts::TrackerConfigSchema` — discriminated union on `type`, one of `linear|github|notion`)
- Per-tracker tooling reachable (Linear MCP / `gh` CLI / Notion MCP)
## Step 0 — Resolve tracker
Read `.forge/settings.yaml` and extract:
- `tracker.type` ∈ {`linear`, `github`, `notion`}
- `tracker.config` (per-type shape: Linear → `team_id`; GitHub → `repo`; Notion → `database_id`)
If `.forge/settings.yaml` is missing or `tracker:` is absent, abort:
```
No tracker configured. Run `forge init` first, or add a `tracker:` block to .forge/settings.yaml.
```
If `tracker.type` is unknown, surface the zod schema error verbatim (one of `linear|github|notion`).
## Step 1 — Preflight per tracker
| `tracker.type` | Probe | If missing |
|---|---|---|
| `linear` | Linear MCP available | Offer `claude mcp add linear --transport http https://mcp.linear.app/mcp` + OAuth + restart, OR the no-MCP fallback (print Linear-import manifest). |
| `github` | `gh auth status` exits 0 | Instruct `gh auth login`. |
| `notion` | Notion MCP available | Offer install + no-MCP fallback (print Notion-importable manifest). Until NotionTracker code lands (FORGE-17), MCP is the only path. |
## Step 2 — Delegate to `tracker-syncer`
Pass `