AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Superproductivity Report

skill-gerodp-hermes-productivity-skills-superproductivity-report · by gerodp

Time-tracking reports (hours per project / per day, tasks completed) from a Super Productivity data file.

No reviews yet
0 installs
33 views
0.0% view→install

Install

$ agentstack add skill-gerodp-hermes-productivity-skills-superproductivity-report

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets Used
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-gerodp-hermes-productivity-skills-superproductivity-report)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
2mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Superproductivity Report? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Super Productivity Report

Answer time-tracking questions from a Super Productivity data file — hours per project, hours per day, and tasks completed — for any window. Zero dependencies (Python stdlib only). Windows are computed in local time with Monday-start weeks. Completed/archived tasks are included (it reads the active list and archiveYoung/archiveOld).

Script path: ~/.hermes/skills/productivity/superproductivity-report/scripts/sp_report.py

When to Use

  • "How many hours did I spend on Contoso this week?" →

projects --project contoso (default window is this week)

  • "Hours per day this month?" → days --period this-month
  • "Tasks I completed this week, by project?" → done
  • "Time per project last month?" → projects --period last-month
  • Any of the above for a custom range → --start/--end or --days N

Prerequisites

Python 3.8+ (stdlib only — no installs). One environment variable, injected automatically into the sandbox from ~/.hermes/.env:

  • SP_DATA_FILE — absolute path to a Super Productivity JSON file.

Get that file one of two ways (either works — the skill auto-detects the shape):

  1. Backup export (recommended, most stable): in the app, **Settings →

Sync & Export → Export Data**. Saves sp-backup_.json. Point SP_DATA_FILE at it. Re-export when you want fresh numbers.

  1. Local file sync: enable Settings → Sync → Local File Sync and point it

at a folder; the app keeps sync-data.json updated there. Point SP_DATA_FILE at that sync-data.json for always-current data. (If you enabled sync encryption, the skill can't read it — use a backup export instead, or turn encryption off.)

Set the variable (do not paste the path into chat repeatedly — set it once):

hermes config           # edit config, or
$EDITOR ~/.hermes/.env  # add: SP_DATA_FILE=/Users/you/SuperProductivity/sync-data.json

Always run check first to confirm the file loads. You can also override the configured path ad hoc with --file PATH on any command.

Commands

SCRIPT=~/.hermes/skills/productivity/superproductivity-report/scripts/sp_report.py

check — verify the file loads + summary

python3 $SCRIPT check

Prints task/project counts, total tracked time, and the date span of the data. Run this first; if it errors, fix SP_DATA_FILE before reporting.

projects — hours per project (default)

python3 $SCRIPT projects                       # this week, all projects
python3 $SCRIPT projects --project contoso     # only projects whose TITLE matches "contoso"
python3 $SCRIPT projects --folder Contoso      # ALL projects inside the "Contoso" sidebar folder
python3 $SCRIPT projects --folder Contoso --detail   # + task list ordered by duration
python3 $SCRIPT projects --period this-month
python3 $SCRIPT projects --period last-month
python3 $SCRIPT projects --days 14
python3 $SCRIPT projects --start 2026-06-01 --end 2026-06-15
python3 $SCRIPT projects --json

projects is the default, so python3 $SCRIPT with no args == this week's per-project breakdown. Output: Project, Time (Hh MMm), Hours (decimal), Share%, sorted by time desc, with a TOTAL row.

--project NAME matches both project titles AND sidebar folder names — so --project Contoso returns the project literally titled "Contoso" and every project filed under the "Contoso" folder (e.g. CTS - Chatbot, whose title doesn't contain the word). Use --folder NAME to force folder-only matching. When the user asks how much time they spent on a named project/folder, add --detail so the answer includes the task breakdown ordered by time spent (most → least).

days — hours per day

python3 $SCRIPT days --period this-month        # one row per day this month
python3 $SCRIPT days                            # this week
python3 $SCRIPT days --project contoso          # only Contoso time, per day

Output: one row per calendar day in the window (including zero days), plus a TOTAL and an average-per-worked-day line.

done — tasks completed, grouped by project

python3 $SCRIPT done                            # this week
python3 $SCRIPT done --period last-week
python3 $SCRIPT done --project contoso

Lists every task whose completion date falls in the window, grouped by project, each with its completion date and total time spent. Sub-tasks are shown indented ().

Windows (shared by projects / days / done)

| Flag | Meaning | | --- | --- | | --period | today, this-week (default), last-week, this-month, last-month, this-year, last-year | | --days N | the last N days, inclusive of today | | --start / --end | explicit YYYY-MM-DD range (both required, end inclusive) | | --project NAME | filter to projects whose title OR sidebar folder contains NAME (case-insensitive) | | --folder NAME | filter to all projects inside the sidebar folder matching NAME (folder-only) | | --tag NAME | filter to tasks carrying a tag whose title contains NAME | | --detail | (projects) also list tasks ordered by duration, most→least | | --json | machine-readable output |

Precedence: --start/--end > --days > --period. Current periods (today, this-week, this-month, this-year) are capped at today so reports don't list empty future days.

How time is counted (read before interpreting numbers)

  • Time comes from each task's timeSpentOnDay map (YYYY-MM-DD → ms). The skill

sums leaf tasks only — a parent task's time already rolls up its sub-tasks, so counting both would double-count. Filtering and per-day/per-project sums all use this rule.

  • Date keys are local dates as Super Productivity recorded them (respecting

your "start of next day" setting), so day boundaries match the app, not UTC.

  • done uses each task's doneOn timestamp (converted to a local date).
  • A task with no project shows as (no project).

Pitfalls

  • Stale file: a backup export is a point-in-time snapshot — re-export to get

today's numbers. sync-data.json updates live as long as the app is syncing.

  • Encrypted sync: if check reports the file looks encrypted, use an

unencrypted backup export (or disable sync encryption). The skill never asks for an encryption key.

  • --start/--end must be given together (YYYY-MM-DD); end is inclusive.
  • "This week" is Monday→today; last-week is the full previous Mon–Sun.
  • --project/--tag match on title substrings, case-insensitive — if a

filter returns nothing, run check (or projects unfiltered) to see the exact project titles.

Verification

python3 ~/.hermes/skills/productivity/superproductivity-report/scripts/sp_report.py check
# → "OK — loaded Super Productivity data." with counts and date span.

python3 ~/.hermes/skills/productivity/superproductivity-report/scripts/sp_report.py projects
# → per-project time table for this week, with a TOTAL row.

Offline unit tests (no file system, no network) live next to the script:

python3 ~/.hermes/skills/productivity/superproductivity-report/scripts/test_sp_report.py

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.