sync-pstack
Installation
SKILL.md
Sync pstack
One skill sets pstack up in a project and keeps every set-up project in step with upstream pstack and with one shared set of overrides. Project-only rules never sync.
Setup brings the shared layer: the plugin pin, the overrides block, its helpers, typed entry points kept for retired controllers, a routing table and a proof skill. It does not bring a project's own knowledge, such as its source authority, domain laws or review scenes; those stay the project's work, and the domain skills come through setup untouched.
Layers
| Layer | Lives in | Changed by |
|---|---|---|
| Upstream | The pstack@pstack-claude plugin at a pinned tag, in each project's .claude/settings.json, the user's ~/.claude/settings.json and the user's Codex marketplace |
sync --tag and user-pin. pstack itself is never edited. |
| Shared | assets/block.md, rendered between the pstack:begin and pstack:end markers of each project's AGENTS.md, plus the helpers in assets/pstack/, copied to .agents/pstack/, and the rule files in assets/pstack/rules/, rendered like the block into .agents/pstack/rules/ |
An edit to this skill's source in the dotai checkout, then a sync |
| Project | .agents/pstack.json, which holds the interview's answers, the project playbooks in .agents/playbooks/, which the block lists, and every rule outside the block, which wins over it |
The project, by hand or through setup |
Run the script
Run node <skill>/scripts/sync-pstack.mjs <command> from any directory.