agents-standards
Standards for authoring SDD plugin agents — frontmatter, self-containment, skill references, and no-user-interaction rules.
D2 diagramming language reference for architecture diagrams, sequence diagrams, grid layouts, SQL tables, and class diagrams. Produces .d2 files rendered via CLI or playground.
Claude Code
$ npx -y skills add LiorCohen/sdd --skill d2 --agent claude-code
Codex
$ npx skills add LiorCohen/sdd --skill d2 -a codex -y
Cursor
$ npx skills add LiorCohen/sdd --skill d2 -a cursor -y
Gemini CLI
$ npx skills add LiorCohen/sdd --skill d2 -a gemini-cli -y
GitHub Copilot
$ npx skills add LiorCohen/sdd --skill d2 -a github-copilot -y
OpenCode
$ npx skills add LiorCohen/sdd --skill d2 -a opencode -y
Windsurf
$ npx skills add LiorCohen/sdd --skill d2 -a windsurf -y
name: d2 description: "D2 diagramming language reference for architecture diagrams, sequence diagrams, grid layouts, SQL tables, and class diagrams. Produces .d2 files rendered via CLI or playground."
D2 is a text-to-diagram language. Write `.d2` files and render them to SVG/PNG via the `d2` CLI or https://play.d2lang.com.
---
---
| Concept | Syntax | |---------|--------| | Shape | `name` or `name: Label` | | Connection | `a -> b` or `a -> b: label` | | Reverse / bidirectional | `a <- b` / `a <-> b` | | Line (no arrow) | `a -- b` | | Container | `parent: { child1; child2 }` | | Dot nesting | `parent.child.grandchild` | | Set shape type | `name.shape: oval` | | Style | `name.style.fill: "#ff0000"` | | Icon | `name.icon: https://url/icon.svg` | | Tooltip | `name.tooltip: hover text` | | Link | `name.link: https://example.com` | | Class | `classes: { c: { style: {...} } }` then `name.class: c` | | Variable | `vars: { k: v }` then `${k}` | | Direction | `direction: right` | | Comment | `# single line comment` | | SQL table | `name.shape: sql_table` then `col: type {constraint: pk}` | | Sequence diagram | `name.shape: sequence_diagram` | | Grid | `name.grid-rows: 3` or `name.grid-columns: 3` | | Layers | `layers: { name: { ... } }` | | Scenarios | `scenarios: { name: { ... } }` (inherits parent) | | Steps | `steps: { 1: { ... } 2: { ... } }` (each inherits previous) | | Import | `a: @file` or `...@file` (spread) | | Glob | `*.style.fill: red` / `**.style.fill: red` | | Null (delete) | `x: null` / `(a -> b)[0]: null` |
---
Any identifier becomes a shape. The default shape is `rectangle`.
server
database: My Database
api: API Gateway {
shape: hexagon
}All shape types: `rectangle`, `square`, `page`, `parallelogram`, `document`, `cylinder`, `queue`, `package`, `step`, `callout`, `stored_data`, `person`, `diamond`, `oval`, `circle`, `hexagon`, `cloud`, `text`, `code`, `class`, `sql_table`, `image`, `sequence_diagram`, `c4-person`.
a -> b: request b -> a: response a <-> b: bidirectional a -- b: line (no arrowhead) # Multiple connections between same shapes are indexed a -> b: first # (a -> b)[0] a -> b: second # (a -> b)[1]
Style existing connections by referencing them:
a -> b: request (a -> b)[0].style.stroke: red (a -> b)[0].style.stroke-dash: 5
a -> b: {
source-arrowhead: 1 {
shape: diamond
}
target-arrowhead: * {
shape: cf-many
}
}Arrowhead shapes: `triangle` (default), `arrow`, `diamond`, `circle`, `cf-one`, `cf-many`, `cf-one-required`, `cf-many-required`.
cloud: AWS {
vpc: VPC {
subnet: Private Subnet {
ec2: Web Server
db: Database {
shape: cylinder
}
}
}
}
# Dot notation shorthand
cloud.vpc.subnet.ec2 -> cloud.vpc.subnet.db: query# Markdown labels
explanation: |md
# Architecture Overview
This system uses **microservices**.
|
# Code blocks
snippet: |go
func main() {
fmt.Println("hello")
}
|
# LaTeX
formula: |latex
\\frac{n!}{k!(n-k)!}
|Controls layout flow. Values: `up`, `down` (default), `left`, `right`.
direction: right a -> b -> c
Remove shapes, connections, or attributes:
x: {style.fill: red}
x.style.fill: null # remove fill
x: null # remove shape entirely
(a -> b)[0]: null # remove connection# This is a comment server # Inline comment """ This is a block comment spanning multiple lines """
---
Position items at fixed points around the diagram:
title: Architecture Overview {
shape: text
near: top-center
style.font-size: 28
}
legend: {
near: bottom-right
}**Values:** `top-left`, `top-center`, `top-right`, `center-left`, `center-right`, `bottom-left`, `bottom-center`, `bottom-right`.
**Label/icon positioning** (additional values):
node: {
label.near: outside-top-center
icon: https://icons.terrastruct.com/aws/Compute/Amazon-EC2.svg
icon.near: outside-left-center
}Extra values for label/icon: `outside-top-left`, `outside-top-center`, `outside-top-right`, `outside-left-center`, `outside-right-center`, `outside-bottom-left`, `outside-bottom-center`, `outside-bottom-right`.
---
node: {
width: 200
height: 100
}Cannot be set on containers (they resize to fit children).
---
vars: {
d2-config: {
theme-id: 4
dark-theme-id: 200
pad: 50
center: true
sketch: true
layout-engine: elk
}
}Layout engines: `dagre` (default, free), `elk` (free, more features), `tala` (premium).
---
For detailed guidance, read these on-demand:
---
This skill defines no input parameters or structured output.
Structure for AI-assisted development AI coding assistants are powerful but chaotic. You prompt, you get code, but then what?
Standards for authoring SDD plugin agents — frontmatter, self-containment, skill references, and no-user-interaction rules.
Standards for authoring SDD plugin commands — frontmatter, user interaction, skill/agent invocation, CLI integration, and output…
Create a commit following repository guidelines with proper versioning and changelog updates.
Two-step self-review at every task lifecycle phase. Step 1 (this skill) runs in-context to gather session signals — files read vs…
Writes and maintains user-facing documentation for the SDD plugin. Proactively detects when docs are out of sync with plugin…
Validate plugin and marketplace manifest files against the official Claude Code specification
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.