Archinsight
Use this skill when creating, analyzing, or repairing Insight .ai models and
.aiq custom views, or when importing an existing architecture description
into Insight.
Insight is its own typed architecture-as-code language. Do not infer its syntax
from YAML, Mermaid, PlantUML, Structurizr, or C4 DSL.
Claude Usage Notes
Treat this SKILL.md as the entrypoint and load routed references only when
the task needs them. With shell access, run validation directly. Without it, ask
the user to run the exact command and paste the output. Do not silently install
npm packages or change machine configuration.
This package was generated by Archinsight CLI {{CLI_VERSION}}. Run
archinsight --version before editing. If the installed version differs,
regenerate the skill so its references, core sources, examples, and built-in
queries match the runtime.
Required Tool
Use the Archinsight CLI as the validation source of truth:
archinsight --help
archinsight link . --format text
If archinsight is not available in Claude's environment, read
references/cli.md. Do not install or update packages without the user's
authorization.
Task modes
Choose one mode before acting:
- Analyze: stay read-only and follow
references/analysis.md. Inspect
sources, run structure, link, and the relevant query, then separate
authored facts, derived relationships, deployment projections, and rendered
presentation in the findings.
- Repair: reproduce the defect first. For a visual defect, inspect
archinsight query ... --format json before treating the image as evidence
that the model is wrong. Request the current image or rendered output when it
is not available, make the smallest model or query change, and validate the
same semantic path again before rendering.
- Build or rebuild: perform discovery before editing, then model from the
outside inward and validate after each architectural layer.
- Extend an existing model: inventory existing ids, imports, edges, and view
scope; preserve stable identities and compare linked/query results before and
after each focused change.
- Import an existing model: follow
references/importing-models.md.
Establish which source artifacts are authoritative, translate facts rather
than drawing layout, record uncertain mappings, and validate one
architectural layer at a time.
Before any build, rebuild, import, or structural edit, inspect the supplied
context and every relevant source already available through the repository,
attachments, configured skills, MCP integrations, or other authorized tools.
Do not ask the user to repeat information the agent can retrieve reliably on its
own. If a material fact is still missing after those sources are exhausted, ask
one short, non-repetitive message containing only the one or two questions that
could change the model. Do not use a questionnaire or ask about the audience by
default. If the available evidence is sufficient, proceed without a discovery
question. Use retrieved material as the source of truth; do not invent missing
architecture.
Workflow
- Read the existing
.ai and .aiq files before editing.
- Preserve indentation and the project's existing naming style.
- Model architecture from the outside inward: context, external actors/systems,
systems, containers/services, components, project-defined code when needed,
and deployment details.
- Do not ask about deployment depth until the task touches infrastructure,
runtime placement, regions, brokers, gateways, storage, or deployment.
- At that point, decide per system whether pragmatic mixed C2 or explicit
deployment modeling is appropriate. For explicit deployment, attach
placement/storage to systems and containers (including services); components
and code deploy with their container. Attach path infrastructure that needs
$to to wires, and make pub/sub dependencies consumer-owned.
- If a diagram becomes noisy, adjust scope/query before changing a correct
graph model.
- Save reusable custom views as
.aiq. Unless the user specifies another
location, create views/ and write views/<descriptive-name>.aiq.
- Prefer small, focused files connected by
context, import, and extend.
- Keep definition, context, and environment sources in separate files.
- Use
archinsight structure . --format text to inspect the current model
before broad edits when the CLI is available.
- Validate every Insight change with
archinsight link . --format text when
shell access is available; otherwise ask the user to run validation.
- For C2, C3, C4, Deployment, or query changes, inspect the selected graph with
archinsight query ... --format json before rendering.
- If validation fails, fix the first real syntax/type/linking error before
adding more model content.
Communication
When shell access is unavailable, give the user short copy-pasteable commands:
archinsight link . --format text
archinsight structure . --format text
If rendering is needed, ask for the source file when it is not obvious. The CLI
infers the context declared by that source:
archinsight render . -s <source.ai> -v c2 -f svg -o diagram.svg
Report diagnostics by source, line, column, and message. Avoid rewriting large
sections of Insight unless the existing layering is already understood.
Reference routing
- Read
references/cli.md when the CLI is missing, its version differs from
the generated skill, or the skill package must be regenerated.
- Read
references/modeling.md before creating or extending a
model.
- Read
references/importing-models.md when translating an existing
architecture description, diagram, inventory, or foreign DSL into Insight.
- Read
references/syntax.md before writing unfamiliar Insight syntax.
- Read
references/layered-architecture.md when decomposing a system across
C1, C2, C3, C4, and Deployment views.
- Read
references/c1-context.md when working with system context models.
- Read
references/c2-containers.md when working with containers or services.
- Read
references/c3-components.md when working with component internals.
- Infer and reuse an existing C4 Code vocabulary from the repository. Ask the
user about entity kinds only when creating the Code layer or extending that
vocabulary, unless the current request already makes the choice.
- Read
references/c4-code.md when defining or querying modules, packages,
classes, functions, schemas, or other project-specific code concepts.
- Read
references/deployment.md when working with environments,
deployments, infrastructure inventory, profiles, or placement.
- Read
references/deployment-projections.md when working with physical
paths, projection rules, or a missing or unexpected Deployment edge.
- Read
references/scaling.md when splitting a repository into reusable
framework, environment, profile, system, or view files.
- Read
references/project-structure.md before declaration lookup, imports,
or broad file changes.
- Read
references/core.md and .core/*.ai before assuming built-in types,
constructors, attributes, presentations, or projections.
- Read
references/queries.md before writing queries or interpreting query
JSON.
- Read
references/custom-views.md before creating a saved .aiq view or
overriding a built-in query.
- Read
references/query-recipes.md when a view hides expected content,
returns unexpected content, or needs customization.
- Read
references/validation.md before validating semantic or rendered
results.
- Read
references/analysis.md for read-only architecture analysis,
dependency questions, impact exploration, and the boundary between Insight
queries and analysis of their JSON output.
- Use
examples/layered-architecture.ai as a compact valid model.
1---2name: archinsight-23description: Create, edit, import, analyze, repair, validate, inspect, and render Archinsight Insight architecture-as-code models and custom views. Use when working with .ai models or .aiq queries, migrating architecture from another DSL or diagram, C4-style architecture models, system/container/component/code diagrams, deployment projections, or when the user asks to model or diagnose software architecture with Archinsight.4---56# Archinsight78Use this skill when creating, analyzing, or repairing Insight `.ai` models and9`.aiq` custom views, or when importing an existing architecture description10into Insight.1112Insight is its own typed architecture-as-code language. Do not infer its syntax13from YAML, Mermaid, PlantUML, Structurizr, or C4 DSL.1415## Claude Usage Notes1617Treat this `SKILL.md` as the entrypoint and load routed references only when18the task needs them. With shell access, run validation directly. Without it, ask19the user to run the exact command and paste the output. Do not silently install20npm packages or change machine configuration.2122This package was generated by Archinsight CLI {{CLI_VERSION}}. Run23`archinsight --version` before editing. If the installed version differs,24regenerate the skill so its references, core sources, examples, and built-in25queries match the runtime.2627## Required Tool2829Use the Archinsight CLI as the validation source of truth:3031```shell32archinsight --help33archinsight link . --format text34```3536If `archinsight` is not available in Claude's environment, read37`references/cli.md`. Do not install or update packages without the user's38authorization.3940## Task modes4142Choose one mode before acting:4344- **Analyze:** stay read-only and follow `references/analysis.md`. Inspect45 sources, run `structure`, `link`, and the relevant query, then separate46 authored facts, derived relationships, deployment projections, and rendered47 presentation in the findings.48- **Repair:** reproduce the defect first. For a visual defect, inspect49 `archinsight query ... --format json` before treating the image as evidence50 that the model is wrong. Request the current image or rendered output when it51 is not available, make the smallest model or query change, and validate the52 same semantic path again before rendering.53- **Build or rebuild:** perform discovery before editing, then model from the54 outside inward and validate after each architectural layer.55- **Extend an existing model:** inventory existing ids, imports, edges, and view56 scope; preserve stable identities and compare linked/query results before and57 after each focused change.58- **Import an existing model:** follow `references/importing-models.md`.59 Establish which source artifacts are authoritative, translate facts rather60 than drawing layout, record uncertain mappings, and validate one61 architectural layer at a time.6263Before any build, rebuild, import, or structural edit, inspect the supplied64context and every relevant source already available through the repository,65attachments, configured skills, MCP integrations, or other authorized tools.66Do not ask the user to repeat information the agent can retrieve reliably on its67own. If a material fact is still missing after those sources are exhausted, ask68one short, non-repetitive message containing only the one or two questions that69could change the model. Do not use a questionnaire or ask about the audience by70default. If the available evidence is sufficient, proceed without a discovery71question. Use retrieved material as the source of truth; do not invent missing72architecture.737475## Workflow76771. Read the existing `.ai` and `.aiq` files before editing.782. Preserve indentation and the project's existing naming style.793. Model architecture from the outside inward: context, external actors/systems,80 systems, containers/services, components, project-defined code when needed,81 and deployment details.824. Do not ask about deployment depth until the task touches infrastructure,83 runtime placement, regions, brokers, gateways, storage, or deployment.845. At that point, decide per system whether pragmatic mixed C2 or explicit85 deployment modeling is appropriate. For explicit deployment, attach86 placement/storage to systems and containers (including services); components87 and code deploy with their container. Attach path infrastructure that needs88 `$to` to wires, and make pub/sub dependencies consumer-owned.896. If a diagram becomes noisy, adjust scope/query before changing a correct90 graph model.917. Save reusable custom views as `.aiq`. Unless the user specifies another92 location, create `views/` and write `views/<descriptive-name>.aiq`.938. Prefer small, focused files connected by `context`, `import`, and `extend`.949. Keep definition, context, and environment sources in separate files.9510. Use `archinsight structure . --format text` to inspect the current model96 before broad edits when the CLI is available.9711. Validate every Insight change with `archinsight link . --format text` when98 shell access is available; otherwise ask the user to run validation.9912. For C2, C3, C4, Deployment, or query changes, inspect the selected graph with100 `archinsight query ... --format json` before rendering.10113. If validation fails, fix the first real syntax/type/linking error before102 adding more model content.103104## Communication105106When shell access is unavailable, give the user short copy-pasteable commands:107108```shell109archinsight link . --format text110archinsight structure . --format text111```112113If rendering is needed, ask for the source file when it is not obvious. The CLI114infers the context declared by that source:115116```shell117archinsight render . -s <source.ai> -v c2 -f svg -o diagram.svg118```119120Report diagnostics by source, line, column, and message. Avoid rewriting large121sections of Insight unless the existing layering is already understood.122123## Reference routing124125- Read `references/cli.md` when the CLI is missing, its version differs from126 the generated skill, or the skill package must be regenerated.127- Read `references/modeling.md` before creating or extending a128 model.129- Read `references/importing-models.md` when translating an existing130 architecture description, diagram, inventory, or foreign DSL into Insight.131- Read `references/syntax.md` before writing unfamiliar Insight syntax.132- Read `references/layered-architecture.md` when decomposing a system across133 C1, C2, C3, C4, and Deployment views.134- Read `references/c1-context.md` when working with system context models.135- Read `references/c2-containers.md` when working with containers or services.136- Read `references/c3-components.md` when working with component internals.137- Infer and reuse an existing C4 Code vocabulary from the repository. Ask the138 user about entity kinds only when creating the Code layer or extending that139 vocabulary, unless the current request already makes the choice.140- Read `references/c4-code.md` when defining or querying modules, packages,141 classes, functions, schemas, or other project-specific code concepts.142- Read `references/deployment.md` when working with environments,143 deployments, infrastructure inventory, profiles, or placement.144- Read `references/deployment-projections.md` when working with physical145 paths, projection rules, or a missing or unexpected Deployment edge.146- Read `references/scaling.md` when splitting a repository into reusable147 framework, environment, profile, system, or view files.148- Read `references/project-structure.md` before declaration lookup, imports,149 or broad file changes.150- Read `references/core.md` and `.core/*.ai` before assuming built-in types,151 constructors, attributes, presentations, or projections.152- Read `references/queries.md` before writing queries or interpreting query153 JSON.154- Read `references/custom-views.md` before creating a saved `.aiq` view or155 overriding a built-in query.156- Read `references/query-recipes.md` when a view hides expected content,157 returns unexpected content, or needs customization.158- Read `references/validation.md` before validating semantic or rendered159 results.160- Read `references/analysis.md` for read-only architecture analysis,161 dependency questions, impact exploration, and the boundary between Insight162 queries and analysis of their JSON output.163- Use `examples/layered-architecture.ai` as a compact valid model.