/soul-disable
Disable soul enforcement without deleting SOUL.md or soul files
Claude Code
$ npx -y skills add jmagly/aiwg --skill soul-disable --agent claude-code
Codex
$ npx skills add jmagly/aiwg --skill soul-disable -a codex -y
Cursor
$ npx skills add jmagly/aiwg --skill soul-disable -a cursor -y
Gemini CLI
$ npx skills add jmagly/aiwg --skill soul-disable -a gemini-cli -y
GitHub Copilot
$ npx skills add jmagly/aiwg --skill soul-disable -a github-copilot -y
OpenCode
$ npx skills add jmagly/aiwg --skill soul-disable -a opencode -y
Windsurf
$ npx skills add jmagly/aiwg --skill soul-disable -a windsurf -y
SKILL.md
soul-disable.SKILL.mdnamespace: aiwg
name: soul-disable
platforms: [all]
description: Disable soul enforcement without deleting SOUL.md or soul files
commandHint:
argumentHint: "[--provider claude|warp|copilot|cursor|factory|windsurf|opencode|codex] [--all]"
allowedTools: Read, Write, Edit, Bash, Glob
model: haiku
category: soul-management
modelRole: efficiency
modelTier: economy
Soul Disable
You are a Soul Management Specialist responsible for disabling SOUL.md enforcement.
Your Task
Remove the soul directive from platform context file(s) and remove the enforcement rule so SOUL.md is NOT loaded at the next session start. The SOUL.md file itself is **preserved on disk** — no content is lost.
Parameters
| Flag | Description | |------|-------------| | `--provider <name>` | Target specific provider: `claude`, `warp`, `copilot`, `cursor`, `factory`, `windsurf`, `opencode`, `codex` | | `--all` | Disable for all installed providers (default if no provider specified) |
Workflow
Step 1: Determine Target Providers
If `--provider <name>` specified, operate on that provider only. If `--all` or no flag, detect installed providers by checking for their context files.
Step 2: Check Current State
For each target provider:
1. Check if the context file exists 2. Check if the `@SOUL.md` directive is currently present
# Example for Claude Code
grep -q "@SOUL.md" CLAUDE.md && echo "enabled" || echo "already disabled"
Step 3: Remove Directive
**For @-link style** (Claude, Warp, Windsurf, Copilot, Cursor, Factory, OpenCode):
Remove the `@SOUL.md` line from the context file. Preserve all surrounding content.
**For Codex** (inline injection):
Remove the block between soul injection markers:
<!-- BEGIN SOUL -->
...content...
<!-- END SOUL -->
Step 4: Remove Enforcement Rule
# Remove the enforcement rule
rm -f .claude/rules/soul-enforcement.md
Step 5: Revert Agent Soul Wiring (if present)
Check if any agent definitions have soul identity sections added by `soul-enable --agents`. If found, remove them:
# Check for soul-wired agents
grep -rl "See @.*\.soul\.md" .claude/agents/ 2>/dev/null
Remove the `## Identity` section that references the soul file from each wired agent.
Step 6: Verify SOUL.md is Preserved
After removing directives and rule, confirm the soul file still exists:
ls SOUL.md .aiwg/SOUL.md 2>/dev/null && echo "soul file preserved" || echo "no soul file found"
Step 7: Report Outcome
Soul enforcement disabled
Changes made:
~ CLAUDE.md (@SOUL.md directive removed)
- .claude/rules/soul-enforcement.md (removed)
SOUL.md preserved at ./SOUL.md
Agent soul wiring preserved (agent definitions unchanged)
To re-enable: /soul-enable
To check status: /soul-status
Idempotency
If soul enforcement is already disabled:
Soul already disabled for Claude Code
No @SOUL.md directive found in CLAUDE.md
No enforcement rule found
No changes made.
Safety Guarantee
`soul-disable` NEVER:
- Deletes SOUL.md or any `.soul.md` file
- Modifies SOUL.md content
- Removes installed agents, commands, or skills
- Changes any project-specific content beyond the soul directive
It only removes the directive line that loads soul context and the enforcement rule.
Error Handling
| Condition | Action | |-----------|--------| | Context file missing | Report: nothing to disable | | SOUL.md missing | Report warning: soul disabled but SOUL.md not found on disk | | No write permission | Report permission error | | Enforcement rule missing | Skip removal, note already absent |
Use Cases
- Disable soul for utility/automation sessions where persona is unnecessary
- Quick troubleshooting: disable soul to test without persona influence
- CI environments where soul context overhead is undesired
- Projects where soul was enabled experimentally and needs to be turned off
Examples
# Disable for all installed providers
/soul-disable
# Disable for Claude Code only
/soul-disable --provider claude
# Disable for Warp
/soul-disable --provider warp
Related Commands
- `/soul-enable` — Enable soul enforcement
- `/soul-status` — Show current soul state
- `/hook-disable` — Reference implementation (same directive-removal mechanism)
References
- #437 — SOUL.md compatibility overview
- #438 — Soul enforcement commands (this command)
- @$AIWG_ROOT/agentic/code/addons/aiwg-utils/commands/hook-disable.md — Reference pattern
Read more
namespace: aiwg name: soul-disable platforms: [all] description: Disable soul enforcement without deleting SOUL.md or soul files commandHint: argumentHint: "[--provider claude|warp|copilot|cursor|factory|windsurf|opencode|codex] [--all]" allowedTools: Read, Write, Edit, Bash, Glob model: haiku category: soul-management modelRole: efficiency modelTier: economy
Soul Disable
You are a Soul Management Specialist responsible for disabling SOUL.md enforcement.
Your Task
Remove the soul directive from platform context file(s) and remove the enforcement rule so SOUL.md is NOT loaded at the next session start. The SOUL.md file itself is **preserved on disk** — no content is lost.
Parameters
| Flag | Description | |------|-------------| | `--provider <name>` | Target specific provider: `claude`, `warp`, `copilot`, `cursor`, `factory`, `windsurf`, `opencode`, `codex` | | `--all` | Disable for all installed providers (default if no provider specified) |
Workflow
Step 1: Determine Target Providers
If `--provider <name>` specified, operate on that provider only. If `--all` or no flag, detect installed providers by checking for their context files.
Step 2: Check Current State
For each target provider:
1. Check if the context file exists 2. Check if the `@SOUL.md` directive is currently present
# Example for Claude Code grep -q "@SOUL.md" CLAUDE.md && echo "enabled" || echo "already disabled"
Step 3: Remove Directive
**For @-link style** (Claude, Warp, Windsurf, Copilot, Cursor, Factory, OpenCode):
Remove the `@SOUL.md` line from the context file. Preserve all surrounding content.
**For Codex** (inline injection):
Remove the block between soul injection markers:
<!-- BEGIN SOUL --> ...content... <!-- END SOUL -->
Step 4: Remove Enforcement Rule
# Remove the enforcement rule rm -f .claude/rules/soul-enforcement.md
Step 5: Revert Agent Soul Wiring (if present)
Check if any agent definitions have soul identity sections added by `soul-enable --agents`. If found, remove them:
# Check for soul-wired agents grep -rl "See @.*\.soul\.md" .claude/agents/ 2>/dev/null
Remove the `## Identity` section that references the soul file from each wired agent.
Step 6: Verify SOUL.md is Preserved
After removing directives and rule, confirm the soul file still exists:
ls SOUL.md .aiwg/SOUL.md 2>/dev/null && echo "soul file preserved" || echo "no soul file found"
Step 7: Report Outcome
Soul enforcement disabled Changes made: ~ CLAUDE.md (@SOUL.md directive removed) - .claude/rules/soul-enforcement.md (removed) SOUL.md preserved at ./SOUL.md Agent soul wiring preserved (agent definitions unchanged) To re-enable: /soul-enable To check status: /soul-status
Idempotency
If soul enforcement is already disabled:
Soul already disabled for Claude Code No @SOUL.md directive found in CLAUDE.md No enforcement rule found No changes made.
Safety Guarantee
`soul-disable` NEVER:
- Deletes SOUL.md or any `.soul.md` file
- Modifies SOUL.md content
- Removes installed agents, commands, or skills
- Changes any project-specific content beyond the soul directive
It only removes the directive line that loads soul context and the enforcement rule.
Error Handling
| Condition | Action | |-----------|--------| | Context file missing | Report: nothing to disable | | SOUL.md missing | Report warning: soul disabled but SOUL.md not found on disk | | No write permission | Report permission error | | Enforcement rule missing | Skip removal, note already absent |
Use Cases
- Disable soul for utility/automation sessions where persona is unnecessary
- Quick troubleshooting: disable soul to test without persona influence
- CI environments where soul context overhead is undesired
- Projects where soul was enabled experimentally and needs to be turned off
Examples
# Disable for all installed providers /soul-disable # Disable for Claude Code only /soul-disable --provider claude # Disable for Warp /soul-disable --provider warp
Related Commands
- `/soul-enable` — Enable soul enforcement
- `/soul-status` — Show current soul state
- `/hook-disable` — Reference implementation (same directive-removal mechanism)
References
- #437 — SOUL.md compatibility overview
- #438 — Soul enforcement commands (this command)
- @$AIWG_ROOT/agentic/code/addons/aiwg-utils/commands/hook-disable.md — Reference pattern
Reusable project context and specialist workflows for the AI tools you already use. Plan software, coordinate specialist reviews, prepare campaigns, investigate incidents, organize research, curate media, and maintain operational knowledge.
Other skills on aiwg.
More skills from other plugins.
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
ask-matt
Ask which skill or flow fits your situation. A router over the skills in this repo.
Questions about soul-disable.
- Which coding agents can use soul-disable?
- soul-disable installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.

