CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

companycam

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

Quality

53%

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

Quality

Content

38%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 skill's operative Membrane CLI guidance (roughly the last 150 lines) is genuinely good — executable commands, connection state-machine handling, an actions table, and sensible best practices. However, it is buried under ~850 lines of irrelevant auto-generated entity padding that dominates the file, wrecks token efficiency, and breaks both navigation and workflow coherence.

Suggestions

Delete the entire "CompanyCam Overview" bullet list (lines 21–897): it contains irrelevant items (Greek gods, exoplanets, foundations, legal doctrines), duplicates entries, and terminates mid-item; at most keep the handful of real CompanyCam entities (User, Company, Project, Photo, Tag, etc.).

Fix the workflow numbering: the text says "skip to Step 2" but no Step 2 heading exists; label the sections as Step 1 (connect), Step 2 (search actions), Step 3 (run actions), Step 4 (proxy fallback) so the sequence is followable.

Add validation checkpoints before destructive or batch operations (e.g. confirm the project ID via get-project before delete-project, and verify responses after proxy writes) to raise workflow clarity.

If the full CompanyCam entity/API surface needs documenting, move it to a references/ file (e.g. references/entities.md) and link to it from a short overview, restoring progressive disclosure.

DimensionReasoningScore

Conciseness

The "CompanyCam Overview" section is roughly 850 lines of bullet points (Zeus, Kepler-800b, foundations, legal terms, NGOs) that are not merely explanations Claude already knows but entirely irrelevant padding, and it even cuts off mid-item ("**Ke"). This squarely matches anchor 1 ("Severely verbose... heavily padded"); no anchor below exists.

1 / 5

Actionability

The Membrane sections give concrete, runnable commands (npm install, membrane login, connection ensure, action list/run with --input JSON, request with flags) plus a Popular actions table, matching anchor 4 ("Mostly executable guidance; concrete code or commands with minor gaps"). It falls short of anchor 5 only because examples use placeholders (CONNECTION_ID, <actionId>) with no single worked end-to-end example and pagination handling is never demonstrated.

4 / 5

Workflow Clarity

A real sequence exists (install → authenticate → connection ensure → poll state → search actions → run/proxy) with state-machine guidance for CLIENT_ACTION_REQUIRED and error states, but it references a "Step 2" that is never labeled, and destructive actions (delete-project, delete-photo) and raw proxy writes have no validation/verification checkpoints. The destructive/batch cap limits this to anchor 3 ("Steps listed but validation gaps").

3 / 5

Progressive Disclosure

No references/, scripts/, or assets/ directories exist, and the giant entity list is inlined into SKILL.md when it clearly belongs in a separate file (or nowhere) — the textbook anchor 2 case ("content that clearly belongs in separate files is inlined"). It is not a 1 because the operative sections do have usable headers and a table, but it cannot reach 3 while ~850 lines of irrelevant bulk sit inline.

2 / 5

Total

10

/

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 has a clear, explicit trigger clause naming the CompanyCam app, which gives it good distinctiveness, but its statement of capabilities is thin and inaccurate. "Manage Organizations" both undersells the skill (projects, photos, users, tags) and misrepresents its primary entities.

Suggestions

Replace "Manage Organizations" with the skill's real capabilities, e.g. "Manage CompanyCam projects, photos, users, and tags via the Membrane CLI, including creating, updating, and deleting records."

Broaden trigger terms to include natural synonyms users might say, such as jobsite photos, project photos, or contractor documentation, alongside the app name.

Ensure the "what" clause aligns with the body's actual action set (the Popular actions table lists list/create/update/delete for projects, photos, users, and tags) so users and Claude can accurately route to this skill.

DimensionReasoningScore

Specificity

"CompanyCam integration. Manage Organizations." names the domain but offers only one generic action ("Manage"), which also mischaracterizes the skill's actual capabilities (projects, photos, users). It matches anchor 2 ("Names the domain but actions are minimal or generic") and falls short of anchor 3, which requires genuinely concrete actions.

2 / 5

Completeness

The "when" is explicitly answered ("Use when the user wants to interact with CompanyCam data"), but the "what" ("Manage Organizations") is vague and inaccurate, so it does not meet anchor 4's bar of both being solidly present. It sits above anchor 3's example only because the "when" clause is present rather than missing.

3 / 5

Trigger Term Quality

The only natural keyword is "CompanyCam" ("Use when the user wants to interact with CompanyCam data"), which is the phrase users would say, but there are no synonyms or domain terms like jobsite photos, projects, or contractors. This matches anchor 3 ("Some relevant keywords but missing common variations or synonyms"); anchor 4 would require broader keyword coverage.

3 / 5

Distinctiveness Conflict Risk

Naming the specific app (CompanyCam) in both the what and when clauses creates a clear niche with distinct triggers, but the generic "Manage Organizations" phrasing carries minor overlap risk with other organization-management skills. This fits anchor 4 ("Mostly distinct; minor overlap risk"); anchor 5 would drop that generic phrasing.

4 / 5

Total

12

/

20

Passed

Validation

87%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (1045 lines); consider splitting into references/ and linking

Warning

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

14

/

16

Passed

Repository

membranedev/application-skills

Path

skills/companycam/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.