skills/clockify-api/SKILL.md
Query and tidy Clockify time entries using the Clockify REST API via `curl`, authenticated with the 1Password CLI.
npx skillsauth add michael-f-bryan/skills clockify-apiInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Use the [[Clockify]] API from the command line to:
This skill is intentionally lightweight. It does not require a generated client, custom code, or a local wrapper script. Use curl, jq, and the [[1Password]] CLI directly.
Use this skill when the task involves any of the following:
Do not use this skill when the user is asking for:
op remains authenticated across multiple commands.The [[Clockify]] API key is stored in [[1Password]] and should be read via op read.
Typical pattern:
op once in a shell sessionBecause op read requires an authenticated [[1Password]] session, the agent should prefer working inside a persistent terminal session when doing multi-step work. This can be:
tmuxop authentication stateDo not invent additional credential storage or copy secrets into files.
Assume the following command-line tools are available:
opcurljqIf jq is unavailable, raw JSON may be inspected directly, but jq is strongly preferred.
If the task will require multiple API calls, work in a single persistent shell session so the [[1Password]] session remains valid.
Examples of situations where this matters:
At the start of a Clockify task, resolve enough context to avoid guessing later. In practice this usually means:
Do not repeatedly call the same discovery endpoints unless needed.
When querying recent work, use explicit date ranges where possible.
Good:
Avoid vague ranges if a more precise one is easy to derive.
Before changing any time entries:
Bulk edits are useful, but they are also the easiest way to make a mess.
Before bulk changes:
Avoid fuzzy mass changes unless the user has explicitly asked for that and the reasoning is strong.
Do not:
op sessionFor most tasks, follow this order:
op read callscurljq to extract only the relevant fieldsUse straightforward shell commands.
General conventions:
X-Api-Key headerAccept: application/jsonContent-Type: application/json for mutating requestsjq for readabilityThis skill is primarily for the following classes of work:
Examples:
Examples:
Examples:
When relating Clockify entries to real work items such as [[Jira]] issues, prefer deterministic evidence in this order:
Avoid guessing based on vague semantic similarity alone.
If the match is uncertain:
When reporting back after a query, prefer compact, decision-useful output:
When reporting back before an edit, include:
This skill is not a full Clockify SDK.
It should remain:
Detailed API endpoints, example commands, and concrete workflows live under references/.
Consult the references/ directory for:
curl commandsOnly load the reference files needed for the task at hand.
documentation
Use when handling multi-step tasks, investigations, or long sessions where working notes, interim findings, and scratch planning are needed to keep context and handoffs clear.
documentation
When generating or editing markdown content, actively look for existing pages to link to and incorporate relevant wikilinks so content is interconnected. Use when writing notes, docs, or any .md content.
development
Wait for a GitHub Actions run to finish with minimal terminal output and a reliable exit code. Use when an agent must wait for CI to pass (e.g. after push, after opening a PR, or when verifying a specific run). Prefer gh run watch with --exit-status and --compact to avoid flooding context with poll output.
testing
Use when drafting, editing, or evaluating communication that should sound like Michael across public technical prose, internal notes, agent prompts, engineering feedback, and concise operational updates.