internal/skills/defaults/skills/pipeline-graph-rules/SKILL.md
Reference for valid Emerald node and edge topology, branching handles, and live-edit safety rules. Use when reasoning about graph structure, adding or removing nodes, reconnecting edges, or validating pipeline edits.
npx skillsauth add FlameInTheDark/emerald pipeline-graph-rulesInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Use this skill when the task is about whether a pipeline graph is structurally valid.
nodes, edges, and optional viewport.logic:return node per pipeline.visual:group nodes as layout-only. Do not connect edges to them.logic:return any outgoing edge.tool:* nodes only from an llm:agent node.sourceHandle: "tool" for agent-to-tool edges.tool:* node with a normal edge.tool handle.logic:condition, use sourceHandle: "true" and sourceHandle: "false" for the two branches.logic:switch, each branch condition needs a stable config.conditions[].id.sourceHandle.sourceHandle: "default" for the fallback branch.logic:return nodes exist.config.conditions[].id.logic:return when the pipeline should return structured output.devops
Guide for Emerald template interpolation, runtime context lookup, and pipeline parameter passing. Use when writing prompts, config fields, JSON params, or explaining how `input`, `arguments`, and other template values resolve.
tools
Design, create, and safely edit Emerald pipelines. Use this skill when an LLM needs to produce valid nodes/edges JSON for pipeline tools or reason about existing workflows.
development
Compact reference for important Emerald node families, common config shapes, and when to use each category. Use when choosing nodes, understanding existing nodes, or mapping a user request to pipeline components.
documentation
Guide for `action:lua` nodes, including how runtime data is exposed, how `input` works, Lua table conversion, and how return values become downstream output. Use when creating or explaining Lua nodes.