Resolve the Atlas board
Runs the two reconciliation mechanisms on demand instead of waiting for their natural cadence (the sync runs hourly at :17; chips only land when the local sweep runs). Both are idempotent — running this at any time is safe.
Set SKILL_DIR to the absolute directory containing this loaded SKILL.md. Resolve symlinks to find the agents checkout:
AGENTS=$(dirname "$(dirname "$(realpath "$SKILL_DIR")")")
Step 1 — dispatch the Atlas sync and wait
The sync is hosted in THIS repo (migrated from the fork 2026-08-26 — it is org-wide board infrastructure and every write rides the org PAT).
gh workflow run atlas-sync.yml --repo meridianlabs-ai/agents
sleep 10
RID=$(gh run list --repo meridianlabs-ai/agents --workflow atlas-sync.yml \
--limit 1 --json databaseId --jq '.[0].databaseId')
# poll to completion (typically < 2 min; timeout-minutes is 15)
gh run watch "$RID" --repo meridianlabs-ai/agents --exit-status || true
Pull its summary — the actions it took (stage moves, closes/reopens, skips) live in the run output:
gh run view "$RID" --repo meridianlabs-ai/agents --log 2>/dev/null \
| sed -n '/=== Atlas sync summary ===/,/^$/p'
If the run FAILED at preflight, MARVIN_TOKEN has a permissions problem (project scope) — surface that to the user rather than continuing.
Step 2 — run the chip sweep
cd "$AGENTS/scripts/link-upstream-chips" && node index.mjs
- Links every pending chip: External proxies ↔ upstream PRs, and fork agent
PRs (
claude/issue-N-*) ↔ their issues (whoseFixesrefs are inert on the fork — non-default base branch). - If it exits with "Not signed in", the ~2-week browser session expired: run
node index.mjs --login, let the user complete the GitHub sign-in in the window that opens, then rerun the sweep. FAILED/WRONG LINKlines need eyes — the script never clicks a non-matching result, so failures mean the Development-panel markup changed (--headedto debug) or a genuinely missing search result.
Step 3 — report
One short summary combining both: sync actions taken (or "no changes"), chips linked (or "none pending"), plus anything needing the user (expired login, preflight failure, WRONG LINK).
Notes
- The sync only manages issues assigned to
ransomr(pilot scoping) and only those with anUpstream PRfield for the promotion tail; promotion bookkeeping itself is thepromoteskill's job. - Neither mechanism touches Agent / Review transitions driven by the agent workflows — this skill reconciles the upstream tail and the chips, not the agent lifecycle.