Content
56%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 delivers strong, executable Membrane CLI guidance with a well-handled connection state machine, but roughly a third of it is a padded entity-name list that adds no actionable value, and there is a broken 'Step 2' cross-reference. Moving the entity catalog and action tables to a reference file would fix both the conciseness and progressive disclosure issues.
Suggestions
Delete or drastically condense the 77-line entity bullet list — or move it to a references/entities.md file with a one-line pointer, since the body currently spends ~75 lines naming entities with zero guidance on how to use them.
Fix the broken cross-references: the text says 'skip to **Step 2**' twice but no Step 1/Step 2 headings exist — either number the Connecting steps explicitly or rewrite the references to point at the actual section names.
Add a brief validation step before destructive actions (e.g. verify the contact with `get-contact` before `delete-contact`) and show an example value for the `--tenant` login flag so the commands are fully copy-paste ready.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The ~77-line flat bullet list of entity names ('Contact', 'Entity Contribution', etc.) closing with the vacuous 'Use action names and parameters as needed' is a large padded section with no actionable content, and the intro ('CiviCRM is an open source CRM used by non-profit...') explains a concept Claude already knows. This matches 'Noticeably verbose; several unnecessary explanations or padded sections' — the entity list alone is roughly a third of the body — rather than level 3's 'some unnecessary explanation'. | 2 / 5 |
Actionability | Concrete, largely executable CLI commands appear throughout: `npm install -g @membranehq/cli@latest`, `membrane connection ensure "https://civicrm.org/" --json`, `membrane action run <actionId> --connectionId=... --input '{...}'`, plus a proxy flags table and a 20-row actions table with keys. It is not level 5 because of minor gaps: `membrane login --tenant` shows no example value, and the entity overview provides no usable parameters or examples. | 4 / 5 |
Workflow Clarity | The connection setup sequence has explicit state-based checkpoints and feedback loops — poll with `--wait` while `BUILDING`, handle `CLIENT_ACTION_REQUIRED` by showing `uiUrl` and re-polling, and check the `error` field on `CONFIGURATION_ERROR`. It is not level 5 because the text twice says 'skip to **Step 2**' but no Step 2 (or Step 1) heading exists, and the install → authenticate → connect → act sequence is implied by section order rather than explicitly numbered. The destructive-operation cap does not apply since the prescribed workflow is connection setup, not batch/destructive execution. | 4 / 5 |
Progressive Disclosure | There are no bundle files at all, and the 77-line entity list plus the full actions and proxy-flag tables are inlined in a ~235-line SKILL.md where a leaner body with a separate entities/actions reference file would serve better. Section headers are reasonable, but 'content that should be separate is inline' places this at level 3 rather than level 4's 'most content is appropriately placed'. | 3 / 5 |
Total | 13 / 20 Passed |