CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

billy

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

Quality

69%

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

Quality

Content

67%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 strong, executable runbook for the Membrane-mediated Billy integration, with real command examples and state-based polling checkpoints. Its main flaws are leftover placeholder text, a duplicated/empty "Popular actions" section that never names a single action, and broken internal step references.

Suggestions

Delete the placeholder line "I don't have enough information about that app to provide a description." and replace the empty Billy Overview bullet list with the actual action IDs or intents for those entities (contacts, companies, deals, activities, tasks, emails).

Make "Popular actions" actually list 5-10 concrete example actions with their IDs or intents, or merge it into "Searching for actions" to remove the duplicated `action list` command.

Fix the dangling workflow references: either add the numbered "Step 2" (e.g. searching for actions) that "skip to Step 2" points to, or relabel the sections as a coherent numbered sequence instead of the orphaned "1b".

DimensionReasoningScore

Conciseness

Mostly efficient — the bulk is lean CLI examples with brief, useful explanations — but several things could be trimmed: the placeholder line "I don't have enough information about that app to provide a description.", the empty nested "Billy Overview" bullet list, and the action-discovery command duplicated across "Searching for actions" and "Popular actions". Fits anchor 3 ("mostly efficient but includes some unnecessary explanation or could be tightened"); not 4 because these are more than minor instances.

3 / 5

Actionability

Concrete, copy-paste-ready commands throughout: `npm install -g @membranehq/cli@latest`, `membrane login`, `membrane connection ensure`, `membrane action run <actionId> --input '{...}'`, plus a proxy flag table. Falls short of 5 because the "Popular actions" section never names an actual action and the overview's entity categories are never connected to specific action IDs.

4 / 5

Workflow Clarity

Clear install → login → connect → poll → discover → run sequence with explicit state-based checkpoints (READY, BUILDING, CLIENT_ACTION_REQUIRED, CONFIGURATION_ERROR) and a re-poll loop after the user completes an action. Held below 5 by a broken "skip to **Step 2**" reference (no Step 2 exists) and inconsistent step numbering ("1b" with no labeled 1a/2).

4 / 5

Progressive Disclosure

A single-file skill with no bundle files, well-sectioned headers, and dynamic content (actions discovered at runtime via `action list`) so there is little that belongs in separate files. Good structure with minor gaps: odd step numbering, the redundant "Popular actions" section, and a dead overview list.

4 / 5

Total

15

/

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 a clear niche and an explicit use-when clause, but its capability statement is generic. Replacing "Manage data, records, and automate workflows" with the concrete Billy entities it supports would lift both specificity and trigger quality.

Suggestions

List concrete actions tied to Billy's entities, e.g. "Manage contacts, companies, deals, tasks, and invoices in Billy" instead of "Manage data, records, and automate workflows".

Add natural trigger terms users would say — "Billy", "contacts", "invoices", "deals", "tasks" — to the Use-when clause, e.g. "Use when the user wants to interact with Billy data, contacts, invoices, or deals".

DimensionReasoningScore

Specificity

"Manage data, records, and automate workflows" names the Billy domain but every action is generic — no concrete operations like creating contacts, listing invoices, or managing deals. Anchor 2 ("names the domain but actions are minimal or generic") fits; it is above 1 because the domain is named, and below 3 because no action is concrete.

2 / 5

Completeness

Both are present: the "what" ("Manage data, records, and automate workflows") and an explicit "when" ("Use when the user wants to interact with Billy data"). Fits anchor 4 ("both what and when; when could be more explicit or specific") rather than 5 because the what is thin and the when lacks concrete trigger phrases.

4 / 5

Trigger Term Quality

"Billy", "data", "records", "workflows" are relevant keywords anchored by the app name, but common variations users would naturally say (contacts, invoices, deals, tasks, expenses) are missing. Matches anchor 3 ("some relevant keywords but missing common variations or synonyms").

3 / 5

Distinctiveness Conflict Risk

"Billy integration" and "interact with Billy data" carve a clear niche with the app name as a distinct trigger, with only minor overlap risk with generic automation/workflow skills. Mostly distinct per anchor 4, but not a 5 since "automate workflows" alone could overlap with automation skills.

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