Install
$ agentstack add skill-lynxlangya-techne-anchor-viz ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
anchor-viz
Investigate by diagramming. The diagram is the byproduct; the value is forcing real investigation before drawing.
Forced Procedure
- Route the request. Choose one
diagramKindfrom the table below. If the
user's intent fits multiple kinds, ask one short clarification instead of guessing.
- Find evidence for that kind. For
architecture, enumerate roots,
manifests, workspace/build/native/container/edge/infra/source-only signals. For other kinds, find the bounded entrypoint, schema, state enum, workflow, or module/type namespace before drawing.
- Classify shape or scope. For
architecture, state one project shape and
cite evidence: single-frontend, single-backend, coupled-fullstack, monorepo, library, native, native+edge, source-only code, or non-code. For other kinds, state the bounded scope and the files that prove it.
- Apply the non-code decision. Never declare non-code only because manifests
are absent. First scan roots; then run a bounded source-extension/code-signal scan. If both are absent, or docs/vault signals clearly dominate, do not fabricate a code diagram. Draw the real top-level structure or ask what the user wants.
- Match the user's language. Human-facing diagram text follows the user's
primary language: titles, display labels, edge/message labels, shape notes, and short explanations. Keep code-facing identifiers source-native: Mermaid IDs, file paths, symbols, package names, class/function/module names, and established technical terms such as API, SDK, CLI, HTTP, SwiftUI, AppKit, or React.
- Draw only evidenced relationships. Use the evidence contract for the
selected kind. Every node, participant, entity, state, type, and edge/message must come from a file read.
- Enforce complexity gates. Keep
architectureat 12-15 top-level nodes by
default. For other kinds, use the validator's participant/message, entity/relationship, state/transition, or type/member limits. Split into drill-down diagrams when needed.
- Mark provenance. Add render-neutral comments for every element before
storing: %% techne:source [#] or, for relationship-like elements only, %% techne:inferred . Entity-like elements always need verified techne:source; relationship-like elements need file+symbol proof unless explicitly inferred with sourced endpoints. Use actor for human sequence participants so the actor path-only allowance is mechanically scoped. Solid relationships mean read-from-code. Dashed or labeled relationships mean inference only where the selected Mermaid type supports it.
- Emit, validate, store, build viewer, open when interactive. Write Mermaid
source first, validate it, store it with scripts/store_viz.py, always build the self-contained viewer, and only open it when the session is interactive.
Diagram Routing
| User intent | diagramKind | Mermaid type | Evidence focus | | --- | --- | --- | --- | | Project architecture, module/service/package topology | architecture | flowchart / graph | Manifests, workspaces, imports, services, bindings, infra edges. | | Request lifecycle, command/job flow, actor conversation | interaction | sequenceDiagram | Entrypoint, ordered calls/messages, handlers, clients, queues. | | Tables, entities, persistence relationships | data-model | erDiagram | Schema, migrations, ORM/entity declarations, foreign keys, associations. | | Status/order/task/review lifecycle | state-model | stateDiagram-v2 / stateDiagram | Status constants, state machines, reducers, guards, transition handlers. | | Classes, interfaces, structs, protocols, bounded type structure | type-structure | classDiagram | Type declarations, inheritance, implementation, composition, public method groups. |
Examples:
- "map this project" ->
architecture. - "show how login request flows" ->
interaction. - "draw the database relationships" ->
data-model. - "how does order status change" ->
state-model. - "show the public types in this module" ->
type-structure.
Script Usage
- Validate Mermaid and altitude:
node skills/anchor-viz/scripts/validate-mermaid.mjs diagram.md --project /path/to/project --max-nodes 15
- Store a diagram in a target project:
python3 skills/anchor-viz/scripts/store_viz.py --project /path/to/project --name login-flow --title "Login flow" --diagram diagram.md --shape monorepo
- Build the self-contained viewer, opening it only when interactive:
python3 skills/anchor-viz/scripts/build_viewer.py --project /path/to/project --open
The validator expects mermaid@11.15.0 and jsdom to be installed in one of these places: TECHNE_VIZ_NODE_MODULES, skills/anchor-viz/scripts/node_modules, the current working directory, or an ancestor directory.
Stop Conditions
- Stop and ask if you cannot inspect the project files.
- Stop and ask if the requested diagram kind is ambiguous.
- Stop before drawing unsupported architecture for a non-code project.
- Stop before drawing a non-architecture diagram without a bounded entrypoint,
schema, status lifecycle, or module/type scope.
- Stop before storing a diagram that fails syntax validation, provenance
validation, or a complexity gate.
- Do not create
.techne/content inside this repository while authoring the
skill itself.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: lynxlangya
- Source: lynxlangya/techne
- License: MIT
- Homepage: https://techne.wangyun.fan
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.