360 Secure SkillHub
360 安全技能中心

Beaver Habit Tracker

该 Skill 使用 curl 调用 Beaver Habit Tracker API:先列出全部习惯,再取各习惯近 5 天的完成记录,渲染成带 ✓/✗ 的 ASCII 周视图表格;也可按 DD-MM-YYYY 日期把习惯标记为完成或取消完成,并在变更后重新渲染表格。需配置 API 密钥环境变量,可选自定义服务地址用于自托管实例。

daya0576
daya0576
热度 94.97
最近更新 2026-05-17 12:24:27
分类:生活依赖:代码执行 / 第三方 API应用场景:健康 / 任务管理 / 工作流

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add beaverhabits
Metadata
name
beaverhabits
description
Track and manage your habits using the Beaver Habit Tracker API.
version
1.0.0
metadata
{"openclaw":{"requires":{"env":["BEAVERHABITS_API_KEY","SERVER_URL (optional, defaults to https://beaverhabits.com)"],"bins":["curl"]},"primaryEnv":"BEAVERHABITS_API_KEY","emoji":"🦫","homepage":"https://github.com/daya0576/beaverhabits"}}

Beaver Habit Tracker

Track and manage your daily habits using the Beaver Habit Tracker API.

API documentation: https://beaverhabits.com/docs

Setup

Environment Variables

Variable Required Default Description
BEAVERHABITS_API_KEY Yes — Your permanent API token from the Beaver Habits settings page
SERVER_URL No https://beaverhabits.com Your Beaver Habits server URL (for self-hosted instances)

Getting Your API Key

  1. Log in to your Beaver Habits instance
  2. Open the menu → Tools → API Tokens
  3. Click "Generate API Token"
  4. Copy the token and set it as BEAVERHABITS_API_KEY

Tools

list_habits (overview)

List all habits and show a weekly ASCII overview. This is the default response for any habit-related query.

Step 1 — Get all habits:

curl -s -H "Authorization: Bearer $BEAVERHABITS_API_KEY" \
  "${SERVER_URL:-https://beaverhabits.com}/api/v1/habits"

Step 2 — For each habit, get completions over the last 5 days:

curl -s -H "Authorization: Bearer $BEAVERHABITS_API_KEY" \
  "${SERVER_URL:-https://beaverhabits.com}/api/v1/habits/{habit_id}/completions?date_fmt=%25d-%25m-%25Y&date_start={start}&date_end={end}&limit=100&sort=asc"

Response format: ["16-02-2026", "18-02-2026"] (array of completed date strings)

Step 3 — Render as ASCII table:

Example output:

              Mon   Tue   Wed   Thu   Fri   
Exercise       ✗     ✗     ✗     ✗     ✗     
English        ✓     ✗     ✗     ✗     ✗     
paipai         ✗     ✗     ✗     ✗     ✓     
Reading        ✗     ✗     ✗     ✗     ✗     
Table Tennis   ✗     ✗     ✗     ✗     ✗     

Use ✓ for done, ✗ for not done. Default to 5 days ending today. Emoji are stripped from habit names for proper alignment.

complete_habit

Mark a habit as done (or undone) for a specific date.

Parameters:

  • habit_id (resolved): Automatically resolved by calling list_habits and matching the user's habit name. Never ask the user for this value.
  • date (required): Date in DD-MM-YYYY format
  • done (optional): true to complete, false to uncomplete (default: true)
curl -s -X POST \
  -H "Authorization: Bearer $BEAVERHABITS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"date": "20-02-2026", "done": true, "date_fmt": "%d-%m-%Y"}' \
  "${SERVER_URL:-https://beaverhabits.com}/api/v1/habits/{habit_id}/completions"

Response: {"day": "20-02-2026", "done": true}

Usage Instructions

  • When the user asks to list, show, or check habits, always respond with the ASCII overview table (not a plain list).
  • After completing or uncompleting a habit, always re-render the overview table to show the updated state.
  • Resolve habit names → IDs via list_habits. Never ask the user for a habit_id.
  • Default to today's date for completions unless specified. Use date_fmt=%d-%m-%Y.