CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

async-interview

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

Quality

66%

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/async-interview/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 provides genuinely actionable CLI guidance with concrete commands, sensible polling/error-handling for the connection lifecycle, and clear section structure. Its main flaws are a broken step-numbering scheme (references to "Step 2" and "1b" that don't resolve), a filler actions table with an empty Description column, and some trimmable padding. Tightening these would move it from solid to strong.

Suggestions

Fix the dangling step references: either label the sections as Step 1 (connect), Step 2 (search/run actions) or drop the "skip to Step 2" and "1b" numbering entirely.

Populate the Popular actions table's empty Description column (or remove it) so action selection is informed rather than name-only.

Delete the filler line "Use action names and parameters as needed." and add one worked example of running an action with realistic parameters (e.g. create-interview with a candidate and question set).

DimensionReasoningScore

Conciseness

The body is mostly efficient — terse commands with brief context — but contains trimmable padding: the empty filler line "Use action names and parameters as needed.", an actions table whose Description column is entirely blank, and an awkwardly worded "Agent Types" note. It matches anchor 3 (mostly efficient but some unnecessary explanation that could be tightened), not 4, because the filler and empty table column are clearly removable.

3 / 5

Actionability

Concrete, executable commands appear throughout: `npm install -g @membranehq/cli@latest`, `membrane login complete <code>`, `membrane connection ensure "https://www.asyncinterview.ai/" --json`, `membrane action run <actionId> --input '{"key": "value"}' --json`, plus a proxy flags table. Matches anchor 4 (mostly executable guidance with minor gaps); not 5, because no worked example with realistic parameters (e.g. an actual create-interview call) is shown and the actions table lacks descriptions to guide selection.

4 / 5

Workflow Clarity

A real sequence exists (install → login → connection ensure → poll with --wait → handle CLIENT_ACTION_REQUIRED → poll again → search → run) with a feedback loop and error-state handling. However, coherence is broken: the text says "skip to **Step 2**" twice and uses a "1b" heading, yet no Step 1 or Step 2 labels exist anywhere. This fits anchor 3 (steps listed but with gaps/implicit checkpoints), not 4, because the dangling step references undermine sequence clarity.

3 / 5

Progressive Disclosure

No bundle files exist; this is a single-file skill with well-organized sections (Install, Authentication, Connecting, Searching, Running, Proxy, Best practices) and a legitimate external pointer to the official API docs. Content is appropriately placed inline for a CLI-integration skill, matching anchor 4 (good structure, minor organization gaps); not 5, because at ~150 lines it exceeds the simple-skill case and the actions table and proxy flag details could arguably live in a reference file.

4 / 5

Total

14

/

20

Passed

Description

57%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 correctly names the target app and includes an explicit 'Use when' clause, but its capability statement is generic boilerplate that could describe any integration. It reads like a template filled in with an app name rather than a description of what Async Interview actually does. Concrete actions and domain-natural trigger terms (interviews, candidates, video responses) are missing.

Suggestions

Replace "Manage data, records, and automate workflows" with the concrete capabilities, e.g. "Create and manage video interviews, invite candidates, and retrieve interview responses and recordings."

Add natural trigger terms a user or recruiter would say, such as "video interview", "candidate screening", "interview responses", or "asynchronous interview".

Make the when-clause less circular — instead of "interact with Async Interview data", specify triggers like "Use when the user wants to set up, send, or review async video interviews in Async Interview."

DimensionReasoningScore

Specificity

"Manage data, records, and automate workflows" names the domain (Async Interview) but the actions are purely generic — no concrete capability like create interviews, invite candidates, or review video responses is stated. It matches anchor 2 (domain named, actions minimal or generic), not 3, which requires at least 1-2 concrete named actions.

2 / 5

Completeness

Both parts are present: what = "Manage data, records, and automate workflows" and an explicit when = "Use when the user wants to interact with Async Interview data". It fits anchor 4 (both what and when, with when able to be more specific — the when-clause is circular, referencing only "Async Interview data"), not 5, since the what is generic and lacks concrete trigger phrases.

4 / 5

Trigger Term Quality

"Async Interview" is a genuine trigger keyword, but the natural phrases users would actually say — video interview, candidate, screening, interview responses — are missing, and "data/records/workflows" is generic filler. Some relevant keywords present but common variations and synonyms are absent (anchor 3).

3 / 5

Distinctiveness Conflict Risk

"Async Interview integration" names a niche app, making it distinct from unrelated skills; overlap risk is confined to sibling integration skills sharing the boilerplate "Manage data, records, and automate workflows" phrasing. Mostly distinct with minor overlap risk (anchor 4), not 5, because the generic action wording doesn't carve out distinct triggers.

4 / 5

Total

13

/

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/async-interview/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.