Co-Pilot / 辅助式
更新于 24 days ago

pomodoro

Jjakedahn
0.0k
jakedahn/pomodoro
82
Agent 评分

💡 摘要

这个番茄钟技能帮助用户通过结构化的专注会话来管理他们的时间和生产力。

🎯 适合人群

需要时间管理的自由职业者准备考试的学生旨在提高生产力的专业人士寻找专注工作会话的作家希望改善工作习惯的任何人

🤖 AI 吐槽:看起来很能打,但别让配置把人劝退。

安全分析中风险

风险:Medium。建议检查:是否执行 shell/命令行指令;是否发起外网请求(SSRF/数据外发)。以最小权限运行,并在生产环境启用前审计代码与依赖。

Pomodoro - System Skill Reference Implementation

The System Skill Pattern

A working example of the System Skill Pattern -- an approach for building Claude Skills that persist state, learn from history, and provide increasingly useful insights over time.

The Pattern: CLI + SKILL.md + Database

Give Claude a command-line tool to run, instructions on how to operate a system, and a database to remember things. Watch it turn the crank, running its own OODA loop (Observe, Orient, Decide, Act) - building context that compounds across sessions.

This Pomodoro timer demonstrates the pattern in ~600 lines of code. It's deliberately simple so you can see how the pieces fit together, then build your own.

Quick Install

# Add the marketplace (one-time setup) /plugin marketplace add jakedahn/pomodoro # Run the install script ~/.claude/plugins/marketplaces/pomodoro/install.sh

The Pomodoro skill will be installed to ~/.claude/skills/pomodoro/ and available immediately in Claude Code.

Requirements: macOS with Apple Silicon (arm64). For other platforms, see Building From Source.

Usage

Once installed, just ask Claude to help with Pomodoros:

"Start a pomodoro for writing documentation"
"What did I work on today?"
"How productive was I this week?"
"What times do I work best?"
"Let's do flash cards, start 5 2min/1min pomodoro cycles"

Claude will use the Pomodoro skill to:

  • Start 25-minute focus timers
  • Track all your sessions
  • Analyze productivity patterns
  • Suggest optimal work times

The System Skill Pattern

This implementation demonstrates three components working together to create a system that Claude can animate:

1. The CLI Binary

A standalone executable that provides handles for Claude to operate the system:

./pomodoro start --task "Deep work on authentication" ./pomodoro stats --period week ./pomodoro history --days 30

Key attributes:

  • Self-contained (no runtime dependencies, no configuration)
  • Helpful --help documentation for each command

The Pomodoro CLI provides five essential commands:

  • start - Begin a 25-minute focus session
  • stop - End current session early
  • status - Check if timer is running
  • history - View past sessions
  • stats - Analyze productivity patterns

2. SKILL.md

The tutorial that teaches Claude how to think about and operate the system:

  • What the system is and when to use it
  • Which commands to run in different situations
  • How to interpret output and look for patterns
  • The mental model and decision flow

This is where you share the operating procedure. Claude uses this to run its OODA loop - observing sessions, orienting to patterns, deciding when to intervene, and acting by running CLI commands.

3. SQLite Database

Persistent storage that accumulates value over time. In this case, a simple schema:

CREATE TABLE sessions ( id INTEGER PRIMARY KEY AUTOINCREMENT, task TEXT NOT NULL, duration INTEGER NOT NULL, started_at TEXT NOT NULL, completed_at TEXT );

Why SQLite:

  • Self-contained (just a file, co-located with the CLI)
  • Zero configuration
  • Easy to backup and restore
  • Claude can query directly if needed

Putting It All Together

You ask Claude to start a pomodoro. Claude reads SKILL.md, sees it should run ./pomodoro start, executes the CLI. The CLI writes a row to SQLite. Session complete.

Three weeks later, you ask Claude about your productivity. It runs ./pomodoro stats --period week, gets back JSON with all your sessions, and infers that you always finish morning sessions but abandon afternoon ones.

The magic is in the accumulation. Each session adds context. The system gets smarter over time.

Technical Details

Repository Structure

