CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

cody

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

Quality

65%

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/cody/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

57%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 command-dense and largely executable, with a genuinely well-handled connection state machine (polling, client actions, error states). Its weaknesses are the fluffy marketing intro and vague overview section, a dangling 'Step 2' reference plus no validation guidance around the destructive delete actions it advertises, and bulk catalog content inlined in a single file instead of split into a reference file.

Suggestions

Add a validation step for destructive actions: before running delete-document or delete-conversation, fetch the record first (e.g. get-document) to confirm the ID and confirm with the user — this also lifts the workflow_clarity cap.

Fix the dangling "skip to **Step 2**" reference by actually labeling the post-connection steps (e.g. "Step 2: Search for actions", "Step 3: Run actions").

Cut the marketing intro about what Cody is and the vague overview tree; move the 18-row action catalog and proxy flag table to a references/ file, keeping a handful of representative examples in SKILL.md.

DimensionReasoningScore

Conciseness

The opening paragraph ("Cody is an AI coding assistant that helps developers write and understand code faster... Developers of all skill levels use Cody to improve their productivity") is marketing-style explanation of a concept Claude doesn't need, and the vague "Cody Overview" tree plus "Use action names and parameters as needed" add little. The remainder (CLI install, auth, connection, actions, proxy) is lean and command-focused, so this sits between the padded anchor 2 and the efficient anchor 4 — mostly efficient with some unnecessary explanation, matching anchor 3.

3 / 5

Actionability

Nearly every section gives copy-paste-ready commands: "npm install -g @membranehq/cli@latest", "membrane login --tenant --clientName=<agentType>", "membrane connection ensure 'https://meetcody.ai/' --json", "membrane action run <actionId> --connectionId=CONNECTION_ID --input '{\"key\": \"value\"}' --json", plus a flags table for proxy requests. Minor gaps keep it below anchor 5: placeholders (CONNECTION_ID, <actionId>) are never shown resolved in a worked end-to-end example, and the "Cody Overview" section is directionless filler.

4 / 5

Workflow Clarity

The connection flow is well sequenced with genuine checkpoints (poll with --wait until state leaves BUILDING, handle CLIENT_ACTION_REQUIRED via clientAction.agentInstructions, re-poll after the user acts, check error on CONFIGURATION_ERROR/SETUP_FAILED), but the skill includes destructive operations ("Delete Document", "Delete Conversation" in the action table) with zero validation guidance — no verify-ID-first or confirm-with-user step — which caps this dimension at 3 per the rubric. The dangling reference "skip to **Step 2**" points at a section that is never labeled, leaving the overall sequence with explicit gaps.

3 / 5

Progressive Disclosure

This is a ~175-line single file with no bundle files at all (no references/, scripts/, or assets/), so everything lives inline — including the 18-row "Popular actions" catalog and the proxy flag table, which are bulk reference material that clearly belongs in a separate file. Section headings and structure are decent, matching anchor 3 ("content that should be separate is inline" with some structure) rather than anchor 2 (structure is not minimal) or anchor 4 (there are no references to signal and the catalog is not 'minor').

3 / 5

Total

13

/

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 has the right structure — third-person capabilities plus an explicit 'Use when...' clause — so it answers both 'what' and 'when'. However, its capability language is generic buzzword filler that doesn't reflect the skill's actual concrete operations, and its trigger vocabulary is limited to the product name plus the circular phrase 'Cody data', missing the natural terms (conversations, messages, chat, documents, bots) that would make it fire reliably.

Suggestions

Replace the generic phrases with concrete actions from the body, e.g. "Create, update, and delete Cody conversations, documents, and folders; send and list messages in conversations; list available bots."

Expand the trigger clause with natural user phrasings and synonyms: "Use when the user mentions Cody, wants to chat with Cody, or needs to manage Cody conversations, messages, documents, folders, or bots."

Avoid the circular trigger 'interact with Cody data' — name the specific objects (conversations, messages, documents) users would actually mention.

DimensionReasoningScore

Specificity

The description names the domain ("Cody integration") but its actions — "Manage data, records, and automate workflows" — are generic buzzwords with no concrete operations (contrast the body's actual capabilities: create/delete conversations, send messages, manage documents and folders). It names the domain but the actions remain minimal or generic, matching anchor 2; it avoids anchor 1 because it does list several action phrases, but none are concrete enough for anchor 3.

2 / 5

Completeness

It explicitly answers both parts: what ("Cody integration. Manage data, records, and automate workflows") and when ("Use when the user wants to interact with Cody data"), in third person. It fits anchor 4 — the 'when' clause is present but generic and circular; it is not anchor 5 because it lacks concrete trigger phrases, and not anchor 3 because the 'when' is explicitly stated, not merely implied.

4 / 5

Trigger Term Quality

"Use when the user wants to interact with Cody data" contains the strong, relevant keyword "Cody", but nearly all natural variations users would say are missing ("chat with Cody", "Cody conversations", "send a message", "Cody bots", "documents"). This matches anchor 3 (some relevant keywords, missing common variations); it is above anchor 2 because "Cody" is a specific, natural product term rather than generic jargon, and below anchor 4 because coverage is thin beyond that single term.

3 / 5

Distinctiveness Conflict Risk

The trigger is anchored to the distinct product name "Cody", so it is unlikely to fire for unrelated skills — mostly distinct with minor overlap risk (anchor 4). It falls short of anchor 5 because the capability phrases ("Manage data, records, automate workflows") are generic enough to overlap with broad data-management skills, and it is clearly above anchor 3 since the Cody-specific trigger gives it a clear niche.

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/cody/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.