Install User Instructions
Install shared personal defaults at each selected system's supported user surface without overwriting custom content or copying global rules into every repository.
Workflow
- Detect available systems with read-only checks (
command -vplus existing target files). Do not infer that every detected system should be modified. - Ask the user which of Claude Code, Codex, Copilot CLI, and Cursor to configure. This selection is required before any user-home write.
- Read
references/platform-paths.mdfor the selected systems. Resolve documented home overrides before default paths. - Choose the instruction content:
- use
assets/global-instructions.mdfor the project defaults; - use a user-supplied file with
--templatewhen requested; - never silently copy a repository's project-specific instructions into user scope.
- use
- Run
scripts/install_user_instructions.py --systems <csv>without--apply. This is the mandatory dry-run and diff preview. - Show every destination and diff. For Cursor, show the copy/paste block for Cursor Settings > Rules; do not invent a filesystem destination.
- Ask for confirmation of the exact selected destinations and changes.
- After confirmation, rerun with
--apply. Writing outside the workspace may require the runtime's normal filesystem approval. - Verify each selected system using the command or UI check in
references/platform-paths.md. - Audit the current repository for duplicated general rules. Report exact duplicates or conflicts, but remove project content only with separate user approval.
Non-destructive contract
- Manage only the block between
<!-- research-skills:global-instructions:start -->and<!-- research-skills:global-instructions:end -->. - Preserve all content outside the managed block byte-for-byte.
- Fail on unmatched or repeated markers instead of guessing.
- Default to preview mode.
--applyis required for writes. - Write only explicitly selected systems.
- Keep Cursor manual until its official User Rules surface exposes a stable, supported file path.
- Keep general personal defaults at user scope. Repository
AGENTS.md,CLAUDE.md,.github/copilot-instructions.md, and.cursor/rulescontain only project facts or system-specific/path-scoped deltas. - Do not duplicate shared project rules in
CLAUDE.md; importAGENTS.mdand append Claude-only deltas.
Script examples
Preview Claude, Codex, and Copilot targets:
uv run python scripts/install_user_instructions.py \
--systems claude,codex,copilot
Apply the approved preview:
uv run python scripts/install_user_instructions.py \
--systems claude,codex,copilot --apply
Preview Cursor's manual User Rules block:
uv run python scripts/install_user_instructions.py --systems cursor
Use absolute paths to the skill script when the current working directory is not this skill directory.
Content policy
The bundled defaults encode the central agent-fanout routing contract:
strongest-tier lead judgment, intermediate approved-plan elaboration, and
worker-tier implementation with explicit tests and gates. They also require
closing/removing completed one-off agents.
Use semantic line breaks in prose source generally. GitHub issue and pull-request bodies are the exception: keep each paragraph on one source line, separate paragraphs with blank lines, and do not insert sentence- or clause-level newlines inside a paragraph.