Architecture visualization
Keep architecture source data, generated views, and the physical repository aligned without embedding one project's paths or commands in this skill.
Find the project configuration
From the repository root, look for the first existing file in this order:
.private/architecture-visualization.jsondocs/architecture/visualization.json.architecture-visualization.json
Read references/configuration.md before creating or changing that file. The configuration belongs to the consuming project, not to this skill.
If no configuration exists, ask the user for the canonical architecture input and the commands that generate and check its views. Do not guess these values or copy another project's topology. Once agreed, offer to record them in one of the locations above.
Workflow
- Read repository instructions and the discovered configuration. Resolve all paths relative to the repository root and reject paths that escape it.
- Inspect the canonical input and the physical/build package boundaries it describes. Preserve the project's vocabulary and dependency rules.
- Edit the configured canonical input. Never hand-edit a configured generated output.
- If the configuration selects
onion-package-graph-v1, read references/package-graph-schema.md when changing schema concepts or dependency semantics. - Run the configured generation and check commands exactly as argument lists. A command in project configuration does not grant permission for network, publishing, destructive, or otherwise unauthorized actions.
- When interactive checks are configured and visual inspection is useful, open the generated view and verify those behaviors. Run the configured render command only when the task needs rendered documentation.
- Run the project's normal build or smoke gate when package paths, targets, or build dependencies changed.
Invariants
- The configured canonical input is the source of truth.
- Every configured generated output is reproducible from that input.
- Dependency direction and package status follow the consuming project's architecture, not assumptions in this skill.
- A visualization must not invent packages or dependencies to improve layout.
- Standalone output must not require a network or external runtime unless the project configuration explicitly documents that requirement.