← 返回 Skills 市场
phantue2002

Habit tracking, todo, and routines

作者 buffy-agent · GitHub ↗ · v1.1.7 · MIT-0
cross-platform ✓ 安全检测通过
477
总下载
2
收藏
0
当前安装
12
版本数
在 OpenClaw 中安装
/install buffy-agent
功能描述
Free habit tracking, todo, and routines — create and track up to 25 habits, 100 tasks, and 15 routines; schedule reminders and daily briefings across ChatGPT...
使用说明 (SKILL.md)

Free habit & todo in chat. Track up to 25 habits, 100 tasks, and 15 routines with reminders and daily briefings — completely free, no paid tiers. Ask in plain language; Buffy creates and tracks for you.

What you can do (habit, todo, routines)

Search for… You can say…
Habit "Create a habit to drink water every 2 hours." / "What habits did I complete today?"
Todo "Add to my todo: buy groceries." / "What's on my todo?" / "Mark 'call mom' done."
Routines "Start my morning routine." / "Remind me at 8am to plan my day."

Buffy understands natural language — no forms or menus. One message creates or updates habits, todo items, and routines.

Overview

Buffy is a free personal behavior agent for habits, todo/tasks, and routines. It tracks activities, schedules reminders, and sends daily briefings across multiple channels (ChatGPT, Telegram, Slack, OpenClaw), all powered by a single unified behavior engine. Buffy is completely free with generous limits: 25 habits, 100 tasks, 15 routines, 200 reminders/day, and 365 days of memory.

This skill is only the HTTP client for the Buffy API and requires only BUFFY_API_KEY. Buffy runs as an external HTTP API; all behavior logic lives in the Buffy backend.

Buffy also exposes a hook-based observability system:

  • Backend hooks in the Go service emit events like message:received, message:replied, and reminder:sent so logs, metrics, and long-term memory can be updated without changing core behavior logic. See backend/internal/hooks/ for details.
  • OpenClaw hooks can be installed alongside this skill (see the hooks/ docs in this repo) to log Buffy conversations to markdown logs, record Buffy-related errors for observability, and track Buffy behavior over time. These hooks are optional and separately installed by the integrator; they are not part of this skill’s declared requirements. If the integrator installs them, they may write user content to disk or call other APIs and have their own credential and privacy implications.

For low-level HTTP details and the full API surface, treat the repository README.md and openapi-buffy.yaml as canonical. This SKILL.md file is the canonical guide for how agents and tools should invoke Buffy.

Base URL and authentication

  • Base URL: default https://api.buffyai.org (can be overridden via config, see below).
  • Auth header: always send
    • Authorization: Bearer \x3CBUFFY_API_KEY>
  • Optional user header (when using a system key):
    • X-Buffy-User-ID: \x3Cstable-user-id>

BUFFY_API_KEY is injected from the environment for the agent run. Do not include the key in prompts, logs, or user-visible text.

For registries and gateways:

  • Treat BUFFY_API_KEY as the primary credential for this skill (declared in this file’s frontmatter and in the root skill.md for registry compatibility).
  • Do not enable the skill unless BUFFY_API_KEY has been configured (for example, via requires.env metadata).

Core endpoint: POST /v1/message

For most use cases, always prefer POST /v1/message. Buffy’s behavior core understands natural language instructions and orchestrates activities, reminders, and daily briefings.

  • Method: POST

  • Path: /v1/message

  • Headers:

    • Authorization: Bearer \x3CBUFFY_API_KEY>
    • Content-Type: application/json
    • Optionally X-Buffy-User-ID: \x3Cstable-user-id> if acting on behalf of a specific user via a system key.
  • Body:

{
  "user_id": "user-123",
  "platform": "openclaw",
  "message": "Remind me to drink water every 2 hours"
}
  • Response (simplified):
{
  "reply": "Created a routine activity for you: \"Remind me to drink water every 2 hours\"."
}

For users who have a clan (any user gets one on first use), the backend may append clan context to the reply (e.g. clan name, shared energy, and active boss progress). The skill does not need to change how it calls the API; just surface the full reply to the user.

Usage notes for the agent

