.claude/skills/task-visualizer/SKILL.md
Visualize task dependencies and progress (Gastown-style)
npx skillsauth add alfredolopez80/multi-agent-ralph-loop task-visualizerInstall 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.
~/.claude/settings.json or CLI/env varsANTHROPIC_DEFAULT_*_MODEL env varsultrathink - Take a deep breath. We're not here to write code. We're here to make a dent in the universe.
Task visualization should reveal the inevitable path to completion.
Provides ASCII and Mermaid visualization of task dependencies, following Gastown patterns for multi-agent orchestration.
┌─────────────────────────────────────────────────────────────────┐
│ TASK DEPENDENCY GRAPH │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ✓ #1 Design API architecture ──────────────────► COMPLETED │
│ │ │
│ ┌─────────┴─────────┐ │
│ │ │ │
│ ▼ ▼ │
│ ✓ #2 Create ✓ #3 Implement │
│ project data models │
│ structure COMPLETED │
│ COMPLETED │ │
│ │ │ │
│ └────────┬────────┘ │
│ │ │
│ ▼ │
│ ⚙ #4 Implement REST API endpoints ────────► IN_PROGRESS │
│ ⚠ blocked by #2, #3 (now resolved) │
│ │ │
│ ┌──────────────┴──────────────┐ │
│ │ │ │
│ ▼ ▼ │
│ ○ #5 Write ○ #6 Create API │
│ integration documentation │
│ tests PENDING │
│ PENDING ⚠ blocked by #4 │
│ ⚠ blocked by #4 │
│ │
└─────────────────────────────────────────────────────────────────┘
| Icon | Status | Description | |------|--------|-------------| | ✓ | completed | Task finished successfully | | ⚙ | in_progress | Currently being worked on | | ○ | pending | Waiting to start | | ⚠ | blocked | Blocked by dependencies | | ✗ | failed | Task failed |
# Read current tasks from .ralph/tasks.json
cat .ralph/tasks.json | jq '.tasks'
Generate ASCII visualization:
Task #1 Design ─────────► RESOLVED
│
┌───────────┴───────────┐
▼ ▼
Task #2 Structure Task #3 Models
RESOLVED RESOLVED
│ │
└───────────┬───────────┘
▼
Task #4 Endpoints
⚠ blocked by #2, #3
Generate Mermaid diagram for documentation:
flowchart TB
T1[✓ Design API] --> T2[✓ Project Structure]
T1 --> T3[✓ Data Models]
T2 --> T4[⚙ REST Endpoints]
T3 --> T4
T4 --> T5[○ Integration Tests]
T4 --> T6[○ API Documentation]
style T1 fill:#90EE90
style T2 fill:#90EE90
style T3 fill:#90EE90
style T4 fill:#FFD700
style T5 fill:#D3D3D3
style T6 fill:#D3D3D3
Tasks that share the same dependencies can run in parallel:
PARALLEL EXECUTION HINT:
Tasks #5 and #6 can run in parallel after #4 completes.
Suggested agent assignment:
- #5 (tests): Codex (gpt-5.2-codex)
- #6 (docs): Gemini (gemini-2.5-pro)
ralph tasks # Show all tasks with visualization
ralph tasks --graph # ASCII dependency graph
ralph tasks --mermaid # Mermaid diagram
ralph tasks --blocked # Show only blocked tasks
ralph tasks --parallel # Show parallelizable tasks
Tasks are stored in .ralph/tasks.json and survive:
Recovery pattern:
.ralph/tasks.jsonin_progress or pendingMANDATORY: All task operations MUST validate against .ralph/tasks-schema.json:
# Validate JSON structure before parsing
if ! jq empty .ralph/tasks.json 2>/dev/null; then
ERROR: "Invalid JSON in tasks.json - file may be corrupted"
RECOVERY: "Backup current file and reinitialize"
fi
# Validate against schema (if ajv installed)
if command -v ajv &>/dev/null; then
ajv validate -s .ralph/tasks-schema.json -d .ralph/tasks.json
fi
# Validate task content before writing
validate_task_content() {
local content="$1"
# Check maxLength (2000 chars)
if [ ${#content} -gt 2000 ]; then
ERROR: "Task content exceeds 2000 character limit"
fi
# Check for forbidden characters (injection prevention)
if [[ "$content" =~ [\<\>\{\}\$\`] ]]; then
ERROR: "Task content contains forbidden characters: < > { } $ \`"
fi
}
| Field | Max Length | Allowed Pattern | Forbidden |
|-------|------------|-----------------|-----------|
| content | 2000 | ^[^<>{}$\]$|< > { } $ `| |message| 5000 |^[^<>{}$`]$|< > { } $ `| |project| 500 |^[a-zA-Z0-9./-]+$| Special chars | |session_id| 100 |^[a-zA-Z0-9.-]*$` | Special chars |
# SAFE: Sanitized task creation
new_task:
id: $(jq '.tasks | length + 1' .ralph/tasks.json)
content: $(validate_task_content "$USER_INPUT") # MUST validate
status: "pending" # MUST be enum value
created_at: $(date -u +"%Y-%m-%dT%H:%M:%SZ")
development
Living knowledge base management. Actions: search (query vault), save (store learning), index (update indices), compile (raw->wiki->rules graduation), init (create vault structure). Follows Karpathy pipeline: ingest->compile->query. Use when: (1) searching accumulated knowledge, (2) saving learnings, (3) compiling raw notes into wiki, (4) initializing a new vault. Triggers: /vault, 'vault search', 'knowledge base', 'save learning'.
testing
Produce a verifiable technical specification before coding. 6 mandatory sections: Interfaces, Behaviors, Invariants (from Aristotle Phase 2), File Plan, Test Plan, Exit Criteria (executable bash commands + expected results). Use when: (1) before implementing features with complexity > 4, (2) as Step 1.5 in orchestrator workflow, (3) when requirements need formalization. Triggers: /spec, 'create spec', 'write specification', 'technical spec'.
testing
Pre-launch shipping checklist orchestrating /gates, /security, /browser-test, /perf. Ensures nothing ships without passing all quality checks. Use when: (1) before deploying, (2) before merging to main, (3) before release. Triggers: /ship, 'ship it', 'ready to deploy', 'pre-launch check'.
development
Performance optimization skill. Core Web Vitals via Lighthouse, bundle size analysis, metrics tracking over time. Use when: (1) optimizing frontend performance, (2) analyzing bundle size, (3) tracking metrics regression. Triggers: /perf, 'performance audit', 'core web vitals', 'bundle size'.