← 返回 Skills 市场
archsueh

Archviz Skills

作者 archsueh · GitHub ↗ · v1.0.1 · MIT-0
cross-platform ✓ 安全检测通过
50
总下载
0
收藏
0
当前安装
2
版本数
在 OpenClaw 中安装
/install archviz-skills
功能描述
Restrained information visualization skill pack for AI agents. Every visualization starts with a brief read and three dials. Supports Mermaid, ASCII, self-co...
使用说明 (SKILL.md)

archviz-skills

Every rule is contextual. Read the brief first, then pull only what fits.


QUICK REFERENCE (agent loads this in \x3C5 seconds)

Dials:      COMPLEXITY=4  DENSITY=3  RESTRAINT=8
Palette:    surface=#f5f0eb  text=#1B365D  border=#a8a29e  accent=#002FA7 (max 1)
Init:       %%{init: {'theme':'base','themeVariables':{'primaryColor':'#f5f0eb','primaryTextColor':'#1B365D','primaryBorderColor':'#a8a29e','lineColor':'#a8a29e','tertiaryColor':'#d6d3d1','fontSize':'13px'}}}%%
Contrast:   luminance(0.299R+0.587G+0.114B) \x3C 128 → light text, ≥ 128 → dark text
Labels:     ≤6 words / ≤8 Chinese chars / no ALL CAPS
Gantt:      codes only inside block + table beside + ASCII fallback / min 3w
Anti-slop:  no purple default / no rainbow / no flowchart-for-everything / no pie

Type selection (fast):

Data Type Template
Hierarchical mindmap
Sequential flowchart LR/TD
System/layered flowchart TD + subgraph
Comparison/ranking xychart-beta (bar)
Proportional treemap or stacked bar
Timeline gantt mermaid/gantt.mmd
Distribution histogram/box mermaid/distribution.mmd
Correlation scatter/heatmap python/scatter-plot.py
Flow/network sankey mermaid/sankey.mmd
Funnel/conversion funnel chart html/funnel.html
Decision/evaluation decision matrix (table) mermaid/decision-matrix.mmd
State transitions stateDiagram-v2 mermaid/state-machine.mmd
Dependencies dependency graph mermaid/dependency-network.mmd
Multi-criteria scoring radar or diverging bar html/radar.html / mermaid/diverging-bar.mmd
Simple (≤5 items) TABLE, not chart
3D: Building structure Three.js structure shell html/threejs-archviz.html
3D: Floor plan Three.js extruded floor html/threejs-floorplan.html
3D: Section cut Three.js ClippingPlane html/threejs-archviz.html

Mixed types (when data spans categories):

  • Process + timeline → flowchart with gantt sub-section (split into 2 diagrams)
  • Hierarchy + comparison → mindmap with leaf annotations (table beside)
  • Flow + metrics → sankey with tooltip/badge annotations
  • Decision + scoring → decision matrix → radar for top candidates
  • Rule: never combine >2 types in one diagram. Split instead.

Degradation strategy (when data is too complex):

  1. 50 nodes → split into 2-3 linked diagrams with shared legend

  2. 7 categories → aggregate into "Other" + detail diagram

  3. Mixed data types → identify primary relationship, table the rest
  4. Preview environment fails → ASCII fallback (always prepared)
  5. Mermaid syntax error → flowchart TD + subgraph (most compatible)

Environment routing:

Env Output
Obsidian/preview lightweight Mermaid / ASCII / self-contained HTML
Terminal pure ASCII (pyfiglet, boxes)
Deliverables Python (Plotly/Matplotlib)
3D / archviz Three.js self-contained HTML (CDN import)

3D archviz mode (when brief = building/structure/spatial):

  • Stack: Three.js + animejs (camera transitions) + OrbitControls
  • Output: self-contained HTML with CDN imports (no build step)
  • Types: structure shell / floor plan extrusion / section cut / multi-floor nav
  • Tokens: inherits 2D palette + adds structure=#a8a29e, floor=#e8e4e0, accent-3d=#002FA7
  • Constraints: procedural geometry preferred, max 3 lights, responsive resize, animejs for camera moves
  • Full rules → DESIGN.md §3D Architectural Visualization

CDN importmap pattern (self-contained HTML, zero build):

\x3Cscript type="importmap">
{
  "imports": {
    "three": "https://cdn.jsdelivr.net/npm/[email protected]/build/three.module.js",
    "three/addons/": "https://cdn.jsdelivr.net/npm/[email protected]/examples/jsm/",
    "animejs": "https://cdn.jsdelivr.net/npm/[email protected]/dist/bundles/anime.esm.js"
  }
}
\x3C/script>
\x3Cscript type="module">
import * as THREE from 'three';
import { OrbitControls } from 'three/addons/controls/OrbitControls.js';
import { animate } from 'animejs';  // v4: named export, NOT default
\x3C/script>

