@drunkcoding/agents-and-skills 0.0.45 → 0.0.46

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (107) hide show
  1. package/.claude-plugin/marketplace.json +2 -47
  2. package/README.md +3 -6
  3. package/package.json +4 -1
  4. package/plugins/multica-tool/.claude-plugin/plugin.json +1 -1
  5. package/plugins/multica-tool/scripts/lib.mjs +53 -4
  6. package/plugins/multica-tool/scripts/multica-export.mjs +135 -32
  7. package/plugins/multica-tool/scripts/multica-import.mjs +192 -17
  8. package/plugins/multica-tool/skills/export/SKILL.md +84 -14
  9. package/plugins/multica-tool/skills/import/SKILL.md +22 -7
  10. package/plugins/multica-tool/skills/sync/SKILL.md +1 -1
  11. package/plugins/plugin-validator/.claude-plugin/plugin.json +1 -1
  12. package/plugins/html-effectiveness/.claude-plugin/plugin.json +0 -17
  13. package/plugins/html-effectiveness/README.md +0 -28
  14. package/plugins/html-effectiveness/agents/report-builder.md +0 -66
  15. package/plugins/html-effectiveness/assets/base.css +0 -51
  16. package/plugins/html-effectiveness/assets/base.js +0 -11
  17. package/plugins/html-effectiveness/assets/charts.js +0 -1
  18. package/plugins/html-effectiveness/assets/components.css +0 -10
  19. package/plugins/html-effectiveness/commands/html-report.md +0 -13
  20. package/plugins/html-effectiveness/docs/template-gallery.md +0 -28
  21. package/plugins/html-effectiveness/package.json +0 -6
  22. package/plugins/html-effectiveness/scripts/_tmp.js +0 -37
  23. package/plugins/html-effectiveness/scripts/catalog.js +0 -47
  24. package/plugins/html-effectiveness/scripts/extract.js +0 -104
  25. package/plugins/html-effectiveness/scripts/mustache.js +0 -90
  26. package/plugins/html-effectiveness/scripts/render.js +0 -176
  27. package/plugins/html-effectiveness/skills/html-effectiveness/SKILL.md +0 -94
  28. package/plugins/html-effectiveness/templates/01-exploration-code-approaches.html.tmpl +0 -400
  29. package/plugins/html-effectiveness/templates/02-exploration-visual-designs.html.tmpl +0 -456
  30. package/plugins/html-effectiveness/templates/03-code-review-pr.html.tmpl +0 -581
  31. package/plugins/html-effectiveness/templates/04-code-understanding.html.tmpl +0 -443
  32. package/plugins/html-effectiveness/templates/05-design-system.html.tmpl +0 -578
  33. package/plugins/html-effectiveness/templates/06-component-variants.html.tmpl +0 -557
  34. package/plugins/html-effectiveness/templates/07-prototype-animation.html.tmpl +0 -417
  35. package/plugins/html-effectiveness/templates/08-prototype-interaction.html.tmpl +0 -363
  36. package/plugins/html-effectiveness/templates/09-slide-deck.html.tmpl +0 -535
  37. package/plugins/html-effectiveness/templates/10-svg-illustrations.html.tmpl +0 -444
  38. package/plugins/html-effectiveness/templates/11-status-report.html.tmpl +0 -152
  39. package/plugins/html-effectiveness/templates/12-incident-report.html.tmpl +0 -547
  40. package/plugins/html-effectiveness/templates/13-flowchart-diagram.html.tmpl +0 -361
  41. package/plugins/html-effectiveness/templates/14-research-feature-explainer.html.tmpl +0 -348
  42. package/plugins/html-effectiveness/templates/15-research-concept-explainer.html.tmpl +0 -334
  43. package/plugins/html-effectiveness/templates/16-implementation-plan.html.tmpl +0 -657
  44. package/plugins/html-effectiveness/templates/17-pr-writeup.html.tmpl +0 -553
  45. package/plugins/html-effectiveness/templates/18-editor-triage-board.html.tmpl +0 -541
  46. package/plugins/html-effectiveness/templates/19-editor-feature-flags.html.tmpl +0 -627
  47. package/plugins/html-effectiveness/templates/20-editor-prompt-tuner.html.tmpl +0 -687
  48. package/plugins/html-effectiveness/templates/manifest.json +0 -441
  49. package/plugins/team-share/.claude-plugin/plugin.json +0 -18
  50. package/plugins/team-share/README.md +0 -46
  51. package/plugins/team-share/agents/team-share.md +0 -53
  52. package/plugins/team-share/commands/team-share.md +0 -4
  53. package/plugins/team-share/skills/claude-config/SKILL.md +0 -143
  54. package/plugins/team-share/skills/codegraph-setup/SKILL.md +0 -81
  55. package/plugins/team-share/skills/understand-setup/SKILL.md +0 -115
  56. package/plugins/tech-graph/.claude-plugin/plugin.json +0 -17
  57. package/plugins/tech-graph/README.md +0 -66
  58. package/plugins/tech-graph/agents/tech-graph.md +0 -97
  59. package/plugins/tech-graph/commands/tech-graph.md +0 -13
  60. package/plugins/tech-graph/scripts/check-deps.sh +0 -55
  61. package/plugins/tech-graph/skills/tech-graph/LICENSE +0 -21
  62. package/plugins/tech-graph/skills/tech-graph/README.md +0 -555
  63. package/plugins/tech-graph/skills/tech-graph/README.zh.md +0 -514
  64. package/plugins/tech-graph/skills/tech-graph/SKILL.md +0 -263
  65. package/plugins/tech-graph/skills/tech-graph/agents/openai.yaml +0 -4
  66. package/plugins/tech-graph/skills/tech-graph/assets/samples/sample-style1-flat.png +0 -0
  67. package/plugins/tech-graph/skills/tech-graph/assets/samples/sample-style2-dark.png +0 -0
  68. package/plugins/tech-graph/skills/tech-graph/assets/samples/sample-style3-blueprint.png +0 -0
  69. package/plugins/tech-graph/skills/tech-graph/assets/samples/sample-style4-notion.png +0 -0
  70. package/plugins/tech-graph/skills/tech-graph/assets/samples/sample-style5-glass.png +0 -0
  71. package/plugins/tech-graph/skills/tech-graph/assets/samples/sample-style6-claude.png +0 -0
  72. package/plugins/tech-graph/skills/tech-graph/assets/samples/sample-style7-openai.png +0 -0
  73. package/plugins/tech-graph/skills/tech-graph/fixtures/agent-memory-types-style4.json +0 -181
  74. package/plugins/tech-graph/skills/tech-graph/fixtures/api-flow-style7.json +0 -40
  75. package/plugins/tech-graph/skills/tech-graph/fixtures/mem0-style1.json +0 -297
  76. package/plugins/tech-graph/skills/tech-graph/fixtures/microservices-style3.json +0 -64
  77. package/plugins/tech-graph/skills/tech-graph/fixtures/multi-agent-style5.json +0 -45
  78. package/plugins/tech-graph/skills/tech-graph/fixtures/system-architecture-style6.json +0 -48
  79. package/plugins/tech-graph/skills/tech-graph/fixtures/tool-call-style2.json +0 -182
  80. package/plugins/tech-graph/skills/tech-graph/package.json +0 -42
  81. package/plugins/tech-graph/skills/tech-graph/references/diagram-types.md +0 -171
  82. package/plugins/tech-graph/skills/tech-graph/references/icons.md +0 -406
  83. package/plugins/tech-graph/skills/tech-graph/references/style-1-flat-icon.md +0 -108
  84. package/plugins/tech-graph/skills/tech-graph/references/style-2-dark-terminal.md +0 -107
  85. package/plugins/tech-graph/skills/tech-graph/references/style-3-blueprint.md +0 -113
  86. package/plugins/tech-graph/skills/tech-graph/references/style-4-notion-clean.md +0 -95
  87. package/plugins/tech-graph/skills/tech-graph/references/style-5-glassmorphism.md +0 -125
  88. package/plugins/tech-graph/skills/tech-graph/references/style-6-claude-official.md +0 -209
  89. package/plugins/tech-graph/skills/tech-graph/references/style-7-openai.md +0 -215
  90. package/plugins/tech-graph/skills/tech-graph/references/style-diagram-matrix.md +0 -135
  91. package/plugins/tech-graph/skills/tech-graph/references/svg-layout-best-practices.md +0 -100
  92. package/plugins/tech-graph/skills/tech-graph/references/svg-to-png.md +0 -115
  93. package/plugins/tech-graph/skills/tech-graph/scripts/README.md +0 -269
  94. package/plugins/tech-graph/skills/tech-graph/scripts/generate-diagram.sh +0 -181
  95. package/plugins/tech-graph/skills/tech-graph/scripts/generate-from-template.py +0 -1587
  96. package/plugins/tech-graph/skills/tech-graph/scripts/test-all-styles.sh +0 -143
  97. package/plugins/tech-graph/skills/tech-graph/scripts/validate-svg.sh +0 -306
  98. package/plugins/tech-graph/skills/tech-graph/templates/agent-architecture.svg +0 -28
  99. package/plugins/tech-graph/skills/tech-graph/templates/architecture.svg +0 -23
  100. package/plugins/tech-graph/skills/tech-graph/templates/comparison-matrix.svg +0 -14
  101. package/plugins/tech-graph/skills/tech-graph/templates/data-flow.svg +0 -28
  102. package/plugins/tech-graph/skills/tech-graph/templates/er-diagram.svg +0 -21
  103. package/plugins/tech-graph/skills/tech-graph/templates/flowchart.svg +0 -21
  104. package/plugins/tech-graph/skills/tech-graph/templates/sequence.svg +0 -20
  105. package/plugins/tech-graph/skills/tech-graph/templates/state-machine.svg +0 -20
  106. package/plugins/tech-graph/skills/tech-graph/templates/timeline.svg +0 -19
  107. package/plugins/tech-graph/skills/tech-graph/templates/use-case.svg +0 -21
