CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

carbone

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

Quality

68%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./skills/carbone/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

75%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, command-first integration guide: every step from CLI install through action execution and proxy fallback is backed by exact, runnable commands, with explicit connection-state handling and polling loops. Its main weaknesses are a padded introduction/Overview section and inconsistent step labeling ('Step 2' and '1b' are referenced but never defined).

DimensionReasoningScore

Conciseness

The bulk is lean, copy-paste commands and tables, but there is real padding: the intro paragraph 'Carbone is a reporting engine... Developers and businesses use it to automate report creation', the skeletal Overview bullets (Template/Report/Report Group), and the vacuous line 'When to use which actions: Use action names and parameters as needed.' This fits anchor 3 (mostly efficient, some unnecessary explanation) rather than 4, since the Overview section is more than a minor instance of over-explanation.

3 / 5

Actionability

Fully executable, copy-paste-ready commands throughout: 'npm install -g @membranehq/cli@latest', 'membrane login --tenant --clientName=<agentType>', 'membrane connection ensure "https://carbone.io/" --json', 'membrane action run <actionId> --connectionId=CONNECTION_ID --input {\'key\': \'value\'}', plus the proxy request syntax with a flags table and a Popular actions table with concrete action keys. This matches anchor 5; not 4 because the examples cover the common cases (install, auth, connect, search, run, proxy) with exact, runnable syntax.

5 / 5

Workflow Clarity

The sequence install → login → connection ensure → poll state → search actions → run → proxy fallback is clear, with explicit checkpoints and a genuine feedback loop ('poll again with membrane connection get <id> --json to check if the state moved to READY') and per-state error handling (CLIENT_ACTION_REQUIRED, CONFIGURATION_ERROR, SETUP_FAILED). It misses 5 because steps are inconsistently labeled — the text says 'skip to **Step 2**' and '#### 1b' but no step is actually numbered/labeled, leaving a dangling reference.

4 / 5

Progressive Disclosure

The single-file skill (no bundle files exist) is well-sectioned with clear headers (Install, Authentication, Connecting, Searching, Popular actions, Running, Proxy, Best practices), and its size (~145 lines) is reasonable for inline CLI usage. It fits anchor 4 (good structure, minor organization gaps) rather than 5 — the file exceeds the ~50-line simple-skill case, and the popular-actions and proxy-flag tables plus the step-labeling inconsistency leave minor organization gaps.

4 / 5

Total

16

/

20

Passed

Description

48%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 Carbone domain and includes an explicit 'Use when' clause, but its capability statement is generic filler — 'manage data, records, and automate workflows' — that omits the skill's actual purpose (generating documents/spreadsheets from templates and JSON data). Users mentioning reports, documents, templates, or render would not trigger this skill.

Suggestions

State the concrete capability: e.g. 'Generate documents and spreadsheets by rendering Carbone templates with JSON data. Upload, download, and delete templates; render and download reports.'

Expand the 'when' clause with natural trigger terms users would actually say: reports, documents, templates, render/generate a document, Carbone.

Remove the generic filler 'Manage data, records, and automate workflows', which invites overlap with unrelated data-management skills.

DimensionReasoningScore

Specificity

"Manage data, records, and automate workflows" names the Carbone domain but the actions are entirely generic — no concrete capability like rendering documents from templates, uploading templates, or generating reports appears. It matches anchor 2 ('Names the domain but actions are minimal or generic') rather than 3, because not even 1-2 concrete actions are listed.

2 / 5

Completeness

The 'when' is explicitly present ("Use when the user wants to interact with Carbone data"), but the 'what' ("Carbone integration. Manage data, records, and automate workflows") is vague — it never says the skill generates documents/spreadsheets from templates and JSON data. It sits between anchors 3 and 4; the vague 'what' undercuts it more than the generic 'when' helps, so it cannot reach 4 ('both what and when; when could be more explicit' assumes a real what).

3 / 5

Trigger Term Quality

It has the distinctive natural keyword "Carbone" plus "data", "records", "workflows", but misses the natural phrases users of this service would say: "reports", "documents", "templates", "render", "generate". This fits anchor 3 (some relevant keywords, missing common variations) rather than 4, since coverage of natural terms is thin.

3 / 5

Distinctiveness Conflict Risk

"Carbone integration" and "interact with Carbone data" establish a clear niche with a distinct app-name trigger, giving minor conflict risk. Not 5 because the generic phrases "Manage data, records, and automate workflows" overlap with data-management and workflow-automation skills; not 3 because the Carbone name is far more distinctive than the anchor-3 example 'Works with document files'.

4 / 5

Total

12

/

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