figdown 0.3.0 → 0.3.2
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.
- package/.claude-plugin/plugin.json +2 -2
- package/dist/figdown.js +613 -43
- package/dist/figdown.mjs +613 -43
- package/examples/evpn-fabric.svg +1 -1
- package/examples/showcase/arp-resolution.svg +1 -1
- package/examples/showcase/ethernet-frame.svg +1 -1
- package/examples/showcase/l2-forwarding-logic.svg +1 -1
- package/examples/showcase/tcp-handshake.svg +1 -1
- package/examples/showcase/tcp-header.svg +1 -1
- package/examples/showcase/tcp-state-machine.svg +1 -1
- package/guide/expressing.md +2 -2
- package/guide/layout.md +21 -13
- package/integrations/mcp-server/README.md +174 -0
- package/integrations/mcp-server/server.js +593 -0
- package/package.json +8 -3
- package/skill/figdown/SKILL.md +14 -4
- package/skill/figdown/figdown.html +611 -41
package/skill/figdown/SKILL.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: figdown
|
|
3
|
-
description:
|
|
3
|
+
description: Draw a figure a human can read and an agent can read too — FigDown .fd text that states the meaning, with a deterministic SVG embedded in Markdown. Use when asked to create, edit, fix, or read diagrams/figures in docs — block and architecture diagrams, topologies, flowcharts, bit-level layouts (packet headers, hardware registers), tables, timing waveforms — or when a .md contains an SVG with a "source: *.fd" footer.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# FigDown — figures as text, one source, two readers
|
|
@@ -119,7 +119,15 @@ Two more files answer a **task** rather than a genre:
|
|
|
119
119
|
- **Reading a `.fd` someone else wrote, to summarise or answer from it** →
|
|
120
120
|
`reference/reading.md`. It is the contract for what you may conclude and
|
|
121
121
|
what you must not infer, and it is all you need: a reader can skip every
|
|
122
|
-
genre file above.
|
|
122
|
+
genre file above. **One correction applies to it.** `reference/reading.md` is
|
|
123
|
+
a byte-frozen copy of a released reading contract, and one sentence in it is
|
|
124
|
+
wrong: where it says *"Ignore the layout zone. Everything from the `layout`
|
|
125
|
+
keyword down is …"*, do not read it as a rule about **position**. Ignore the
|
|
126
|
+
layout **namespace** — its one member is `pin` — **wherever a member
|
|
127
|
+
appears**, because a `pin` may legally sit *before* the `layout` line, and
|
|
128
|
+
about half of them do. Membership decides, not position. The frozen file is
|
|
129
|
+
left as-is on purpose; apply this rule instead, the same one stated above
|
|
130
|
+
under "layout and pin".
|
|
123
131
|
- **Transcribing an existing figure** — a drawing, a screenshot, another
|
|
124
132
|
format → `reference/transcribe.md`.
|
|
125
133
|
|
|
@@ -210,8 +218,10 @@ itself.
|
|
|
210
218
|
**`layout` and `pin`** are the layout zone. Everything from a `layout` line
|
|
211
219
|
down is geometry that exists only to stabilise the `.svg`: it carries no
|
|
212
220
|
meaning, no genre may put its own semantics inside it, and `pin` is the only
|
|
213
|
-
directive legal there.
|
|
214
|
-
|
|
221
|
+
directive legal there. When READING, ignore every member of the **layout
|
|
222
|
+
namespace** — `pin`, and nothing else today (core §10 (a′)) — **wherever it
|
|
223
|
+
appears**: membership decides, not position, and `pin` is legal before the
|
|
224
|
+
`layout` line too. See `reference/layout.md` when writing.
|
|
215
225
|
|
|
216
226
|
## Portability: two statuses, and the parser tells you nothing
|
|
217
227
|
|