本文へ移動
cccskills
無料GitHub で公開

neva-to-mermaid

Convert Neva programs to valid Mermaid flowchart diagrams. Use when asked to visualize Neva code as Mermaid.

インストール方法を見る

含まれるファイル(1)

  • SKILL.md3.1 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Neva to Mermaid

Use this skill to convert any Neva source code into a Mermaid flowchart.

Instructions

  1. Read the Neva code to be converted.

  2. Generate a Mermaid flowchart TB diagram using the following rules:

    • Layout: Always include this header at the top:

      ---
      config:
        layout: elk
      ---
      flowchart TB
      
    • Ports:

      • Use stadium shapes for external ports :in / :out:
        • ([":data"]), ([":res"]), ([":err"]), etc.
      • In edges, label with the port name (data, res, err, sig, case[0], etc).
    • Components:

      • Use unique Mermaid node IDs.
      • Render component nodes as regular boxes using only their declared instance name: id["name"].
      • Do not annotate component nodes with type names, generic parameters, or usage information.
    • Literals:

      • Render numeric and string literals as rectangles using Mermaid shape syntax:
        • zero@{ label: "0", shape: rect }
        • dot@{ label: "'.'", shape: rect }
    • Connections:

      • Use -- <port> --> labels for the wire’s port name.
      • For a:out -> b:in, label the edge with the output port name (out), unless Neva explicitly uses the input port name in the wiring (e.g., b:sig).
      • Only label an edge with a port name when the Neva source explicitly names a port on that connection.
        • Examples that MUST be labeled:
        • x:res -> y → label edge as res
        • x -> y:sig → label edge as sig
        • x:case[0] -> y → label edge as case[0]
    • If a port name is omitted in Neva, do not infer or guess it. Render an unlabeled edge:

      • x -> y → x --> y
    • Fan-out / Fan-in (IMPORTANT):

      • Mermaid edges do not create real “ports as objects”, so list-wiring must be represented explicitly with virtual junction nodes.
      • A junction node is a small circle: jX(( )) where jX is a unique ID.

      Fan-out: src -> [a, b, :out]

      • Insert a junction node jX(( )).
      • Wire: src -- <port> --> jX
      • Then wire: jX --> a, jX --> b, jX --> out_port

      Fan-in: [a, b] -> dst:port

      • Insert a junction node jX(( )).
      • Wire: a --> jX and b --> jX
      • Then wire: jX -- <port> --> dst
    • Grouping (&):

      • You MAY use & to reduce clutter only when it does not hide fan-in/fan-out topology.
      • If Neva uses list-wiring ([...]), prefer junction nodes over &.
  3. Do not look up other files in the repo or call web search; this text describes the conversion rules.

  4. Ensure the output is ready to be pasted into the Mermaid playground.

Reference Example

Neva

pub def Tap<T>(data T) (res T, err error) {
    pass1 Pass<T>
    pass2 Pass<T>
    lock Lock<T>
    handler ITapHandler<T>
    ---
    :data -> [lock:data, handler]
    handler:res -> pass1
    handler:err -> [pass2, :err]
    [pass1, pass2] -> lock:sig
    lock -> :res
}

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

go

無料

Use for Go changes in Neva: authoring, refactoring, debugging, or review.

日本語の概要は準備中です。原文の説明を表示しています。

nevalang/neva1,0842026年8月23日 更新

Use for Neva source or snippets: authoring, refactoring, debugging, or review.

日本語の概要は準備中です。原文の説明を表示しています。

nevalang/neva1,0842026年8月23日 更新

papercut

無料

Capture or triage small Neva repository and engineering-harness frictions without derailing feature work.

日本語の概要は準備中です。原文の説明を表示しています。

nevalang/neva1,0842026年8月23日 更新

Create a Discord-ready Neva release announcement from a GitHub release payload. Use for official Neva Discord release posts.

日本語の概要は準備中です。原文の説明を表示しています。

nevalang/neva1,0842026年8月23日 更新

Prepare a Neva GitHub release draft from merged PRs, previous release style, and local multi-platform artifacts. Use this for monthly release preparation in nevalang/neva.

日本語の概要は準備中です。原文の説明を表示しています。

nevalang/neva1,0842026年8月23日 更新

Create a Telegram-ready Neva release announcement from a GitHub release payload. Use for official Neva Telegram release posts.

日本語の概要は準備中です。原文の説明を表示しています。

nevalang/neva1,0842026年8月23日 更新

nevalang のスキルをすべて見る

このスキルの問題を報告する