Runtime behavior auditing through systematic log injection. Use when user wants to understand what code is doing at runtime, debug complex flows, or audit a process.
You are executing the RUNTIME AUDIT workflow - a process that bridges static analysis with actual execution observation. Unlike static code analysis, this command actively injects logs, captures runtime data, and produces verifiable reports.
$ARGUMENTS
If no specific process was provided above, you will help the user identify what they want to audit.
Static analysis (code-archaeologist): Reads code, infers behavior Runtime audit (this command): Injects logs, observes actual behavior, confirms expectations
Key capability: "I think this code does X" → run audit → "Confirmed: this code actually does X"
This provides evidence-based verification rather than inference.
All audit artifacts are stored in:
docs/audits/
├── registry.json # Index of all audits
└── [audit-id]/
├── report.md # Final audit report
├── session.json # Audit metadata
├── injections.json # Track all injected logs for cleanup
└── logs/
└── captured-[timestamp].log
Key Principles:
injections.jsonThis command orchestrates a 7-phase workflow:
| Phase | Name | Purpose | |-------|------|---------| | 1 | Target Identification | User describes process to audit, identify entry points | | 2 | Code Exploration | Map execution paths, identify strategic log points | | 3 | Injection Strategy | Plan non-invasive logs, get user approval | | 4 | Log Injection | Add approved log statements (tracked for cleanup) | | 5 | Runtime Capture | User executes process, capture log output | | 6 | Analysis & Report | Analyze data, verify behavior, generate report | | 7 | Cleanup | Remove injected logs, restore code to pre-audit state |
See: target.md
See: exploration.md
See: injection-active.md
// AUDIT-INJECTED commentinjections.jsonSee: runtime-capture.md
See: analysis.md
See: cleanup.md
injections.json for reliable cleanup| Language | Log Pattern | Marker |
|----------|-------------|--------|
| TypeScript/JS | console.log('[AUDIT:id:N]', data); | // AUDIT-INJECTED |
| Python | print(f'[AUDIT:id:N] {data}') | # AUDIT-INJECTED |
| Go | fmt.Printf("[AUDIT:id:N] %v\n", data) | // AUDIT-INJECTED |
| Rust | println!("[AUDIT:{}:{}] {:?}", id, n, data); | // AUDIT-INJECTED |
| Java | System.out.println("[AUDIT:id:N] " + data); | // AUDIT-INJECTED |
Language is detected from file extension and appropriate template applied.
Every modification is tracked in injections.json:
{
"auditId": "auth-flow-001",
"injections": [
{
"id": 1,
"file": "src/auth/login.ts",
"line": 42,
"originalContent": "",
"injectedContent": "console.log('[AUDIT:auth-flow-001:1]', user);",
"purpose": "Log user object at login entry"
}
]
}
Cleanup phase uses this manifest to restore exact original state.
User chooses per-audit:
| Method | Use When | How It Works | |--------|----------|--------------| | Paste output | Complex environments, CI/CD, remote systems | User runs process externally, pastes logs back | | Direct execution | Local development, simple commands | Command runs via Bash, captures stdout/stderr |
| Error | Resolution |
|-------|------------|
| Cannot identify entry point | Ask user for more specific process description |
| Injection causes compile error | Rollback that injection, try different approach |
| No logs captured | Verify process was executed with injected code |
| Partial cleanup failure | Show remaining injections, offer manual cleanup |
| Audit directory missing | Create docs/audits/ if needed |
/feature-plan → /feature-review-plan → /feature-implement → /feature-audit → /feature-review-impl → /feature-shipStatic analysis tells you what code should do. Runtime auditing shows you what code actually does.
This command helps you:
Let's identify what you want to audit!
Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer