- Added a new Archify skill, enabling users to create polished architecture, workflow, sequence, data-flow, and lifecycle diagrams. - Implemented comprehensive functionality including rendering, validation, and delivery of diagrams in various formats. - Integrated a user-friendly command-line interface for generating and previewing diagrams. - Developed supporting files including package.json, LICENSE, and SKILL.md for documentation and licensing. - Added unit tests to ensure reliability and functionality of the new skill. These changes enhance the application by providing a structured approach to visualizing system architecture and workflows, improving user experience and data representation.
2.1 KiB
Brand marks
Use a brand mark only when a real product, provider, model family, channel, or
service identity helps the reader. Semantic type still explains what the node
does; brand explains whose product it is.
Agent decision path
-
Search the built-in catalogue when the request names a recognizable brand:
node bin/archify.mjs brands "Claude" --json -
Put the returned canonical ID in the node, participant, or state:
{ "id": "planner", "type": "backend", "label": "Claude", "brand": "claude" } -
If there is no catalogue match and the user supplied the official website, capture its icon explicitly:
node bin/archify.mjs brands capture "https://partner.example.com" --jsonPut the command's digest-pinned
brandvalue in the authored node:{ "id": "partner", "type": "external", "label": "Partner portal", "brand": { "url": "https://partner.example.com", "sha256": "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef" } } -
If there is no match and no user-provided URL, omit
brand. Do not invent a URL or silently assign a visually similar company.
Known-brand URLs resolve to the bundled vector instead of using the network. Unknown URL capture accepts only bounded raster image formats, blocks credentials, nonstandard public ports, and private or link-local destinations, uses bounded concurrency and one total deadline, and returns the captured content digest. Later render and validate operations require that exact digest; blocked, unavailable, changed, oversized, or unsafe content fails closed instead of silently changing the artifact.
The final artifact never fetches a brand asset when opened. Preset vectors and digest-verified captured site icons remain embedded in SVG, PNG, WebP, JPEG, Share Card, and WebM exports.
Use node bin/archify.mjs brands --json to inspect all canonical IDs, aliases,
categories, domains, and provenance. Current categories cover AI, cloud,
engineering, data, collaboration, business systems, channels, languages, and
frameworks.