CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

bidsketch

Bidsketch integration. Manage data, records, and automate workflows. Use when the user wants to interact with Bidsketch 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/bidsketch/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 delivers strong, executable CLI guidance with an unusually well-handled connection lifecycle (state polling, client-action states, error fields). Its main weaknesses are the dead 'Step 2' reference, missing verification guidance for write operations, and padded noise from the 'No description' actions table and bare object list.

Suggestions

Label the workflow steps explicitly (Step 1: connect, Step 2: search actions, Step 3: run) so the 'skip to Step 2' reference resolves, and add a verification step before/after create/update actions (e.g. re-run `get-proposal` to confirm the change).

Replace the 'No description' table entries with one-line real descriptions, or drop the table and show a worked example such as `membrane action list --intent "list proposals"` followed by a real `action run` call with an `--input` payload.

Cut the filler line 'Use action names and parameters as needed' and either annotate the object list with what each record type represents or move it into the description of the actions table.

DimensionReasoningScore

Conciseness

The command sections are tight and executable, but the body carries real padding: a 20-row 'Popular actions' table where every description literally reads 'No description', a 23-item bullet list of bare object names with no annotations, and filler like 'Use action names and parameters as needed'. Mostly efficient with some unnecessary content, matching the score-3 anchor; not score 2 because the core guidance itself is not verbose.

3 / 5

Actionability

Concrete, copy-paste-ready CLI commands cover install, login (including the headless completion flow), connection setup, action discovery, action execution with JSON input, and proxy requests with a flag table. Not score 5 because no worked end-to-end example exists — there is no sample `action list` call with a real intent or a real `action run` invocation showing an actual input payload for a common case like listing proposals.

4 / 5

Workflow Clarity

The connection setup has a genuine sequence with feedback checkpoints (poll with `--wait`, handle `CLIENT_ACTION_REQUIRED`, inspect the `error` field), but the flow is incoherent in places — the text says 'skip to **Step 2**' yet no Step 2 is labeled anywhere — and destructive create/update actions (create proposal, update proposal) have no verification or error-recovery guidance. Missing validation for destructive/batch operations caps this dimension at 3.

3 / 5

Progressive Disclosure

No bundle files exist, and the single-file body is well-sectioned with clear headers (Install, Authentication, Connecting, Searching, Running, Proxy, Best practices) placing most content appropriately inline. Not score 5 because the 'Popular actions' table is API-reference material that would sit better in a separate reference file, trimming the main skill body.

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 identifies the app and includes an explicit 'Use when' clause, so it answers both 'what' and 'when'. Its weakness is that everything except the app name is boilerplate: no concrete capabilities and no domain synonyms like 'proposals', so it would not trigger on natural phrasing that omits the brand name.

Suggestions

Replace 'Manage data, records, and automate workflows' with concrete capabilities, e.g. 'Create, send, and track proposals; manage clients, fees, and templates in Bidsketch'.

Add domain trigger terms to the 'Use when' clause, such as 'Use when the user mentions Bidsketch, proposals, estimate fees, or wants to automate their proposal workflow'.

Mention what Bidsketch is (proposal software for freelancers and agencies) so the description adds context beyond the bare app name.

DimensionReasoningScore

Specificity

The description names the domain ('Bidsketch integration') but its actions are pure generic filler — 'Manage data, records, and automate workflows' — with no concrete capability like creating, sending, or tracking proposals. This matches the 'names the domain but actions are minimal or generic' anchor; score 3 would require at least one or two concrete actions.

2 / 5

Completeness

Both parts are explicitly present: the 'what' ('Bidsketch integration. Manage data, records, and automate workflows.') and an explicit 'when' clause ('Use when the user wants to interact with Bidsketch data'). Not score 5 because the 'what' is vague and the 'when' is generic ('interact with data') rather than concrete trigger phrases such as 'create or send proposals in Bidsketch'.

4 / 5

Trigger Term Quality

'Bidsketch' and 'Bidsketch data' are natural terms a user would say, but coverage stops there — no synonyms or domain phrases like 'proposals', 'estimates', 'quotes', or 'proposal software'. Some relevant keywords exist, but common variations are missing, which is exactly the score-3 anchor.

3 / 5

Distinctiveness Conflict Risk

Naming the specific app 'Bidsketch' gives a clear, distinct trigger with minimal wrong-skill conflict. However, the rest of the wording ('Manage data, records, and automate workflows') is template-generic and identical in structure to any sibling app-integration skill, leaving minor overlap risk, so it sits at 'mostly distinct' rather than 'clear niche with 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/bidsketch/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.