Claude Session Limit Breaker — Productivity skill for Claude Code
Runs claude -p on a fixed daily schedule.
How to install Claude Session Limit Breaker
This entry records only its repository, not the path inside it, so there is no
exact command to give. Open otnc/claude-session-limit-breaker and copy the folder into
~/.claude/skills/, or the file into ~/.claude/agents/.
What Claude Session Limit Breaker does
Runs `claude -p` on a fixed daily schedule.
Alternatives in Productivity
- Costs — Show cost breakdown by provider and workflow for the current session 2.8k ★
- Jobs — Create, list, edit, or delete cron jobs 1.3k ★
- Build In Public — Build-in-Public — generate posts from your engineering work, anonymize, and schedule via Buffer 705 ★
README
claude-session-limit-breaker
**English** | [日本語](README-ja.md)
Runs `claude -p` on a fixed daily schedule (default: 03:00 / 08:10 / 13:20 / 18:30 JST), sending one small random task each time. Written in [Purus](https://purus.work) and meant to run continuously on Linux under pm2.
For how it works internally (scheduling, limit-detection, i18n, etc.), see [CONTRIBUTING.md](CONTRIBUTING.md).
Requirements
- Node.js 22+ (required by the Purus compiler)
- Claude Code CLI installed and logged in as the user that will run this (pm2's user)
Setup
git clone
cd claude-session-limit-breaker
npm install
Run
npm start # foreground, Ctrl+C to stop
Run with pm2
npm install -g pm2
pm2 start ecosystem.config.cjs
pm2 save
pm2 startup # follow the printed sudo command to enable on boot
pm2 logs claude-session-limit-breaker
pm2 restart claude-session-limit-breaker
pm2 stop claude-session-limit-breaker
Configuration
Everything is in the `CONFIG` block at the top of [src/main.purus](src/main.purus) — edit and save, no build step needed (restart the process if it's already running).
const CONFIG be [
times be [[3, 0], [8, 10], [13, 20], [18, 30]], -- [hour, minute] pairs, 24h
timezone be //;Asia/Tokyo;//,
model be //;haiku;//,
tasksFile be //;tasks.yaml;//,
discordWebhook be process.env.DISCORD_WEBHOOK,
lang be detect-lang[]
]
Tasks
Edit [tasks.yaml](tasks.yaml) — a flat YAML list, one task per line, `#` comments allowed:
- Tell me one simple English word for your project idea
- Give me a number for your project idea
Discord notifications (optional)
- Create a webhook in your Discord channel settings (Integrations → Webhooks)
cp .env.example .envand setDISCORD_WEBHOOKto the webhook URL
Leave it unset and notifications are silently skipped.
Language
Log and
Related Skills
Claude Session Ping
macOS launchd agent that keeps Claude Code's 5-hour session window open on a fixed daily schedule — reads the
Omarchy Auto Pilot4agents
Write a prompt now and send it later to a Claude Code, OpenCode, Codex, Gemini CLI, Cursor Agent or Pi session
Update Calendar
Add or update schedule entries in today's daily note
Reading Plan Mentor
Turn a booklist into a mentor-guided daily reading plan, delivered on schedule | 把书单变成有导师陪读的每日阅读计划
Cc Session Stats
See how much time you actually spend with Claude Code. Session durations, daily patterns, health warnings.
Schedule
Interactive scheduling session — pick developed ideas, assign dates, and optionally push to Notion.
Related Agents
Usage Reporter
Reads real Claude Code usage from ~/.claude/stats-cache.json. Reports daily/weekly token usage by model, cache
Example: Incremental Data Pipeline Pattern
from datetime import datetime, timedelta @dag(schedule="@daily", catchup=False) def incremental_sales_pipeline
Keshet
Personal assistant - emails, calendar, tasks, daily briefings, weekly reviews. Use for anything about Sivan's