cite-synclisted
Install: claude install-skill hsigstad/research-kit
# /cite-sync — Regenerate project citation manifests
Action skill: regenerates `docs/refs/manifest.toml` for each project from
the workspace citation registry at `research/refs/registry.toml`. Thin
wrapper over `research-kit/tools/citations.py --sync`.
This is a **write action**, not an audit. To validate citation tokens
without writing anything, use `/check cite`.
## What the manifest does
The project manifest is a privacy/scoping boundary. Coauthors who clone a
project repo without access to the full workspace registry need
human-readable titles for every external citation. `/cite-sync` builds
that file by:
1. Walking the project's `docs/` and `paper/` for `[ns:key]` tokens with
**external** namespaces (`method`, `catalog`, `pipeline`, `var`,
`idea`, `proj`, `inst`).
2. Looking each up in the workspace registry.
3. Writing the public-facing subset — `title` + `description` only, no
paths, no internal pointers — to `docs/refs/manifest.toml`.
The manifest stays in sync with what the project actually cites: drop a
citation, `/cite-sync` removes the entry next run; add a new one,
`/cite-sync` adds it.
## How to invoke
| Form | What it does |
|------|--------------|
| `/cite-sync` | Regenerate manifests for every project in the workspace |
| `/cite-sync <slug>` | Regenerate one project's manifest |
| `/cite-sync --dry-run` | Show the diff per project, don't write |
Raw command:
```bash
python3 ~/research/research-kit/tools/citations.py [<slug>] --sync
```
##