agentic/code/addons/rlm/skills/rlm-status/SKILL.md
Show status of RLM task tree execution
npx skillsauth add jmagly/aiwg rlm-statusInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Display current status of RLM (Recursive Language Model) task tree execution, including decomposition hierarchy, sub-call progress, cost tracking, and completion estimates.
When invoked, analyze RLM task tree state and present comprehensive status:
Load Task Tree State
.aiwg/rlm/trees/{tree_id}/state.jsonDisplay Tree Structure
Calculate Progress Metrics
Present Status Dashboard
--tree flag)--cost flag)--json flag)--tree - Show full task decomposition tree visualization--cost - Show detailed cost breakdown by sub-call--depth [N] - Limit tree display to depth N (default: all)--json - Output machine-readable JSON--export [path] - Export detailed report to file[tree_id] - Specific tree ID (default: most recent active tree)╭─────────────────────────────────────────────────────────╮
│ RLM Task Tree Status │
│ Tree ID: rlm-analyze-codebase-a1b2c3d4 │
├─────────────────────────────────────────────────────────┤
│ Task: Analyze authentication module for security issues │
│ Status: RUNNING │
│ Started: 2026-02-09 11:30:00 │
│ Duration: 5m 23s │
├─────────────────────────────────────────────────────────┤
│ Progress │
│ Total Sub-Calls: 15 │
│ ✓ Completed: 8 (53%) │
│ ⚙ Active: 4 (27%) │
│ ⏸ Pending: 2 (13%) │
│ ✗ Failed: 1 (7%) │
│ │
│ Depth Distribution │
│ Root (depth 0): 1 │
│ Level 1: 5 │
│ Level 2: 9 │
│ │
│ Cost │
│ Input Tokens: 125,430 │
│ Output Tokens: 42,156 │
│ Total Cost: $0.84 │
│ │
│ Est. Completion: 2026-02-09 11:40:00 (9m 37s remaining) │
╰─────────────────────────────────────────────────────────╯
Active Sub-Calls:
[1.2] Analyze token validation logic (80% complete)
[1.3] Review password hashing implementation (45% complete)
[2.1] Check JWT expiration handling (30% complete)
[2.4] Audit session management (15% complete)
Recent Completion:
✓ [1.1] Parse authentication module structure
✓ [1.4] Identify security-relevant functions
Failed:
✗ [2.2] Analyze OAuth flow (error: file not found)
Use --tree for full decomposition hierarchy
Use --cost for detailed cost breakdown
╭─────────────────────────────────────────────────────────╮
│ RLM Task Tree: rlm-analyze-codebase-a1b2c3d4 │
├─────────────────────────────────────────────────────────┤
│ │
│ [0] Root: Analyze authentication module │
│ │ Status: RUNNING | Cost: $0.12 | 2m 15s │
│ │ │
│ ├─ ✓ [1.1] Parse module structure │
│ │ │ Completed | Cost: $0.05 | 45s │
│ │ │ │
│ │ ├─ ✓ [2.1] Extract function signatures │
│ │ │ Completed | Cost: $0.02 | 18s │
│ │ └─ ✓ [2.2] Map dependencies │
│ │ Completed | Cost: $0.03 | 27s │
│ │ │
│ ├─ ⚙ [1.2] Analyze token validation │
│ │ │ ACTIVE (80%) | Cost: $0.08 | 1m 12s (running) │
│ │ │ │
│ │ ├─ ✓ [2.3] Check signature verification │
│ │ │ Completed | Cost: $0.03 | 22s │
│ │ ├─ ⚙ [2.4] Review expiration logic │
│ │ │ ACTIVE (60%) | Cost: $0.04 | 35s (running) │
│ │ └─ ⏸ [2.5] Audit token refresh │
│ │ PENDING │
│ │ │
│ ├─ ⚙ [1.3] Review password hashing │
│ │ │ ACTIVE (45%) | Cost: $0.06 | 58s (running) │
│ │ │ │
│ │ ├─ ✓ [2.6] Identify hash algorithm │
│ │ │ Completed | Cost: $0.02 | 15s │
│ │ └─ ⚙ [2.7] Check salt usage │
│ │ ACTIVE (30%) | Cost: $0.04 | 43s (running) │
│ │ │
│ ├─ ⏸ [1.4] Audit session management │
│ │ PENDING │
│ │ │
│ └─ ✗ [1.5] Analyze OAuth flow │
│ FAILED | Cost: $0.01 | 8s │
│ Error: Required file oauth.ts not found │
│ │
╰─────────────────────────────────────────────────────────╯
Legend:
✓ Completed ⚙ Active ⏸ Pending ✗ Failed
╭─────────────────────────────────────────────────────────╮
│ RLM Cost Analysis │
│ Tree ID: rlm-analyze-codebase-a1b2c3d4 │
├─────────────────────────────────────────────────────────┤
│ │
│ Cost by Depth │
│ ┌──────┬────────────┬─────────────┬──────────┐ │
│ │ Lvl │ Sub-Calls │ Tokens │ Cost │ │
│ ├──────┼────────────┼─────────────┼──────────┤ │
│ │ 0 │ 1 │ 12,450 │ $0.12 │ │
│ │ 1 │ 5 │ 78,320 │ $0.39 │ │
│ │ 2 │ 9 │ 76,816 │ $0.33 │ │
│ │ TOTAL│ 15 │ 167,586 │ $0.84 │ │
│ └──────┴────────────┴─────────────┴──────────┘ │
│ │
│ Cost by Model │
│ ┌──────────────┬────────────┬──────────┐ │
│ │ Model │ Tokens │ Cost │ │
│ ├──────────────┼────────────┼──────────┤ │
│ │ opus │ 12,450 │ $0.12 │ (root) │
│ │ sonnet │ 122,890 │ $0.61 │ (sub-calls) │
│ │ haiku │ 32,246 │ $0.11 │ (leaf tasks) │
│ │ TOTAL │ 167,586 │ $0.84 │ │
│ └──────────────┴────────────┴──────────┘ │
│ │
│ Top 5 Most Expensive Sub-Calls │
│ 1. [1.2] Analyze token validation $0.08 (9.5%) │
│ 2. [0] Root task $0.12 (14.3%) │
│ 3. [1.3] Review password hashing $0.06 (7.1%) │
│ 4. [1.1] Parse module structure $0.05 (6.0%) │
│ 5. [2.7] Check salt usage $0.04 (4.8%) │
│ │
│ Budget Status │
│ Budget: 500,000 tokens ($2.50 target) │
│ Used: 167,586 tokens ($0.84) │
│ Remaining: 332,414 tokens ($1.66) │
│ Utilization: 33.5% │
│ │
│ Projected Final Cost: $1.12 (based on current rate) │
╰─────────────────────────────────────────────────────────╯
{
"tree_id": "rlm-analyze-codebase-a1b2c3d4",
"task": "Analyze authentication module for security issues",
"status": "RUNNING",
"started_at": "2026-02-09T11:30:00Z",
"duration_seconds": 323,
"progress": {
"total_sub_calls": 15,
"completed": 8,
"active": 4,
"pending": 2,
"failed": 1,
"completion_rate": 0.53
},
"depth_distribution": {
"0": 1,
"1": 5,
"2": 9,
"max_depth": 2
},
"cost": {
"input_tokens": 125430,
"output_tokens": 42156,
"total_tokens": 167586,
"total_cost_usd": 0.84,
"by_depth": [
{"depth": 0, "tokens": 12450, "cost": 0.12},
{"depth": 1, "tokens": 78320, "cost": 0.39},
{"depth": 2, "tokens": 76816, "cost": 0.33}
],
"by_model": [
{"model": "opus", "tokens": 12450, "cost": 0.12},
{"model": "sonnet", "tokens": 122890, "cost": 0.61},
{"model": "haiku", "tokens": 32246, "cost": 0.11}
],
"budget": {
"tokens": 500000,
"target_cost_usd": 2.50,
"used_tokens": 167586,
"used_cost_usd": 0.84,
"remaining_tokens": 332414,
"remaining_cost_usd": 1.66,
"utilization": 0.335
},
"projected_final_cost_usd": 1.12
},
"active_sub_calls": [
{
"id": "1.2",
"task": "Analyze token validation logic",
"progress": 0.80,
"duration_seconds": 72,
"cost_usd": 0.08
},
{
"id": "1.3",
"task": "Review password hashing implementation",
"progress": 0.45,
"duration_seconds": 58,
"cost_usd": 0.06
},
{
"id": "2.1",
"task": "Check JWT expiration handling",
"progress": 0.30,
"duration_seconds": 35,
"cost_usd": 0.04
},
{
"id": "2.4",
"task": "Audit session management",
"progress": 0.15,
"duration_seconds": 43,
"cost_usd": 0.04
}
],
"completed_sub_calls": [
{
"id": "1.1",
"task": "Parse authentication module structure",
"duration_seconds": 45,
"cost_usd": 0.05
},
{
"id": "1.4",
"task": "Identify security-relevant functions",
"duration_seconds": 38,
"cost_usd": 0.04
}
],
"failed_sub_calls": [
{
"id": "2.2",
"task": "Analyze OAuth flow",
"error": "file not found: oauth.ts",
"duration_seconds": 8,
"cost_usd": 0.01
}
],
"estimates": {
"completion_time": "2026-02-09T11:40:00Z",
"remaining_seconds": 577,
"confidence": 0.75
}
}
The command reads from these RLM state files:
.aiwg/rlm/
├── registry.json # Active trees registry
└── trees/
├── rlm-analyze-codebase-a1b2c3d4/
│ ├── state.json # Main state (RLM task tree schema)
│ ├── trajectory.json # Execution trajectory
│ ├── cost.json # Detailed cost tracking
│ └── sub-calls/
│ ├── 1.1-state.json # Sub-call 1.1 state
│ ├── 1.2-state.json # Sub-call 1.2 state
│ └── ...
└── rlm-refactor-module-b2c3d4e5/
└── ...
From rlm-state.yaml:
tree_id: string # Tree identifier
status: enum # INITIALIZING | RUNNING | COMPLETING | COMPLETED | FAILED | ABORTED
root_task: string # Root task description
started_at: datetime # Start timestamp
last_updated: datetime # Last state update
completed_at: datetime | null # Completion timestamp
configuration:
max_depth: integer # Maximum tree depth
max_sub_calls: integer # Max total sub-calls
budget_tokens: integer # Token budget
parallel_sub_calls: boolean # Allow parallel execution
sub_calls:
- id: string # Sub-call ID (e.g., "1.2")
depth: integer # Tree depth (0 = root)
task: string # Task description
status: enum # PENDING | ACTIVE | COMPLETED | FAILED
parent_id: string | null # Parent sub-call ID
started_at: datetime | null # Start timestamp
completed_at: datetime | null # Completion timestamp
cost:
input_tokens: integer
output_tokens: integer
total_cost_usd: number
progress: number # 0.0 to 1.0 (for ACTIVE sub-calls)
error: string | null # Error message (if FAILED)
metrics:
total_sub_calls: integer
completed_sub_calls: integer
active_sub_calls: integer
pending_sub_calls: integer
failed_sub_calls: integer
total_tokens: integer
total_cost_usd: number
depth_distribution: object # {depth: count}
# Show status of most recent active tree
/rlm-status
# Show status of specific tree
/rlm-status rlm-analyze-codebase-a1b2c3d4
# Show complete decomposition tree
/rlm-status --tree
# Limit tree depth to 2 levels
/rlm-status --tree --depth 2
# Show detailed cost breakdown
/rlm-status --cost
# Cost breakdown for specific tree
/rlm-status rlm-analyze-codebase-a1b2c3d4 --cost
# Export JSON report
/rlm-status --json > rlm-report.json
# Export detailed report to file
/rlm-status --export .aiwg/rlm/reports/status-$(date +%Y%m%d).md
# Watch mode (update every 5 seconds)
watch -n 5 'aiwg rlm-status --tree'
# Or use while loop for continuous monitoring
while true; do
clear
aiwg rlm-status
sleep 5
done
Progress for ACTIVE sub-calls is estimated based on:
used_tokens / estimated_total_tokenscompleted_children / total_children (if sub-call has children)elapsed_time / estimated_duration (based on similar tasks)The displayed progress percentage is a weighted average:
Estimated completion time is calculated using:
Formula:
estimated_remaining = (
(pending_sub_calls * avg_duration_by_depth) / parallelization_factor
+ sum(active_sub_call.estimated_remaining)
)
completion_time = current_time + estimated_remaining
Confidence level indicates reliability:
No active RLM trees found.
Use /rlm-query to start a new task tree.
Error: Tree 'rlm-nonexistent-a1b2c3d4' not found.
Active trees:
- rlm-analyze-codebase-a1b2c3d4 (running)
- rlm-refactor-module-b2c3d4e5 (completed)
Use /rlm-status [tree_id] to view specific tree.
Warning: State file for tree 'rlm-analyze-codebase-a1b2c3d4' is corrupted.
Attempting recovery from last checkpoint...
- Checkpoint found: iteration 12
- Recovered state up to sub-call 1.3
- 2 recent sub-calls may need re-execution
Recovered state displayed below. To resume, restart the originating
RLM command and pass the recovered task tree ID. To discard the recovered
state and start fresh, delete the state file under `.aiwg/rlm-runs/`.
# Start RLM query and get tree ID
tree_id=$(aiwg rlm-query "Analyze auth module" --return-id)
# Monitor progress
watch -n 5 "aiwg rlm-status $tree_id"
# Run batch processing
aiwg rlm-batch --tasks batch-config.yaml
# View batch progress
aiwg rlm-status --tree
# Al can use RLM for sub-tasks
# View combined status
aiwg ralph-status && aiwg rlm-status
For large trees (>100 sub-calls):
Use --depth N to limit tree display for very deep hierarchies.
Override display settings in .aiwg/config.yml:
rlm:
status:
default_view: summary # summary | tree | cost
max_tree_depth: 5 # Auto-limit tree display
refresh_interval: 5 # Seconds (for watch mode)
show_estimates: true # Display completion estimates
show_budget: true # Display budget utilization
cost_precision: 2 # Decimal places for cost display
data-ai
Report which research-corpus radar sidecars are overdue for refresh. Computes staleness (days since last refresh vs the cadence window) for every radar, sorted most-overdue-first. Runs via `aiwg corpus radar-status`.
data-ai
Aggregate research-corpus radar sidecars into a corpus or per-cluster freshness report — totals, overdue count, per-cluster / per-GRADE / per-trajectory breakdowns, an overdue table, and per-radar rationale snippets. Runs via `aiwg corpus radar-report`.
testing
Scaffold radar/freshness sidecars for research-corpus REFs. Pulls title/authors from the citation sidecar and GRADE from the analysis doc, defaults the refresh cadence from GRADE and the cluster from a corpus-local map, and stamps documentation/radar/REF-XXX-radar.md. Runs via `aiwg corpus radar-init`.
data-ai
Compute an entity's publication trajectory — per-year paper counts, topic drift, hot-streak detection (≥3 consecutive A-grade years), and career phase. Runs via `aiwg corpus profile-temporal`.