CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

clicktime

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

Quality

61%

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

Quality

Content

65%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 a well-structured, highly actionable runbook for the Membrane CLI workflow with concrete commands at every step, though it dangles a 'Step 2' reference and never shows how action keys map to actionIds. Its main structural weakness is that everything — including a large action catalog — is inlined in one ~180-line file with no bundle references, and destructive operations lack validation guidance.

Suggestions

Fix the dangling 'skip to Step 2' reference by numbering the workflow steps explicitly (1. connect, 2. search actions, 3. run), and add concrete recovery guidance for CONFIGURATION_ERROR/SETUP_FAILED.

Add validation guidance for destructive operations: e.g. get-time-entry / list-jobs to confirm the right record before delete-time-entry or delete-job, and verify the output after update actions.

Move the 20-row popular-actions catalog and the clientAction state reference into a references/ file (e.g. references/actions.md), keeping SKILL.md a lean overview with well-signaled one-level-deep links.

Show one concrete end-to-end example resolving an action key from the table into a real 'membrane action run' command so the <actionId> placeholder is unambiguous.

DimensionReasoningScore

Conciseness

The body is dominated by lean, copy-pasteable commands and tables with little padding; examples: 'npm install -g @membranehq/cli@latest', 'membrane connection ensure "https://www.clicktime.com/" --json'. Minor over-explanation could be trimmed — the ClickTime marketing-style opener ('It's used by businesses to track employee time...'), 'This is the fastest way to get a connection', and 'so you can focus on the integration logic rather than auth plumbing' — keeping it at the 'efficient; minor instances of over-explanation' anchor rather than 5.

4 / 5

Actionability

Nearly every section gives an executable command (login, connection ensure/get with --wait, action list with --intent, action run with --input JSON, request with a flags table), matching 'mostly executable guidance; concrete code or commands with minor gaps'. The gaps: 'If the returned connection has state: READY, skip to Step 2' references a step label that doesn't exist, and the popular-actions table gives action keys (e.g. 'create-time-entry') without ever showing how to resolve a key into the <actionId> used by 'membrane action run'.

4 / 5

Workflow Clarity

A real sequence exists (install → login → connection ensure → poll/handle state → search actions → run/proxy) with a genuine feedback loop for connection states (BUILDING → poll, CLIENT_ACTION_REQUIRED → act and re-poll), but checkpoints are implicit in section order rather than numbered steps, the 'Step 2' pointer dangles, and CONFIGURATION_ERROR recovery is just 'check the error field'. More importantly, the skill surfaces destructive operations (delete-time-entry, delete-job, delete-user-adjacent actions in the popular table) with no validation/verification guidance, which caps workflow clarity at 3.

3 / 5

Progressive Disclosure

The single file has good section structure (Overview, Install, Authentication, Connecting, Searching, Running, Proxy, Best practices) but there is no bundle at all — no references/, scripts/, or assets/ — and ~180 lines of content that belongs in separate files is inlined, notably the 20-row popular-actions catalog and the clientAction state documentation. This fits 'some structure but could be better organized; content that should be separate is inline' rather than the 2 anchor, since structure is not minimal and navigation is easy.

3 / 5

Total

14

/

20

Passed

Description

41%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 identifies a specific niche (ClickTime) and includes a 'Use when...' clause, but describes the skill only in generic terms ('manage data, records, and automate workflows') with no concrete ClickTime-specific capabilities or natural user vocabulary. It would benefit most from enumerating real capabilities and the phrases users actually say.

Suggestions

Replace the generic 'Manage data, records, and automate workflows' with concrete ClickTime capabilities, e.g. 'Track and edit time entries, manage jobs/projects and clients, submit expenses, and pull time reports'.

Expand the trigger clause with natural user phrasing and synonyms: 'Use when the user mentions ClickTime, timesheets, time tracking, time entries, expense sheets, or ClickTime jobs/clients/users'.

Mention the resource-management and reporting surfaces so the description distinguishes itself from generic time-tracking integrations.

DimensionReasoningScore

Specificity

The description names the domain ("ClickTime integration") but the actions are generic: "Manage data, records, and automate workflows" could apply to almost any business app. No concrete ClickTime capabilities (timesheets, time entries, expenses, jobs/projects, reports) are mentioned, matching the 'names the domain but actions are minimal or generic' anchor rather than the 3 anchor's 1-2 concrete actions.

2 / 5

Completeness

Both a 'what' ("Manage data, records, and automate workflows") and a 'when' ("Use when the user wants to interact with ClickTime data") are present, so it clears the missing-trigger cap of 3, but the 'what' remains too vague to constitute a clear statement of what the skill concretely does — it sits noticeably below the 4 anchor, whose example has concrete actions paired with the 'when' clause.

3 / 5

Trigger Term Quality

The only natural keyword is "ClickTime" itself; the trigger phrasing "interact with ClickTime data" is itself generic. Users would naturally say 'timesheet', 'time entry', 'expense report', 'time tracking', or 'ClickTime job/project', none of which appear, fitting the 'one or two generic keywords; missing the natural phrases users say' anchor.

2 / 5

Distinctiveness Conflict Risk

ClickTime is a specific niche application, so the description is unlikely to trigger for the wrong skill, fitting 'mostly distinct; minor overlap risk'. It falls short of the 5 anchor because the only distinguishing trigger is the app name itself — no distinct trigger phrases for ClickTime subdomains (time tracking, expenses, resource management) that would separate it from other time-tracking integrations.

4 / 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/clicktime/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.