CtrlK
BlogDocsLog inGet started
Tessl Logo

semaphore

Semaphore integration. Manage Organizations. Use when the user wants to interact with Semaphore data.

56

Quality

65%

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

Quality

Content

68%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 highly actionable with concrete, executable Membrane commands covering connection, action discovery, and proxying, but it is held back by a redundant CI/CD intro and a workflow whose destructive proxy path lacks verification plus a dangling "Step 2" reference. Progressive disclosure is solid for a single-file skill.

Suggestions

Remove or trim the introductory paragraph explaining what Semaphore/CI-CD is — Claude already knows this — and cut rhetorical padding like "so you can focus on the integration logic rather than auth plumbing".

Add a verification checkpoint after running actions and especially after proxy requests (e.g., inspect the `output`/response status, confirm the resource changed, handle non-2xx) so destructive methods are not fired blindly.

Fix the dangling "skip to Step 2" / "1b" labeling by adding an explicit numbered Step 1 / Step 2 structure for the connect-and-wait flow.

DimensionReasoningScore

Conciseness

The body is mostly command-dense and efficient, but opens with "Semaphore is a CI/CD platform that automates software testing and deployment..." — a concept Claude already knows — and includes flourishes like "so you can focus on the integration logic rather than auth plumbing". This fits 'mostly efficient but includes some unnecessary explanation', above 2 (not heavily padded) but below 4 (the intro and rhetorical padding remain).

3 / 5

Actionability

It provides fully executable, copy-paste-ready commands for every common case — `npm install -g @membranehq/cli@latest`, `membrane connection ensure`, `connection get <id> --wait --json`, `action list/run`, and `membrane request` — plus a concrete proxy flag table. Placeholders like CONNECTION_ID and <actionId> are clearly signaled, matching the 'fully executable, copy-paste ready, covers common cases' anchor.

5 / 5

Workflow Clarity

There is a real sequence with state-polling feedback loops (poll until not BUILDING, re-check after clientAction, inspect `error` on CONFIGURATION_ERROR), but it is capped at 3: the proxy path supports destructive methods (DELETE/PUT) with no verification of the result, and "skip to Step 2" references a Step 2 header that does not exist. It is above 2 (sequence and some checkpoints exist) but cannot exceed 3 under the destructive-operation cap and the dangling step reference.

3 / 5

Progressive Disclosure

The file is well-organized into clear sections (Overview, Working with Semaphore, Connecting, Searching, Popular actions, Proxy, Best practices) with no nested references. It is below 5 because some inline material — the detailed `clientAction` field breakdown and the proxy option table — could live in a one-level-deep reference file, and above 3 because structure and navigation are already good.

4 / 5

Total

15

/

20

Passed

Description

62%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 pairs a Use-when trigger with a named, distinct service, but its capability list is thin — it only surfaces Organizations while the body reveals many more Semaphore resources. Trigger-term coverage is adequate but omits the CI/CD vocabulary users most often use.

Suggestions

Expand "Manage Organizations" into a concise list of concrete capabilities (e.g., manage Projects, Environments, Deployments, Secrets, Users, and Teams) so the what is comprehensive rather than a single entity.

Add natural trigger terms users actually say — "CI/CD pipelines", "Semaphore projects", "deployments", "secrets" — alongside "Semaphore" to broaden trigger coverage.

Keep the explicit "Use when..." clause but tie it to those concrete triggers (e.g., "Use when the user wants to manage Semaphore projects, deployments, secrets, or organizations").

DimensionReasoningScore

Specificity

"Manage Organizations" names the Semaphore domain and one concrete action, matching the anchor for 1-2 concrete actions that are not comprehensive. It is above 2 because a real action on a named entity is given, but below 4 because only Organizations is named despite the body covering Projects, Deployments, Secrets, Users, and Teams.

3 / 5

Completeness

It has both a "what" ("Semaphore integration. Manage Organizations.") and an explicit "when" ("Use when the user wants to interact with Semaphore data"), so it clears the cap that a missing Use-when clause would impose. It is not 5 because the "what" is narrow (only Organizations) rather than a comprehensive concrete capability list.

4 / 5

Trigger Term Quality

The natural keyword "Semaphore" appears in "Semaphore integration" and "interact with Semaphore data", plus the entity "Organizations", but common variations users actually say (CI/CD, pipelines, projects, deployments, secrets) are missing. It fits the 'some relevant keywords but missing common variations' anchor, not 4 which expects broader coverage.

3 / 5

Distinctiveness Conflict Risk

"Semaphore" is a specific named service, giving a distinct trigger with only minor overlap risk against generic org-management skills. It is not 5 because the broad phrase "interact with Semaphore data" and the generic "Manage Organizations" leave some ambiguity about scope.

4 / 5

Total

14

/

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.

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