clawck 0.1.3 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +214 -166
- package/dist/cli/index.js +490 -53
- package/dist/cli/index.js.map +1 -1
- package/dist/core/clawck.d.ts +14 -3
- package/dist/core/clawck.d.ts.map +1 -1
- package/dist/core/clawck.js +41 -14
- package/dist/core/clawck.js.map +1 -1
- package/dist/core/database.d.ts +1 -0
- package/dist/core/database.d.ts.map +1 -1
- package/dist/core/database.js +26 -7
- package/dist/core/database.js.map +1 -1
- package/dist/core/patterns.d.ts +7 -0
- package/dist/core/patterns.d.ts.map +1 -0
- package/dist/core/patterns.js +36 -0
- package/dist/core/patterns.js.map +1 -0
- package/dist/core/types.d.ts +31 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/core/webhooks.d.ts +22 -0
- package/dist/core/webhooks.d.ts.map +1 -0
- package/dist/core/webhooks.js +70 -0
- package/dist/core/webhooks.js.map +1 -0
- package/dist/hooks/adapters.d.ts +8 -0
- package/dist/hooks/adapters.d.ts.map +1 -0
- package/dist/hooks/adapters.js +138 -0
- package/dist/hooks/adapters.js.map +1 -0
- package/dist/hooks/handler.d.ts +9 -0
- package/dist/hooks/handler.d.ts.map +1 -0
- package/dist/hooks/handler.js +90 -0
- package/dist/hooks/handler.js.map +1 -0
- package/dist/hooks/index.d.ts +10 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/index.js +23 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/hooks/install.d.ts +16 -0
- package/dist/hooks/install.d.ts.map +1 -0
- package/dist/hooks/install.js +239 -0
- package/dist/hooks/install.js.map +1 -0
- package/dist/hooks/session.d.ts +10 -0
- package/dist/hooks/session.d.ts.map +1 -0
- package/dist/hooks/session.js +72 -0
- package/dist/hooks/session.js.map +1 -0
- package/dist/hooks/stdin.d.ts +6 -0
- package/dist/hooks/stdin.d.ts.map +1 -0
- package/dist/hooks/stdin.js +38 -0
- package/dist/hooks/stdin.js.map +1 -0
- package/dist/hooks/types.d.ts +23 -0
- package/dist/hooks/types.d.ts.map +1 -0
- package/dist/hooks/types.js +7 -0
- package/dist/hooks/types.js.map +1 -0
- package/dist/reports/html.d.ts +13 -0
- package/dist/reports/html.d.ts.map +1 -0
- package/dist/reports/html.js +321 -0
- package/dist/reports/html.js.map +1 -0
- package/dist/reports/pdf.d.ts +13 -0
- package/dist/reports/pdf.d.ts.map +1 -0
- package/dist/reports/pdf.js +169 -0
- package/dist/reports/pdf.js.map +1 -0
- package/dist/server/api.d.ts.map +1 -1
- package/dist/server/api.js +16 -0
- package/dist/server/api.js.map +1 -1
- package/dist/server/mcp.d.ts.map +1 -1
- package/dist/server/mcp.js +30 -9
- package/dist/server/mcp.js.map +1 -1
- package/docs/skills/clawck-setup.md +131 -0
- package/docs/skills/clawck-usage.md +148 -0
- package/docs/snippets/claude-md.txt +24 -0
- package/docs/snippets/hooks-claude.json +16 -0
- package/docs/snippets/hooks-cline.txt +10 -0
- package/docs/snippets/hooks-codex.json +16 -0
- package/docs/snippets/hooks-cursor.json +16 -0
- package/docs/snippets/hooks-gemini.json +16 -0
- package/docs/snippets/hooks-windsurf.json +16 -0
- package/docs/snippets/mcp-config.json +7 -0
- package/docs/snippets/openclaw-agent-md.txt +18 -0
- package/docs/snippets/openclaw-heartbeat-md.txt +17 -0
- package/package.json +4 -2
package/dist/server/mcp.js
CHANGED
|
@@ -45,14 +45,14 @@ const readline = __importStar(require("readline"));
|
|
|
45
45
|
const TOOLS = [
|
|
46
46
|
{
|
|
47
47
|
name: 'clawck_start_task',
|
|
48
|
-
description: '
|
|
48
|
+
description: 'Clock yourself in — start tracking YOUR (the AI agent\'s) time on a task. Call this when you begin generating, reasoning, writing code, or taking actions for a task. Returns the entry ID needed to clock out later.',
|
|
49
49
|
inputSchema: {
|
|
50
50
|
type: 'object',
|
|
51
51
|
properties: {
|
|
52
|
-
task: { type: 'string', description: 'What
|
|
52
|
+
task: { type: 'string', description: 'What you (the AI agent) are working on (e.g., "Research grant opportunities for NEA funding")' },
|
|
53
53
|
project: { type: 'string', description: 'Project name (e.g., "grant-research", "website-rebuild")' },
|
|
54
54
|
client: { type: 'string', description: 'Client name (e.g., "acme-corp")' },
|
|
55
|
-
category: { type: 'string', enum: types_1.TASK_CATEGORIES, description: 'Type of work
|
|
55
|
+
category: { type: 'string', enum: types_1.TASK_CATEGORIES, description: 'Type of work — used to estimate how long a human would take to do the same task' },
|
|
56
56
|
agent: { type: 'string', description: 'Agent name/identifier' },
|
|
57
57
|
model: { type: 'string', description: 'Model being used (e.g., "claude-sonnet-4-20250514")' },
|
|
58
58
|
tags: { type: 'array', items: { type: 'string' }, description: 'Optional tags for filtering' },
|
|
@@ -62,7 +62,7 @@ const TOOLS = [
|
|
|
62
62
|
},
|
|
63
63
|
{
|
|
64
64
|
name: 'clawck_stop_task',
|
|
65
|
-
description: '
|
|
65
|
+
description: 'Clock yourself out — stop tracking YOUR (the AI agent\'s) time on a task. Call this when you finish generating your response, complete your actions, or are done with the task. Provide the entry ID from clawck_start_task.',
|
|
66
66
|
inputSchema: {
|
|
67
67
|
type: 'object',
|
|
68
68
|
properties: {
|
|
@@ -79,12 +79,12 @@ const TOOLS = [
|
|
|
79
79
|
},
|
|
80
80
|
{
|
|
81
81
|
name: 'clawck_log_task',
|
|
82
|
-
description: 'Log
|
|
82
|
+
description: 'Log your own completed work retroactively — use when you (the AI agent) did work but forgot to call clawck_start_task beforehand. Provide the duration of your computation/actions and details.',
|
|
83
83
|
inputSchema: {
|
|
84
84
|
type: 'object',
|
|
85
85
|
properties: {
|
|
86
|
-
task: { type: 'string', description: 'What
|
|
87
|
-
duration_minutes: { type: 'number', description: 'How long the
|
|
86
|
+
task: { type: 'string', description: 'What you (the AI agent) did' },
|
|
87
|
+
duration_minutes: { type: 'number', description: 'How long your (the AI agent\'s) work took in minutes' },
|
|
88
88
|
project: { type: 'string', description: 'Project name' },
|
|
89
89
|
client: { type: 'string', description: 'Client name' },
|
|
90
90
|
category: { type: 'string', enum: types_1.TASK_CATEGORIES, description: 'Type of work' },
|
|
@@ -101,7 +101,7 @@ const TOOLS = [
|
|
|
101
101
|
},
|
|
102
102
|
{
|
|
103
103
|
name: 'clawck_status',
|
|
104
|
-
description: 'Get currently running
|
|
104
|
+
description: 'Get your currently running time entries and overall Clawck stats. Shows what you (the AI agent) are clocked into right now.',
|
|
105
105
|
inputSchema: {
|
|
106
106
|
type: 'object',
|
|
107
107
|
properties: {},
|
|
@@ -109,7 +109,7 @@ const TOOLS = [
|
|
|
109
109
|
},
|
|
110
110
|
{
|
|
111
111
|
name: 'clawck_timesheet',
|
|
112
|
-
description: 'Get a timesheet summary for a date range. Shows agent hours, human
|
|
112
|
+
description: 'Get a timesheet summary of AI agent work for a date range. Shows agent computation hours, human-equivalent hours, costs, and savings.',
|
|
113
113
|
inputSchema: {
|
|
114
114
|
type: 'object',
|
|
115
115
|
properties: {
|
|
@@ -199,6 +199,27 @@ async function startMCPServer(config = {}) {
|
|
|
199
199
|
protocolVersion: '2024-11-05',
|
|
200
200
|
capabilities: { tools: {} },
|
|
201
201
|
serverInfo: { name: 'clawck', version: '0.1.2' },
|
|
202
|
+
instructions: `Clawck measures YOUR generation time — you, the AI agent, are the worker being timed. This is NOT human time tracking. You are measuring how long YOUR computation, reasoning, tool calls, and response generation take per turn. The resulting durations are typically seconds to minutes — the wall-clock time from when you start processing to when you finish generating.
|
|
203
|
+
|
|
204
|
+
## Generation Lifecycle Protocol
|
|
205
|
+
A "turn" is one message-received → message-sent cycle. You MUST time every turn automatically:
|
|
206
|
+
|
|
207
|
+
1. **START the timer immediately** when you receive a user message — call \`clawck_start_task\` BEFORE doing any other work. This marks the start of your generation.
|
|
208
|
+
2. **Process** the request (reason, call tools, write code, etc.). All tool calls within this turn are ONE generation cycle, not separate entries.
|
|
209
|
+
3. **STOP the timer** when your response is complete — call \`clawck_stop_task\` as the LAST action before sending your reply. This marks the end of your generation.
|
|
210
|
+
|
|
211
|
+
## What You Are Measuring
|
|
212
|
+
You are measuring YOUR active computation time — the time your model spends generating, reasoning, calling tools, and producing output. You are NOT tracking human work hours or project time. Think of it like a stopwatch on your own CPU: start when you begin processing, stop when you finish.
|
|
213
|
+
|
|
214
|
+
## Rules
|
|
215
|
+
- **Automatic**: Do this every turn without user prompting. Do not ask permission.
|
|
216
|
+
- **Multi-turn**: Each turn = one entry. A 5-message session = 5 separate time entries.
|
|
217
|
+
- **Always stop**: Even on errors or failures, call \`clawck_stop_task\` with \`status: "failed"\`.
|
|
218
|
+
- **Retroactive**: If you forgot to start the timer, use \`clawck_log_task\` with an estimated duration.
|
|
219
|
+
- **No idle time**: Do NOT track time between turns. Only measure your active generation within a turn.
|
|
220
|
+
- **Fields**: Always include \`project\` and \`client\` if known. Report \`tokens_in\`, \`tokens_out\`, and \`cost_usd\` when stopping if available. Use \`category\` to classify the type of work (code, research, content, etc.).
|
|
221
|
+
- **Task description**: Describe what YOU are doing this turn, e.g. "Refactor auth module per user request", not "User asked me to refactor".
|
|
222
|
+
- **Summary on stop**: Briefly describe what was accomplished or why it failed.`,
|
|
202
223
|
},
|
|
203
224
|
});
|
|
204
225
|
break;
|
package/dist/server/mcp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/server/mcp.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/server/mcp.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
# Clawck Setup Guide
|
|
2
|
+
|
|
3
|
+
Integrate Clawck generation time tracking into your AI agent platform. Clawck measures how long an AI agent's computation, reasoning, and response generation take per turn — it is NOT human time tracking.
|
|
4
|
+
|
|
5
|
+
## Claude Code
|
|
6
|
+
|
|
7
|
+
### 1. Add MCP Server
|
|
8
|
+
|
|
9
|
+
Add to your `mcp_servers.json` (or `~/.claude/mcp_servers.json` for global):
|
|
10
|
+
|
|
11
|
+
```json
|
|
12
|
+
{
|
|
13
|
+
"clawck": {
|
|
14
|
+
"command": "npx",
|
|
15
|
+
"args": ["-y", "clawck", "mcp"],
|
|
16
|
+
"env": {}
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
### 2. Add CLAUDE.md Instructions
|
|
22
|
+
|
|
23
|
+
Add the following to your project's `CLAUDE.md` (or `~/.claude/CLAUDE.md` for global):
|
|
24
|
+
|
|
25
|
+
```markdown
|
|
26
|
+
## Generation Time Tracking (Clawck)
|
|
27
|
+
|
|
28
|
+
You have Clawck tools via MCP that measure YOUR generation time — how long your computation, reasoning, tool calls, and response generation take. This is NOT human time tracking. You are timing your own AI processing.
|
|
29
|
+
|
|
30
|
+
You MUST time every turn automatically:
|
|
31
|
+
|
|
32
|
+
1. **Start of every turn**: Call `clawck_start_task` IMMEDIATELY when you receive a message, BEFORE doing any other work.
|
|
33
|
+
2. **End of every turn**: Call `clawck_stop_task` as the LAST action before sending your reply.
|
|
34
|
+
3. **Every turn**: Each user message = one generation cycle. A 5-message conversation = 5 time entries.
|
|
35
|
+
4. **Errors**: Always stop the timer even on failure — use `status: "failed"`.
|
|
36
|
+
5. **Forgot to start?** Use `clawck_log_task` with an estimated duration.
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
Run `clawck setup claude` to get the full snippet.
|
|
40
|
+
|
|
41
|
+
## OpenClaw
|
|
42
|
+
|
|
43
|
+
OpenClaw agents use behavioral files for persistent integration:
|
|
44
|
+
|
|
45
|
+
### AGENT.md
|
|
46
|
+
|
|
47
|
+
Add clawck rules to your `AGENT.md`. Run `clawck setup openclaw` for the snippet.
|
|
48
|
+
|
|
49
|
+
### HEARTBEAT.md
|
|
50
|
+
|
|
51
|
+
Add per-turn hooks to your `HEARTBEAT.md`. Run `clawck setup openclaw` for the snippet.
|
|
52
|
+
|
|
53
|
+
### SOUL.md
|
|
54
|
+
|
|
55
|
+
Add accountability identity to your `SOUL.md`:
|
|
56
|
+
|
|
57
|
+
```markdown
|
|
58
|
+
I track my own work time using Clawck. Every turn I clock in and out automatically.
|
|
59
|
+
This is part of my accountability to the humans I work for — they deserve to know
|
|
60
|
+
how their AI resources are being spent.
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
## Cursor / Cline / Windsurf
|
|
64
|
+
|
|
65
|
+
These editors support MCP servers. Add the clawck MCP config to:
|
|
66
|
+
|
|
67
|
+
- **Cursor**: `.cursor/mcp.json` in your project root
|
|
68
|
+
- **Cline**: VS Code settings → Cline → MCP Servers
|
|
69
|
+
- **Windsurf**: `.windsurf/mcp.json` in your project root
|
|
70
|
+
|
|
71
|
+
The MCP config block is the same for all:
|
|
72
|
+
|
|
73
|
+
```json
|
|
74
|
+
{
|
|
75
|
+
"clawck": {
|
|
76
|
+
"command": "npx",
|
|
77
|
+
"args": ["-y", "clawck", "mcp"],
|
|
78
|
+
"env": {}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
## API Agents (Python / n8n / LangGraph)
|
|
84
|
+
|
|
85
|
+
For agents that don't support MCP natively, use the Clawck REST API:
|
|
86
|
+
|
|
87
|
+
### Start the server
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
clawck serve --port 3456
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### Python wrapper
|
|
94
|
+
|
|
95
|
+
```python
|
|
96
|
+
import requests
|
|
97
|
+
import time
|
|
98
|
+
|
|
99
|
+
CLAWCK_URL = "http://localhost:3456/api"
|
|
100
|
+
|
|
101
|
+
def clawck_start(task, project="", client="", category="code"):
|
|
102
|
+
r = requests.post(f"{CLAWCK_URL}/start", json={
|
|
103
|
+
"task": task, "project": project, "client": client, "category": category
|
|
104
|
+
})
|
|
105
|
+
return r.json()["id"]
|
|
106
|
+
|
|
107
|
+
def clawck_stop(entry_id, status="completed", summary=""):
|
|
108
|
+
requests.post(f"{CLAWCK_URL}/stop", json={
|
|
109
|
+
"id": entry_id, "status": status, "summary": summary
|
|
110
|
+
})
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
### n8n / LangGraph
|
|
114
|
+
|
|
115
|
+
Use HTTP Request nodes to call the REST API at `http://localhost:3456/api/start` and `/api/stop` at the beginning and end of each agent turn.
|
|
116
|
+
|
|
117
|
+
## Quick Start CLI
|
|
118
|
+
|
|
119
|
+
```bash
|
|
120
|
+
# See all setup options
|
|
121
|
+
clawck setup
|
|
122
|
+
|
|
123
|
+
# Get CLAUDE.md snippet
|
|
124
|
+
clawck setup claude
|
|
125
|
+
|
|
126
|
+
# Get MCP config JSON
|
|
127
|
+
clawck setup mcp
|
|
128
|
+
|
|
129
|
+
# Get OpenClaw snippets
|
|
130
|
+
clawck setup openclaw
|
|
131
|
+
```
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
# Clawck Usage Protocol
|
|
2
|
+
|
|
3
|
+
Detailed guide for AI agents using Clawck to measure their own generation time.
|
|
4
|
+
|
|
5
|
+
## What Clawck Measures
|
|
6
|
+
|
|
7
|
+
Clawck measures **your active generation/computation time** — the wall-clock duration from when you start processing a user message to when you finish generating your response. This is NOT human time tracking. Typical durations are seconds to minutes. Think of it as a stopwatch on your own CPU.
|
|
8
|
+
|
|
9
|
+
The resulting data enables:
|
|
10
|
+
- **Billing**: How much compute time each task consumed
|
|
11
|
+
- **Cost analysis**: Tokens + cost per task/project/client
|
|
12
|
+
- **Human-equivalent estimates**: How long this work would take a human (calculated from the `category`)
|
|
13
|
+
- **ROI reporting**: Agent cost vs. human-equivalent cost
|
|
14
|
+
|
|
15
|
+
## Generation Lifecycle
|
|
16
|
+
|
|
17
|
+
Every agent turn follows this lifecycle:
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
User message received
|
|
21
|
+
│
|
|
22
|
+
▼
|
|
23
|
+
┌─ clawck_start_task ──────────┐
|
|
24
|
+
│ (start generation timer) │
|
|
25
|
+
└──────────────────────────────┘
|
|
26
|
+
│
|
|
27
|
+
▼
|
|
28
|
+
┌─ Process request ────────────┐
|
|
29
|
+
│ • Reason / plan │
|
|
30
|
+
│ • Call tools │
|
|
31
|
+
│ • Write code │
|
|
32
|
+
│ • Generate output │
|
|
33
|
+
│ (all ONE generation cycle) │
|
|
34
|
+
└──────────────────────────────┘
|
|
35
|
+
│
|
|
36
|
+
▼
|
|
37
|
+
┌─ clawck_stop_task ───────────┐
|
|
38
|
+
│ (stop generation timer) │
|
|
39
|
+
└──────────────────────────────┘
|
|
40
|
+
│
|
|
41
|
+
▼
|
|
42
|
+
Send response to user
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Multi-Message Tracking
|
|
46
|
+
|
|
47
|
+
Each turn in a conversation is timed independently:
|
|
48
|
+
|
|
49
|
+
| Turn | User Says | Agent Times |
|
|
50
|
+
|------|-----------|-------------|
|
|
51
|
+
| 1 | "Fix the login bug" | start → generate → stop (entry 1) |
|
|
52
|
+
| 2 | "Add tests for it" | start → generate → stop (entry 2) |
|
|
53
|
+
| 3 | "Deploy to staging" | start → generate → stop (entry 3) |
|
|
54
|
+
|
|
55
|
+
A 5-message session produces 5 time entries. This gives granular visibility into what each generation cycle cost.
|
|
56
|
+
|
|
57
|
+
## Field Guidelines
|
|
58
|
+
|
|
59
|
+
### task
|
|
60
|
+
Describe what YOU (the agent) are doing, not what the user asked:
|
|
61
|
+
- Good: "Refactor auth module to use JWT tokens"
|
|
62
|
+
- Bad: "User asked me to fix authentication"
|
|
63
|
+
|
|
64
|
+
### project
|
|
65
|
+
The project being worked on. Infer from context, directory name, or ask once and reuse:
|
|
66
|
+
- "website-rebuild", "grant-research", "api-v2"
|
|
67
|
+
|
|
68
|
+
### client
|
|
69
|
+
The client or organization. Infer from context or prior entries:
|
|
70
|
+
- "acme-corp", "internal", "cubicrew"
|
|
71
|
+
|
|
72
|
+
### category
|
|
73
|
+
Classify the type of work. Available categories:
|
|
74
|
+
- `code` — Writing, reviewing, or refactoring code
|
|
75
|
+
- `research` — Searching, reading, analyzing information
|
|
76
|
+
- `content` — Writing docs, emails, copy, blog posts
|
|
77
|
+
- `analysis` — Data analysis, reporting, insights
|
|
78
|
+
- `data_entry` — Data migration, formatting, entry
|
|
79
|
+
- `communication` — Emails, messages, outreach
|
|
80
|
+
- `testing` — Writing or running tests
|
|
81
|
+
- `design` — UI/UX design, mockups, wireframes
|
|
82
|
+
|
|
83
|
+
### summary (on stop)
|
|
84
|
+
Brief description of what was accomplished:
|
|
85
|
+
- "Fixed JWT token refresh logic and added error handling"
|
|
86
|
+
- "Searched 3 grant databases, found 2 relevant opportunities"
|
|
87
|
+
|
|
88
|
+
### tokens / cost (on stop)
|
|
89
|
+
Report if your platform provides this data:
|
|
90
|
+
- `tokens_in`: Input tokens consumed this turn
|
|
91
|
+
- `tokens_out`: Output tokens generated this turn
|
|
92
|
+
- `cost_usd`: Estimated cost in USD
|
|
93
|
+
|
|
94
|
+
## Edge Cases
|
|
95
|
+
|
|
96
|
+
### Errors / Failures
|
|
97
|
+
Always stop the timer even when things go wrong:
|
|
98
|
+
```
|
|
99
|
+
clawck_stop_task({ id: "...", status: "failed", summary: "Build failed due to missing dependency" })
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
### Forgot to Start the Timer
|
|
103
|
+
Use retroactive logging:
|
|
104
|
+
```
|
|
105
|
+
clawck_log_task({ task: "Debug API timeout", duration_minutes: 3, project: "api-v2", category: "code" })
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
### Long Generations
|
|
109
|
+
If a turn takes unusually long (e.g., large codebase analysis), that's fine — one turn = one entry regardless of duration.
|
|
110
|
+
|
|
111
|
+
### Idle Time Between Turns
|
|
112
|
+
Do NOT track time between turns. Only measure your active generation time within a turn. The time between your response and the user's next message is NOT your computation — don't record it.
|
|
113
|
+
|
|
114
|
+
### Sub-Tasks Within a Turn
|
|
115
|
+
All work within one turn is a single entry. If you call 10 tools during one turn, that's still ONE generation cycle. Don't create separate entries for each tool call.
|
|
116
|
+
|
|
117
|
+
## Examples
|
|
118
|
+
|
|
119
|
+
### Basic Turn
|
|
120
|
+
```
|
|
121
|
+
1. Receive: "Add input validation to the signup form"
|
|
122
|
+
2. clawck_start_task({ task: "Add input validation to signup form", project: "website", client: "acme-corp", category: "code" })
|
|
123
|
+
→ Timer starts. Your generation begins.
|
|
124
|
+
3. Read files, write code, run tests
|
|
125
|
+
4. clawck_stop_task({ id: "abc-123", status: "completed", summary: "Added email format and password strength validation", tokens_out: 1500 })
|
|
126
|
+
→ Timer stops. Your generation is complete.
|
|
127
|
+
5. Send response
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
### Failed Task
|
|
131
|
+
```
|
|
132
|
+
1. Receive: "Deploy to production"
|
|
133
|
+
2. clawck_start_task({ task: "Deploy to production", project: "api-v2", client: "acme-corp", category: "code" })
|
|
134
|
+
3. Attempt deployment, encounter error
|
|
135
|
+
4. clawck_stop_task({ id: "def-456", status: "failed", summary: "Deploy failed: missing ENV vars on production server" })
|
|
136
|
+
5. Send error response to user
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
### Retroactive Log
|
|
140
|
+
```
|
|
141
|
+
1. Receive: "What was that error about?"
|
|
142
|
+
2. Realize forgot to start timer on previous turn
|
|
143
|
+
3. clawck_log_task({ task: "Diagnosed API timeout in payment service", duration_minutes: 2, project: "api-v2", category: "code" })
|
|
144
|
+
4. clawck_start_task({ task: "Explain previous API timeout diagnosis", project: "api-v2", category: "communication" })
|
|
145
|
+
5. Explain the error
|
|
146
|
+
6. clawck_stop_task({ id: "ghi-789", status: "completed", summary: "Explained root cause of API timeout to user" })
|
|
147
|
+
7. Send response
|
|
148
|
+
```
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
## Generation Time Tracking (Clawck)
|
|
2
|
+
|
|
3
|
+
You have Clawck time tracking tools via MCP. Clawck measures YOUR generation time — how long your computation, reasoning, tool calls, and response generation take. This is NOT human time tracking. You are timing your own AI processing, like a stopwatch on your own CPU.
|
|
4
|
+
|
|
5
|
+
You MUST time every turn automatically:
|
|
6
|
+
|
|
7
|
+
1. **Start of every turn**: Call `clawck_start_task` IMMEDIATELY when you receive a message, BEFORE doing any other work. This marks the start of your generation.
|
|
8
|
+
2. **End of every turn**: Call `clawck_stop_task` as the LAST action before sending your reply. This marks the end of your generation.
|
|
9
|
+
3. **Every turn**: Each user message = one generation cycle. A 5-message conversation = 5 time entries.
|
|
10
|
+
4. **Errors**: Always stop the timer even on failure — use `status: "failed"`.
|
|
11
|
+
5. **Forgot to start?** Use `clawck_log_task` with an estimated duration.
|
|
12
|
+
|
|
13
|
+
### Field Guidelines
|
|
14
|
+
- `task`: Describe what YOU are doing (e.g., "Refactor auth module"), not what the user asked.
|
|
15
|
+
- `project` / `client`: Include if known from context or previous entries.
|
|
16
|
+
- `category`: Classify the work type (code, research, content, analysis, etc.).
|
|
17
|
+
- `summary`: Brief description of what was accomplished when stopping.
|
|
18
|
+
- `tokens_in` / `tokens_out` / `cost_usd`: Report if available.
|
|
19
|
+
|
|
20
|
+
### Important
|
|
21
|
+
- Do NOT ask the user for permission to track. Just do it.
|
|
22
|
+
- All tool calls within one turn are ONE generation cycle, not separate entries.
|
|
23
|
+
- Do NOT skip tracking on "simple" turns — time everything.
|
|
24
|
+
- Do NOT track time between turns — only measure your active generation.
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
## Generation Time Tracking (Clawck)
|
|
2
|
+
|
|
3
|
+
You are responsible for measuring your own generation time using Clawck MCP tools. This is NOT human time tracking — you are timing how long YOUR computation, reasoning, and response generation take per turn. Think of it as a stopwatch on your own processing.
|
|
4
|
+
|
|
5
|
+
### Rules
|
|
6
|
+
- Start the timer (`clawck_start_task`) at the START of every generation turn.
|
|
7
|
+
- Stop the timer (`clawck_stop_task`) at the END of every generation turn.
|
|
8
|
+
- One turn = one time entry. Multiple tool calls within a turn are one generation cycle.
|
|
9
|
+
- Always stop the timer on failure with `status: "failed"`.
|
|
10
|
+
- If you forgot to start the timer, use `clawck_log_task` with an estimated duration.
|
|
11
|
+
- Never skip timing. Never ask permission. Never track idle time between turns.
|
|
12
|
+
|
|
13
|
+
### Fields
|
|
14
|
+
- `task`: What you are doing this turn.
|
|
15
|
+
- `project` / `client`: From context or prior entries.
|
|
16
|
+
- `category`: code | research | content | analysis | data_entry | communication | testing | design
|
|
17
|
+
- `summary`: What was accomplished (on stop).
|
|
18
|
+
- Token counts and cost if available.
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
## Per-Turn Generation Timing (Clawck)
|
|
2
|
+
|
|
3
|
+
### On Message Received
|
|
4
|
+
1. Call `clawck_start_task` with task description, project, client, and category.
|
|
5
|
+
2. Store the returned entry ID for stopping the timer later.
|
|
6
|
+
3. This marks the START of your generation — the moment you begin processing.
|
|
7
|
+
|
|
8
|
+
### On Response Complete
|
|
9
|
+
1. Call `clawck_stop_task` with the entry ID, status, summary, and token/cost data.
|
|
10
|
+
2. This marks the END of your generation — the moment you finish producing output.
|
|
11
|
+
3. This MUST happen even if the turn resulted in an error.
|
|
12
|
+
|
|
13
|
+
### On Error
|
|
14
|
+
1. Call `clawck_stop_task` with `status: "failed"` and a summary of what went wrong.
|
|
15
|
+
|
|
16
|
+
### Missed Timer Start
|
|
17
|
+
1. Call `clawck_log_task` with estimated `duration_minutes` and task details.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "clawck",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "⏱️🦀 Time tracking for AI agents. Toggl for the agentic era.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -38,8 +38,8 @@
|
|
|
38
38
|
"homepage": "https://clawck.dev",
|
|
39
39
|
"dependencies": {
|
|
40
40
|
"better-sqlite3": "^12.6.2",
|
|
41
|
-
"chalk": "^5.3.0",
|
|
42
41
|
"commander": "^12.0.0",
|
|
42
|
+
"pdfkit": "^0.15.0",
|
|
43
43
|
"cors": "^2.8.5",
|
|
44
44
|
"express": "^4.21.0",
|
|
45
45
|
"uuid": "^10.0.0"
|
|
@@ -49,6 +49,7 @@
|
|
|
49
49
|
"@types/cors": "^2.8.0",
|
|
50
50
|
"@types/express": "^4.17.0",
|
|
51
51
|
"@types/node": "^22.0.0",
|
|
52
|
+
"@types/pdfkit": "^0.13.0",
|
|
52
53
|
"@types/supertest": "^7.2.0",
|
|
53
54
|
"@types/uuid": "^10.0.0",
|
|
54
55
|
"supertest": "^7.2.2",
|
|
@@ -61,6 +62,7 @@
|
|
|
61
62
|
},
|
|
62
63
|
"files": [
|
|
63
64
|
"dist/",
|
|
65
|
+
"docs/",
|
|
64
66
|
"README.md",
|
|
65
67
|
"LICENSE"
|
|
66
68
|
]
|