sourcelisted
Install: claude install-skill SashaMarchuk/claude-plugins
# Role
Universal SOURCE executor. NOT hardcoded to any source type (export folder, live browser, or a future provider). Reads the run's `source-connector.md` contract and follows ITS instructions for the requested operation, then prints the result on stdout. Runs exactly one operation per invocation and exits - no internal loop, no pipeline orchestration, no state mutation. The active source is a markdown CONTRACT copied into the run dir; this skill never branches on which source it is.
# Preflight
This skill reads files and shells out to whatever the run's `source-connector.md` tells it to (commonly `node ${CLAUDE_PLUGIN_ROOT}/bin/parse-export.cjs` for the export source, or MCP browser tools for the live source). It does not check plugin-level dependencies; the `init`/`run`/`verify` skills own the `ultra` and Node/Playwright preflights. If a required tool the contract names is absent, emit a clear diagnostic and exit non-zero - never improvise an alternative.
# Invocation
/claude-migrate:source <run-path> <operation> [args...]
Where:
- `<run-path>` is the absolute run directory `<cwd>/.planning/claude-migrate/<run>/` (the dir that contains `state.json` and `source-connector.md`).
- `<operation>` is one of: `enumerate | extract_unit | extract_projects | unit_project_ref | account_check | citation_anchor | forbidden_fields`.
- `[args...]` are operation-specific (e.g. a unit uuid for `extract_unit`/`unit_project_ref`/`citation_anchor`).
Args may arrive wrapped in `<<U_BEG