CtrlK
BlogDocsLog inGet started
Tessl Logo

codat

Codat integration. Manage Companies, Accounts, Bills, Invoices, Payments, Suppliers and more. Use when the user wants to interact with Codat data.

60

Quality

70%

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

A generally actionable, well-structured integration guide with concrete Membrane CLI commands and a clear connection state workflow. The main weaknesses are verbosity in introductory and best-practice prose, and the absence of validation safeguards around destructive delete operations.

Suggestions

Add an explicit validation/confirmation step before destructive actions (e.g., confirm the company ID and warn that delete-company removes all connections and data before running delete-company/delete-connection).

Trim background prose (the 'universal API for business data' intro and 'so you can focus on integration logic' phrasing) and tighten the best-practices bullets to drop unnecessary tokens.

Consider moving the 20-row popular-actions table into a separate references file referenced from SKILL.md to improve progressive disclosure and token economy.

DimensionReasoningScore

Conciseness

Mostly efficient with concrete commands, but several padded passages ('Codat is a universal API for business data. It's used by lenders, insurers, and fintech companies...'), 'so you can focus on the integration logic rather than auth plumbing', and verbose best-practice sentences add tokens Claude does not need.

3 / 5

Actionability

Provides concrete, executable CLI commands throughout (npm install, membrane login, connection ensure, action run, request) plus a flag table and a 20-row actions table with keys, covering common cases with only minor gaps like the vague 'Use action names and parameters as needed.'

4 / 5

Workflow Clarity

The connection workflow is well sequenced with explicit state-based checkpoints (READY/BUILDING/CLIENT_ACTION_REQUIRED/CONFIGURATION_ERROR) and polling, but destructive operations (delete-company 'Permanently delete a company and all its connections and data', delete-connection) appear with no validation/verification step before execution, capping this dimension at 3 per the destructive-operations guideline.

3 / 5

Progressive Disclosure

Good section structure (Overview, Working with Codat, Auth, Connecting, Searching, Popular actions, Proxy, Best practices) with no nested references, but at 165 lines the large inline 20-row actions table is content that could be split into a separate reference file, leaving a minor organization gap short of a 5.

4 / 5

Total

14

/

20

Passed

Description

78%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.

A solid, third-person description that names the product and a concrete list of managed resources with an explicit 'Use when' trigger. The main gap is generic verb choice and a trigger phrase that could be more specific to the listed resources.

Suggestions

Replace the single generic verb 'Manage' with varied concrete actions per resource (e.g., 'list, create, update, and delete Companies, Accounts, Bills...') to lift specificity.

Make the 'when' trigger more concrete by referencing the actual tasks (e.g., 'Use when the user wants to list or create Codat companies, bills, invoices, payments, or suppliers').

Add a couple of natural synonyms (e.g., 'vendors' alongside 'Suppliers') to broaden trigger-term coverage.

DimensionReasoningScore

Specificity

Lists several specific resources to 'Manage' (Companies, Accounts, Bills, Invoices, Payments, Suppliers) which gives concrete coverage, but the single generic verb 'Manage' applied to a noun list lacks the varied concrete verbs (extract, fill, merge) that would mark comprehensive action specificity.

4 / 5

Completeness

Clearly states both 'what' (Codat integration managing listed resources) and an explicit 'when' ('Use when the user wants to interact with Codat data'), but the 'when' trigger is somewhat generic and could tie more directly to the listed resource tasks to reach a 5.

4 / 5

Trigger Term Quality

Good keyword coverage with the product name 'Codat' plus six concrete resource terms (Companies, Accounts, Bills, Invoices, Payments, Suppliers) users would naturally name, but no synonyms or variations beyond the single 'interact with Codat data' phrase.

4 / 5

Distinctiveness Conflict Risk

Names a specific product (Codat) with a distinct trigger ('interact with Codat data'), giving it a clear niche with minimal overlap risk against other skills.

5 / 5

Total

17

/

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.

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