@@ -1,263 +0,0 @@
1
- ---
2
- name: tech-graph
3
- description: >-
4
- Use when the user wants to create any technical diagram - architecture, data
5
- flow, flowchart, sequence, agent/memory, or concept map - and export as
6
- SVG+PNG. Trigger on: "画图" "帮我画" "生成图" "做个图" "架构图" "流程图"
7
- "可视化一下" "出图" "generate diagram" "draw diagram" "visualize" or any
8
- system/flow description the user wants illustrated.
9
- ---
10
-
11
- # Tech Graph
12
-
13
- Generate production-quality SVG technical diagrams exported as PNG via `cairosvg` (recommended), `rsvg-convert`, or `puppeteer`.
14
-
15
- ## Helper Scripts (Recommended)
16
-
17
- Four helper scripts in `scripts/` directory provide stable SVG generation and validation:
18
-
19
- ### 1. `generate-diagram.sh` - Validate SVG + export PNG
20
- ```bash
21
- ./scripts/generate-diagram.sh -t architecture -s 1 -o ./output/arch.svg
22
- ```
23
- - Validates an existing SVG file
24
- - Exports PNG after validation
25
- - Example: `./scripts/generate-diagram.sh -t architecture -s 1 -o ./output/arch.svg`
26
-
27
- ### 2. `generate-from-template.py` - Create starter SVG from template
28
- ```bash
29
- python3 ./scripts/generate-from-template.py architecture ./output/arch.svg '{"title":"My Diagram","nodes":[],"arrows":[]}'
30
- ```
31
- - Loads a built-in SVG template
32
- - Renders nodes, arrows, and legend entries from JSON input
33
- - Escapes text content to keep output XML-valid
34
-
35
- ### 3. `validate-svg.sh` - Validate SVG syntax
36
- ```bash
37
- ./scripts/validate-svg.sh <svg-file>
38
- ```
39
- - Checks XML syntax
40
- - Verifies tag balance
41
- - Validates marker references
42
- - Checks attribute completeness
43
- - Validates path data
44
-
45
- ### 4. `test-all-styles.sh` - Batch test all styles
46
- ```bash
47
- ./scripts/test-all-styles.sh
48
- ```
49
- - Tests multiple diagram sizes
50
- - Validates all generated SVGs
51
- - Generates test report
52
-
53
- **When to use scripts:**
54
- - Use scripts when generating complex SVGs to avoid syntax errors
55
- - Scripts provide automatic validation and error reporting
56
- - Recommended for production diagrams
57
-
58
- **When to generate SVG directly:**
59
- - Simple diagrams with few elements
60
- - Quick prototypes
61
- - When you need full control over SVG structure
62
-
63
- ## Workflow (Always Follow This Order)
64
-
65
- 1. **Classify** the diagram type (see Diagram Types below)
66
- 2. **Extract structure** — identify layers, nodes, edges, flows, and semantic groups from user description
67
- 3. **Plan layout** — apply the layout rules for the diagram type
68
- 4. **Load style reference** — always load [style-1-flat-icon](references/style-1-flat-icon.md) unless user specifies another; load the matching style-N file (e.g. [style-2-dark-terminal](references/style-2-dark-terminal.md), [style-3-blueprint](references/style-3-blueprint.md), [style-4-notion-clean](references/style-4-notion-clean.md), [style-5-glassmorphism](references/style-5-glassmorphism.md), [style-6-claude-official](references/style-6-claude-official.md), [style-7-openai](references/style-7-openai.md)) for exact color tokens and SVG patterns
69
- 5. **Map nodes to shapes** — use Shape Vocabulary below
70
- 6. **Check icon needs** — load [icons](references/icons.md) for known products
71
- 7. **Write SVG** with adaptive strategy (see SVG Generation Strategy below)
72
- 8. **Validate**: Run `python3 -c "import xml.etree.ElementTree as ET; ET.parse('file.svg')"` to check XML syntax
73
- 9. **Export PNG**: Use `cairosvg` (recommended). See **SVG → PNG Conversion** section below for full method comparison
74
- 10. **Report** the generated file paths
75
- 11. **(Optional) Visual self-review** — if your runtime can read images, load the exported PNG back and inspect it. Syntactic validity does not guarantee visual correctness: arrows may cross through component interiors, labels may collide with lifelines or other labels, boxes may overlap, alt-frame text may sit on top of a message, or a legend may cover content. If you see any of these, revise the SVG and re-export; repeat until the rendered image is clean. Common fixes:
76
- - Route arrows through gaps between boxes, not through box interiors
77
- - Add background rects behind arrow labels (opacity 0.95, matching canvas color)
78
- - Widen inter-row/inter-column gutters so same-layer arrows have clear corridors
79
- - Collapse repeated cross-layer arrows into a single "delegates down" rail outside the content area
80
- - Move legend/notes out of any region where arrows or labels land
81
- - Increase viewBox height/width rather than packing elements tighter
82
- Skip this step silently if image reading is unavailable — do not guess.
83
-
84
- ## Diagram Types & Layout Rules
85
-
86
- Per-type layout rules + UML coverage map: see [diagram-types](references/diagram-types.md). Covers Architecture, Data Flow, Flowchart, Agent, Memory, Sequence, Comparison, Timeline, Mind Map, Class (UML), Use Case (UML), State Machine (UML), ER, Network Topology, plus full UML-14 mapping.
87
-
88
- ## Shape Vocabulary
89
-
90
- Map semantic concepts to consistent shapes across all diagram types:
91
-
92
- | Concept | Shape | Notes |
93
- |---------|-------|-------|
94
- | User / Human | Circle + body path | Stick figure or avatar |
95
- | LLM / Model | Rounded rect with brain/spark icon or gradient fill | Use accent color |
96
- | Agent / Orchestrator | Hexagon or rounded rect with double border | Signals "active controller" |
97
- | Memory (short-term) | Rounded rect, dashed border | Ephemeral = dashed |
98
- | Memory (long-term) | Cylinder (database shape) | Persistent = solid cylinder |
99
- | Vector Store | Cylinder with grid lines inside | Add 3 horizontal lines |
100
- | Graph DB | Circle cluster (3 overlapping circles) | |
101
- | Tool / Function | Gear-like rect or rect with wrench icon | |
102
- | API / Gateway | Hexagon (single border) | |
103
- | Queue / Stream | Horizontal tube (pipe shape) | |
104
- | File / Document | Folded-corner rect | |
105
- | Browser / UI | Rect with 3-dot titlebar | |
106
- | Decision | Diamond | Flowcharts only |
107
- | Process / Step | Rounded rect | Standard box |
108
- | External Service | Rect with cloud icon or dashed border | |
109
- | Data / Artifact | Parallelogram | I/O in flowcharts |
110
-
111
- ## Arrow Semantics
112
-
113
- Always assign arrow meaning, not just color:
114
-
115
- | Flow Type | Color | Stroke | Dash | Meaning |
116
- |-----------|-------|--------|------|---------|
117
- | Primary data flow | blue `#2563eb` | 2px solid | none | Main request/response path |
118
- | Control / trigger | orange `#ea580c` | 1.5px solid | none | One system triggering another |
119
- | Memory read | green `#059669` | 1.5px solid | none | Retrieval from store |
120
- | Memory write | green `#059669` | 1.5px | `5,3` | Write/store operation |
121
- | Async / event | gray `#6b7280` | 1.5px | `4,2` | Non-blocking, event-driven |
122
- | Embedding / transform | purple `#7c3aed` | 1px solid | none | Data transformation |
123
- | Feedback / loop | purple `#7c3aed` | 1.5px curved | none | Iterative reasoning loop |
124
-
125
- Always include a **legend** when 2+ arrow types are used.
126
-
127
- ## Layout Rules & Validation
128
-
129
- **Spacing**:
130
- - Same-layer nodes: 80px horizontal, 120px vertical between layers
131
- - Canvas margins: 40px minimum, 60px between node edges
132
- - Snap to 8px grid: horizontal 120px intervals, vertical 120px intervals
133
-
134
- **Arrow Labels** (CRITICAL):
135
- - MUST have background rect: `<rect fill="canvas_bg" opacity="0.95"/>` with 4px horizontal, 2px vertical padding
136
- - Place mid-arrow, ≤3 words, stagger by 15-20px when multiple arrows converge
137
- - Maintain 10px safety distance from nodes
138
-
139
- **Arrow Routing**:
140
- - Prefer orthogonal (L-shaped) paths to minimize crossings
141
- - Anchor arrows on component edges, not geometric centers
142
- - Route around dense node clusters, use different y-offsets for parallel arrows
143
- - Jump-over arcs (5px radius) for unavoidable crossings
144
-
145
- **Line Overlap Prevention** (CRITICAL - most common bug on Codex):
146
- When two arrows must cross each other, ALWAYS use jump-over arcs to prevent visual overlap:
147
- - Crossing horizontal arrows: add a small semicircle arc (radius 5px, stroke same color as arrow, fill none) that "jumps over" the other line
148
- - SVG pattern for jump-over: use a white/matching-background arc on the lower layer, then draw the upper arc on top
149
- - Multiple crossings: stagger arc radii (5px, 7px, 9px) so arcs don't overlap each other
150
- - Never let two arrows' straight-line segments cross without a jump-over arc
151
-
152
- **Validation Checklist** (run before finalizing):
153
- 1. **Arrow-Component Collision**: Arrows MUST NOT pass through component interiors (route around with orthogonal paths)
154
- 2. **Text Overflow**: All text MUST fit with 8px padding (estimate: `text.length × 7px ≤ shape_width - 16px`)
155
- 3. **Arrow-Text Alignment**: Arrow endpoints MUST connect to shape edges (not floating); all arrow labels MUST have background rects
156
- 4. **Container Discipline**: Prefer arrows entering and leaving section containers through open gaps between components, not through inner component bodies
157
-
158
- ## SVG Technical Rules
159
-
160
- - ViewBox: `0 0 960 600` default; `0 0 960 800` tall; `0 0 1200 600` wide
161
- - Fonts: embed via `<style>font-family: ...</style>` — no external `@import` (cairosvg / rsvg-convert cannot fetch external URLs)
162
- - `<defs>`: arrow markers, gradients, filters, clip paths
163
- - Text: minimum 12px, prefer 13-14px labels, 11px sub-labels, 16-18px titles
164
- - All arrows: `<marker>` with `markerEnd`, sized `markerWidth="10" markerHeight="7"`
165
- - Drop shadows: `<feDropShadow>` in `<filter>`, apply sparingly (key nodes only)
166
- - Curved paths: use `M x1,y1 C cx1,cy1 cx2,cy2 x2,y2` cubic bezier for loops/feedback arrows
167
- - Clip content: use `<clipPath>` if text might overflow a node box
168
-
169
- ## SVG Generation & Error Prevention
170
-
171
- **MANDATORY: Python List Method** (ALWAYS use this):
172
- ```python
173
- python3 << 'EOF'
174
- lines = []
175
- lines.append('<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 960 700">')
176
- lines.append(' <defs>')
177
- # ... each line separately
178
- lines.append('</svg>')
179
-
180
- with open('/path/to/output.svg', 'w') as f:
181
- f.write('\n'.join(lines))
182
- print("SVG generated successfully")
183
- EOF
184
- ```
185
-
186
- **Why mandatory**: Prevents character truncation, typos, and syntax errors. Each line is independent and easy to verify.
187
-
188
- **Pre-Tool-Call Checklist** (CRITICAL - use EVERY time):
189
- 1. ✅ Can I write out the COMPLETE command/content right now?
190
- 2. ✅ Do I have ALL required parameters ready?
191
- 3. ✅ Have I checked for syntax errors in my prepared content?
192
-
193
- **If ANY answer is NO**: STOP. Do NOT call the tool. Prepare the content first.
194
-
195
- **Error Recovery Protocol**:
196
- - **First error**: Analyze root cause, apply targeted fix
197
- - **Second error**: Switch method entirely (Python list → chunked generation)
198
- - **Third error**: STOP and report to user - do NOT loop endlessly
199
- - **Never**: Retry the same failing command or call tools with empty parameters
200
-
201
- **Validation** (run after generation):
202
- ```bash
203
- python3 -c "import xml.etree.ElementTree as ET; ET.parse('file.svg')" && echo "✓ Valid XML"
204
- # Or use cairosvg as a render-time check:
205
- python3 -c "import cairosvg; cairosvg.svg2png(url='file.svg', write_to='/tmp/test.png')" && echo "✓ Renders" && rm /tmp/test.png
206
- ```
207
-
208
- **If using `generate-from-template.py`**:
209
- - Prefer `source` / `target` node ids in arrow JSON so the generator can snap to node edges
210
- - Keep `x1,y1,x2,y2` as hints or fallback coordinates, not the main routing primitive
211
- - Let the generator choose orthogonal routes; avoid hardcoding center-to-center straight lines unless the path is guaranteed clear
212
-
213
- **Common Syntax Errors to Avoid**:
214
- - ❌ `yt-anchor` → ✅ `y="60" text-anchor="middle"`
215
- - ❌ `x="390` (missing y) → ✅ `x="390" y="250"`
216
- - ❌ `fill=#fff` → ✅ `fill="#ffffff"`
217
- - ❌ `marker-end=` → ✅ `marker-end="url(#arrow)"`
218
- - ❌ `L 29450` → ✅ `L 290,220`
219
- - ❌ Missing `</svg>` at end
220
-
221
- ## Output
222
-
223
- - **Default**: `./[derived-name].svg` and `./[derived-name].png` in current directory
224
- - **Custom**: user specifies path with `--output /path/` or `输出到 /path/`
225
- - **PNG export**: see **SVG → PNG Conversion** below
226
-
227
- ## SVG → PNG Conversion
228
-
229
- Default `cairosvg` one-liner:
230
-
231
- ```bash
232
- python3 -c "import cairosvg; cairosvg.svg2png(url='input.svg', write_to='output.png', scale=2)"
233
- ```
234
-
235
- Full method comparison (cairosvg / rsvg-convert / puppeteer), batch scripts, puppeteer renderer, and gotchas: see [svg-to-png](references/svg-to-png.md).
236
-
237
- ## Styles
238
-
239
- | # | Name | Background | Best For |
240
- |---|------|-----------|----------|
241
- | 1 | **Flat Icon** (default) | White | Blogs, docs, presentations |
242
- | 2 | **Dark Terminal** | `#0f0f1a` | GitHub, dev articles |
243
- | 3 | **Blueprint** | `#0a1628` | Architecture docs |
244
- | 4 | **Notion Clean** | White, minimal | Notion |
245
- | 5 | **Glassmorphism** | Dark gradient | Product sites, keynotes |
246
- | 6 | **Claude Official** | Warm cream `#f8f6f3` | Anthropic-style diagrams |
247
- | 7 | **OpenAI Official** | Pure white `#ffffff` | OpenAI-style diagrams |
248
-
249
- Load the matching style-N file in [references/](references/) for exact color tokens and SVG patterns.
250
-
251
- ## Style Selection
252
-
253
- **Default**: Style 1 (Flat Icon) for most diagrams. Load [style-diagram-matrix](references/style-diagram-matrix.md) for detailed style-to-diagram-type recommendations.
254
-
255
- These patterns appear frequently — internalize them:
256
-
257
- **RAG Pipeline**: Query → Embed → VectorSearch → Retrieve → Augment → LLM → Response
258
- **Agentic RAG**: adds Agent loop with Tool use between Query and LLM
259
- **Agentic Search**: Query → Planner → [Search Tool / Calculator / Code] → Synthesizer → Response
260
- **Mem0 / Memory Layer**: Input → Memory Manager → [Write: VectorDB + GraphDB] / [Read: Retrieve+Rank] → Context
261
- **Agent Memory Types**: Sensory (raw input) → Working (context window) → Episodic (past interactions) → Semantic (facts) → Procedural (skills)
262
- **Multi-Agent**: Orchestrator → [SubAgent A / SubAgent B / SubAgent C] → Aggregator → Output
263
- **Tool Call Flow**: LLM → Tool Selector → Tool Execution → Result Parser → LLM (loop)
@@ -1,4 +0,0 @@
1
- interface:
2
- display_name: "Fireworks Tech Graph"
3
- short_description: "Generate polished SVG and PNG technical diagrams"
4
- default_prompt: "Turn the user's system or workflow description into a polished SVG diagram and export a PNG."
@@ -1,181 +0,0 @@
1
- {
2
- "template_type": "memory",
3
- "style": 4,
4
- "width": 1120,
5
- "height": 760,
6
- "title": "Agent Memory Types",
7
- "subtitle": "Five memory systems an AI agent can use — characteristics, storage backends, and persistence",
8
- "containers": [
9
- {
10
- "x": 18,
11
- "y": 32,
12
- "width": 1084,
13
- "height": 696,
14
- "label": "",
15
- "subtitle": "",
16
- "stroke": "#e5e7eb",
17
- "fill": "none",
18
- "rx": 6
19
- }
20
- ],
21
- "nodes": [
22
- {
23
- "id": "sensory",
24
- "kind": "rect",
25
- "x": 56,
26
- "y": 118,
27
- "width": 266,
28
- "height": 106,
29
- "label": "Raw input, very short-lived",
30
- "sublabel": "\"Current image / audio\"",
31
- "type_label": "SENSORY MEMORY",
32
- "fill": "#ffffff",
33
- "stroke": "#e5e7eb",
34
- "flat": true,
35
- "tags": [
36
- { "label": "RAM / context", "fill": "#eff6ff", "stroke": "#bfdbfe", "text_fill": "#3b82f6" }
37
- ]
38
- },
39
- {
40
- "id": "working",
41
- "kind": "rect",
42
- "x": 56,
43
- "y": 308,
44
- "width": 266,
45
- "height": 106,
46
- "label": "Active context, session-scoped",
47
- "sublabel": "\"Current conversation\"",
48
- "type_label": "WORKING MEMORY",
49
- "fill": "#ffffff",
50
- "stroke": "#e5e7eb",
51
- "flat": true,
52
- "tags": [
53
- { "label": "Context Window", "fill": "#eff6ff", "stroke": "#bfdbfe", "text_fill": "#3b82f6" }
54
- ]
55
- },
56
- {
57
- "id": "episodic",
58
- "kind": "rect",
59
- "x": 56,
60
- "y": 498,
61
- "width": 266,
62
- "height": 106,
63
- "label": "Past interactions, retrievable",
64
- "sublabel": "\"Last week's chat summary\"",
65
- "type_label": "EPISODIC MEMORY",
66
- "fill": "#ffffff",
67
- "stroke": "#e5e7eb",
68
- "flat": true,
69
- "tags": [
70
- { "label": "Vector DB + timestamp", "fill": "#eff6ff", "stroke": "#bfdbfe", "text_fill": "#3b82f6" }
71
- ]
72
- },
73
- {
74
- "id": "agent",
75
- "kind": "hexagon",
76
- "x": 492,
77
- "y": 324,
78
- "width": 118,
79
- "height": 90,
80
- "label": "Agent",
81
- "sublabel": "LLM + Planner",
82
- "type_label": "CORE",
83
- "fill": "#ffffff",
84
- "stroke": "#3b82f6",
85
- "stroke_width": 1.6,
86
- "flat": true
87
- },
88
- {
89
- "id": "semantic",
90
- "kind": "rect",
91
- "x": 810,
92
- "y": 218,
93
- "width": 266,
94
- "height": 106,
95
- "label": "Facts & knowledge, long-term",
96
- "sublabel": "\"User prefers Python\"",
97
- "type_label": "SEMANTIC MEMORY",
98
- "fill": "#ffffff",
99
- "stroke": "#e5e7eb",
100
- "flat": true,
101
- "tags": [
102
- { "label": "Vector DB + Graph DB", "fill": "#eff6ff", "stroke": "#bfdbfe", "text_fill": "#3b82f6" }
103
- ]
104
- },
105
- {
106
- "id": "procedural",
107
- "kind": "rect",
108
- "x": 810,
109
- "y": 408,
110
- "width": 266,
111
- "height": 106,
112
- "label": "Skills & how-to, persistent",
113
- "sublabel": "\"How to call Stripe API\"",
114
- "type_label": "PROCEDURAL MEMORY",
115
- "fill": "#ffffff",
116
- "stroke": "#e5e7eb",
117
- "flat": true,
118
- "tags": [
119
- { "label": "Code store / fine-tune", "fill": "#eff6ff", "stroke": "#bfdbfe", "text_fill": "#3b82f6" }
120
- ]
121
- }
122
- ],
123
- "arrows": [
124
- {
125
- "source": "agent",
126
- "target": "sensory",
127
- "source_port": "left",
128
- "target_port": "right",
129
- "flow": "read",
130
- "label": "read/write",
131
- "route_points": [[432, 360], [386, 360], [386, 172], [322, 172]],
132
- "label_dx": -18,
133
- "label_dy": -8
134
- },
135
- {
136
- "source": "agent",
137
- "target": "working",
138
- "source_port": "left",
139
- "target_port": "right",
140
- "flow": "read",
141
- "label": "read/write",
142
- "route_points": [[432, 369], [404, 369], [322, 360]],
143
- "label_dx": -6,
144
- "label_dy": -6
145
- },
146
- {
147
- "source": "agent",
148
- "target": "episodic",
149
- "source_port": "left",
150
- "target_port": "right",
151
- "flow": "read",
152
- "label": "read/write",
153
- "route_points": [[432, 394], [386, 430], [386, 552], [322, 552]],
154
- "label_dx": -18,
155
- "label_dy": -6
156
- },
157
- {
158
- "source": "agent",
159
- "target": "semantic",
160
- "source_port": "right",
161
- "target_port": "left",
162
- "flow": "read",
163
- "label": "read/write",
164
- "route_points": [[668, 360], [726, 360], [726, 271], [810, 271]],
165
- "label_dx": 10,
166
- "label_dy": -8
167
- },
168
- {
169
- "source": "agent",
170
- "target": "procedural",
171
- "source_port": "right",
172
- "target_port": "left",
173
- "flow": "read",
174
- "label": "read/write",
175
- "route_points": [[668, 388], [740, 404], [810, 461]],
176
- "label_dx": 8,
177
- "label_dy": -8
178
- }
179
- ],
180
- "footer": ""
181
- }
@@ -1,40 +0,0 @@
1
- {
2
- "template_type": "architecture",
3
- "style": 7,
4
- "width": 1100,
5
- "height": 680,
6
- "title": "API Integration Flow",
7
- "subtitle": "OpenAI-style clean integration diagram with precise control and response stages",
8
- "containers": [
9
- { "x": 40, "y": 118, "width": 1020, "height": 104, "label": "ENTRY", "subtitle": "", "stroke": "#e2e8f0", "fill": "none" },
10
- { "x": 40, "y": 252, "width": 1020, "height": 154, "label": "MODEL + TOOLS", "subtitle": "", "stroke": "#e2e8f0", "fill": "none" },
11
- { "x": 40, "y": 438, "width": 1020, "height": 154, "label": "DELIVERY", "subtitle": "", "stroke": "#e2e8f0", "fill": "none" }
12
- ],
13
- "nodes": [
14
- { "id": "app", "kind": "rect", "x": 90, "y": 146, "width": 176, "height": 56, "label": "Application", "type_label": "CLIENT", "fill": "#ffffff", "stroke": "#dce5e3", "flat": true },
15
- { "id": "sdk", "kind": "double_rect", "x": 350, "y": 142, "width": 196, "height": 64, "label": "OpenAI SDK Layer", "type_label": "SDK", "fill": "#ffffff", "stroke": "#10a37f" },
16
- { "id": "prompt", "kind": "rect", "x": 114, "y": 300, "width": 188, "height": 60, "label": "Prompt Builder", "type_label": "INPUT", "fill": "#ffffff", "stroke": "#dce5e3", "flat": true },
17
- { "id": "model", "kind": "double_rect", "x": 418, "y": 292, "width": 236, "height": 76, "label": "Model Runtime", "type_label": "REASONING", "fill": "#ffffff", "stroke": "#10a37f" },
18
- { "id": "tools", "kind": "rect", "x": 782, "y": 300, "width": 188, "height": 60, "label": "Tool Calls", "type_label": "ACTIONS", "fill": "#ffffff", "stroke": "#dce5e3", "flat": true },
19
- { "id": "formatter", "kind": "rect", "x": 148, "y": 486, "width": 198, "height": 60, "label": "Response Formatter", "type_label": "OUTPUT", "fill": "#ffffff", "stroke": "#dce5e3", "flat": true },
20
- { "id": "obs", "kind": "rect", "x": 470, "y": 486, "width": 176, "height": 60, "label": "Observability", "type_label": "METRICS", "fill": "#ffffff", "stroke": "#dce5e3", "flat": true },
21
- { "id": "release", "kind": "rect", "x": 770, "y": 486, "width": 176, "height": 60, "label": "Release Control", "type_label": "CONFIG", "fill": "#ffffff", "stroke": "#dce5e3", "flat": true }
22
- ],
23
- "arrows": [
24
- { "source": "app", "target": "sdk", "source_port": "right", "target_port": "left", "flow": "control" },
25
- { "source": "sdk", "target": "prompt", "source_port": "bottom", "target_port": "top", "flow": "read", "label": "prepare", "route_points": [[370,232], [236,232], [236,300]] },
26
- { "source": "sdk", "target": "model", "source_port": "bottom", "target_port": "top", "flow": "control", "corridor_x": [520] },
27
- { "source": "model", "target": "tools", "source_port": "right", "target_port": "left", "flow": "read", "label": "tool use" },
28
- { "source": "model", "target": "formatter", "source_port": "bottom", "target_port": "top", "flow": "control", "corridor_x": [278] },
29
- { "source": "model", "target": "obs", "source_port": "bottom", "target_port": "top", "flow": "feedback", "dashed": true },
30
- { "source": "obs", "target": "release", "source_port": "right", "target_port": "left", "flow": "control" }
31
- ],
32
- "legend": [
33
- { "flow": "control", "label": "Primary integration path" },
34
- { "flow": "read", "label": "Prompt / tool context" },
35
- { "flow": "feedback", "label": "Operational feedback" }
36
- ],
37
- "legend_position": "bottom-left",
38
- "legend_y": 612,
39
- "footer": ""
40
- }