plugin-verify
Skill1 starsChanged 2 months agoApache-2.0View on GitHub
Plan, split, build, and verify Singular DSH plugins under the Harness quality workflow and strict failure policy.
In this repository25 other files it gives its agents.
- agent-runtimeSkill
- ball-alignSkill
- canvas-clientSkill
- checkSkill
- chip-designerSkill
- collaboration-panelSkill
- debug-bemuSkill
- debug-compilerSkill
- debug-p2eSkill
- debug-performanceSkill
- debug-verilatorSkill
- domain-modelingSkill
- graph-contractSkill
- grillingSkill
- grill-with-docsSkill
- ip-designerSkill
- model-optimizeSkill
- model-portSkill
- model-recipeSkill
- programming-principlesSkill
- repo-installSkill
- reportSkill
- role-identitySkill
- waveformSkill
- workload-testsSkill
The file
We split this skill into the rules it gives an agent
8 rules. About 0 are common, 5 are distinctive, and 3 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈5
Distinctive · estimate
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 8
Use when creating, splitting, or reviewing a Singular plugin.
- Very specific: line 19
Do not introduce common, utils, or a helper package before duplication is proven.
- Distinctive: line 23
Start from the graph contract and write only the records/events needed by the current slice.
- Very specific: line 27
Keep temporary design notes out of the repository.
- Distinctive: line 33
Start the real composition, check strict HTTP routes and event delivery, then exercise browser behavior.
- Distinctive: line 35
Test failure paths: duplicate ids, invalid transitions, unknown records, missing sessions, route errors, and persistence errors must be …
- Distinctive: line 36
Run git diff --check, check every source file is at most 200 lines, and check the plugin source total is at most 750 lines before handoff.
- Very specific: line 40
Do not claim a slice complete until its package builds, its artifact loads in the real Harness composition, the focused runtime/client …
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Plugin Verify
Use when creating, splitting, or reviewing a Singular plugin. This is the delivery workflow, not a user-facing document.
Split first
Keep one responsibility per plugin and keep its authored source under 750 lines total. Keep every authored source file at 200 lines or fewer. Count host source, client source, and schema code; generated lib output and tests do not justify an oversized source plugin. Split only at a real ownership boundary:
graph: graph records, events, persistence projection, and invariants.agent: Harness agent/session integration, router dispatch, spawn, group, handoff, and messaging.web: strict host routes, snapshots, event stream, and chat commands.canvas: browser rendering, graph layout, and floating chat-window UI.
Do not introduce common, utils, or a helper package before duplication is proven. Cross-plugin contracts should be small exported types/events, not a shared mutable store.
Implementation rules
- Start from the graph contract and write only the records/events needed by the current slice.
- Reuse Harness services and lifecycle effects. Follow existing
inject,ctx.tools.register,ctx.webServer.register, and client-injection patterns. - Validate external schemas and persisted records at the boundary. Internal impossible states may throw naturally; do not add defensive fallback branches.
- Propagate errors. No silent retry, takeover, empty success, stale-data fallback, or compatibility branch unless the contract explicitly requires it.
- Keep temporary design notes out of the repository. Skills are the durable AI-facing instructions; delete scratch plans after the slice is implemented.
Verification order
- Typecheck and build every package from a clean dependency graph.
- Validate the packaged artifact, not only TypeScript source. Use an isolated Harness profile and the resolved plugin bundle.
- Start the real composition, check strict HTTP routes and event delivery, then exercise browser behavior.
- Restart with the same persistence directory and verify graph, agent sessions, group transcripts, statuses, and floating-window state according to their ownership boundaries.
- Test failure paths: duplicate ids, invalid transitions, unknown records, missing sessions, route errors, and persistence errors must be observable failures.
- Run
git diff --check, check every source file is at most 200 lines, and check the plugin source total is at most 750 lines before handoff.
Handoff gate
Do not claim a slice complete until its package builds, its artifact loads in the real Harness composition, the focused runtime/client tests pass, and recovery has been exercised where persistence is involved. Record only code and durable skills; remove temporary AI notes.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

