Automatic time tracking through the TimeClock desktop REST API. Manages clock-in/out, task creation from plans, and task switching to keep TimeClock synchronized with development work.
How this skill is triggered — by the user, by Claude, or both
Slash command
/timeclock-integration:timeclock-apiThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
This skill enables automatic time tracking through the TimeClock desktop application's REST API on `http://localhost:7843`. It manages clock-in/out, task creation, and task switching to keep TimeClock synchronized with the developer's current work.
This skill enables automatic time tracking through the TimeClock desktop application's REST API on http://localhost:7843. It manages clock-in/out, task creation, and task switching to keep TimeClock synchronized with the developer's current work.
Use this skill when:
The TimeClock desktop application must be running. If API calls fail with connection errors, inform the user that TimeClock does not appear to be running.
Base URL: http://localhost:7843 -- All endpoints prefixed with /api/. POST requests use Content-Type: application/json.
Returns clock-in state, active task, and elapsed time.
curl -s http://localhost:7843/api/status
Response when clocked in includes clocked_in: true, active_task (with id, name, breadcrumb), and elapsed_seconds.
Returns the full project/task tree. Projects contain children. Tasks are leaf nodes (only tasks can be clocked into).
curl -s http://localhost:7843/api/tasks
Creates a new project or task.
| Field | Type | Required | Description |
|---|---|---|---|
| name | string | Yes | Display name |
| node_type | string | No | "project" or "task" (default: "task") |
| parent_id | integer | Conditional | Required for tasks |
| color | string | No | Hex color e.g. "#ff8c00" |
curl -s -X POST http://localhost:7843/api/tasks -H "Content-Type: application/json" -d "{\"name\": \"Fix login bug\", \"node_type\": \"task\", \"parent_id\": 1}"
Clock in to a task. Requires task_id. Fails if already clocked in.
curl -s -X POST http://localhost:7843/api/clock-in -H "Content-Type: application/json" -d "{\"task_id\": 3}"
Clock out. No body needed.
curl -s -X POST http://localhost:7843/api/clock-out
Switch to a different task while staying clocked in. Requires task_id.
curl -s -X POST http://localhost:7843/api/switch-task -H "Content-Type: application/json" -d "{\"task_id\": 5}"
Returns today's hours worked, remaining, and target.
curl -s http://localhost:7843/api/today
When TimeClock integration is active for a session (indicated by the SessionStart hook), follow these rules automatically:
/api/status to see if already clocked in/api/tasks to find a task matching the current workWhen a plan is approved (ExitPlanMode) or a plan file is written:
/api/tasks for an existing project matching the plan's scopePOST /api/tasks (node_type: project)When a development task is completed (TODO marked done, commit made, test passing):
/api/switch-taskWhen the work topic clearly changes mid-session:
/api/status to see the current TimeClock task/api/switch-task/api/status before clock-in or switch to avoid errors/api/switch-task instead of clock-out + clock-in when changing tasksparent_id (tasks need a parent project)npx claudepluginhub columbiafit/timeclock-marketplace --plugin timeclock-integrationInteractive timesheet entry — collects work description, date, start/end times via prompts, calculates hours, appends to .campaign/timesheet.md
Tracks time on tasks with timers or manual entries and generates timesheet reports. Use when logging hours, starting/stopping timers, or asking 'how much time was spent?'
Automates Wakatime operations via Composio's Wakatime toolkit through Rube MCP. Always discovers current tool schemas before execution.