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 well-structured, command-driven integration guide: setup, auth, connection lifecycle, action discovery/execution, and proxy fallback are all covered with copy-pasteable commands and state-handling branches. Weaknesses are moderate padding around what Airparser and Membrane are, an unstated mapping between action Keys and `<actionId>`, and no validation guidance for the destructive and batch actions the skill advertises.
Suggestions
Trim the conceptual framing ("It's used by businesses and developers...", "Think of it as a way to programmatically pull information...", and the URL-normalization mechanics) — keep only what is needed to run commands.
Add validation guidance for destructive and batch operations: e.g. run `list-documents` / `list-inboxes` to confirm the target before `delete-inbox`, and confirm with the user before deleting.
Clarify that `membrane action run <actionId>` accepts the `Key` value from the popular-actions table (e.g. `list-documents`), or show one fully-resolved example run.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The body is mostly efficient executable commands, but contains padded conceptual passages: "It's used by businesses and developers to automate data entry and streamline document processing workflows. Think of it as a way to programmatically pull information out of unstructured documents", "so you can focus on the integration logic rather than auth plumbing", and the mechanics of "The URL is normalized to a domain and matched against known apps". Mostly efficient with some unnecessary explanation; not 4 because there are several trimmable explanatory passages. | 3 / 5 |
Actionability | Concrete, executable commands throughout: `npm install -g @membranehq/cli@latest`, `membrane connection ensure "https://airparser.com/" --json`, `membrane action run <actionId> --connectionId=CONNECTION_ID --input '{"key": "value"}' --json`, plus a proxy flags table and a popular-actions table. Mostly executable with a minor gap: the table lists action `Key` values while the run command takes `<actionId>` without stating they are the same; not 5 because examples require user-specific values and that mapping is unstated. | 4 / 5 |
Workflow Clarity | The connection workflow is well sequenced with real checkpoints (poll with `--wait`, branch on `CLIENT_ACTION_REQUIRED`/`CONFIGURATION_ERROR`, check the `error` field), but the skill surfaces destructive and batch operations — "Delete Inbox", "Upload Document", "List Documents" — with no verification or confirmation guidance before running them. Per the rubric's cap, destructive/batch operations without validation steps cap workflow clarity at 3; not 2 because the connect-and-run sequence itself is clearly defined with state-based branching. | 3 / 5 |
Progressive Disclosure | No bundle files exist and the body is self-contained with well-organized sections (Install, Authentication, Connecting, Searching, Popular actions, Running, Proxy, Best practices) and no dangling or buried references. Good structure with content appropriately placed; not 5 because at ~145 lines it exceeds the simple-skill threshold and some detail (proxy flag table, clientAction state handling) could be split into a reference file. | 4 / 5 |
Total | 14 / 20 Passed |