Content
61%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 solid, command-first integration guide with concrete CLI invocations, a useful action catalog, and good error-state handling for the connection workflow. Its main flaws are moderate verbosity in the intro and best-practices prose, and a broken step-numbering scheme ('skip to Step 2' with no Step 2; '1b' with no 1a) that muddies an otherwise clear sequence.
Suggestions
Fix the workflow numbering: label the sections as Steps 1/1a/1b/2 (or drop the '1b' and 'skip to Step 2' references) so the cross-references resolve.
Trim background prose — drop the 'ActiveCampaign is a marketing automation platform...' intro paragraph and tighten the Agent Types and Best practices wording to bare instructions.
Add one worked end-to-end example (e.g. a real create-contact command with actual --input values) to close the gap between the action catalog and the templated run command.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The body is mostly command-driven, but includes unnecessary background and padded prose: "ActiveCampaign is a marketing automation platform used by small to mid-sized businesses. It helps users automate email marketing, sales processes..." explains a concept Claude already knows, "This will burn less tokens and make communication more secure" is wordy, and the rambling "Agent Types" line ("claude, openclaw, codex, warp, windsurf, etc. Those will be used to adjust tooling to be used best with your harness") could be tightened. This matches anchor 3 ('mostly efficient but includes some unnecessary explanation'); it is above 2 because padding is scattered, not pervasive. | 3 / 5 |
Actionability | Nearly every step has a copy-paste command: "npm install -g @membranehq/cli@latest", "membrane connection ensure \"https://activecampaign.com\" --json", "membrane action run <actionId> --connectionId=CONNECTION_ID --input '{\"key\": \"value\"}' --json", plus a concrete proxy flag table and a 20-row action catalog. It stops short of anchor 5 because there is no worked end-to-end example (e.g. an actual create-contact invocation with real parameter values), leaving a minor gap between the action table's 'Key' column and the 'actionId' the run command expects. | 4 / 5 |
Workflow Clarity | A rough sequence exists (install → login → connect → poll state → search → run → proxy) and the state machine is well handled (READY / CLIENT_ACTION_REQUIRED with clientAction fields / CONFIGURATION_ERROR with error checking and re-polling), but the step structure is broken: "skip to **Step 2**" is referenced twice yet no Step 2 is labeled, and "#### 1b. Wait for the connection to be ready" appears without a 1a or any numbered siblings. That fits anchor 3 — sequence present but with gaps and implicit checkpoints; it is not 4 because the dangling cross-references make the intended order genuinely ambiguous at the connection step. | 3 / 5 |
Progressive Disclosure | No bundle files exist, so all content is inline in a single, well-sectioned file (Install, Authentication, Connecting, Searching, Popular actions, Running, Proxy, Best practices) with the action catalog reasonably placed as an inline quick reference for a CLI-driven skill. This matches anchor 4 ('good structure; most content appropriately placed; minor organization gaps') — it is not 5 because the broken step numbering (Step 2 / 1b) slightly impairs navigation and the skill sits well over the ~50-line threshold where structure alone earns top marks. | 4 / 5 |
Total | 14 / 20 Passed |