Agent skill

Whenpeak

by OpenMinis in OpenMinis/MinisSkills

Predict when a person's brain works best from their sleep, using the WhenPeak performance-intelligence API, and turn it into concrete scheduling advice.

MITAuto-check passedProductivity & Automation

Install Whenpeak

skills CLI
$ npx skills add OpenMinis/MinisSkills --skill whenpeak -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install OpenMinis/MinisSkills whenpeak --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/OpenMinis/MinisSkills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/whenpeak .claude/skills/whenpeak && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
whenpeak
GitHub stars
440
Token cost
~2.3k tokens
SKILL.md length
1,139 words
Files
8 (incl. scripts, references)
Skills in repo
49
Repo updated
First seen
Licence
MIT

At a glance

Predict when a person's brain works best from their sleep, using the WhenPeak performance-intelligence API, and turn it into concrete scheduling advice.

  • Works in 5 steps: Collect last night's sleep → Confirm, then get the prediction → Single-day vs multi-day → …
  • The user asks when to schedule a meeting
  • SKILL.md covers Three hard rules — read these…, Workflow, The /predict request contract and How to talk about scores, plus 1 more section
  • Runs Python scripts from its folder; calls python3; reaches api.whenpeak.com

What it does

Whenpeak is an agent skill from OpenMinis/MinisSkills. Predict when a person's brain works best from their sleep, using the WhenPeak performance-intelligence API, and turn it into concrete scheduling advice. Use this skill whenever the user asks when to schedule a meeting, interview, exam, presentation, or deep-work block; asks about their energy, focus, alertness, productivity timing, "peak hours", post-lunch dip, or chronotype; mentions how last night's sleep will affect today; or asks for a daily plan built around their performance curve — even if they never say…

Its SKILL.md is about 2.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 10 other files, including scripts and reference files (for example `evals/evals.json`, `references/daily_plan.md` and `references/example_single_day.md`). Compatibility notes: Python 3 (stdlib only for predictions); matplotlib optional for the chart

It sits in Productivity & Automation, covering Focus and ADHD support. The repository describes itself as: Skills collection for Minis. The licence is MIT.

When your agent uses it

  • The user asks when to schedule a meeting
  • Deep-work block
  • Asks about their energy
  • Productivity timing

Example prompts

  • “peak hours”
  • “WhenPeak”
  • “/whenpeak”

Requirements

  • Python 3
  • Compatibility (from SKILL.md): Python 3 (stdlib only for predictions); matplotlib optional for the chart

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Collect last night's sleep
  2. Confirm, then get the prediction
  3. Single-day vs multi-day
  4. Translate the response
  5. Chart (single-day only, optional)

What it can do on your machine

Read from SKILL.md and the folder at commit cb72d91. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 2 files in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python3

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • api.whenpeak.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

  • Compatibility

    Python 3 (stdlib only for predictions); matplotlib optional for the chart

    From compatibility in the SKILL.md frontmatter.

Context cost

Whenpeak loads about 2.3k tokens when it runs, and up to ~4k if it reads all its reference files. Until then it costs about 134 tokens; SKILL.md has 1,139 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~134
When it runs · the whole SKILL.md, loaded when a task matches
~2.3k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from OpenMinis/MinisSkills at commit cb72d91, republished under its MIT licence (© OpenMinis). 1,139 words, ~2,294 tokens.