Tech stack pitfalls (硬规则,已踩坑验证):

Pitfall Symptom Fix
animejs CDN 404 Canvas blank, no errors v4.4.1 路径是 dist/bundles/anime.esm.js,不是 lib/anime.es.js
animejs default import import anime from 'animejs' → undefined v4 是 named export: import { animate } from 'animejs'
animejs v3→v4 API anime({targets: x, ...}) 报错 v4 是 animate(target, params),无 targets key
animate 命名冲突 渲染循环函数也叫 animate → 覆盖 import 渲染循环用 renderLooptick,不要用 animate
Three.js CatmullRom CatmullRomCurvePath 不存在 CatmullRomCurve3(3D 曲线)

Full rules → DESIGN.md. Templates → templates/.


0. BRIEF INFERENCE

Before generating, read these signals:

  1. Context — paper, design log, PPT, product doc, personal note
  2. Content type — hierarchical, sequential, relational, quantitative, temporal, spatial/3D
  3. Audience — reviewers, clients, dev team, self
  4. Vibe — "restrained", "clean", "academic", "playful"
  5. Existing style — match palette/font/layout already established
  6. Constraints — accessibility, print, projection, dark mode
  7. Environment — Obsidian, terminal, deliverables

Output one line: "Reading this as: \x3Ctype> for \x3Caudience>, \x3Cvibe>, \x3Cpalette>."

4-layer analysis (from anydesign): Identity → System → Components → Layout. Mark confidence: ✅/⚠️/❓.

DESIGN.md contract (from awesome-design-md): Atmosphere → Tokens → Components → Layout → Guardrails. If any layer is unknown, state the assumption before generating.

Anti-default: No purple gradients, no rainbow nodes, no centered symmetry, no flowchart-for-everything, no default theme.


1. THREE DIALS

Dial Default Range
COMPLEXITY 4 1(minimal)–10(dense)
DENSITY 3 1(airy)–10(packed)
RESTRAINT 8 1(expressive)–10(austere)

Inference: "academic" → 3-5/2-3/9-10 · "playful" → 5-8/3-5/3-5 · "data report" → 6-8/6-8/5-7


2. TOKENS

Defined in DESIGN.md. Summary:

Token Warm Paper Swiss IKB
surface #f5f0eb #f5f5f4 #e4e8f0
text #1B365D #1B365D #0a0a0a
border #a8a29e #d6d3d1 #94a3b8
accent #002FA7

Rules: Max 1 accent. No AI-purple. Same doc = same palette. Contrast check mandatory. Light surface uses dark text.


3. TYPOGRAPHY

越大越细,越小越粗:Large=200(ExtraLight) · Body=300(Light) · Small=500-600(SemiBold)

Labels: ≤6 words · ≤8 Chinese chars · no ALL CAPS · same language per diagram


4. LAYOUT

  • Mindmap: auto-layout
  • Flowchart: LR for processes, TD for hierarchies
  • Max 4-5 subgraphs, short noun labels
  • Non-symmetric unless content demands it
  • Hard cap: 50 nodes → split

5. CONTENT DENSITY

Data Format
2-3 items Table
4-8 items Bar chart
Proportional Treemap/stacked
Sequential Flowchart
Hierarchical Mindmap
Timeline Gantt

Simple comparison (≤5 items) → TABLE, not chart.


6. SHAPE CONSISTENCY

  • Border radius: sharp (0) by default. Never mix.
  • Line weight: 1px default, 2px accent. No 3px+.
  • Icons: sparingly (1 per group max). No emoji.

7. QUALITY RULES

Do: Cite hex/px · Infer semantic roles · Mark confidence (✅/⚠️/❓) · Match document style

Don't: Generic descriptions · Colors without hex · Invent tokens · Ignore context


8. OUTPUT TEMPLATE

---
diagram: [name]
type: [mindmap|flowchart|xychart-beta|gantt|...]
context: [paper|log|PPT|note]
dials: {complexity: N, density: N, restraint: N}
tokens: {surface: "#f5f0eb", text: "#1B365D", border: "#a8a29e", accent: "#002FA7"}
confidence: {palette: "✅", layout: "✅", nodes: "⚠️"}
---

9. WORKFLOW

  1. Brief + 4-layer analysis (§0)
  2. Set dials (§1)
  3. Choose type + environment (§2 + QR table)
  4. Apply tokens (DESIGN.md)
  5. Apply typography (§3)
  6. Apply layout (§4)
  7. Check density (§5)
  8. Quality audit (§7)
  9. Generate code
  10. Validate (render test or alignment check)
  11. Embed (caption first = finding)

