원클릭으로
read-only-explorer
Read-only exploration and audit workflow.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Read-only exploration and audit workflow.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Iterative multi-round codebase audit with diminishing-returns detection. Run 5-20+ rounds, each focusing on one specific area. Built from 19 rounds of dogfooding pi-crew on itself.
Pi TUI crew widget data sources, display priority, and rendering performance.
Multi-phase orchestration for planners and executors.
Spawn 3 adversarial subagents (Skeptic, Pragmatist, Critic) to evaluate a decision, architecture choice, or plan. Anti-anchoring: each role receives ONLY the question, not conversation history. Aggregates votes into consensus recommendation with dissent tracking. Use when facing critical decisions, architecture choices, security tradeoffs, or plan reviews where single-perspective analysis is insufficient.
Background worker, heartbeat, stale-run, crash-recovery, and deadletter workflow. Use when debugging stuck/dead workers or changing async run reliability.
Child Pi worker spawning, lifecycle callbacks, and failure modes.
| name | read-only-explorer |
| description | Read-only exploration and audit workflow. |
| origin | pi-crew |
| triggers | ["explore code","audit source","review code","analyze codebase","source audit"] |
Use this skill for explorer, analyst, reviewer, and source-audit roles. These roles must inspect code without modifying it.
read, rg, find, ls, git statusChoosing the right tool for the task reduces noise and speeds up discovery.
rg (ripgrep) — Code pattern searchBest for: Finding function definitions, imports, patterns, usages
# Find all uses of a function
rg "functionName" --type ts
# Find with context (2 lines before/after)
rg "pattern" -B2 -A2
# Case-insensitive
rg -i "error handling"
# Only match whole word
rg -w "agent"
# JSON output for machine parsing
rg "pattern" --json | head -20
# Respect .gitignore (skip node_modules)
rg "pattern" --type-add 'exclude:*.json' --type ts
find — File and directory searchBest for: Finding files by name, type, or path pattern
# Find all TypeScript files
find . -name "*.ts" -not -path "*/node_modules/*" | head -20
# Find recently modified files
find . -name "*.ts" -mtime -7 | head -20
# Find files larger than 100KB
find . -size +100k -name "*.ts"
# Find by path pattern
find . -path "*/runtime/*" -name "*.ts" | head -10
read — File content inspectionBest for: Reading specific files or file sections
# Read full file
read file.ts
# Read with line numbers
read -n file.ts # (use read tool with offset/limit)
# Read first N lines
read --limit 50 file.ts
# Read specific section
read --offset 100 --limit 30 file.ts
ls — Directory structureBest for: Listing directories, understanding layout
ls src/runtime/
ls -la .crew/state/runs/ | head -20
ls skills/ | head -20
git — Version control inspectionBest for: Understanding history, changes, and authorship
git status --short
git diff HEAD~3 --stat
git log --oneline -10
git show <commit-hash> --stat
git blame src/file.ts | head -20
git branch -a
Limit searches to relevant areas to avoid noise.
# Only search runtime directory
rg "pattern" src/runtime/ --type ts
# Exclude test and node_modules
rg "pattern" --type ts --exclude "test/**" --exclude "node_modules/**"
# Only TypeScript files
rg "pattern" --type ts
# Only test files
rg "pattern" --type-add 'test:*.test.ts' --type test
# Exclude generated files
rg "pattern" --glob "!**/*.generated.ts"
# Only top-level config files
find . -maxdepth 2 -name "*.json" | head -20
Every finding should be documented with:
path/to/file.ts:123
Evidence: <what you read>
Severity: critical|high|medium|low
Finding: <what the problem is>
Impact: <why it matters>
Recommendation: <what to do next>
Example:
src/runtime/agent-manager.ts:87
Evidence: throw new Error("Agent not found") with no error code
Severity: medium
Finding: Error thrown without structured error code makes debugging harder
Impact: Hard to distinguish "not found" from "access denied" or other failures
Recommendation: Use typed CrewError with error code enum instead
| Severity | Criteria |
|---|---|
| critical | Data loss, secret leak, arbitrary command/path escape, broken install |
| high | Broken core workflow, ownership bypass, persistent incorrect state |
| medium | Important regression, flaky test, confusing behavior |
| low | Polish, maintainability, missing docs |
When recommending implementation, structure it as:
1. Files to create:
- src/new-feature.ts (new module)
2. Files to modify:
- src/existing.ts (add function X, change line Y)
3. Tests to add:
- test/unit/new-feature.test.ts
4. Verification:
- npx tsc --noEmit
- npm test
user input → config resolution → function call → state write → UI update
For each step, identify:
| Type | Description | Example |
|---|---|---|
| Direct evidence | Exact content read from file | "type": "worker.spawned" found at line 42 |
| Inference | Interpretation based on evidence | "Worker likely crashed because exit code was 1" |
| Unknown | Not confirmed | "This might be a race condition" |
Always label uncertainty clearly. Use "may", "might", "could" for inference; "is", "shows", "contains" for evidence.
Before reporting findings, verify:
If ANY answer is NO → Stop. Adhere to read-only contract.
rg "error" returns thousands of results. Narrow by file, directory, or surrounding context.src/runtime/task-runner.ts — task execution pipelinesrc/runtime/child-pi.ts — worker spawningsrc/runtime/live-agent-manager.ts — live agent lifecyclesrc/state/event-log.ts — event logging systemsrc/extension/team-tool/ — API and tool handlingsrc/ui/ — widget and TUI renderingcd pi-crew
# Verify no files were modified
git status --short
# Count inspected files
rg "pattern" --type ts | wc -l
# Check for direct evidence in event log
cat .crew/state/runs/<runId>/events.jsonl | grep "worker.spawned"
# TypeScript
npx tsc --noEmit