CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

cobalt

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

Quality

72%

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

A strong, executable integration guide: concrete CLI commands, a documented connection-state machine with polling, and discover-before-build guidance. The main defects are broken internal step references ("Step 2" is never defined), a hollow Overview section, and a domain mismatch between the intro (customer support tickets) and the actions table (pentest findings and assets).

Suggestions

Fix the dangling workflow references: define the numbered steps or rewrite "skip to Step 2" / the orphaned "1b" heading so the sequence reads coherently.

Resolve the domain inconsistency — the intro describes a customer-support ticketing app while the actions and hierarchy cover pentests, findings, and assets — and align the description, intro, and action table.

Cut the content-free Cobalt Overview section ("Use action names and parameters as needed") and add a worked `membrane action run` example with a real action id and JSON input, plus a note to confirm before destructive actions like delete-asset.

DimensionReasoningScore

Conciseness

The body is dominated by executable commands, flag tables, and state-machine details — every token mostly earns its place — but there is trimmable material: the near-empty "Cobalt Overview" section ("Use action names and parameters as needed"), the marketing-style intro paragraph, and phrases like "This is the fastest way to get a connection". Efficient with minor instances of over-explanation, so 4 rather than 5; well above 3 since no section is padded or explains concepts Claude already knows at length.

4 / 5

Actionability

Concrete, copy-paste-ready commands cover install, login (including headless completion), connection ensure, polling, action search/run, and proxy requests, with a flags table and parameter-passing examples — largely a 5. It drops to 4 because of dangling navigation: "skip to **Step 2**" is referenced twice but no Step 2 exists, and `action run` never shows a worked example with a real action id and input.

4 / 5

Workflow Clarity

The sequence is clear (install → login → connect → poll until READY → discover actions → run, with the proxy as fallback) and includes a real feedback loop: poll `connection get --wait` and branch on READY/CLIENT_ACTION_REQUIRED/CONFIGURATION_ERROR with instructions per state. It sits at 4 rather than 5 because the workflow's internal step references are broken ("Step 2" and the lone "1b" heading imply a numbering that doesn't exist), and destructive actions like Delete Asset are listed with no verification guidance — a minor validation gap rather than an absent one.

4 / 5

Progressive Disclosure

This is a single-file skill with no bundle directories; the body is a moderately sized, well-sectioned getting-started guide (headers, tables, code blocks) that is easy to navigate and arguably needs no external references. It scores 4 rather than 5 only because it exceeds the compact single-file ideal slightly — the popular-actions table and clientAction state reference are borderline candidates for a separate reference file — and 3 doesn't fit since nothing that clearly belongs elsewhere is inlined and navigation is unambiguous.

4 / 5

Total

16

/

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 shape — domain, actions, and an explicit 'Use when' trigger in third person — but the action list is generic filler that doesn't reflect what Cobalt actually manages. Replacing the vague verbs with the app's real objects and workflows would lift most dimensions.

Suggestions

Replace "Manage data, records, and automate workflows" with the app's concrete objects and operations (e.g. findings, pentests, assets, organizations) so users and Claude know exactly what can be done.

Add natural trigger synonyms to the 'Use when' clause, such as listing the domain nouns users would actually say when they need this skill.

Make the 'when' clause non-circular by naming the user's goal (e.g. 'when the user wants to query or update pentest findings or assets in Cobalt') rather than 'interact with Cobalt data'.

DimensionReasoningScore

Specificity

"Manage data, records, and automate workflows" names the Cobalt domain but the actions are entirely generic — no concrete operations appear, and notably none of the app's actual objects (findings, pentests, assets) mentioned in the body. This matches the anchor 'Names the domain but actions are minimal or generic' rather than 3, which requires 1-2 concrete actions, and is above 1 since it does name the domain and specific nouns like records.

2 / 5

Completeness

Both parts are present: what ("Manage data, records, and automate workflows") and an explicit when ("Use when the user wants to interact with Cobalt data"), so the missing-trigger cap of 3 does not apply. It stays at 4 rather than 5 because the 'what' is vague and the 'when' is circular (it amounts to 'use when the topic is Cobalt') rather than giving concrete trigger phrases; it is above 3 because the 'when' clause is explicit.

4 / 5

Trigger Term Quality

Keywords are "Cobalt", "data", "records", "workflows", "interact with Cobalt data" — the product name is a genuine natural term, but all other terms are generic filler with no domain-specific phrases users would actually say (no "findings", "pentests", "assets", "tickets"). This fits 'Some relevant keywords but missing common variations or synonyms' rather than 2, because Cobalt is a specific, naturally-spoken keyword rather than only generic language.

3 / 5

Distinctiveness Conflict Risk

"Cobalt integration" carves out a clear niche keyed to a specific SaaS product, so it is mostly distinct with only minor overlap risk from the generic tail ("manage data, records" could collide with database/records-management skills). Not 5 because the generic action terms leave some conflict room with data-management 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/cobalt/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.