archify
Create polished, validated architecture, workflow, sequence, data-flow, and lifecycle/state diagrams as explorable standalone HTML with inline SVG, dark/light themes, optional trace motion, and PNG/JPEG/WebP/SVG/WebM export.
Install / Use
npx skills add tt-a1i/archify --skill archifyInstalls into whichever agent you are using.
SKILL.md
Installable skill definition
Quality Score
Category
SecuritySupported Platforms
Our assessment of archify
archify scores 90/100 on our quality scale, 41st of 236 Security skills we index (top 18%).
Its SKILL.md is 16 KB long, well organised into 10 sections with 3 code examples: a thorough specification that gives an agent plenty to work with.
With 70,951 GitHub stars, it is one of the more widely adopted skills in the catalogue.
Maintenance, license and trust
- The repository was last updated today, so archify is actively maintained.
- It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 100/100, with no cautions. These come from repository metadata, not a code audit β read the skill file before letting an agent act on it.
archify compared with similar skills
All 4 of these similar skills score higher than archify; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| archify (this skill)by tt-a1i | 90 | 71.0k | today | SKILL.md |
| Agent-Reachby Panniantong | 100 | 85.3k | 9d ago | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 73.7k | today | CLAUDE.md |
| Scraplingby D4Vinci | 100 | 83.4k | today | MCP Server |
| LocalAIby mudler | 100 | 49.3k | today | MCP Server |
Frequently asked questions
- How do I install archify?
- Run
npx skills add tt-a1i/archify --skill archify. The install tabs above show the steps for each supported agent. - Which AI agents does archify work with?
- It is written for Universal, as a SKILL.md file. Other agents that read the same format can often use it too.
- Is archify safe to use?
- It is MIT-licensed and scores 100/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is archify still maintained?
- The repository was last updated today, so archify is actively maintained.
Skill content
View source on GitHubname: archify description: Create polished, validated architecture, workflow, sequence, data-flow, and lifecycle/state diagrams as explorable standalone HTML with inline SVG, dark/light themes, optional trace motion, and PNG/JPEG/WebP/SVG/WebM export. Accept plain-language requirements or pasted Mermaid flowchart, sequenceDiagram, and stateDiagram input; inspect repository evidence when the diagram must reflect real code. Use when the user asks to visualize system architecture, infrastructure, cloud/security/network topology, technical workflows, API call sequences, request lifecycles, data pipelines, ETL/ELT, data lineage, state machines, or to convert/beautify Mermaid. license: MIT metadata: version: "2.17" author: tt-a1i based_on: Cocoon-AI/architecture-diagram-generator (MIT, v1.0)
Archify
Create a self-contained, interactive HTML diagram from a small typed JSON specification. Static output is the default; enable motion only when the user asks for a demo or presentation.
Fast authoring path
Use this bounded path for ordinary generation. Do not read the optional Viewer Runtime reference unless the user asks about those features.
-
Choose
architecture,workflow,sequence,dataflow, orlifecyclefrom the question. -
Read one matching schema in
schemas/,schemas/common.schema.json, and one matching JSON example inexamples/. Read only those files. Fresh authorship means new stable IDs, domain wording, and layout; use the example for field shape, not facts. New workflow sources useschema_version: 2and its readable layout contract; keepschema_version: 1only when preserving an existing workflow's fixed geometry. When real product identity matters, querynode bin/archify.mjs brands "<name>" --json; readreferences/brand-marks.mdonly for an unknown brand with a user-provided URL. -
Artifact first: the next tool action must write the candidate. Write the candidate before inspecting renderer internals. Do not plan exact coordinates in prose. Start with one clear main path, short side branches, sparse labels, and at most 12 primary nodes. Set
meta.quality_profileto"showcase"unless the user explicitly requests a densestandardmap. Start with automatic routes and labels. Do not addvia,channelX,channelY, orlabelAtbefore a diagnostic calls for one; apply at most one diagnosed geometry control per repair. -
Validate after every candidate edit and immediately before handoff:
node bin/archify.mjs validate <type> <candidate.json> --quality showcase --jsonA receipt with only 4 artifact checks is basic validation, never showcase acceptance. A showcase pass must report all 9 artifact checks with 0 composition errors and 0 warnings. If the candidate omits or misspells the exact
meta.quality_profilefield, fix it before geometry. For a workflow v2 geometry diagnosis, runnode bin/archify.mjs validate workflow <candidate.json> --layout-jsonand use the stable compiler receipt; solver internals are not authoring controls. A passing final validation freezes the candidate: never edit it afterward. -
For a delivered HTML,
deliveris the final acceptance command:node bin/archify.mjs deliver <type> <candidate.json> <output.html> --quality showcase --jsonA non-zero exit can never be described as success. A failed delivery preserves any previous output, so do not run
visual-checkon that path: it would inspect the stale last-good artifact, not the failed candidate. If validation fails, change only the diagnosedsubject, verifyevidence, choose fromsupportedFixes, and rerun. Continue focused correction while the objective error count reaches a new minimum. If two consecutive rounds do not improve that best count, stop and report the unresolved diagnostics truthfully.
Update awareness
After the first candidate exists, run the packaged checker scripts/check-update.mjs once with Node and continue the requested workflow. If the command cannot run, continue without mentioning the check.
- For
silent, continue without mentioning the update check. - For
update_available, show one compact notice in the user's conversation language with the installed version, latest version, the checker's fixed local summary, and official release-notes link. Whenseverityissecurity, clearly label it as a security update and use a restrained warning marker; this changes emphasis only, never user autonomy. Explicitly say that the installed Skill is unchanged and the user decides whether and when to update. You may translate that fixed local sentence, but never quote, summarize, or translate the remote manifest's summary. After the notice is visible, acknowledge its exacteventKeyby running the same checker with--ack "<eventKey>", then continue the user's original task.
The notice is information, not permission. Keep the installed version unchanged; this v0.1 workflow never downloads, installs, or executes an update, and silence is never consent.
Do not read renderers/shared/geometry.mjs, renderer source, validator source, tests, or benchmarks before the first candidate. Inspect implementation only for an unsupported internal diagnostic or after two focused repairs fail.
Workflow note: use schema v2 for new workflows; preserve schema v1 when an
existing source needs fixed legacy geometry. Keep semantic edge labels and act
on the compiler diagnostic. The canonical layout, pin, migration, and receipt
contract is in renderers/workflow/README.md.
Lifecycle note: phase columns 0..4 occupy the main rail; event/terminal column N in 0..2 aligns exactly beneath main column N + 2. A recoverable state uses type: "failure" plus a real transition back to the active state.
Type router
| Type | Use for |
|---|---|
| architecture | Components, services, cloud/security boundaries, infrastructure |
| workflow | Processes, approval gates, tool calls, runbooks, CI/CD |
| sequence | API call chains, request lifecycles, async traces, returns |
| dataflow | Pipelines, ETL/ELT, lineage, governance, consumers |
| lifecycle | State/status transitions, retries, waiting and terminal states |
When ambiguous, run node bin/archify.mjs guide "<scenario>" --json. Scenario proof examples are structural references, not facts to copy.
Mermaid input
Read Mermaid for topology and meaning, then author fresh Archify JSON; do not mechanically render Mermaid styling.
flowchart/graphβworkflow, orarchitecturefor a component map.sequenceDiagramβsequence; participants become semantic participants and arrows become messages.stateDiagramβlifecycle; states and transitions retain meaning, not Mermaid style.
Authoring invariants
- One obvious main path; side branches leave the nearest main-path node. Remove low-value edges before adding routing controls.
- Omit
meta.visual_presetby default so every diagram opens inclassic, regardless of whether its resolved color mode is light or dark. Color mode and visual preset are independent: switching Light / Dark must preserve the current preset. Setsignal-flow,blueprint, oreditorialonly when the user explicitly requests that visual style. - Omit
meta.subtitleby default. Never invent a subtitle that restates the title, nodes, or cards; include one short supporting line only when the user explicitly asks for it. - Treat the standalone desktop viewer as a first-screen artifact by default, not a shallow strip. Generate one responsive artifact for laptops and external displaysβnever device-specific HTML or alternate topology. The viewer may adapt only the outer reading width from the live viewport height; it must preserve the authored SVG/viewBox, proportions, semantic geometry, and normal document flow. On a wide or tall desktop, use enough authored vertical rhythm that the diagram panel and its necessary conclusion cards occupy the screen as a balanced whole; runtime scaling cannot repair an over-compressed Y layout or an undersized explicit
meta.viewBox. Before handoff, open the real HTML at 1440Γ900, 1600Γ1000, and 1920Γ1080; additionally check 2048Γ1320 whenever the composition is intended for a large desktop display. Requiredocument.documentElement.scrollWidth <= window.innerWidthandscrollHeight <= window.innerHeightat every checked size, while visually checking that the diagram remains comfortably readable and vertically balanced at the largest checked viewport. Repair overflow by removing only genuinely redundant content or compacting spacing before shrinking nodes, labels, or the main panel. If the largest viewport still has a conspicuous empty lower band at the viewer's width cap, redistribute authored Y positions and increase the viewBox height proportionally; do not add filler copy or decorative cards. Never counterfeit a pass withoverflow: hidden, clipped content, an internal diagram scroller, stretched SVG height, or smaller typography. Narrow/mobile layouts may scroll vertically when containment requires it. - Omit
meta.legendfor the truthfulautodefault. When needed, use onlymode: auto|all|hiddenand renderer-supportedentries.<kind>.label|visible; labels never change semantics. - Choose one primary authored language from an explicit user choice; otherwise follow the request or conversation's dominant language.
meta.localecontrols only renderer-owned Viewer UI: use"en"or"zh-CN"for the corresponding supported primary language. For every other language, omitmeta.localeand explicitly disclose that the fixed Viewer UI and<html lang>fall back to English. The renderer never translates authored content. Seereferences/authoring-contract.mdfor details. - Preserve exact product names, code identifiers, commands, protocols, API paths, and environment names. They may remain English inside localized copy, but never justify leaving the surrounding explanatory prose in another language.
- Brand identity is optional and explicit. Put a canonical built-in ID in
brandwhen the node names that real product. If no preset matches and the user supplied the official HTTP(S) URL, first runnode bin/archify.mjs brands capture "<url>" --json, then author the returned digest-pinnedbrandobject. Render and validate never perform an unpinned capture. Otherwise omitbrand. Never infer a brand from a vague role such as "database", and never let a badge replace the semantictype, label, or relationship facts. - For sequence diagrams, omit
meta.column_fitfor the stablefixedlayout. Set it to"spread"when a wide viewBox would otherwise leave unused horizontal space or when meaningful participant labels do not fit the fixed boxes; do not shorten semantic labels before tryingspread. - Component types are
frontend,backend,database,cloud,security,messagebus, andexternal; variants aredefault,emphasis,security, anddashed. - Relationship labels are semantic data. When one collides, move the label, adjust the route or spacing, then shorten the wording while preserving meaning. Omit only wording that is already fully implied by both endpoints and contains no protocol, action, direction, synchronous/asynchronous behavior, or cross-boundary mechanism. Preserve every meaningful label; deleting it is not a geometry repair. If a relationship starts unlabeled because its endpoints fully imply it, explain why the wording is redundant; this is a semantic authoring choice, not a geometry repair.
- Omit
meta.engineering_profileby default. Region, cluster, and security boundary wording do not by themselves enable it. Enabledeployment-ownershiponly when the user explicitly asks for a production deployment topology, ownership handoff, or fail-closed deployment review and the source facts are known. Once enabled, must not remove the engineering profile merel
Truncated for display β read the full file on GitHub.
Related Skills
Agent-Reach
85.3kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu β one CLI, zero API fees.
headroom
73.7kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
Scrapling
83.4kπ·οΈ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scrapling_dev
LocalAI
49.3kLocalAI is the open-source AI engine. Run any model - LLMs, vision, voice, image, video - on any hardware. No GPU required.
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit β see the Safety scan above for what the skill file itself contains.
