ws-graph-engineeringlisted
Install: claude install-skill wsagency/WS-Claude-marketplace
# Graph Engineering
The ws plugin treats its ws-matt vendored skills plus this one as a **graph**: skills are
nodes, their cross-references are edges, and the conversation plus the scratch
directory form the shared state. The model is the runtime — it walks the edges. This
skill is the contract every node follows.
## The node contract
A node (a skill invocation, or a worker agent run) does exactly one thing:
> **Read shared state → do its work → return a state delta.**
- Shared state = the conversation so far, files in the repo, and artifacts under the
scratch directory.
- A state delta = new artifacts written, decisions recorded, a structured return.
- A node **never mutates** state another node owns — it only adds. If a node needs an
upstream artifact changed, it routes back to the node that owns it (a goto); it
does not edit the artifact in place.
## Edge types
| Edge | Form | Meaning |
|---|---|---|
| Deterministic | `then → ws-<node>` | Always taken next. |
| Conditional | `when <condition> → ws-<node>` | Taken only when the condition holds. |
| Dynamic fan-out | `fan-out: for each <item> spawn <agent>` | N workers decided at runtime from state (Send-style) — one worker per item, all in parallel. |
Every vendored skill declares its edges in a trailing `## Graph node` section. Follow
the declared edges; do not invent edges mid-run.
## Fan-in: declared merge rules
When parallel workers return, their deltas merge into shared state by **declared
reducers** —