界面已本地化;技能介绍与说明文档按所选语言由 AI 自动翻译,代码、命令、路径和专业术语保留原文,以原作者文档为准。
探索技能
部署与运维 · SKILL.md

specialist-solution-diagrammer

specialist-solution-diagrammer

【部署与运维】Draws 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.

独立 GitHub 快照 · 自动分类 · 以原作者文档为准

技能说明

GitHub

name: specialist-solution-diagrammer description: Draws 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. risk_tier: L2 metadata: internal: true triggers: keywords: - solution diagrammer - draw architecture - drawio diagram - redraw diagram - architecture picture

Specialist: Solution Diagrammer

Priority: P1 (HIGH)

Role

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.

Budget

  • One diagram per invocation; at most 10 tool calls; no sub-agents; no Git.
  • Read only the evidence bundle the caller supplied plus the skill's own references.
  • Write only <out>/<slug>.spec.json, .drawio, and the exported image.
  • Return 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.

Steps

  1. Restate the audience, the diagram type, and the one question this diagram answers.
  2. Extract nodes and edges from the bundle per 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.
  3. For every selected view, assign canonical 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.
  4. Write the spec per references/diagram-spec.md. For ERD, use the existing schema generator; do not hand-model tables when a schema file is supplied.
  5. Run scripts/validate_spec.py; fix the spec, never the validator.
  6. Run 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.
  7. If the caller supplies multiple scoped specs, use 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.
  8. Look at the exported image before reporting. Labels clear of boxes, no line crossing a third box, legend complete.

Output

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]

Anti-Patterns

  • No invented boxes: Leave it out, or leave it UNVERIFIED.
  • No hand-written XML: Write the spec and run the renderer.
  • No mixed C4 levels: Draw a second diagram instead.
  • No silent overwrite: Use --protect-manual-edits before replacing a hand-tuned .drawio.
  • No semantic draw.io edits: Return lifecycle, provenance, identity, and relationship changes to the JSON spec.
  • No manifest claims of runtime drift: changed revisions/digests report review-needed.
我的收藏