create-custom-visualizationlisted
Install: claude install-skill SentImperior666/TrialError
# /create-custom-visualization -- your data, your panel, your program root
User ruling C-0070 (verbatim, the origin of this skill): *"custom
visualizations are PER-PROJECT extensions, not core TrialError surfaces ...
TrialError gains a create-custom-visualization SKILL that guides a user's coding
agent to build such panels (protocol: program-root trialerror_ext/panels/
manifests + builders over the read-only store, rendered by the dashboard
when that program is active) -- sibling in spirit to the C-0068
import-existing-project skill."*
The governing principle: **a custom panel lives in YOUR program, not in
TrialError.** TrialError ships the protocol (discovery + the generic renderer +
crash isolation) and this one skill; every panel itself is your own
program's file, written against your own program's data, registered
nowhere in TrialError's own repository. This mirrors `import-existing-project`'s
"bridge, don't move" principle one layer up: TrialError's job is to make room
for your code, never to absorb it.
**The pattern to follow:** read `trialerror/dashboard/ext.py`'s own module
docstring for the full discovery protocol. A panel that finds no matching
data in the active program's stores should return a documented
`{"status": "awaiting_data", ...}` payload (plus a clearly-labeled `"demo"`
block showing the intended shape) rather than erroring or showing nothing --
"read what exists, degrade honestly."
## 0. Before you start
- One panel = one directory: `<your-program-r