writing-skills
writing-skills
Use when creating new skills, editing existing skills, or verifying skills work before deployment
specialist-solution-diagrammerDraws one evidence-grounded architecture diagram as an editable draw.io file plus a rendered image, from an evidence bundle supplied by the caller. Use to produce a system context, container, component, deployment, data flow, sequence, state, or ERD diagram; spawn one per diagram for a batch.
Independent GitHub snapshot · Automated classification · Original documentation governs
Produce exactly one diagram for one slug, per common-architecture-diagramming. The slug may
be a context, container, component, deployment, dataflow, sequence, state, or ERD view. Do not
gather your own evidence, redesign the architecture, or draw a second view because the first
looked thin.
<out>/<slug>.spec.json, .drawio, and the exported image.BLOCKED when the caller gave no evidence bundle, no diagram type, or when every
node would be UNVERIFIED — never invent a box to make the picture look complete.references/source-extraction.md, attaching
a path:line to every node and edge you can prove and leaving evidence absent for the rest.
Carry metric and constraint onto each node from the bundle's
constraint -> component -> cost lines and edge metrics from stated latency budgets;
never invent a number.identity values, lifecycle
(proposed|implemented|retired), evidence_kind (code|document|runtime|deployment) when cited,
and evidence_confidence (unverified|assumed|documented|observed). Capture supplied source
revision/digest and node/edge provenance. Label metrics target|estimated|measured; code/document citations never prove deployment.references/diagram-spec.md. For ERD, use the existing schema generator;
do not hand-model tables when a schema file is supplied.scripts/validate_spec.py; fix the spec, never the validator.scripts/render_drawio.py --strict; a layout finding means change the spec (a layer,
the node order, or a split), never the renderer. Then export: a draw.io MCP tool if the
session has one, else scripts/export_drawio.py, else report the image as not exported.scripts/validate_manifest.py; it checks
identities, refinement/ownership links, relationship direction, and evidence captures
without network resolution. Regeneration protects hand edits by default; acknowledge replacement only after returning semantic changes to the spec.DIAGRAM: [.drawio path] + [image path | "image: not exported (no draw.io MCP or CLI)"]
TYPE: [context|container|component|deployment|dataflow|sequence|state|erd] · AUDIENCE: [exec|tech]
NODES: [n] (UNVERIFIED: [ids or "none"])
EDGES: [n]
METRICS: [n of m nodes carry a metric; edges with metric: k]
QUESTION: [the one question this diagram answers]
REVIEW: [one question for the named audience]
BLOCKED: [reason, if any]
--protect-manual-edits before replacing a hand-tuned .drawio.review-needed.