setup-harness · git:20261012.eff4106 · 2026-10-12 · sha256 439c62b1d334f690

setup-harness git:20261012.eff4106A

Immutable. This exact content never changes and is served at /api/v1/blob/439c62b1d334f690.

---
name: setup-harness
description: Set up personal instructions for Codex (app and CLI), Cursor, or Claude Code, with reviewed content, native instruction loading, and no backups or system-prompt replacement.
disable-model-invocation: true
---

# Set up personal harness instructions

Create or update personal instructions through each selected harness's native
mechanism. Keep its built-in system prompt intact. This skill changes only the
selected instruction destinations, leaving configuration and legacy files
unchanged. It requires file-editing access for file targets; no installer or
PowerShell dependency.

## 1. Select harnesses and languages

Ask which harness or harnesses to configure. Offer Codex, Cursor, and Claude Code;
reuse selections already explicit in this request rather than asking again.
Codex is one choice covering the app and CLI, which share user instructions under
the same `CODEX_HOME`. The current host is not an implicit selection. Confirm the
machine/profile when it affects the destination. Default to personal,
cross-project scope.

Ask for the languages used for conversation/reports, repository documentation,
and code/comments/Git text. One answer may cover all three; reuse explicit choices
made for this setup. Do not infer permanent preferences from the chat's language.

For each selected harness, read its section in
[native destinations](references/harnesses.md) to resolve supported loading and
existing instruction conflicts. For an unlisted harness, verify its official
documentation before proposing a destination.
If its instruction mechanism is unknown, leave that harness pending while working
on the others; do not invent a global `AGENTS.md` path.

**Done:** selected harnesses, languages, scope, and exact destinations are known.

## 2. Inspect and prepare the proposal

1. Read each existing destination and relevant instruction sources. Preserve
   unrelated content and identify conflicts instead of replacing whole files with
   a template. Record a content hash, or absence, for each target; for UI rules,
   retain the current text in the conversation for comparison.
2. Resolve symbolic links or junctions before proposing a write. Show the real
   destination and obtain approval for that target rather than writing through a
   link silently. A directory where a file is expected blocks that target.
3. Read the [policy template](references/operating-policy.md) to draft the shared
   policy. Substitute the three language placeholders and adapt only approved
   preferences. Reconcile existing policy sections rather than appending duplicates.
   Keep harness-specific loading details out of the installed policy.
4. Present the complete proposed text or diff and each exact destination. Explain
   material removals within the instruction text, unresolved conflicts, and the
   supported loading mechanism. State that setup creates **no backups**.
5. Wait for explicit approval of the content and actions for each destination.
   General setup authorization is not approval of unseen text. If declined, revise
   the proposal or leave that target unchanged. No preview files are written into
   harness profiles or repositories before approval.

**Done:** the user approves the exact content and destinations.
**Waiting:** retain proposals in the conversation; independent approved targets may
proceed without treating silence as approval for the others.

## 3. Apply without backups

Re-read every target immediately before editing. If its content, existence, or
resolved path changed since review, reconcile and obtain renewed approval. Create
missing parent directories only for approved file targets. Write only the approved
content using available editing tools, without `.bak` files, backup directories,
or copies of previous versions. An identical destination is a no-op.

For Cursor User Rules, use an available authorized UI integration. If it is not
available, provide the exact approved text and destination for the user to apply;
report this as pending, not installed. Do not edit undocumented application storage
or substitute a project-scoped file for global instructions.

Apply each distinct instruction destination once. Codex's app and CLI do not
require separate writes when they share `CODEX_HOME`. Leave configuration, old
policy files, rules outside the selected destination, and backup archives untouched.

If any operation fails, inspect its actual result before retrying. Report which
destinations changed and which remain pending; do not automatically roll back
other successful targets. With no backups, reversal needs a new reviewed edit,
not a promised restore command.

**Done:** approved targets match the proposal, or partial results are explicitly
identified with the failed operation and next safe action.

## 4. Verify and hand over

- Compare each written file or saved rule with the approved content. Check language
  substitutions, preserved instructions, duplicate policy sections, and the absence
  of new backup artifacts. Check that no unrelated configuration was changed.
- If an existing override or conflicting rule affects loading, report the limitation
  without changing that source or claiming the new instructions are active.
- Report per harness: exact destination, created/updated/unchanged/pending status,
  unresolved conflicts, and file-level versus runtime verification.
- With separate authorization, verify loading in a fresh session using the selected
  client's available instruction/context diagnostics. Otherwise ask the user to
  start one and mark loading unverified. A file write or an agent's self-report is
  not proof of loading or behavioral compliance.

**Done:** requested changes are verified at the available level and remaining
manual actions or runtime checks are explicit. Maintaining this skill does not
authorize configuring the maintainer's active profile; use temporary profiles for
any write tests.