> ## Documentation Index
> Fetch the complete documentation index at: https://docs.plungeai.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Workflow Authoring Guide

> Author, validate, and save CNL workflows (full skill bundle)


`plungeai://docs/workflow-authoring` · `text/markdown` · `static`

The complete CNL workflow-authoring skill as one Markdown document: how to author, validate and
save CNL workflows, with examples. It is a static bundle built into the server and needs no data
access. The content is identical to `GET https://mcp.plungeai.com/llms-full.txt`, which needs no
key (61,309 bytes on 2026-09-24, live-verified). Attach it when you want your client to write CNL
YAML by hand ([Workflows](https://mcp.plungeai.com/docs#8-workflows)). The same skill is in the catalog at
`https://skills.plungeai.com`.

```bash
# verify
# expect: PlungeAI Workflow Authoring
curl -s https://mcp.plungeai.com/v1 \
  -H "Authorization: Bearer $PLUNGE_API_KEY" \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json, text/event-stream' \
  -d '{"jsonrpc":"2.0","id":10,"method":"resources/read","params":{"uri":"plungeai://docs/workflow-authoring"}}' \
  | cut -c1-600
```

## Result shape

`resources/read` answers one entry:

```json
{
  "contents": [
    {
      "uri": "plungeai://docs/workflow-authoring",
      "mimeType": "text/markdown",
      "text": "…"
    }
  ]
}
```

## Errors

`resources/read` answers JSON-RPC errors, not outcomes; the SDK prefixes each message with `MCP error <code>:` ([resources/read](/mcp-reference/protocol/resources-read)).

- `-32002` `Resource not found: <uri>`: the URI matches no resource or template.
