CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

cats

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

Quality

60%

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

Quality

Content

57%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 genuinely actionable Membrane CLI guidance with concrete commands and state handling, but it is undermined by clearly broken content: a leftover refusal sentence, an overview and "official docs" link pointing at thecatapi.com (a cat-pictures API, not the CATS ATS), and inconsistent step numbering that breaks the workflow mid-way. It reads like a template for an undescribed app, exactly as its own stray sentence admits.

Suggestions

Delete the placeholder refusal line ("I don't have enough information to do that. I need a description of the app.") and replace the Cat API overview ("Kitten / Litter Box / Cat Fact", thecatapi.com link) with an accurate CATS (catsone.com) overview of what the integration covers.

Fix the step numbering: define "Step 2" explicitly (or relabel "Connecting to CATS" and "Searching for actions" as steps) and resolve the orphaned "1b" section so the READY-state instruction lands somewhere real.

Move detail-heavy material (the clientAction state machine and the proxy flag table) into a references/ file or tighten it inline, and add a fix-and-retry loop for the CONFIGURATION_ERROR/SETUP_FAILED path instead of just "check the error field".

DimensionReasoningScore

Conciseness

The bulk is efficient, command-first instruction, but it carries clear noise: the leftover refusal line "I don't have enough information to do that. I need a description of the app.", an overview listing "Kitten / Litter Box / Cat Fact" that belongs to a different product, near-duplicate action-discovery commands, and prose like "This will burn less tokens". Mostly efficient but with several removable sections, matching anchor 3.

3 / 5

Actionability

Concrete, executable commands appear throughout: npm install, membrane login (including the headless completion code), connection ensure with --wait polling semantics, action list/run with a JSON --input example, and a proxy command with a full flag table. Mostly copy-paste ready with minor gaps (CONNECTION_ID placeholders are never concretely resolved in examples, and the flow after CLIENT_ACTION_REQUIRED is described but not demonstrated), matching anchor 4.

4 / 5

Workflow Clarity

A real sequence exists (install → login → connection ensure → poll for READY → search actions → run → proxy fallback) with state-based checkpoints (READY/CLIENT_ACTION_REQUIRED/CONFIGURATION_ERROR), which exceeds anchor 2. But the numbering is broken — "skip to Step 2" points to no Step 2, and a section "1b" exists with no "1a" — and error recovery stops at "check the error field" without a fix-and-retry loop, matching anchor 3's sequence-with-gaps.

3 / 5

Progressive Disclosure

There are no bundle files (no references/, scripts/, or assets/), and the body uses clear section headers, which is acceptable for a CLI-driven skill. However, self-contained material like the clientAction state machine and the proxy flag table is inlined, the "Popular actions" heading contains no actual popular actions, and navigation is muddied by the incoherent overview section, matching anchor 3's could-be-better-organized bar.

3 / 5

Total

13

/

20

Passed

Description

45%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 CATS domain and includes a valid "Use when" trigger clause, but the capability language is generic ("manage data, records, automate workflows") and lacks any concrete CATS-specific actions or natural trigger synonyms. It reads like a template filled in for an app the author did not describe. Specificity and completeness are the main weaknesses.

Suggestions

Replace "Manage data, records, and automate workflows" with 2-4 concrete actions reflecting what CATS (an applicant tracking system) actually offers, e.g., "Manage candidates, job postings, and recruiting pipelines in CATS".

Add natural trigger terms users would say, such as "Use when the user mentions CATS, catsone.com, candidate records, job postings, or recruiting data".

Clarify that this is for the CATS applicant tracking system (catsone.com) so it is not confused with cat/Petfinder-style APIs.

DimensionReasoningScore

Specificity

"CATS integration" names the domain, but the only capability language is "Manage data, records, and automate workflows" — generic actions that could apply to any data tool. No concrete CATS operations (e.g., candidates, job postings, pipelines) are stated, matching anchor 2 rather than anchor 3, which requires 1-2 concrete domain actions.

2 / 5

Completeness

A "when" clause is explicitly present ("Use when the user wants to interact with CATS data"), so the missing-trigger cap does not apply, and the what/when pair sits above anchor 3's missing-when case. However, the "what" ("Manage data, records, and automate workflows") is too vague to be a clear capability statement, so it does not reach anchor 4's standard of a solid what plus an improvable when.

3 / 5

Trigger Term Quality

"Use when the user wants to interact with CATS data" provides the relevant keyword "CATS data", but there are no natural synonyms or variations users would say (recruiting, applicant tracking, candidates, catsone). This gives some relevant keywords while missing common variations, matching anchor 3.

3 / 5

Distinctiveness Conflict Risk

"CATS" names a specific app, giving it a niche, but the generic "manage data, records, and automate workflows" framing overlaps with many data-integration skills, and the body's link to thecatapi.com (a different product) invites confusion with a cat-pictures API. Somewhat specific but with real overlap/confusion risk, matching anchor 3.

3 / 5

Total

11

/

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