MCP HubMCP Hub
返回技能列表

architecture-diagrams

EvanLavender13
更新于 Today
176 次查看
0
在 GitHub 上查看
aidata

关于

This Claude Skill generates Mermaid.js architecture diagrams that enforce clarity through labeled arrows, no dead-end nodes, and consistent abstraction levels. Use it when creating or updating system, data flow, or module relationship diagrams to produce unambiguous visual documentation. It provides concrete syntax examples and standards for developers.

快速安装

Claude Code

推荐
插件命令推荐
/plugin add https://github.com/EvanLavender13/audio-jones
Git 克隆备选方式
git clone https://github.com/EvanLavender13/audio-jones.git ~/.claude/skills/architecture-diagrams

在 Claude Code 中复制并粘贴此命令以安装该技能

技能文档

Architecture Diagram Standards

Apply these standards when creating or updating Mermaid diagrams.

Core Rules

Every Arrow Needs a Label

Unlabeled arrows force readers to guess the relationship.

%% BAD
A --> B

%% GOOD
A -->|float[] samples| B
A -->|HTTP 200| B
A -->|calls| B

No Dead Ends

Every process node needs input AND output arrows. Data doesn't disappear.

%% BAD: normalize just ends
RawData --> Normalize

%% GOOD: show what normalized data becomes
RawData -->|int16[]| Normalize -->|float[] peak=1.0| Smoother

Single Abstraction Level Per Diagram

Don't mix high-level modules with implementation functions.

LevelShowsExample Nodes
SystemExternal boundariesAudioJones, WASAPI, Display
ModuleInternal componentsaudio.c, waveform.c, visualizer.c
FunctionImplementation detailProcessWaveformBase, CubicInterp

Create separate diagrams for each level.

Connect All Subgraphs

Isolated subgraphs indicate missing relationships. If a subgraph modifies data elsewhere, show the arrow.

%% BAD: UI floats alone
subgraph UI
    Panel --> Slider
end
subgraph Core
    Config --> Render
end

%% GOOD: show what UI affects
subgraph UI
    Panel --> Slider
end
subgraph Core
    Config --> Render
end
Slider -->|modifies| Config

Arrow Conventions

Pick ONE meaning per diagram and state it in a legend or title:

Arrow TypeMeaningUse When
-->Data flows from A to BShowing data transformation pipelines
-->A calls/invokes BShowing control flow or dependencies
-.->Async/event-basedCallbacks, message queues
==>High-volume/critical pathEmphasizing main data path

Bidirectional: Use two arrows with separate labels, not <-->.

Client -->|request| Server
Server -->|response| Client

Required Elements

Legend

Every diagram needs a legend explaining:

  • Arrow meaning (data flow vs dependency)
  • Shape meanings if non-obvious
  • Any color coding
%% Legend:
%% → data flow (payload type on label)
%% [box] processing function
%% [(cylinder)] persistent buffer
%% {{diamond}} decision point

Title

Descriptive title that clarifies arrow semantics:

  • "Data Flow: Audio Samples to Screen" (arrows = data movement)
  • "Module Dependencies" (arrows = import/call relationships)

Mermaid Syntax Reference

Labeled Edges

A -->|label| B      %% arrow with label
A -- label --> B    %% alternative syntax
A -.->|label| B     %% dotted with label
A ==>|label| B      %% thick with label

Subgraph Direction

subgraph Module[Module Name]
    direction LR
    A --> B
end

Note: Subgraph direction ignored if nodes link outside the subgraph.

Node Shapes

A[Rectangle]        %% process/function
B[(Database)]       %% persistent storage
C((Circle))         %% start/end point
D{Diamond}          %% decision
E{{Hexagon}}        %% preparation/setup
F[/Parallelogram/]  %% input/output

Verification Checklist

Before finalizing any diagram:

  • Every arrow has a label describing what flows/relationship
  • No orphaned nodes or subgraphs
  • Every process has both input and output arrows
  • Single abstraction level throughout
  • Legend explains arrow and shape meanings
  • Title clarifies diagram's semantic intent

Anti-patterns

ProblemFix
A --> B --> C --> D (unlabeled chain)Add data type labels to each arrow
Subgraph with no external connectionsAdd arrows showing how it interacts
Function node with only input arrowShow output or mark as "side effect: X"
Mixed modules and functionsSplit into separate diagrams
Colors without legendAdd legend or remove colors

Example: Complete Data Flow

flowchart LR
    subgraph Capture[Audio Capture]
        CB[Callback] -->|int16[] stereo| RB[(Ring Buffer)]
    end

    subgraph Process[Waveform Processing]
        RB -->|int16[4096]| Norm[Normalize]
        Norm -->|float[1024] peak=1.0| Smooth[Smooth]
        Smooth -->|float[2048] palindrome| Interp[CubicInterp]
    end

    subgraph Render[Visualization]
        Interp -->|Vector2[]| Draw[DrawCircular]
        Draw -->|pixels| Accum[(accumTexture)]
        Accum -->|texture| Blur[Gaussian Blur]
        Blur -->|decayed texture| Accum
        Accum -->|final frame| Screen[Display]
    end

%% Legend:
%% → data flow with payload type
%% [(name)] persistent buffer
%% [name] processing function

GitHub 仓库

EvanLavender13/audio-jones
路径: .claude/skills/architecture-diagrams

相关推荐技能

content-collections

Content Collections 是一个 TypeScript 优先的构建工具,可将本地 Markdown/MDX 文件转换为类型安全的数据集合。它专为构建博客、文档站和内容密集型 Vite+React 应用而设计,提供基于 Zod 的自动模式验证。该工具涵盖从 Vite 插件配置、MDX 编译到生产环境部署的完整工作流。

查看技能

sglang

SGLang是一个专为LLM设计的高性能推理框架,特别适用于需要结构化输出的场景。它通过RadixAttention前缀缓存技术,在处理JSON、正则表达式、工具调用等具有重复前缀的复杂工作流时,能实现极速生成。如果你正在构建智能体或多轮对话系统,并追求远超vLLM的推理性能,SGLang是理想选择。

查看技能

evaluating-llms-harness

测试

该Skill通过60+个学术基准测试(如MMLU、GSM8K等)评估大语言模型质量,适用于模型对比、学术研究及训练进度追踪。它支持HuggingFace、vLLM和API接口,被EleutherAI等行业领先机构广泛采用。开发者可通过简单命令行快速对模型进行多任务批量评估。

查看技能

llamaguard

其他

LlamaGuard是Meta推出的7-8B参数内容审核模型,专门用于过滤LLM的输入和输出内容。它能检测六大安全风险类别(暴力/仇恨、性内容、武器、违禁品、自残、犯罪计划),准确率达94-95%。开发者可通过HuggingFace、vLLM或Sagemaker快速部署,并能与NeMo Guardrails集成实现自动化安全防护。

查看技能