pp-clockify
Every Clockify feature, plus a local time database that reconstructs your weekly timesheet, finds untracked gaps, and audits billable hours. Trigger phrases: `fill my timesheet`, `reconstruct my week in clockify`, `did I log all my hours`, `what can I invoice right now`, `where did my week go`, `use clockify`, `run clockify-pp-cli`. Not for: non-Clockify time trackers (Toggl, Harvest), payroll runs, or calendar scheduling.
What this skill does
<!-- GENERATED FILE — DO NOT EDIT.
This file is a verbatim mirror of library/productivity/clockify/SKILL.md,
regenerated post-merge by tools/generate-skills/. Hand-edits here are
silently overwritten on the next regen. Edit the library/ source instead.
See the repository agent guide, section "Generated artifacts: registry.json, cli-skills/". -->
# Clockify — Printing Press CLI
## Prerequisites: Install the CLI
This skill drives the `clockify-pp-cli` binary. **You must verify the CLI is installed before invoking any command from this skill.** If it is missing, install it first:
1. Install via the Printing Press installer. It defaults binaries to `$HOME/.local/bin` on macOS/Linux and `%LOCALAPPDATA%\Programs\PrintingPress\bin` on Windows:
```bash
npx -y @mvanhorn/printing-press-library install clockify --cli-only
```
2. Verify: `clockify-pp-cli --version`
3. Ensure the reported install directory is on `$PATH` for the agent/runtime that will invoke this skill.
If the `npx` install fails (no Node, offline, etc.), fall back to a direct Go install (requires Go 1.26.3 or newer):
```bash
go install github.com/mvanhorn/printing-press-library/library/productivity/clockify/cmd/clockify-pp-cli@latest
```
If `--version` reports "command not found" after install, the runtime cannot see the binary directory on `$PATH`. Do not proceed with skill commands until verification succeeds.
## When to Use This CLI
Use this CLI when an agent or user needs to work with Clockify time data programmatically: filling or reviewing a weekly timesheet, checking that all hours are logged before submission, auditing billable time before invoicing, summarizing where time went over a range, or driving any Clockify resource (projects, clients, expenses, invoices, time-off, approvals) from the terminal. Prefer the offline commands (timesheet, recap, audit, search) after a sync — they are instant and need no network.
## Unique Capabilities
These capabilities aren't available in any other tool for this API.
### Timesheet intelligence
- **`timesheet week`** — Rebuild your whole weekly timesheet grid offline — every project and task across each weekday, with per-day, per-project, and weekly totals.
_Reach for this when an agent needs the full week at a glance instead of paging raw time-entry JSON._
```bash
clockify-pp-cli timesheet week --agent
```
- **`timesheet gaps`** — Find the days you are short — compares each day's tracked hours against your workday target and reports the missing time before you submit.
_Use this before submitting a timesheet so an agent can flag under-logged days instead of the user discovering them at month-end._
```bash
clockify-pp-cli timesheet gaps --workday 8h --agent
```
- **`team timesheets`** — See who has not submitted — diffs the full workspace user list against the week's approval requests so the people who forgot are visible, not invisible.
_Use this for a manager's Monday approval sweep to chase non-submitters without clicking through every member._
```bash
clockify-pp-cli team timesheets --agent
```
- **`backfill`** — Reconstruct the time you forgot to track — turn a CSV export, your shell history, or a CLI session log into draft time entries, review them, then commit them to Clockify.
_Reach for this when the timer was never started — an agent can draft entries from logs the user already has instead of losing the time._
```bash
clockify-pp-cli backfill --from session-log --file ./session.jsonl --agent
```
### Billable revenue protection
- **`audit billable`** — Catch the misfiled entries that silently drop off invoices — billable time with no project, billable tasks marked non-billable, and untagged billable entries.
_Run this at invoice time so an agent surfaces revenue leakage before the billing period closes._
```bash
clockify-pp-cli audit billable --agent
```
- **`billable pending`** — The invoice-ready number — sums billable time not yet covered by any synced invoice, grouped by client.
_Use this before raising an invoice so an agent knows exactly how much uninvoiced billable time exists per client._
```bash
clockify-pp-cli billable pending --agent
```
- **`projects burn`** — Estimate vs actual per project — hours logged against the project's budget or time estimate, with percent consumed.
_Reach for this when an agent needs to flag projects about to blow their estimate before the overrun happens._
```bash
clockify-pp-cli projects burn --agent
```
### Local time database
- **`recap`** — A ranked breakdown of where your tracked time went — by project, client, and tag, with the billable vs non-billable split and percentage of the total.
_Reach for this for a fast time-allocation summary instead of running and parsing a Clockify web report._
```bash
clockify-pp-cli recap --range last-month --agent
```
- **`search`** — Full-text search across every synced time-entry description and project, task, client, and tag name.
_Use this to locate a past entry by description without paginating the live API._
```bash
clockify-pp-cli search "client onboarding" --agent
```
## Command Reference
**addons** — Manage addons
**approval-requests** — Manage approval requests
- `clockify-pp-cli approval-requests create-approval-for-other` — Submit an approval request for a user
- `clockify-pp-cli approval-requests create-apprroval-request` — Submit approval request
- `clockify-pp-cli approval-requests get` — Get approval requests
- `clockify-pp-cli approval-requests resubmit` — Submit non pending/approved entries/expenses for approval to an existing approval request
- `clockify-pp-cli approval-requests resubmit-for-other` — Re-submit rejected/withdrawn entries/expenses for an approval of a user
- `clockify-pp-cli approval-requests update-approval-status` — Update an approval request
**clients** — Manage clients
- `clockify-pp-cli clients create` — Add a new client
- `clockify-pp-cli clients delete` — Delete a client
- `clockify-pp-cli clients get` — Find clients on a workspace
- `clockify-pp-cli clients get-workspaces` — Get a client by ID
- `clockify-pp-cli clients update` — Update a client
**cost-rate** — Manage cost rate
- `clockify-pp-cli cost-rate <workspaceId>` — Update workspace cost rate
**custom-fields** — Manage custom fields
- `clockify-pp-cli custom-fields create` — Create custom fields on a workspace
- `clockify-pp-cli custom-fields delete` — Delete a custom field
- `clockify-pp-cli custom-fields edit` — Update custom field on workspace
- `clockify-pp-cli custom-fields of-workspace` — Get custom fields on a workspace
**entities** — Manage entities
- `clockify-pp-cli entities get-created-entity-info` — Retrieves records from the database collection that were created within a specified date range. The date range is...
- `clockify-pp-cli entities get-deleted-entity-info` — Retrieves a list of record(s) that were deleted within a specified date range. The date range is determined by the...
- `clockify-pp-cli entities get-updated-entity-info` — Retrieves records that were updated within the specified date range. The date range is determined by the two...
**expenses** — Manage expenses
- `clockify-pp-cli expenses create` — Create an expense
- `clockify-pp-cli expenses create-category` — Add an expense category
- `clockify-pp-cli expenses delete` — Delete an expense
- `clockify-pp-cli expenses delete-category` — Delete an expense category
- `clockify-pp-cli expenses get` — Get all expenses on a workspace
- `clockify-pp-cli expenses get-categories` — Get all expense categories
- `clockify-pp-cli expenses get-workspaces` — Get an expense by ID
- `clockify-pp-cli expenses update` — Update an expense
- `clockify-pp-cli expenses update-category` — Update an expense category
- `clockify-pp-cli expenses update-category-status` — Archive an expense category
**file** — Manage file
- `clockify-pp-cli file` — Add a photo
**holiRelated in Productivity
gitea-workflow
IncludedOrchestrate agile development workflows for Gitea repositories using the tea CLI. Use when working with Gitea-hosted repos and asking to 'run the workflow', 'continue working', 'what's next', 'complete the task cycle', 'start my day', 'end the sprint', 'implement the next task', or wanting guided step-by-step development assistance. Keywords: workflow, orchestrate, agile, task cycle, sprint, daily, implement, review, PR, standup, retrospective, gitea, tea.
microsoft-graph-gateway
IncludedRoute Microsoft Graph work in this workspace. Use when users want to read or write Outlook mail, calendar events, contacts, OneDrive or SharePoint files, Teams, Planner, To Do, users, groups, directory data, or arbitrary Microsoft Graph endpoints from VS Code. Prefer WorkIQ for common read scenarios. Use Microsoft Graph for write actions and gap-read scenarios that need exact Graph properties, filters, permissions, or endpoints.
copilotkit
IncludedUse when building with CopilotKit — setup, development, integrations, debugging, upgrading, or contributing. Routes to the appropriate specialized skill based on the task.
wordly-wisdom
IncludedProvides calibrated decision analysis using Charlie Munger-style multiple mental models, inversion, incentive mapping, circle-of-competence checks, misjudgment audits, second-order effects, and forecast updates. Use when the user asks for an oracle take, a hard call, a decision memo, a premortem, an outside view, a red-team, a sanity-check, what am I missing, think this through, or wants a strategy, hire, investment, plan, product, partnership, or major life choice analysed. Avoid for simple factual lookups or time-sensitive legal, medical, or market questions without fresh evidence.
swain-session
IncludedSession management and project status dashboard. Owns the full session lifecycle (start/work/close/resume), focus lane, bookmarks, worktree detection, and tab naming. Also serves as the project status dashboard — shows active epics, progress, actionable next steps, blocked items, tasks, GitHub issues, and recommendations. Worktree creation is deferred to swain-do task dispatch (SPEC-195). Triggers on: 'session', 'status', 'what's next', 'dashboard', 'overview', 'where are we', 'what should I work on', 'show me priorities', 'bookmark', 'focus on', 'session info'.
gandi
IncludedComprehensive Gandi domain registrar integration for domain and DNS management. Register and manage domains, create/update/delete DNS records (A, AAAA, CNAME, MX, TXT, SRV, and more), configure email forwarding and aliases, check SSL certificate status, create DNS snapshots for safe rollback, bulk update zone files, and monitor domain expiration. Supports multi-domain management, zone file import/export, and automated DNS backups. Includes both read-only and destructive operations with safety controls.