Pre-gen checklist: Brief done? DESIGN.md contract complete? Dials set? Tokens locked? Labels short? Gantt: codes+table+ASCII?


10. GANTT (hard rules)

  • Inside gantt block: ultra-short codes only (V1.1, A1, B3)
  • Full names: mandatory table immediately after
  • ASCII fallback: always include
  • Min bar: 3w. Merge short tasks.
  • Section: 3-6 tasks. Group by phase.

11. ASCII MODE

Box-drawing chars in monospace. Max 80 columns.

Shape Char
Regular node ┌─┐└─┘
Important ╔═╗╚═╝
Decision ╭─╮╰─╯
Primary flow ─────►
Secondary - - -►
Emphasized ═════►

Tools: pyfiglet (headers), boxes (borders), cowsay (annotations)


12. TEMPLATES

Actual files live in templates/. Current inventory (do not hardcode counts in prompts):

templates/
├── mermaid/    15 files (gantt, sankey, distribution, diverging-bar, network, scoring, intro, architecture, closed-loop variants, funnel, decision-matrix, state-machine, dependency-network)
│               flowchart + mindmap: inline Mermaid (no standalone .mmd)
├── ascii/       4 files (flowchart, architecture, gantt, icon-system)
├── html/       14 files (bubble, bullet-graph, funnel, gauge, heatmap, line, radar, sunburst, treemap, waffle, waterfall, self-contained, threejs-archviz, threejs-floorplan)
└── python/      5 files (scatter-plot, box-plot, candlestick, parallel-coordinates, viz template)

Prefer reading the specific template file under templates/\x3Cmode>/ at use time instead of relying on this list. Flowchart and mindmap have no template files — generate inline using tokens from DESIGN.md.

13. TROUBLESHOOTING

Issue Fix
Mindmap fails Use flowchart/subgraph
Architecture-beta lexer error Use flowchart TD + subgraph (preview-compatible)
Gantt text overflow Codes only + table + ASCII fallback
Theme too flashy Force solarized-light/nord-light
Text unreadable Check contrast rule (QR)
Too many nodes Split into subgraphs
Canvas blank (Three.js) Check console for CDN 404 / import errors
animejs not animating v4 API: animate(target, props) not anime({targets})
Render loop stops Don't name loop function animate (conflicts with animejs import)

14. ANTI-PATTERNS (student work + common mistakes)

Anti-pattern Symptom Fix
Pie for everything Pie chart with >5 slices or similar values ≤3 slices → table; >3 → treemap or stacked bar
Rainbow nodes Every node a different color Same hue, vary lightness. Max 1 accent
Flowchart-for-everything Non-sequential data forced into flowchart Match data relationship to type table (§QR)
Label soup Labels >10 words, full sentences ≤6 words / ≤8 Chinese chars. Detail in caption
3D decoration 3D bar/pie for "visual interest" Flat only. Depth = data dimension, never decoration
Dual Y-axis lie Two unrelated metrics on shared axis Split into 2 charts or use indexed/baseline ratio
Truncated axis Bar chart Y-axis starts at non-zero Always start at 0. Use inset zoom if range matters
Legend overload >7 legend items, hard to match Aggregate "Other". Use direct labeling
Default theme Mermaid/Chart.js default purple/blue gradient Always apply custom init + tokens from DESIGN.md
Missing caption Diagram embedded without context Caption = finding, not title. "Sales dropped 30% in Q3" not "Q3 Sales Chart"
Color as only channel Red/green distinction for colorblind users Add pattern/shape/label. Never rely on color alone
Spaghetti network >20 edges in network/graph Cluster nodes, hide weak edges, or split into subgraphs
Mixed metaphor Flowchart arrows + pie segments + bar heights in one view One visual language per diagram. Split if needed
Infinite Gantt Gantt with 30+ tasks, unreadable Group into phases. Detail in separate Gantt or table
Emoji overload 🎯📊🔥 in every node Max 1 icon per group. No emoji in formal deliverables

15. RESOURCES

Full design system → DESIGN.md · Detailed rules → references/ · Research → research/


16. 3D GOTCHAS (踩坑记录)

Three.js + animejs v4 实战中遇到的坑,按出现顺序记录。

CDN 依赖(自包含 HTML 模板)

\x3Cscript type="importmap">
{
  "imports": {
    "three": "https://cdn.jsdelivr.net/npm/[email protected]/build/three.module.js",
    "three/addons/": "https://cdn.jsdelivr.net/npm/[email protected]/examples/jsm/",
    "animejs": "https://cdn.jsdelivr.net/npm/[email protected]/dist/bundles/anime.esm.js"
  }
}
\x3C/script>