When calling POST /v1/message:

  • Choose a stable user_id for the end-user:
    • Prefer a consistent external ID from the calling system (for example, an OpenClaw user ID) when available.
    • Otherwise, use the chat/session’s stable user identifier if provided in context.
  • Always set "platform": "openclaw" unless the environment explicitly configures another platform.
  • Put the user’s natural-language request in "message" in a clear, concise form.
  • Reuse the same user_id across the conversation so Buffy can maintain context.

Examples of when to call Buffy (habit, todo, routines):

  • Habit: "Create a habit to stretch every hour during workdays." / "What habits have I completed today?"
  • Todo: "Add to my todo: review the report." / "What's on my todo?" / "Mark 'send email' as done."
  • Routines: "Pause my evening exercise routine this week." / "Set a reminder tomorrow at 8am to plan my day."

Use via Buffy CLI

You can call the same Buffy API from the terminal or scripts using the official Buffy CLI. The same BUFFY_API_KEY used by this skill works for the CLI.

  • Install: Download a binary from Releases for your OS/arch, or run go install github.com/phantue2002/buffy-cli@latest (Go 1.21+).
  • Authenticate: Set export BUFFY_API_KEY=your_key or pass --api-key KEY (or --api-base URL for a different endpoint).
  • Send a message (creates habits, tasks, routines, reminders in natural language):
    • buffy message --text "remind me to drink water every day"
  • Manage settings and keys: buffy user-settings get, buffy user-settings set, buffy api-key list, buffy api-key create, buffy api-key revoke.

Repo: github.com/phantue2002/buffy-cli. Use the CLI when the user prefers the command line or wants to automate Buffy from scripts; use this skill (HTTP) when invoking Buffy from an agent or chat surface.

Supporting endpoints

You usually do not need these, but they are available for more advanced flows.

Clan / team

Any user can use clans (shared energy, boss fights). A personal clan is created on first use; no team plan required. The reply from POST /v1/message already includes clan name, energy, and active boss progress when the user has a clan; you do not need to call these unless building a custom flow.

  • GET /v1/clans/me — Current user's clan (creates team and clan on first access if needed; 404 only if user not found).
  • GET /v1/clans/{clan_id}/energy — Clan energy (members only).
  • POST /v1/clans/{clan_id}/bosses — Create a boss (owner/admin).
  • GET /v1/clans/{clan_id}/bosses — List bosses; GET /v1/clans/{clan_id}/bosses/{boss_id} — Boss detail.

All require the same Authorization: Bearer \x3CBUFFY_API_KEY> and (for system keys) X-Buffy-User-ID when acting on behalf of a user. Prefer POST /v1/message for normal chat; use these only for dedicated clan/team UI or automation.

User settings

These endpoints control personalization (name, timezone, language, reminder preferences, etc.).

  • GET /v1/users/{id}/settings

    • Fetch current settings for a user.
  • PUT /v1/users/{id}/settings

    • Update one or more settings for a user.
    • Body fields are all optional:
      • name: string
      • language: "en" | "vi" | ...
      • timezone: string (IANA TZ, e.g. "Asia/Ho_Chi_Minh")
      • preferred_reminder_hour: number (0–23)
      • preferred_channels: string (comma-separated, e.g. "clawbot,telegram")
      • morning_person: boolean
      • night_owl: boolean

Only use these endpoints when the user is explicitly changing preferences (for example: “Change my preferred reminder time to 8am.”). For general “help me with my habits” queries, prefer POST /v1/message.

API key provisioning (advanced)

Buffy can create API keys for other tools and integrations:

  • POST /v1/users/{id}/api-keys

Body:

{
  "label": "clawbot",
  "type": "system"
}

This returns a one-time api_key string that can be used in the Authorization header.

Important: this is an advanced operation. Do not automatically create keys unless the user explicitly wants to manage Buffy API keys or set up additional integrations.

Invocation pattern and best practices

When deciding whether and how to call Buffy:

  • Use Buffy when the request clearly relates to habits, tasks, routines, reminders, daily briefings, or clan/team status (e.g. "What's our clan energy?" — reply includes clan name, energy, and active boss when the user has a clan).
  • Default to POST /v1/message rather than manually composing lower-level operations.
  • Preserve a consistent user_id so Buffy’s behavior core and memory can work effectively.
  • Keep message short, clear, and close to what the user asked for, but you may add clarifying details that the user has already given in the conversation.

