archify

작성자: tt-a1i

정제되고 검증된 아키텍처, 워크플로우, 시퀀스, 데이터 흐름, 라이프사이클/상태 다이어그램을 인라인 SVG, 다크/라이트 테마, 선택적 트레이스 모션, PNG/JPEG/WebP/SVG/WebM 내보내기가 포함된 탐색 가능한 독립형 HTML로 생성합니다. 일반 언어 요구사항이나 붙여넣은 Mermaid flowchart, sequenceDiagram, stateDiagram 입력을 수용하며, 다이어그램이 실제 코드를 반영해야 할 때는 저장소 증거를 검사합니다. 사용자가 시스템 아키텍처, 인프라, 클라우드/보안/네트워크를 시각화하도록 요청할 때 사용합니다.

npx skills add https://github.com/tt-a1i/archify --skill archify

Archify

Create an interactive HTML diagram from typed JSON. Static output is the default; enable motion only when requested.

Run commands from your working directory. Unless the user names another location, give each new diagram request its own folder .archify/<type>-<slug>-<YYYYMMDD-HHMMSS>/ there (local time, chosen once when the request starts): keep candidate.json and <slug>.html in it, set meta.output to that relative HTML path, and reuse the folder for every repair rerun. A later request gets a new folder, so earlier versions stay intact. Replace bin/archify.mjs in the commands below with the installed package's absolute path, or its path relative to your working directory; input and output paths resolve from that working directory.

For a real codebase, read Repository authoring while tracing the requested behavior. A system description uses the steps below; an existing JSON uses the handoff path.

Existing candidate handoff

When the user supplies a frozen candidate, run finalize first as one CLI invocation. Its passing receipt completes the automated gates; follow any visual review recommendation under Delivery before claiming visual quality. For repair, follow step 5.

finalize includes a bounded update check in its delivery receipt; see Update awareness.

Fast authoring path

Use this path for ordinary generation. Read branch references only when their stated trigger applies.

  1. Choose architecture, workflow, sequence, dataflow, or lifecycle from the question.

  2. Use the exact schema and example paths in the Type router without listing their directories. Read Authoring defaults and the mode's example in a bounded batch separate from project documents and complete schemas so neither is truncated; recover any missing section before writing. For Architecture, use the matching showcase example. For Sequence, Dataflow, and Lifecycle, also read the mode and common schemas. Read the relevant schema definition before choosing any new field, enum, or constrained text, especially boundary kinds. Examples teach shape, not facts. Use fresh IDs, wording, and layout. Go directly to the candidate without preliminary help, doctor, starter validation, temporary diagrams, or output-path listing. Query brands only for an explicitly requested mark; read Brand marks for an unknown mark with a user-provided URL.

  3. Once the requested scope and, for a real codebase, source evidence are covered, write the complete candidate directly without planning coordinates in prose. Choose Architecture abstraction and connected placement using Authoring defaults before coordinates: show the main user journey and necessary branches, preserve control roles and behavior-changing conditions, and leave enough room for actual relationship labels. No node, relationship, source, view, card, or boundary count is a target or ceiling. Use automatic routes first; add explicit routing only for necessary branch, return, supplied geometry, or measured repair. Set meta.quality_profile to "showcase" unless the user requests dense standard.

  4. Once the complete first candidate is written, run finalize directly. Its first gate is showcase validation; successful first drafts need no separate pre-validation. Keep the candidate unchanged while the command runs:

    node bin/archify.mjs finalize <type> <candidate.json> <output.html> --quality showcase --json
    

    For a repository-backed candidate, include evidence on the first draft and use the complete first command: node bin/archify.mjs finalize <type> <candidate.json> <output.html> --repo-root <repo-root> --quality showcase --json.

    A passing receipt proves the included validate, deliver, strict check, and real-browser browser-check gates passed. Use its compact summary; run standalone commands only for a separate request or focused failure diagnosis.

  5. A non-zero exit is never success. Read compact stdout or evidence.summaryReceipt, then repair the failed gate, including its repair limit. Preserve requested meaning and source evidence. For several tangled Architecture routes, read Architecture layout repair; for measured field or geometry failures, read Authoring contract. Edit the connected neighborhood and rerun the complete finalize command from step 4.

Update awareness

finalize and standalone deliver include update in their receipts. Do not run a separate check for the same delivery. If update.noticeRequired is true, read references/update-awareness.md and keep one update line in your final response to the user, even after a quality gate fails. For a task with several diagrams, mention the update once in the final response. Snooze or ignore a reminder only when the user explicitly asks; never install or update on your own initiative.

Before the first candidate, use the authoring references and relevant repository source, not Archify implementation or tests. Inspect Archify implementation if diagnostics remain unactionable after focused repairs.

Type router

