Content
68%Weight 40%Scale 1-5Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
The body is a well-structured, largely executable guide to driving Cheddar through the Membrane CLI, with authentic feedback loops in the connection polling workflow. Its main weaknesses are the missing validation/confirmation guidance for destructive actions (delete customer, cancel subscription), a broken "Step 2" cross-reference, and the absence of a worked end-to-end example with real parameter values.
Suggestions
Add validation guidance for destructive actions: before running delete-customer or cancel-subscription, confirm the target with the user (e.g. fetch via get-customer and show it), and verify the output field of the response afterward.
Fix the cross-reference "If the returned connection has state READY, skip to **Step 2**" — the sections are unnumbered and numbering starts at "1b"; either number the full sequence (1a/1b, 2, 3) or replace "Step 2" with the section name.
Include one worked end-to-end example with real values, e.g. membrane action run get-customers --connectionId=... --input '{"planCode": "..."}' --json, and specify what value --tenant expects in the login command.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The body is mostly lean executable commands with tight explanations (install, auth, connection, proxy flags). Minor trimmable padding remains: the filler line "Use action names and parameters as needed.", the intro paragraph about Cheddar's user base, and slightly padded Best practices bullets. Matches anchor 4 ("Efficient; minor instances of over-explanation that could be trimmed"), not 5 because those unnecessary lines exist. | 4 / 5 |
Actionability | Concrete, copy-paste-ready commands throughout ("npm install -g @membranehq/cli@latest", "membrane connection ensure \"https://getcheddar.com/\" --json", "membrane action run <actionId> --connectionId=CONNECTION_ID --input '{\"key\": \"value\"}' --json") plus a 13-row action catalog and a proxy flags table. Not 5: the parameter example is generic placeholder JSON with no worked end-to-end example using real values, and "membrane login --tenant --clientName=<agentType>" leaves the --tenant value unspecified. | 4 / 5 |
Workflow Clarity | A real sequence exists (install → login → connect → poll → search → run) and connection-state polling with CLIENT_ACTION_REQUIRED handling is a genuine feedback loop, but "skip to **Step 2**" references a step that is never labeled (numbering jumps to "1b"), and the destructive/batch cap applies: the action catalog includes Delete Customer, Cancel Subscription, and Get Customers with no validation or confirmation guidance, capping this dimension at 3. | 3 / 5 |
Progressive Disclosure | A single well-sectioned file with clear headers and logical flow, no nested references and no orphaned paths (no bundle files exist). It exceeds 50 lines and the 13-row action catalog plus proxy flag table are borderline candidates for a separate reference file, which keeps it at anchor 4 ("Good structure; most content is appropriately placed") rather than 5. | 4 / 5 |
Total | 15 / 20 Passed |