CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

airparser

Airparser integration. Manage data, records, and automate workflows. Use when the user wants to interact with Airparser data.

Quality

63%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Low

Low-risk findings worth noting

Fix and improve this skill with Tessl

tessl review fix ./skills/airparser/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

61%Weight 40%Scale 1-5

Reviews 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.

DimensionReasoningScore

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

Description

50%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

The description anchors itself to a distinct product niche (Airparser) and includes an explicit 'Use when' trigger clause, but the capability statement is generic filler — 'manage data, records, and automate workflows' could describe almost any data tool. It never mentions document parsing, PDFs, emails, extraction, or inboxes, which are the skill's actual capabilities and its most natural trigger terms.

Suggestions

Replace 'Manage data, records, and automate workflows' with concrete capabilities drawn from the skill body, e.g. 'Parse documents and extract structured data from PDFs and emails; upload, list, and retrieve documents; manage inboxes and extraction schemas'.

Add natural trigger terms users would actually say: 'document parsing', 'extract data from PDFs or emails', 'Airparser inbox', 'extraction schema'.

Make the when-clause more specific: 'Use when the user mentions Airparser, wants to parse documents or extract data from PDFs/emails, or asks about their Airparser inboxes or extraction schemas.'

DimensionReasoningScore

Specificity

"Manage data, records, and automate workflows" names the domain (Airparser) but the actions are entirely generic — no concrete capabilities like document parsing, data extraction, or inbox management are stated. Not 3 because that anchor requires 1-2 concrete actions; not 1 because the domain is named.

2 / 5

Completeness

"Use when the user wants to interact with Airparser data" is an explicit when-clause and a what is present ("Manage data, records, and automate workflows"), but the what is vague. It sits between anchor 3 (clear what, weak when) and anchor 4 (both present, when could be more specific) — the explicit trigger clause places it noticeably above the midpoint; not 5 since neither the what nor the triggers are concrete.

4 / 5

Trigger Term Quality

The only natural keyword is "Airparser"; "data", "records", and "automate workflows" are generic and lack the natural phrases a user would say ("parse documents", "extract data from PDFs or emails", "document parsing", "inbox"). Fits the anchor for one or two generic keywords while missing the natural phrases users say.

2 / 5

Distinctiveness Conflict Risk

"Airparser" names a clear niche with minimal conflict risk, but the generic tail "Manage data, records, and automate workflows" overlaps with broad data-management and automation skills. Mostly distinct with minor overlap risk; not 5 because the non-brand terms alone would collide with many similar skills.

4 / 5

Total

12

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

15

/

16

Passed

Repository

membranedev/application-skills

Path

skills/airparser/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.