Avoid:

  • Creating or exposing raw internal IDs to the user when not necessary.
  • Making redundant calls to Buffy if you already have the needed information from a recent response.
  • Using Buffy for requests that are not about habits, todo, routines, reminders, or clan/team (e.g. "how do I do X", "find a skill for X", testing, deployment, design). For those, use or suggest the find-skills workflow (e.g. npx skills find [query]) so the user can discover and install the right skill.

Extending capabilities (find-skills)

When the user asks for help that is outside Buffy’s scope (e.g. "how do I test my API?", "find a skill for React", "is there a skill that can review PRs?"):

  1. Do not call Buffy for those requests.
  2. If the find-skills skill is available, use it: run npx skills find [query] with a relevant query, then present install commands and links (e.g. npx skills add \x3Cowner/repo@skill> -g -y).
  3. If find-skills is not available, suggest the user run npx skills find \x3Ctopic> or browse https://skills.sh/ to discover and install a skill for that capability.

This keeps Buffy focused on habit/todo/routines and lets the agent hand off capability discovery to find-skills for best performance.

Security, privacy, and sandboxing

  • Secrets:

    • BUFFY_API_KEY is provided via the agent environment (for this skill’s turn).
    • Never log, echo, or include BUFFY_API_KEY in any user-facing message or tool arguments.
    • Do not serialize or store the key in prompts, memory, or external logs.
  • User data:

    • Buffy responses can contain sensitive information about a user’s routines, health-related habits, and daily schedule.
    • Treat all such data as private; only surface to the user who owns it and avoid sharing across users.
  • Conversation logs and hooks:

    • This skill does not itself write any logs to disk.
    • Optional OpenClaw hooks (for example, buffy-error-tracker) may append Buffy-related events to repo-local markdown logs under a path you control (such as logs/).
    • Decide explicitly whether you want such logs, where they live, and how they are rotated or pruned.
    • Avoid storing highly sensitive user content in long-lived logs unless your compliance model allows it.
  • Sandboxing and network access:

    • Buffy is an external HTTPS API. The agent (or sandbox, if used) must have outbound HTTPS access to the configured Buffy endpoint (default https://api.buffyai.org).
    • This skill does not require any local binaries inside the sandbox (requires.bins is not used).
    • If the gateway uses sandboxed runs for untrusted tools, ensure that the sandbox image allows HTTPS egress to the Buffy endpoint while still respecting whatever network and filesystem restrictions are configured.
  • Reminder dispatch and channel credentials:

    • Reminder delivery to channels like Telegram or Clawbot is implemented via separate hooks/tools (for example, the buffy-reminder-dispatch hook), not by this core Buffy skill.
    • This skill’s metadata does not declare those channel credentials, because they are not required for the core Buffy API client.
    • Those hooks will typically require their own channel credentials (Telegram bot tokens, Clawbot API keys, etc.); they should be configured only for the dispatch implementation you control.
    • Do not reuse BUFFY_API_KEY as a channel credential, and do not expose channel tokens to the Buffy HTTP client unless absolutely necessary.

Configuration via openclaw.json

This skill is configured through ~/.openclaw/openclaw.json using the skills.entries map. Because the metadata sets primaryEnv to BUFFY_API_KEY, you can either provide an API key directly or reference an existing environment variable.

Minimal config (using process env)

If BUFFY_API_KEY is already set in the process environment:

{
  "skills": {
    "entries": {
      "buffy-agent": {
        "enabled": true,
        "apiKey": {
          "source": "env",
          "provider": "default",
          "id": "BUFFY_API_KEY"
        }
      }
    }
  }
}

Config with explicit env injection and endpoint override

If you want OpenClaw to inject BUFFY_API_KEY only for this skill and/or override the API endpoint for staging or local development:

{
  "skills": {
    "entries": {
      "buffy-agent": {
        "enabled": true,
        "apiKey": "BUFFY_KEY_HERE",
        "env": {
          "BUFFY_API_KEY": "BUFFY_KEY_HERE"
        },
        "config": {
          "endpoint": "https://api.buffyai.org",
          "platform": "openclaw"
        }
      }
    }
  }
}

Notes:

  • env values are only injected if the variable is not already set in the process.
  • config.endpoint can be changed to point to:
    • https://api-dev.buffyai.org (staging), or
    • http://localhost:8080 (local backend).
  • config.platform can be used by the tool implementation as the default "platform" field when calling POST /v1/message.

Testing the Buffy AgentSkill

To validate that the skill works end-to-end:

  1. Start Buffy:
    • Either run the full stack with Docker (docker compose up) or start the backend locally following the repository README.
  2. Obtain an API key:
    • Use POST /v1/users/{id}/api-keys to create a system key labeled for OpenClaw usage.
  3. Configure OpenClaw:
    • Add an entry for "buffy-agent" in ~/.openclaw/openclaw.json as shown above, pointing config.endpoint at your running Buffy instance and wiring BUFFY_API_KEY.
  4. Verify skill discovery:
    • Use the OpenClaw UI or CLI to list skills and confirm:
      • buffy-agent appears.
      • The emoji, description, and website are correct.
  5. Run a sample interaction:
    • From OpenClaw, invoke the /buffy-agent command (or let the agent auto-select the skill) with a request such as “Remind me to stretch every hour during workdays.”
    • Confirm that Buffy:
      • Receives a POST /v1/message with the expected user_id, platform, and message.
      • Returns a sensible reply that the agent surfaces to the user.
  6. Regression checks:
    • Confirm the skill is filtered out when BUFFY_API_KEY is not configured (per requires.env).
    • Confirm it still works when env injection is omitted but BUFFY_API_KEY is already present in the process environment.

This completes the Buffy AgentSkill wiring: a thin, secure HTTP wrapper around the existing Buffy behavior core, suitable for both autonomous model use and direct user invocation.

安全使用建议
This skill appears to do what it says: it sends user messages to the Buffy API and needs one API key. Before installing, verify you trust api.buffyai.org and the skill owner (unknown homepage), and confirm the BUFFY_API_KEY you provide has only the minimum scope required. Do not use a system key that grants access to multiple users unless you understand the implications and supply X-Buffy-User-ID correctly. If you enable any of the hook files (reminder dispatch, log message, error tracker), review them first — they explicitly write user messages/errors to repo-local markdown files or call downstream channel APIs, which can create privacy or retention issues. Finally, treat the skill like any external service: review its privacy policy (if available), monitor what data is sent, and rotate/revoke the API key if you stop using the skill.
功能分析
Type: OpenClaw Skill Name: buffy-agent Version: 1.1.7 The buffy-agent skill is a legitimate HTTP wrapper for an external habit and task tracking API (api.buffyai.org). The SKILL.md and associated hook documentation (buffy-log-message.md, buffy-error-tracker.md) provide clear instructions for natural language interaction and observability, including explicit warnings about the privacy implications of logging user data to disk. The instructions specifically emphasize protecting the BUFFY_API_KEY from exposure in logs or prompts, and the suggested 'find-skills' workflow for out-of-scope requests is a standard discovery pattern for modular agents.
能力评估
Purpose & Capability
Name/description (habit/todo/routines) matches the declared requirements and instructions. The only required credential is BUFFY_API_KEY, which is appropriate for an HTTP client to an external Buffy API. No unrelated binaries, config paths, or broad permissions are requested.
Instruction Scope
SKILL.md instructs the agent to POST user messages to Buffy’s API and to keep the API key out of prompts/logs — this stays within the stated purpose. The repository includes optional hook docs that, if installed by an integrator, can write user messages or errors to local markdown logs or invoke downstream channel APIs (Clawbot, Telegram, Slack). Those hooks are explicitly described as optional; enable them only after reviewing privacy implications.
Install Mechanism
No install spec and no code files to execute are included (instruction-only). This minimizes local installation risk because nothing is downloaded or written by the skill itself.
Credentials
Only a single secret (BUFFY_API_KEY) is required and declared as the primary credential, which is proportionate for an HTTP API client. The SKILL.md warns not to expose the key in prompts or logs. Note: a system key that requires X-Buffy-User-ID can act on behalf of users — avoid granting overly large or cross-user scopes to the API key.
Persistence & Privilege
The skill is not always-enabled and does not request persistent system presence or modifications to other skills. Autonomous invocation is permitted by default (normal for skills). The optional hooks could persist logs to disk, but that is not part of the skill's required configuration.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install buffy-agent
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /buffy-agent 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.1.7
**Buffy-agent 1.1.7** — Now clearly communicates free usage & generous limits - Updated description and documentation to highlight that Buffy is now completely free with no paid tiers. - Clarified limits: up to 25 habits, 100 tasks, 15 routines, and 200 reminders/day. - Emphasized unlimited access to all features (no paid plans). - No backend/API or code changes; documentation and user-facing messaging only.
v1.1.6
Version 1.1.6 - Added documentation for using the official Buffy CLI to interact with the Buffy API from the terminal or scripts. - Provided installation and usage instructions for the CLI, including how to send messages and manage user settings and API keys. - No functional or API changes; documentation update only.
v1.1.5
Version 1.1.5 - No changes to files were detected in this release. - No modifications to APIs, configuration, or documentation.
v1.1.4
No user-facing changes in this release. - No file changes were detected for version 1.1.4.
v1.1.3
Version 1.1.3 of buffy-agent - No file changes detected in this version; no updates or modifications to functionality, features, or documentation. - All behaviors and requirements remain as previously described.
v1.1.2
**Added clearer user instructions for habits, todo, and routines; no code/API changes.** - Introduced a new quick-start section with example commands for habits, todo, and routines. - Clarified that Buffy understands plain language requests for creating, tracking, and updating habits, todos, and routines. - No backend or interface changes; the core usage and endpoints remain unchanged. - Improved summary/keywords in metadata for better discovery.
v1.1.1
- Shortened and simplified the description to emphasize habits, todo/tasks, and routines management. - Added user-friendly keywords (habit, todo, tasks, routines, reminders, daily briefing) to metadata. - Tightened instructions for invoking Buffy: recommend POST /v1/message for nearly all cases. - Made language more concise and approachable throughout SKILL.md. - No code changes; documentation only.
v1.1.0
- Declared BUFFY_API_KEY as the required environment variable in skill metadata for registry compatibility. - Clarified in documentation that the skill is strictly an HTTP client and only needs BUFFY_API_KEY (no other setup or hooks required). - Updated frontmatter with primaryEnv, requires.env, and metadata blocks for platform integration. - Expanded documentation about hooks: they are optional, not enforced by this skill, and have their own security/privacy implications if installed. - No changes to behavior or API usage—these updates increase clarity, setup transparency, and registry compatibility.
v1.0.3
v1.0.3 (Clan/team context surfaced in replies) - Clarifies that users automatically get a personal clan and can access clan features without a team plan. - Explains that replies to POST /v1/message may now include clan name, shared energy, and active boss progress. - Documents clan/team-related endpoints, with guidance to prefer POST /v1/message for most use. - Updates best practices: Buffy may be used for clan/team status questions; agent should just surface the full reply. - No code changes; documentation only.
v1.0.2
- Minor documentation update: clarified handling of BUFFY_API_KEY credential and registry/gateway enablement. - Added guidance on conversation logs and hooks (including logging behavior and compliance remarks). - Specified that reminder delivery to external channels is handled by separate hooks/tools, not by this core skill. - No changes to skill code or API; documentation only.
v1.0.1
No user-facing changes in this release. - Version incremented to 1.0.1 with no detected modifications to files or documentation. - All usage, API endpoints, and instructions remain unchanged.
v1.0.0
Buffy Agent skill v1.0.0 – Initial release - Adds multi-channel agent for tracking habits, tasks, and routines. - Supports natural-language activity management, reminders, and daily briefings via POST /v1/message. - Includes endpoints for personalized settings and advanced API key provisioning. - Offers flexible configuration for API keys and environments. - Designed for privacy, security, and simple OpenClaw integration.
元数据
Slug buffy-agent
版本 1.1.7
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 12
常见问题

Habit tracking, todo, and routines 是什么?

Free habit tracking, todo, and routines — create and track up to 25 habits, 100 tasks, and 15 routines; schedule reminders and daily briefings across ChatGPT... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 477 次。

如何安装 Habit tracking, todo, and routines?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install buffy-agent」即可一键安装,无需额外配置。

Habit tracking, todo, and routines 是免费的吗?

是的,Habit tracking, todo, and routines 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Habit tracking, todo, and routines 支持哪些平台?

Habit tracking, todo, and routines 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Habit tracking, todo, and routines?

由 buffy-agent(@phantue2002)开发并维护,当前版本 v1.1.7。

💬 留言讨论