From ac-tools
Simulates command or skill execution in dry-run mode without file modifications except session state. Sets dry_run flag with read-only constraints, executes, then resets. Useful for safely testing workflows.
How this skill is triggered — by the user, by Claude, or both
Slash command
/ac-tools:dry-runThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Executes any command or skill in simulation mode, preventing all file modifications except session state.
Executes any command or skill in simulation mode, preventing all file modifications except session state.
/dry-run <any command or prompt>
Examples:
/dry-run /mux-ospec 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)Resolve the Claude Code PID using process-tree tracing (same logic as the dry-run hook), then create the session directory:
CLAUDE_PID=$(python3 - <<'PY'
import os
import subprocess
pid = os.getpid()
for _ in range(10):
result = subprocess.run(
["ps", "-o", "pid=,ppid=,comm=", "-p", str(pid)],
capture_output=True,
text=True,
)
line = result.stdout.strip()
if not line:
break
parts = line.split()
if len(parts) >= 3:
current_pid, ppid, comm = int(parts[0]), int(parts[1]), parts[2]
if "claude" in comm.lower():
print(current_pid)
break
pid = ppid
else:
break
else:
print("shared")
PY
)
[ -n "$CLAUDE_PID" ] || CLAUDE_PID="shared"
mkdir -p "outputs/session/${CLAUDE_PID}"
Check if outputs/session/<CLAUDE_PID>/status.yml exists. If not, create with initial schema:
dry_run: false
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.
Execute the provided command/prompt EXACTLY as given. All behavior remains normal EXCEPT:
CRITICAL CONSTRAINTS:
outputs/session/<CLAUDE_PID>/status.yml can be modifiedAfter execution completes (success or failure), reset state in outputs/session/<CLAUDE_PID>/status.yml:
dry_run: false
Provide summary:
The skill acts as a wrapper:
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.
npx claudepluginhub waterplanai/agentic-config --plugin ac-toolsAnalyzes Claude Code session logs to validate skill execution against SKILL.md specs, verifying hooks, subagents, tools, artifacts, and workflow steps.
Analyzes past Claude Code sessions to validate skill/agent/hook behavior against SKILL.md specifications. Useful for debugging unexpected skill execution or verifying correct workflow completion.