with one click
spectra-skills
Spectra Agent Skill Set
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
Spectra Agent Skill Set
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
Serena MCP Tools — Semantic code analysis and editing with clangd for C++20 and Python
Use for any question about a codebase, its architecture, file relationships, or project content — especially when graphify-out/ exists, where the question should be treated as a graphify query first. Turns any input (code, docs, papers, images, videos) into a persistent knowledge graph with god nodes, community detection, and query/path/explain tools.
Drives a live Spectra instance via the embedded MCP automation server (default http://127.0.0.1:8765/mcp). Use for smoke tests, screenshots, UI commands, figure/series setup, and visual debugging after builds — whenever validating rendering without writing a harness.
Plan, design, and implement Spectra C++/GLSL/Python changes. Use when breaking down a feature, making architecture decisions before coding, or writing/fixing source in src/, include/spectra/, shaders, tests, or python/.
Spectra git and release workflows: conventional commits, branches, PRs, version bumps, release tags, merge conflicts, changelog. Use for commit, branch, PR, release, version.txt, squash merge, cherry-pick, or git status/diff questions.
Fix or edit Spectra GitHub Actions (.github/workflows). Use for CI failures, new matrix jobs, golden/sanitizer jobs, release.yml, lavapipe/xvfb setup, or masking vs root-cause CI fixes.
| name | spectra-skills |
| description | Spectra Agent Skill Set |
Invoke these skills when working on Spectra to apply domain-specific expertise for Vulkan rendering, animation, multi-window management, and performance optimization.
High-leverage skills (eliminate 80% of instability): Skills 1, 3, 4, and 5.
Purpose: Detect frame hitches, stalls, and synchronization issues.
Capabilities:
VK_EXT_debug_utils)Output: Stage timing breakdown, p95/p99 frame time, hitch frequency report, root cause hypothesis.
Purpose: Prevent GPU hangs and deadlocks.
Capabilities:
Output: Sync graph explanation, required corrections, risk analysis.
Purpose: Fix resize smoothness and eliminate VK_ERROR_OUT_OF_DATE_KHR thrash.
Capabilities:
vkDeviceWaitIdle in frame loopOutput: Before/after recreate count, smoothness metrics, validation error confirmation.
Purpose: Eliminate animation drift and frame skips.
Capabilities:
Output: Frame pacing graph, corrected scheduler logic, stability verification steps.
Purpose: Correct multi-window + tear-off behavior.
Capabilities:
Output: Clean state machine diagram, correct tear-off behavior, no regression in splits.
Purpose: Design robust backend ↔ agent communication.
Capabilities:
seqOutput: Protocol schema, failure mode handling plan, state consistency guarantees.
Purpose: Make Spectra faster than other plotting engines.
Capabilities:
Output: Throughput benchmarks, memory usage report, FPS comparison before/after.
Purpose: Prevent periodic stutters and leaks.
Capabilities:
Output: Allocation heatmap, removed hot-path allocations, stability confirmation.
Purpose: Make Spectra robust under adverse conditions.
Capabilities:
Output: Failure scenario report, recovery validation.
Purpose: Prevent chaos as complexity increases.
Capabilities:
WindowId, FigureId)Output: Architecture diff report, refactor recommendation with minimal blast radius.
Purpose: Catch rendering regressions.
Capabilities:
Purpose: Control a live Spectra instance from agents without writing C++ test harnesses.
Always kill existing instances first, then launch Spectra — the MCP server starts automatically.
pkill -f spectra || true
sleep 0.5
./build/app/spectra &
# Optional: SPECTRA_MCP_PORT=9000 ./build/app/spectra &
http://127.0.0.1:8765/mcp (default)
Health check: GET http://127.0.0.1:8765/ → {"name":"spectra-automation","status":"ok","endpoint":"..."}
| Tool | Purpose |
|---|---|
ping | Verify connection is alive |
get_state | Get current application state |
list_commands | List all registered UI commands |
execute_command | Execute a command by ID (e.g. "view.toggle_grid") |
mouse_move | Move cursor to {x, y} |
mouse_click | Click at {x, y, button, modifiers} |
mouse_drag | Drag from {x1,y1} to {x2,y2} |
double_click | Double-click at {x, y} |
scroll | Scroll at {x, y, dx, dy} |
key_press | Press a key {key, modifiers} |
text_input | Type text into focused widget {text} |
create_figure | Create a new figure {width, height} |
switch_figure | Switch to figure {figure_id} |
add_series | Add a series {figure_id, series_type, n_points, label} |
get_figure_info | Deep figure introspection {figure_id} |
pump_frames | Advance N frames {count} |
wait_frames | Block until N frames rendered {count} |
capture_screenshot | Save figure PNG to {path} |
capture_window | Save full-window PNG to {path} |
get_screenshot_base64 | Return screenshot as inline base64 PNG |
resize_window | Resize window {width, height} |
get_window_size | Get current window dimensions |
Standard MCP over HTTP (JSON-RPC 2.0). POST to /mcp with Content-Type: application/json.
# Health check
curl http://127.0.0.1:8765/
# List tools
curl -s -X POST http://127.0.0.1:8765/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'
# Example: execute command
curl -s -X POST http://127.0.0.1:8765/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"execute_command","arguments":{"command_id":"view.toggle_grid"}}}'
# Example: capture screenshot
curl -s -X POST http://127.0.0.1:8765/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"capture_window","arguments":{"path":"/tmp/spectra_snap.png"}}}'
| Variable | Default | Description |
|---|---|---|
SPECTRA_MCP_PORT | 8765 | HTTP port for the MCP server |
SPECTRA_MCP_BIND | 127.0.0.1 | Bind address |