CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

clockify

Clockify integration. Manage Users, Reports. Use when the user wants to interact with Clockify 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/clockify/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

67%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 content is a solid, actionable integration guide: every command is concrete, auth edge cases (headless login, BUILDING/CLIENT_ACTION_REQUIRED states) are handled, and the proxy escape hatch is well documented. Its weaknesses are the padded what-is-Clockify intro and non-informative entity list, plus dangling 'Step 2' references that break the main workflow's coherence.

Suggestions

Delete or shrink the 'Clockify is a time tracking tool used by teams...' intro paragraph and the bare entity bullet list — Claude already knows what Clockify is; keep only entity names that map to actions.

Fix the dangling workflow references: 'skip to **Step 2**' appears twice but no Step 2 exists — either add numbered step headings (1. Connect, 2. Discover actions, 3. Run) or reword to point at the 'Searching for actions' section.

Add one complete end-to-end example, e.g. `membrane action run create-time-entry --connectionId=... --input '{"start":"...","projectId":"..."}' --json` and note how to verify success from the response, to close the actionability and workflow-validation gaps.

DimensionReasoningScore

Conciseness

The body is mostly lean commands, but the opening paragraph ("Clockify is a time tracking tool used by teams and individuals to monitor work hours across projects. It helps users track productivity, attendance, and billable hours...") explains what Clockify is — a concept Claude already knows — and the "Clockify Overview" entity list consists mostly of bare nouns ("**Project**", "**Task**", "**Client**") that add no actionable information. This matches 'mostly efficient but includes some unnecessary explanation or could be tightened', below anchor 4 where only minor trimming is needed.

3 / 5

Actionability

Concrete, copy-paste-ready commands appear throughout: `npm install -g @membranehq/cli@latest`, `membrane login --tenant --clientName=<agentType>`, `membrane connection ensure "https://clockify.me/" --json`, `membrane action run <actionId> --connectionId=... --input '{"key": "value"}'`, plus a full proxy flag table and a popular-actions table. It falls short of anchor 5 because there is no complete end-to-end example with a real action ID and input, and the referenced "Step 2" is never defined, leaving a gap in executable guidance.

4 / 5

Workflow Clarity

The sequence — install CLI, authenticate (including headless fallback with `membrane login complete <code>`), `connection ensure`, poll with `--wait` until READY, handle `CLIENT_ACTION_REQUIRED` via clientAction fields, search actions by intent, run, then proxy fallback — is clear with explicit state-handling checkpoints. It does not reach anchor 5 because 'Step 2' is referenced twice but no Step 2 section exists, and running/creating actions has no validation of output (e.g. checking the `output` field or error states).

4 / 5

Progressive Disclosure

The single SKILL.md is well sectioned with headers and tables, and the full action catalog is correctly kept out of the file in favor of runtime discovery via `membrane action list --intent`, which is the right disclosure pattern for a dynamic catalog. It sits at anchor 4 rather than 5 because the 20-row popular-actions table and the entity overview are inline content that could live in a reference file, and there are no bundle files at all to split into.

4 / 5

Total

15

/

20

Passed

Description

66%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 is distinctive and correctly structured with an explicit 'Use when' clause, but it undersells the skill. 'Manage Users, Reports' is generic and omits the core Clockify vocabulary (time tracking, time entries, timesheets) that users naturally say and that would improve both trigger coverage and specificity.

Suggestions

Replace the generic 'Manage Users, Reports' with concrete operations, e.g. 'Create, update, and list time entries, projects, tasks, users, and generate reports in Clockify'.

Expand trigger terms to include natural user vocabulary such as 'time tracking', 'timesheet', 'time entries', 'timer', and 'billable hours', e.g. 'Use when the user mentions Clockify, time tracking, timesheets, or tracking work hours.'

DimensionReasoningScore

Specificity

"Clockify integration. Manage Users, Reports." names the domain and two concrete areas (Users, Reports), but the verb "Manage" is generic and the capability list is not comprehensive. This matches the anchor for naming the domain with 1-2 concrete actions, and falls below anchor 4 because no specific operations (create/list/update time entries, generate reports) are enumerated.

3 / 5

Completeness

Both parts are explicit: what ("Clockify integration. Manage Users, Reports.") and when ("Use when the user wants to interact with Clockify data"). It fits anchor 4 — the 'when' is present and reasonably concrete, the 'what' could be more specific — and not anchor 5, whose example enumerates concrete trigger phrases and multiple specific operations.

4 / 5

Trigger Term Quality

Relevant keywords are present ("Clockify", "Users", "Reports", "Clockify data"), but the natural phrases a Clockify user would actually say — "time tracking", "timesheet", "time entries", "timer", "billable hours" — are all missing. Some relevant keywords without common variations matches anchor 3; it is above anchor 2 because the app name itself is a natural, specific trigger.

3 / 5

Distinctiveness Conflict Risk

"Clockify integration... Use when the user wants to interact with Clockify data" claims a clear single-app niche with the app name as the distinct trigger, so the risk of firing for an unrelated skill is minimal. This matches the anchor for a clear niche with distinct triggers and minimal conflict risk.

5 / 5

Total

15

/

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