TypeUse forSchemaExample
architectureComponents, services, cloud/security boundaries, infrastructureschemas/architecture.schema.jsonSystem descriptions, services, libraries, and CLI repos: examples/web-app.architecture.json; deployment repos: examples/production-deployment.architecture.json
workflowProcesses, approval gates, tool calls, runbooks, CI/CDschemas/workflow.schema.jsonexamples/agent-tool-call.workflow.json
sequenceAPI call chains, request lifecycles, async traces, returnsschemas/sequence.schema.jsonexamples/cache-miss-request.sequence.json
dataflowPipelines, ETL/ELT, lineage, governance, consumersschemas/dataflow.schema.jsonexamples/product-analytics.dataflow.json
lifecycleState/status transitions, retries, waiting and terminal statesschemas/lifecycle.schema.jsonexamples/deployment-release.lifecycle.json

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, or architecture for a component map.
  • sequenceDiagram → sequence; participants become semantic participants and arrows become messages.
  • stateDiagram → lifecycle; states and transitions retain meaning, not Mermaid style.

Delivery

Use the finalize command above for the first candidate and after a repair.

finalize stops at the first non-passing gate. Its compact stdout and <output-stem>.finalize-summary.json are ordinary evidence. A passing run creates no screenshots and reports visualReview: "not-requested".

When a passing Architecture receipt reports visualReviewRecommendation.signals.resolvedCrossovers, copy the candidate aside and apply the hints in one edit that changes only node positions and sizes: every node, relationship (including its from and to), label, and source stays as it was. Rerun the complete finalize once with --out-dir <folder>/review-2, because the previous HTML already owns its browser evidence. If that run fails or reports more crossings, restore the copy and finalize it with --out-dir <folder>/review-3. Do not start a second placement round. Hints about extra bends alone are optional.

When layoutReviewRecommendation.action is inspect-sequence-width, follow Sequence width review before handing off a newly authored Sequence.

Perceptual review is optional for ordinary generation, including a newly positioned Architecture. Use Optional capture evidence, with --out-dir <folder>/visual-check, when the user requests visual review, during development audits, or for a concrete route/browser concern. visualReviewRecommendation is advisory. Inspect captures before claiming visual quality; otherwise report automated checks only.

Read Delivery contract for failed gates, standalone commands, provenance/recovery, repeated delivery, exports, or opening. Recovery follows deliver → strict provenance check → browser-check; captures require strict provenance.

For workflow viewport overflow, read Workflow viewport repair before the next layout edit.

Report artifact checks, browser evidence, captures, and actual perceptual review as distinct results. For an explicitly requested immediate preview or active desktop loop, see Optional opening.

Optional viewer capabilities

meta.animation: "trace" is opt-in.

Read references/viewer-runtime.md only when the user explicitly asks for Share Cards, Route/Reach cards, motion, deep links, presentation, search/focus, or another Viewer Runtime feature.

Setup and fallback

No install is required inside the skill package. For setup diagnosis, verify with:

node bin/archify.mjs doctor
node bin/archify.mjs demo <output-directory>

When shell access is unavailable, hand-place architecture SVG into assets/template.html, use CSS semantic classes rather than inline colors, and follow the visual review contract in references/delivery-contract.md.

Output

Return the checked HTML as an absolute path, diagram type, validation summary, specification/artifact receipt, browser-evidence status, and truthful visual-review status. Do not claim success for a non-zero command or claim visual inspection you did not perform.

관련 스킬

azure-validate
Azure
Azure 배포 준비를 위한 사전 검증입니다. 배포 전에 구성, 인프라(Bicep 또는 Terraform), 권한 및 사전 요구 사항에 대한 심층 점검을 실행합니다.
posthog-onboarding
posthog
기존 PostHog 고객이 PostHog 인스턴스를 개선할 수 있도록 도와줍니다. "help [customer] improve their PostHog setup", "audit [company]'s PostHog…"에서 트리거됩니다.
azure-monitor-ingestion-java
microsoft
Azure Monitor Ingestion SDK for Java. 데이터 수집 규칙(DCR) 및 데이터 수집 엔드포인트(DCE)를 통해 Azure Monitor로 사용자 지정 로그를 전송합니다. 트리거: "LogsIngestionClient java", "azure monitor ingestion java", "custom logs java", "DCR java", "data collection rule java".
devops
json-render
vercel
AI 채팅 응답 렌더링 가이드 — UIMessage 부분, 도구 호출 표시, 스트리밍 상태 및 구조화된 데이터 프레젠테이션 처리. 구축 시 사용…
render-deploy
firecrawl
애플리케이션을 Render에 배포하기 위해 코드베이스를 분석하고, render.yaml Blueprint를 생성하며, Dashboard 딥링크를 제공합니다. 사용자가 배포를 원할 때 사용하세요.
notion-knowledge-capture
firecrawl
대화와 결정을 구조화된 Notion 페이지로 캡처합니다. 채팅이나 메모를 위키 항목, 사용 방법, 결정 사항, FAQ 등으로 변환할 때 사용합니다.
webhook-setup
facebook
Meta 앱용 웹훅을 처음부터 끝까지 설정하세요 — 사용 가능한 주제를 탐색하고, 필드를 구독하고, 테스트 페이로드로 검증합니다. 웹훅을 구성할 때 사용하세요…
cad-reference
convex-dev
Convex 아키텍처 문서(CAD)의 색인으로, Convex에 대한 규범적 사양입니다. 프로토콜을 변경하기 전에 어떤 CAD가 하위 시스템을 관장하는지 찾는 데 사용하세요.