Default Agent Instructions
The curated instruction presets Omniscio injects into every session it spawns — what each preset does, where the settings live, how the text reaches every engine through the system-prompt bundle, and why the attribution preset writes to the local settings file.
What it is
Omniscio ships a set of curated instruction presets that are automatically injected into every Claude Code session you spawn. These protect against common pitfalls -- AI attribution on commits, accidental cloud resource deletion, repos created as public -- without you having to configure anything.
Where to find it
Settings -> Agent Instructions (sidebar, under Workflow group).
How it behaves
Presets -- Each is a toggle (on/off). Most default to ON:
- Remove AI attribution -- strips "Co-authored-by: Claude" from commits
and attribution from PRs. Also manages the attribution field in
.claude/settings.local.json(the per-developer override file, never the repo's shared.claude/settings.json). - Cloud resource safety -- blocks deletion of Firebase/GCP/AWS resources without your explicit approval.
- Private repos --
gh repo createalways uses--private. - Professional README -- ensures polished READMEs with badges and structure.
- Firebase account check -- verifies the right Firebase account before deploy (default OFF).
- Isolate each session in its own git worktree -- tells agents to make a git worktree + branch per session and never commit directly to master/main. Claude Code already enforces this via hooks; this carries the same discipline to other engines (Codex, Gemini, Cursor) through the synced instructions.
- Keep a live to-do checklist -- tells agents to track their work as a to-do checklist via the Task tools, so their progress shows on the Agent Board (default OFF).
- Close finished sessions instead of filling the inbox -- tells agents to archive their own session when the work is done and nothing is left for you to receive or decide, so a finished session leaves the board on its own instead of waiting for a click (default ON).
- Remove AI attribution -- strips "Co-authored-by: Claude" from commits
and attribution from PRs. Also manages the attribution field in
Custom Instructions -- Free-form textarea for anything else you want injected into every session (e.g. "always use bun", "prefer functional components").
Master Toggle -- Turns the entire feature on/off. Default: ON.
For agents
Technical Details
The presets and your custom text ride the engine system-prompt bundle — the one
ordered fragment list every engine harness consumes (default-agent-instructions). They
therefore reach local Claude, SSH Claude, Codex, Gemini and every other engine
identically, and a future engine gets them automatically. See
.claude/memory/contracts/engine-prompt-bundle-contract.md (every-consumer-spreads-the-whole-bundle).
Corrected 2026-09-01. This page previously claimed Omniscio writes
.claude/amc-instructions.md and that "Claude CLI automatically loads all .md files
under .claude/". That is false, and the feature reached no engine at all. A
four-way sentinel probe against a real Claude session (tools disabled, CLI v2.1.170 —
the build Omniscio spawns) reported CLAUDE.md, .claude/CLAUDE.md and
.claude/rules/*.md in context and did not report .claude/amc-instructions.md;
a non-Claude engine never reads .claude/ at all. The ## Project Instructions half (project docs flagged "inject as instruction")
moved to the bundle in the same way, as a project-instructions fragment read
BEFORE these presets. .claude/amc-instructions.md is therefore no longer a
delivery path for anything; only the attribution management below still does
real work.
For the attribution preset, Omniscio also manages
.claude/settings.local.json in the project directory, setting
attribution.commit and attribution.pr to empty strings. Existing fields in
that file are preserved (merge, not overwrite) — including the permissions
the Claude CLI stores there when you approve a tool.
Why the .local file, not .claude/settings.json (changed 2026-09-16, bug
85b27cb6). Omniscio used to write the repo's TRACKED settings.json, and it
treated "I could not read an existing settings object" as "there is none, so my
key is the whole file". In a reported repo that replaced the committed file
with a two-line stub in 27 of 576 worktrees, deleting a $schema and a
SessionStart hook. Two triggers produced it: the file being absent (a session
resumed into a workspace that had lost its .claude/), and the file being {}
(written deliberately for cursor engines).
Writing the gitignored sibling removes the whole class rather than guarding
against it, and it fixes the second reported harm for free: the shared file can
no longer be reformatted either, because it is never written. The CLI merges
settings.local.json OVER settings.json per key, so a repo's hooks keep
applying and only Omniscio's own preference is overridden locally — the
documented purpose of that file. The tracked file is now read-never and
write-never for this module, pinned by a regression test.
The file has a banner comment (<!-- AMC-DEFAULT-INSTRUCTIONS ...) so Omniscio
can identify and clean up its own files when the feature is disabled.
Git tracking: The .claude/amc-instructions.md file is regenerated on
every spawn. You may want to add it to .gitignore to keep git status clean,
or leave it tracked so teammates can see what instructions Omniscio injects.
Relationship to Agent Instructions Sync
These are different features:
- Default Agent Instructions (this page) -- Omniscio-authored presets injected into sessions. Content comes from Omniscio's built-in registry.
- Agent Instructions Sync -- mirrors your project's existing CLAUDE.md to other tool filenames (.cursorrules, GEMINI.md, etc.). Content comes from your own CLAUDE.md.
Both can be enabled simultaneously. The sync feature mirrors whatever is in
the project's CLAUDE.md (which may include the Omniscio-injected file if .claude/
is part of the project tree).
Key Files
| File | Role |
|---|---|
src/shared/agent-instruction-presets.ts |
Preset registry (ids, categories, instruction text) |
src/main/services/agent-instructions-injector.ts |
Spawn-time writer (.claude/amc-instructions.md + settings.local.json) |
src/main/process/process-manager.ts |
Calls injector before every spawn |
src/renderer/src/features/settings/sections/agent-instructions/AgentInstructionsSettings.tsx |
Settings UI |
src/shared/types.ts |
AppSettings fields (defaultAgentInstructions*) |
Related
The sibling feature is Agent Instructions Sync, which mirrors your project's own CLAUDE.md out to AGENTS.md, .cursorrules, GEMINI.md and the other tool filenames — the reverse direction, from your file to the other engines. The two can run at once, and both reach every engine through the same system-prompt bundle.
Last verified 2026-10-06