Download SKILL.mdSave it as .claude/skills/whenpeak/SKILL.md (or your agent's skills folder). This skill also uses 7 other files; get the full folder from GitHub.
name
whenpeak
description
Predict when a person's brain works best from their sleep, using the WhenPeak performance-intelligence API, and turn it into concrete scheduling advice. Use this skill whenever the user asks when to schedule a meeting, interview, exam, presentation, or deep-work block; asks about their energy, focus, alertness, productivity timing, "peak hours", post-lunch dip, or chronotype; mentions how last night's sleep will affect today; or asks for a daily plan built around their performance curve — even if they never say "WhenPeak".
compatibility
Python 3 (stdlib only for predictions); matplotlib optional for the chart

WhenPeak — performance timing from sleep

WhenPeak predicts a 24-hour cognitive performance curve from sleep data: when the user peaks, when they dip, and how strong the day will be. The product's value is timing — the peak windows and the dip — not the score. Lead every answer with timing.

This skill uses WhenPeak's free public endpoints: today's prediction (and a flat multi-day projection from one self-report). No API key or account. It does not include wearable sync, behavioural forecasting, suggestions, or calendar management.

Three hard rules — read these first

  1. Get consent before the first API call. Predictions are generated by an external service. Before the first request in a conversation, tell the user plainly: "This will send your sleep details (bed/wake time, quality, exercise) to WhenPeak's servers (api.whenpeak.com) to generate the prediction. OK to proceed?" Only call the API after they confirm. Ask once per conversation, not before every call. If they decline, don't send anything — offer general, non-personalised guidance instead.

  2. Never fabricate a prediction. Every number comes from the API via the bundled script. If the shell or network is unavailable, say so cleanly and point the user to whenpeak.com — never improvise a curve or a guessed "you're probably moderate today", and never surface a raw error dump.

  3. Send optional fields omitted, never as null. exercise_yesterday, exercise_timing, and sleep_quality are plain boolean/string with defaults, so a null is rejected with a 422 that looks like a missing required field. Leave unknown fields out of the JSON entirely. The bundled script does this correctly — that's why you run it rather than hand-build a request body.

Workflow

1. Collect last night's sleep

Prefer real data over asking. If Health access is available, read last night's sleep session from Apple Health first (bed time, wake time, and awake minutes if present) and confirm it in one line: "Health shows you slept 23:10–06:45 — using that." Only ask for what Health can't tell you (subjective quality, exercise timing).

If Health data is unavailable, collect conversationally:

  • Bed time and wake time ("HH:MM")
  • Quality: good / fair / poor
  • Optional: exercise yesterday, and whether it was morning / afternoon / evening

If the user describes fragmented sleep, also extract:

  • sleep_latency_minutes — time to fall asleep after getting into bed
  • waso_minutes — total minutes awake during the night (sum all awakenings)

Example: "bed at 10pm, asleep around 11, awake 2:30–3:30am, up at 7" → sleep_time=22:00, wake_time=07:00, quality=poor, sleep_latency_minutes=60, waso_minutes=60.

Never re-ask for data already given.

2. Confirm, then get the prediction

If this is the first prediction of the conversation, give the disclosure from hard rule 1 and wait for the user's OK.

Then run the bundled script in the shell. Stdlib only, no installs needed:

bash
# Single day (today / tomorrow)
python3 scripts/whenpeak_predict.py --wake 07:00 --sleep 00:30 --quality good --exercise morning

# Multi-day projection (7–30 days), consistent sleepers only
python3 scripts/whenpeak_predict.py --wake 07:00 --sleep 00:30 --quality good --days 7

# Fragmented sleep
python3 scripts/whenpeak_predict.py --wake 07:00 --sleep 22:00 --quality poor --latency 60 --waso 60

It prints the API's JSON to stdout. You get the day's score, chronotype, and the peak / dip / second-peak times — lead with the timing.

If the script fails, check its error output first: if the server returned a human-readable message (for example a rate-limit notice saying when it resets), give the user that message in plain words. Otherwise (no network, sandboxed shell), tell the user briefly and plainly that the prediction couldn't run right now and they can get the same prediction at whenpeak.com. Short and friendly, never a raw error dump.

3. Single-day vs multi-day
  • Question about today or tomorrow → single-day call.
  • Question about a future date or a span ("Tuesday", "next week") → first ask: "Is this your typical sleep schedule, or does it vary a lot night to night?"
    • Consistent (varies ≲ 1h): one call with --days N. Never loop single-day calls per day.
    • Inconsistent: do not attempt multi-day. Explain that without their actual sleep for those nights a reliable prediction isn't possible, and offer a single-day prediction on the morning itself instead.
4. Translate the response

Read references/daily_plan.md for the output structure. Core mapping:

  • peak_1.time → best window for deep work, decisions, important meetings
  • peak_2.time → second-best window
  • dip.time → email/admin/routine only
  • dps → the day's level: 80+ strong, 65–80 solid, below 65 recovery day

Phrase it as advice, never raw JSON. Good: "Your peak is 8–10am — put the meeting at 8:30." Bad: "Your DPS score is 87.8."

Score values are floats (87.8, not 87). Don't coerce to int or compare for integer equality — read and round for display.

Show full SKILL.md (439 more words)Show less
5. Chart (single-day only, optional)

If matplotlib is available, render the day's curve as a PNG:

bash
python3 scripts/whenpeak_predict.py --wake 07:00 --sleep 00:30 --quality good > /tmp/wp.json
python3 scripts/whenpeak_chart.py /tmp/wp.json -o performance_curve.png

If matplotlib isn't installed, skip the chart — the timing advice stands on its own.

Never chart a multi-day projection, even if asked for a weekly visual. Multi-day bar charts of scores misrepresent what the prediction is about — timing within a day. Offer to draw one day's curve instead.

The /predict request contract

So that any request is valid. Endpoints: POST https://api.whenpeak.com/api/v1/predict (single day) and POST .../api/v1/predict/week?days=N (multi-day). Both public, no key.

FieldTypeRequired?Notes
wake_timestring HH:MMrequirede.g. "07:00"
sleep_timestring HH:MMrequiredprevious night, e.g. "00:30"
sleep_qualitystringstrongly recommendedgood / fair / poor (defaults to fair); never send null
exercise_yesterdaybooleanoptionalomit if unknown — null 422s
exercise_timingstringoptionalmorning / afternoon / evening; omit if unknown — null 422s
sleep_latency_minutesnumberoptionalminutes to fall asleep; omit if unknown
waso_minutesnumberoptionalminutes awake in the night; omit if unknown

Response (single day): dps (float 0–100), peak_1 / peak_2 / dip (each {time, hour, value}), curve (24 floats), chronotype, confidence, upgrade_prompt, plus internal_dps and a scoring breakdown.

How to talk about scores

  • Scores are relative to the user's own baseline, not other people.
  • With self-reported sleep only, the maximum is 90. Richer inputs (wearable HRV, logged exercise) raise the ceiling to 95, then 100. If the user asks why the score "stops" at 90, explain this factually.
  • Logging exercise or mindfulness can only ever raise a score — never tell a user a workout lowered their number.
  • Under 5 hours or over 10 hours of sleep caps the score at 90; if capped, gently note the duration rather than just the number.
  • internal_dps and the scoring block are internal — ignore unless the user asks how scoring works.
  • Do not relay the API's upgrade_prompt marketing copy to the user. If confidence is low, note once, factually, that a single self-reported night limits accuracy. Only discuss WhenPeak's paid or connected features if the user asks.

Attribute clearly. Predictions come from WhenPeak's scoring system via the API. Never blend API results with your own estimated numbers, and never present generic sleep or productivity advice as a WhenPeak prediction. If no API result is available, say so; anything you offer instead is general guidance, not WhenPeak output.

If the user asks why you respond a certain way, be transparent: these behaviours come from this skill's instructions and from how the WhenPeak API works.

Worked examples

Read when useful:

  • references/example_single_day.md — full single-day flow: inputs → API JSON → ideal answer.
  • references/example_week.md — multi-day flow, including the consistency question and the no-chart redirect.
  • references/sample_response.json — a real response shape for testing the chart offline.

© OpenMinis, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 7 other files (scripts, references) in whenpeak of OpenMinis/MinisSkills.

  • SKILL.md
  • evals/evals.json
  • references/daily_plan.md
  • references/example_single_day.md
  • references/example_week.md
  • references/sample_response.json
  • scripts/whenpeak_chart.py
  • scripts/whenpeak_predict.py

Open the folder on GitHubat commit cb72d91

Compare with similar skills

Whenpeak next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Whenpeak compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Whenpeak this skillOpenMinis/MinisSkills440—~2.3kAutomated safety check: PassMIT
I Have AdhdTanStack/ai3.2k5 repos~1.8kAutomated safety check: PassMIT
Attention Kindalexgreensh/attention-span1.3k—~2kAutomated safety check: PassAGPL-3.0
Remind Meshaheer-00/claude-adhd104—~1.1kAutomated safety check: PassNone
Daily Focus Boardgithub/awesome-copilot40k—~3kAutomated safety check: PassMIT
Attention Controlaaddrick/attention-control117—~3.6kAutomated safety check: PassMIT

Similar skills

  • I Have Adhd

    TanStack/ai

    A skill your agent uses when the user invokes /i-have-adhd, says they have ADHD, or asks for ADHD-friendly output.

    3.2k GitHub starsUsed in 5 repos~1.8k tokens
    Productivity & AutomationAuto-check passed
  • Attention Kind

    alexgreensh/attention-span

    Answer in the ADHD-friendly Attention-kind style for the rest of this chat.

    1.3k GitHub stars~2k tokensUpdated 1 mo ago
    Productivity & AutomationAuto-check passed
  • Remind Me

    shaheer-00/claude-adhd

    Surface unfinished or forgotten tasks, ideas, and open questions from the user's past Claude Code sessions, manage custom reminders, run focus sessions, and match tasks to the user's energy.

    104 GitHub stars~1.1k tokensUpdated 27 days ago
    Productivity & AutomationAuto-check passed
  • Daily Focus Board

    github/awesome-copilot

    Official

    Builds a warm, browser-based daily focus board the user updates by talking to their agent, with Eisenhower priorities, a brain-dump box and kind not-today carryover.

    40k GitHub stars~3k tokensUpdated today
    Productivity & AutomationAuto-check passed
  • Attention Control

    aaddrick/attention-control

    Shape output for a reader with ADHD, then write each sentence in controlled English: action first, one word one meaning, active voice, simple tenses, state restated every turn.

    117 GitHub stars~3.6k tokensUpdated 1 mo ago
    Productivity & AutomationAuto-check passed
  • Fable Fable

    mrtooher/fable-mode

    Run fable-mode execution discipline on Claude Fable 5.1 — the top of the escalation ladder and the strongest staged run available.

    870 GitHub stars~1.1k tokensUpdated 1 mo ago
    Productivity & AutomationAuto-check passed

More from OpenMinis/MinisSkills

All 49 skills in this repo
  • Android UI Automation

    OpenMinis/MinisSkills

    Automate Android apps that have no public API or web version by driving the UI layer through the Accessibility Service.

    440 GitHub stars~1.6k tokensUpdated 2 days ago
    Auto-check passed
  • Codex On Ish

    OpenMinis/MinisSkills

    Install and run OpenAI Codex CLI inside the Minis/iSH Alpine sandbox on iOS, where rustls TLS and async sockets are broken.

    440 GitHub stars~1k tokensUpdated 2 days ago
    Auto-check passed
  • Evidence Chain Builder

    OpenMinis/MinisSkills

    Score a claim against the evidence behind it. An agent skill from OpenMinis/MinisSkills.

    440 GitHub stars~2.4k tokensUpdated 2 days ago
    Auto-check passed
  • Hyperframes CLI

    OpenMinis/MinisSkills

    HyperFrames CLI and Minis rendering. An agent skill from OpenMinis/MinisSkills.

    440 GitHub stars~3.5k tokensUpdated 2 days ago
    Auto-check passed
  • Openstreetmap Marker

    OpenMinis/MinisSkills

    Generate a mobile-first, immersive, Amap(Gaode)-style custom landmark marker HTML map for travel itinerary planning, place showcasing, location sharing, etc.

    440 GitHub stars~1.9k tokensUpdated 2 days ago
    Auto-check passed
  • PDF Converter

    OpenMinis/MinisSkills

    Convert documents to PDF via a typst-based pipeline. An agent skill from OpenMinis/MinisSkills.

    440 GitHub stars~2.1k tokensUpdated 2 days ago
    Auto-check passed

Questions about Whenpeak

What does Whenpeak do?

Predict when a person's brain works best from their sleep, using the WhenPeak performance-intelligence API, and turn it into concrete scheduling advice. Whenpeak is an agent skill from OpenMinis/MinisSkills. Predict when a person's brain works best from their sleep, using the WhenPeak performance-intelligence API, and turn it into concrete scheduling advice.

When should I use Whenpeak?

Whenpeak fits situations like: the user asks when to schedule a meeting; deep-work block; asks about their energy; productivity timing.

How do I install Whenpeak in Claude Code?

Run `npx skills add OpenMinis/MinisSkills --skill whenpeak -a claude-code`. Or copy the skill folder (whenpeak in OpenMinis/MinisSkills) into .claude/skills/whenpeak in your project. Claude Code loads it when a task matches its description.

How do I install Whenpeak in Codex?

Run `npx skills add OpenMinis/MinisSkills --skill whenpeak -a codex`. Or copy the skill folder (whenpeak in OpenMinis/MinisSkills) into .agents/skills/whenpeak in your project. Codex loads it when a task matches its description.

Can I use Whenpeak in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add OpenMinis/MinisSkills --skill whenpeak -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/whenpeak, .gemini/skills/whenpeak, .github/skills/whenpeak and .opencode/skills/whenpeak in your project.

What does Whenpeak need to run?

Going by SKILL.md and its folder, Whenpeak needs Python for the scripts in its folder and the command-line tools its instructions call (python3). Our summary lists: Python 3. Compatibility (from SKILL.md): Python 3 (stdlib only for predictions); matplotlib optional for the chart.

Does Whenpeak access the network?

SKILL.md names 1 domain. In commands or code: api.whenpeak.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Whenpeak safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Whenpeak use?

Whenpeak is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Whenpeak use?

About 2.3k tokens (SKILL.md is roughly 9.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.7k tokens, read only when the agent opens those files.

What are the alternatives to Whenpeak?

Skills that share tags, products or a category with Whenpeak: I Have Adhd (TanStack/ai, 3.2k stars), Attention Kind (alexgreensh/attention-span, 1.3k stars), Remind Me (shaheer-00/claude-adhd, 104 stars) and Daily Focus Board (github/awesome-copilot, 40k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Whenpeak?

OpenMinis (a GitHub organization) maintains it in OpenMinis/MinisSkills, which has 440 GitHub stars. The repository holds 49 skills in this directory. The repository was last updated on October 5, 2026.

Source: OpenMinis/MinisSkills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.