⚠️ animejs v4 路径不是 lib/anime.es.js — 那是 v3 的路径。v4.4.1 的正确路径是 dist/bundles/anime.esm.js。验证方法:curl -sI \x3CCDN_URL> 返回 200 才可用。

animejs v4 API 迁移

v3(旧) v4.4.1(当前)
import anime from 'animejs' import { animate } from 'animejs'
anime({targets: obj, x: 1, duration: 500}) animate(obj, {x: 1, duration: 500})

包装函数(统一写法,避免每次改 API):

import { animate } from 'animejs';
function tween(target, props) { return animate(target, props); }
// 用法:tween(camera.position, {x: 6, y: 4, z: 8, duration: 800})

命名冲突

// ❌ 错误 — animate 与 animejs 导入冲突
function animate() { requestAnimationFrame(animate); renderer.render(scene, camera); }
animate();

// ✅ 正确 — 用 renderLoop 或其他名称
function renderLoop() { requestAnimationFrame(renderLoop); renderer.render(scene, camera); }
renderLoop();

地面位置

// ❌ 物体 y=0 会埋进地面
scene.add(dryer); // dryer.position.y 默认 0

// ✅ 物体抬高到地面之上
scene.add(dryer);
dryer.position.y = 2; // 或者降低地面:gMesh.position.y = -0.5

相机动画不要直接赋值

// ❌ 跳跃式,无过渡
camera.position.set(6, 4, 8);

// ✅ 用 tween 平滑过渡
tween(camera.position, {x: 6, y: 4, z: 8, duration: 800, easing: 'easeInOutCubic'});

光照数量限制

模板约束 max 3 光源(1 HemisphereLight + 1 DirectionalLight + 1 AmbientLight)。超出会影响性能且难以控制阴影。

安全使用建议
Install only if you are comfortable with visualization templates that may load JavaScript from jsDelivr when opened in a browser or embedded preview. For offline or stricter environments, prefer the ASCII, Mermaid, pure-inline HTML, or Python outputs, or vendor/pin the CDN libraries before using generated HTML.
能力标签
crypto
能力评估
Purpose & Capability
The skill provides diagram, chart, ASCII, Python, and Three.js visualization templates; the code and instructions match that purpose, with no credential access, data exfiltration, destructive actions, or unrelated capabilities found.
Instruction Scope
Router triggers and implicit invocation are broad for generic visualization terms, but the skill repeatedly instructs the agent to read the brief, choose only relevant templates, and limit 3D mode to spatial/building use cases.
Install Mechanism
Installation is documented as copying the skill directory into an agent skills folder; no postinstall hook, background service, privilege escalation, or hidden installer behavior was found.
Credentials
External CDN scripts for Chart.js, Three.js, and animejs are proportionate for browser visualization templates, but some files describe themselves as self-contained even though they fetch remote JavaScript.
Persistence & Privilege
No persistence, startup registration, credential/session/profile access, broad local indexing, or privileged mutation behavior was found; Python examples only write local visualization output files when run.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install archviz-skills
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /archviz-skills 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.1
Sync GitHub commit ab55bc3. Adds DESIGN.md agent-readable contract inspired by awesome-design-md, fixes Warm Paper contrast tokens, updates Mermaid templates/examples, and includes stacked/area chart additions plus responsive dependency updates.
v1.0.0
Version 1.0.0 of archviz-skills introduces a comprehensive, text-first information visualization skill pack for AI agents: - Supports a wide array of diagram/visualization types: Mermaid, ASCII, HTML, Python (Plotly), and Three.js for 3D archviz. - Enforces design restraint: limited palette (no rainbow/purple), concise labels, and anti-slop defaults. - Includes detailed quick-reference for type selection, environment-aware output routing, and degradation strategies. - 3D mode activates only for explicit spatial briefs (building, floorplan, walkthrough) with Three.js/CDN templates. - Each visualization starts with a brief read, followed by adjustment of three "dials": COMPLEXITY, DENSITY, RESTRAINT. - Designed for clean, preview-compatible diagrams—never flowchart-for-everything, never pie, always contextually appropriate.
元数据
Slug archviz-skills
版本 1.0.1
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 2
常见问题

Archviz Skills 是什么?

Restrained information visualization skill pack for AI agents. Every visualization starts with a brief read and three dials. Supports Mermaid, ASCII, self-co... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 50 次。

如何安装 Archviz Skills?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install archviz-skills」即可一键安装,无需额外配置。

Archviz Skills 是免费的吗?

是的,Archviz Skills 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Archviz Skills 支持哪些平台?

Archviz Skills 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Archviz Skills?

由 archsueh(@archsueh)开发并维护,当前版本 v1.0.1。

💬 留言讨论