pomodoro-repo/               # Repository root
├── .claude-plugin/
│   ├── plugin.json          # Plugin manifest
│   └── marketplace.json     # Marketplace configuration
├── skills/
│   └── pomodoro/            # Pomodoro skill (automatically registered)
│       ├── SKILL.md         # Claude's instructions
│       ├── README.md        # Technical documentation
│       ├── bin/
│       │   └── pomodoro     # Compiled binary
│       └── scripts/         # Source code
│           ├── pomodoro.ts  # CLI interface (~290 lines)
│           ├── timer.ts     # Timer logic (~83 lines)
│           ├── db.ts        # Database operations (~171 lines)
│           └── build.sh     # Build script
└── README.md                # This file (repository docs)

Building From Source

If you want to modify or rebuild:

./build.sh

Requirements:

  • Deno 2.5 or later
  • The build script compiles for your current platform

About the build:

  • Uses deno compile to create a standalone binary
  • Security permissions baked in at compile time:
    • No network access
    • No environment variable access
    • Can read and write to files on disk
  • See Deno's security model for details

Building Your Own System Skill

This implementation is deliberately simple to serve as a reference:

  • ~600 lines of clean, readable code
  • Single table database schema
  • Zero dependencies runtime
  • Complete source included

Browse the code to see how it works, then build your own:

Personal Finance Manager

  • CLI: money tx list, money note abc-123 "unexpected road trip!", money cat abc-123 "vacation"
  • Database: Table of bank/credit card transactions
  • Result: Claude watches for spending trends and asks about anomalies

Personal Project Management

  • CLI: task new "rake the leaves", task update T-123 --status=done, task kanban
  • Database: Tasks with status, due date, priority
  • Result: "What are my top 3 priorities for the week?"

Gratitude Journal

  • CLI: thankful "for my cat", thankful trends, thankful search
  • Database: Entries with message and timestamp
  • Result: A journal that talks back and lifts you up

ChatGPT Pulse Clone

  • CLI: pulse topic add "AI safety research", pulse generate, pulse feedback <id> --helpful
  • Database: Topics you care about, generated briefings, feedback
  • Result: Morning briefing that learns what's useful to you

Note Taker with Memory

  • CLI: note add "API design thoughts", note search "authentication", note tag T-123 "urgent"
  • Database: Notes with tags and full-text search
  • Result: Claude can recall and connect ideas across sessions

Each one follows the same pattern: Give Claude handles to operate a system via a CLI, and watch it turn the crank.

Why This Matters

Most Claude Skills are stateless - they run and forget. The System Skill Pattern shows how adding simple persistence enables something different:

  • Memory: Every interaction saved, building context over time
  • Learning: Patterns emerge from accumulated data
  • Compounding value: The tool gets more useful with use
  • Autonomy: Claude animates the system rather than just responding to it

When you give Claude the handles to operate a system - a CLI to run commands, a database to remember things, and a tutorial on how it all works - something shifts. It's not just running commands anymore. It's turning the crank. Running its own OODA loop. Building context that compounds over time.

That's the phase change: chat agents and Skills joining to become something new - systems that Claude animates rather than just responds to.

License

MIT

Author

Jake Dahn - shruggingface.com

五维分析
清晰度8/10
创新性7/10
实用性9/10
完整性8/10
可维护性9/10
优缺点分析

优点

  • 鼓励专注工作会话
  • 跟踪长期生产力
  • 简单易用
  • 不需要依赖

缺点

  • 仅限于番茄工作法
  • 需要苹果硅的macOS
  • 可能不适合所有工作风格
  • 基本功能,没有高级特性

相关技能

pytorch

S
toolCode Lib / 代码库
92/ 100

“它是深度学习的瑞士军刀,但祝你好运能从47种安装方法里找到那个不会搞崩你系统的那一个。”

agno

S
toolCode Lib / 代码库
90/ 100

“它承诺成为智能体领域的Kubernetes,但得看开发者有没有耐心学习又一个编排层。”

nuxt-skills

S
toolCo-Pilot / 辅助式
90/ 100

“这本质上是一份组织良好的小抄,能把你的 AI 助手变成一只 Nuxt 框架的复读机。”

免责声明:本内容来源于 GitHub 开源项目,仅供展示和评分分析使用。

版权归原作者所有 jakedahn.