Agent skill
dr
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/data/dr
SKILL.md
Dry Run Skill
Executes any command or skill in simulation mode, preventing all file modifications except session state.
Usage
/dry-run <any command or prompt>
Examples:
/dry-run /po_spec path/to/spec.md- Preview full spec workflow/dry-run /spec IMPLEMENT path/to/spec.md- Test implementation without changes/dry-run why did you implement X this way?- Normal chat (no files affected)
Workflow
Step 1: Initialize Session Status
Find the Claude Code PID and create session directory:
pgrep -x claude | head -1 || echo "shared"
Use the output as CLAUDE_PID. Then create the session directory:
mkdir -p outputs/session/<CLAUDE_PID>
Check if outputs/session/<CLAUDE_PID>/status.yml exists. If not, create with initial schema:
dry_run: false
Step 2: Set Dry-Run Mode
Update outputs/session/<CLAUDE_PID>/status.yml:
dry_run: true
This signals to THIS session's file operations that writes are prohibited. Other Claude sessions (different PIDs) are not affected.
Step 3: Execute Delegated Command
Execute the provided command/prompt EXACTLY as given. All behavior remains normal EXCEPT:
CRITICAL CONSTRAINTS:
- NO file modifications allowed (Read, Grep, Glob, LSP, Bash read-only commands OK)
- ONLY exception:
outputs/session/<CLAUDE_PID>/status.ymlcan be modified - If command requires file writes, DESCRIBE what WOULD be changed instead
- For chat-only prompts (no file operations needed), respond normally
Step 4: Reset Dry-Run Mode
After execution completes (success or failure), reset state in outputs/session/<CLAUDE_PID>/status.yml:
dry_run: false
Step 5: Report Results
Provide summary:
- What was executed
- What file changes WOULD have occurred (if any)
- Verification that dry_run mode is reset
Implementation Notes
The skill acts as a wrapper:
- It does NOT interpret or execute the delegated work itself
- It sets the flag, then lets normal AI behavior handle the prompt
- The dry_run flag is checked by pretooluse hook (hard enforcement at tool level)
- After completion, it ensures cleanup
State Schema
outputs/session/<claude_pid>/status.yml:
dry_run: bool # true = prevent file writes, false = normal mode
Session isolation by Claude PID ensures parallel agents don't interfere with each other. Future extensions may add additional session state fields.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?