home / skills / openclaw / skills / deepwork-tracker

deepwork-tracker skill

/skills/adunne09/deepwork-tracker

This skill tracks deep work sessions locally and generates a shareable heatmap to visualize focus time on your terms.

npx playbooks add skill openclaw/skills --skill deepwork-tracker

Review the files below or copy the command above to add this skill to your agents.

Files (2)
SKILL.md
2.4 KB
---
name: deepwork-tracker
description: Track deep work sessions locally (start/stop/status) and generate a GitHub-contribution-graph style minutes-per-day heatmap for sharing (e.g., via Telegram). Use when the user says things like “start deep work”, “stop deep work”, “am I in a session?”, “show my deep work graph”, or asks to review deep work history.
---

# Deepwork Tracker

Use the local deepwork app (SQLite-backed) at `~/clawd/deepwork/deepwork.js`.

## Bootstrap (if the script is missing)

If `~/clawd/deepwork/deepwork.js` does not exist, bootstrap it from the public repo:

```bash
mkdir -p ~/clawd
cd ~/clawd

# Clone if missing
[ -d ~/clawd/deepwork-tracker/.git ] || git clone https://github.com/adunne09/deepwork-tracker.git ~/clawd/deepwork-tracker

# Ensure expected runtime path exists
mkdir -p ~/clawd/deepwork
cp -f ~/clawd/deepwork-tracker/app/deepwork.js ~/clawd/deepwork/deepwork.js
chmod +x ~/clawd/deepwork/deepwork.js
```

(Do not fail the user request if clone/copy fails—still attempt other steps and report what’s missing.)

## Commands

Run via exec:

- Start a session (also starts a macOS Clock timer; default target 60m):
  - `~/clawd/deepwork/deepwork.js start --target-min 60`
- Stop a session:
  - `~/clawd/deepwork/deepwork.js stop`
- Check status:
  - `~/clawd/deepwork/deepwork.js status`
- Generate a report:
  - Last 7 days (default): `~/clawd/deepwork/deepwork.js report --days 7 --format text`
  - Telegram-ready last 7 days: `~/clawd/deepwork/deepwork.js report --days 7 --format telegram`
  - Heatmap (optional): `~/clawd/deepwork/deepwork.js report --mode heatmap --weeks 52 --format telegram`

## Chat workflows

### Start deep work
1) Run `~/clawd/deepwork/deepwork.js start --target-min 60` (or another target if the user specifies it).
2) This should also start a macOS Clock timer for the target duration (best-effort; may require Accessibility permissions).
3) Reply with the confirmation line.

### Stop deep work
1) Run `~/clawd/deepwork/deepwork.js stop`.
2) Reply with duration.

### Show deep work graph
1) Run `~/clawd/deepwork/deepwork.js report --days 7 --format telegram`.
2) **Always send** the output to Alex on Telegram (id `8551040296`) using the `message` tool with a Markdown monospace code block.
3) Optionally acknowledge in the current chat that it was sent.

If the user wants different ranges, support `--days 7|14|30|60`.
(Heatmap is still available via `--mode heatmap --weeks ...` when explicitly requested.)

Overview

This skill tracks local deep work sessions (start, stop, status) and produces GitHub-style contribution-graph heatmaps of minutes-per-day for sharing. It runs a small local script and stores sessions in a local SQLite-backed app, then generates text or Telegram-ready reports. Use it to record focused work, review history, or share progress externally.

How this skill works

The skill invokes a local deepwork script to start and stop timed sessions, query current status, and generate reports. Reports include text summaries and Telegram-ready heatmaps; heatmaps can span custom week ranges. When asked to "show my deep work graph," the skill generates the report and sends it to the specified Telegram recipient as a monospace code block.

When to use it

  • Start or stop a focused work session (e.g., “start deep work” / “stop deep work”).
  • Check whether a session is active and view its elapsed time (“am I in a session?”).
  • Get a recent activity summary or share a minutes-per-day heatmap (“show my deep work graph”).
  • Request custom ranges: last 7, 14, 30, or 60 days, or a 52-week heatmap.
  • Automate sending the report to a teammate or personal channel via Telegram.

Best practices

  • Specify a target duration when starting (default is 60 minutes) so timers and reports are accurate.
  • If sharing via Telegram, use the Telegram-ready report format to preserve layout in monospace.
  • Grant macOS Accessibility permissions if you expect the skill to start system timers for you; otherwise timer integration may be best-effort.
  • Keep the local script path available and readable; if the bootstrap step fails, the skill will report what’s missing but can still attempt other actions.
  • Use consistent commands for date ranges when requesting reports (7, 14, 30, 60 days) to avoid ambiguity.

Example use cases

  • User says “start deep work” and a 60-minute session begins; skill confirms and (on macOS) starts a Clock timer.
  • User asks “am I in a session?” and receives current session status and elapsed minutes.
  • User requests “show my deep work graph” for the past 7 days; the heatmap report is generated and sent to the configured Telegram contact as a monospace block.
  • User asks for a 52-week heatmap; the skill produces a GitHub-style contribution heatmap suitable for sharing.
  • User stops a session with “stop deep work” and receives the recorded duration and session summary.

FAQ

What if the local script is missing?

The skill attempts to bootstrap the expected runtime and will report missing files but will still try to perform applicable actions.

Can I change the default target time?

Yes—provide a target in minutes when starting (for example, specify 90 to set a 90-minute target).

How are reports shared externally?

Reports can be formatted for Telegram; when requested, the skill sends the report as a monospace code block to the configured Telegram recipient.