org-agenda-api by colonelpanic8/dotfiles
npx skills add https://github.com/colonelpanic8/dotfiles --skill org-agenda-api用于 org-mode 日程数据的 HTTP API。当你需要以编程方式查询或修改 org 日程条目时,请使用此技能。
从 pass 获取凭据:
pass show colonelpanic-org-agenda.fly.dev
返回:第一行是密码,然后是 user: 和 url: 字段。
注意: pass 中的 url 字段可能已过时。请使用下面的基础 URL。
https://colonelpanic-org-agenda.fly.dev
所有请求都使用从 pass 获取的凭据进行基本认证。
获取一天或一周的日程条目。
查询参数:
span: day(默认)或 广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
weekdate: YYYY-MM-DD(默认:今天)include_overdue: true 以包含前几天的过期项目include_completed: true 以包含在查询日期完成的项目refresh: true 以首先执行 git pull 操作响应包含 span、date、entries 数组,以及可选的 gitRefresh 结果。
从日程文件中获取所有待办事项。
查询参数:
refresh: true 以首先执行 git pull 操作响应包含 defaults(包含 notifyBefore)、todos 数组,以及可选的 gitRefresh。
在单个请求中获取所有应用元数据。返回:
templates: 捕获模板filterOptions: 标签、类别、优先级、待办状态todoStates: 活动状态和完成状态customViews: 可用的自定义日程视图errors: 获取上述数据时遇到的任何错误获取已配置的待办状态。返回:
active: 未完成状态数组(TODO、NEXT 等)done: 已完成状态数组(DONE、CANCELLED 等)获取可用的筛选选项。返回:
todoStates: 所有状态priorities: 可用优先级(A、B、C)tags: 来自日程文件的所有标签categories: 所有类别列出可用的自定义日程视图。返回 {key, name} 对象数组。
运行自定义日程视图。
查询参数:
key(必需):自定义日程命令键refresh: true 以首先执行 git pull 操作获取 org-agenda-files 列表及其存在性和可读性状态。
列出可用的捕获模板及其提示。
健康检查。返回 status、uptime、requests,如果状态不健康则返回 captureStatus。
版本信息。返回 version 和 gitCommit。
用于调试的当前 org 配置。
使用捕获模板创建新条目。
重要: 对于大多数任务,请使用 capture-g(GTD 待办事项)——它能正确记录创建时间和日志历史。仅当你特别不希望进行 GTD 跟踪时,才使用 default。
请求体:
{
"template": "capture-g",
"values": {
"Title": "Task title",
"scheduled": "2026-01-20",
"deadline": "2026-01-25",
"priority": "A",
"tags": ["work", "urgent"],
"todo": "TODO"
}
}
将待办事项标记为完成。
请求体(使用任意组合来标识项目):
{
"id": "org-id-if-available",
"file": "/path/to/file.org",
"pos": 12345,
"title": "Task title",
"state": "DONE"
}
查找顺序:id -> file+pos+title -> file+title -> 仅 title
更新待办事项的预定日期、截止日期、优先级、标签或属性。
请求体:
{
"id": "org-id",
"file": "/path/to/file.org",
"pos": 12345,
"title": "Task title",
"scheduled": "2026-01-20T10:00:00",
"deadline": "2026-01-25",
"priority": "B",
"tags": ["updated", "tags"],
"properties": {
"CUSTOM_PROP": "value"
}
}
将值设置为 null 或空字符串以清除。响应包含用于缓存更新的新 pos。
永久删除一个 org 项目。
请求体:
{
"id": "org-id",
"file": "/path/to/file.org",
"position": 12345,
"include_children": true
}
如果项目有子项,则需要 include_children: true,否则返回错误。
重启 Emacs 服务器(优雅退出,由 supervisord 重启)。
这些端点要求配置 org-category-capture。
列出已注册的类别策略类型。返回包含以下内容的数组:
name: 策略类型名称hasCategories: 布尔值captureTemplate: 模板字符串prompts: 提示定义数组获取策略类型的类别。
查询参数:
type(必需):策略类型名称(例如,"projects")existing_only: true 以仅返回具有捕获位置的类别返回 type、categories 数组、todoFiles 数组。
获取特定类别的任务。
查询参数:
type(必需):策略类型名称category(必需):类别名称捕获新条目到类别。
请求体:
{
"type": "projects",
"category": "my-project",
"title": "Task title",
"todo": "TODO",
"scheduled": "2026-01-20",
"deadline": "2026-01-25",
"priority": "A",
"tags": ["work"],
"properties": {"EFFORT": "1h"}
}
日程/待办条目包括:
todo: 待办状态(TODO、NEXT、DONE 等)title: 标题文本scheduled: ISO 日期或日期时间deadline: ISO 日期或日期时间priority: A、B 或 C(仅在显式设置时)tags: 标签数组file: 源文件路径pos: 文件中的位置(编辑后可能更改)id: 如果设置了 Org ID(稳定标识符)olpath: 大纲路径数组level: 标题级别category: 项目的类别properties: 属性抽屉中的所有属性completedAt: 完成时的 ISO 时间戳(如果适用)agendaLine: 原始日程显示文本(仅限 agenda 端点)notifyBefore: 通知分钟数数组isWindowHabit: 窗口习惯的布尔值habitSummary: 习惯的摘要对象(如果适用)查看今日日程:
curl -s -u "$USER:$PASS" "$URL/agenda?span=day" | jq '.entries[] | {todo, title, scheduled}'
查看本周日程:
curl -s -u "$USER:$PASS" "$URL/agenda?span=week" | jq .
查看特定日期的已完成任务:
curl -s -u "$USER:$PASS" "$URL/agenda?date=2026-01-17&include_completed=true" | jq '.entries[] | select(.completedAt != null) | {title, completedAt}'
一次性获取所有元数据:
curl -s -u "$USER:$PASS" "$URL/metadata" | jq .
创建任务:
curl -s -u "$USER:$PASS" -X POST "$URL/capture" \
-H "Content-Type: application/json" \
-d '{"template":"capture-g","values":{"Title":"New task","scheduled":"2026-01-20"}}'
通过标题完成任务:
curl -s -u "$USER:$PASS" -X POST "$URL/complete" \
-H "Content-Type: application/json" \
-d '{"title":"Task title"}'
更新任务的预定时间:
curl -s -u "$USER:$PASS" -X POST "$URL/update" \
-H "Content-Type: application/json" \
-d '{"title":"Task title","scheduled":"2026-01-21T14:00:00"}'
清除截止日期:
curl -s -u "$USER:$PASS" -X POST "$URL/update" \
-H "Content-Type: application/json" \
-d '{"title":"Task title","deadline":null}'
删除任务:
curl -s -u "$USER:$PASS" -X POST "$URL/delete" \
-H "Content-Type: application/json" \
-d '{"title":"Task to delete","file":"/path/to/file.org","position":12345}'
所有端点都返回 JSON。错误包括:
{
"status": "error",
"message": "Error description"
}
成功响应包括:
{
"status": "created" | "completed" | "updated",
...additional fields
}
每周安装次数
1
代码仓库
GitHub 星标数
210
首次出现
今天
安全审计
安装于
zencoder1
amp1
cline1
openclaw1
opencode1
cursor1
HTTP API for org-mode agenda data. Use this skill when you need to query or modify org agenda entries programmatically.
Get credentials from pass:
pass show colonelpanic-org-agenda.fly.dev
Returns: password on first line, then user: and url: fields.
Note: The url field in pass may be outdated. Use the base URL below.
https://colonelpanic-org-agenda.fly.dev
All requests use Basic Auth with the credentials from pass.
Get agenda entries for a day or week.
Query params:
span: day (default) or weekdate: YYYY-MM-DD (default: today)include_overdue: true to include overdue items from previous daysinclude_completed: true to include items completed on the queried daterefresh: true to git pull repos firstResponse includes span, date, entries array, and optionally gitRefresh results.
Get all TODO items from agenda files.
Query params:
refresh: true to git pull firstResponse includes defaults (with notifyBefore), todos array, and optionally gitRefresh.
Get all app metadata in a single request. Returns:
templates: capture templatesfilterOptions: tags, categories, priorities, todoStatestodoStates: active and done statescustomViews: available custom agenda viewserrors: any errors encountered fetching aboveGet configured TODO states. Returns:
active: array of not-done states (TODO, NEXT, etc.)done: array of done states (DONE, CANCELLED, etc.)Get available filter options. Returns:
todoStates: all statespriorities: available priorities (A, B, C)tags: all tags from agenda filescategories: all categoriesList available custom agenda views. Returns array of {key, name} objects.
Run a custom agenda view.
Query params:
key (required): custom agenda command keyrefresh: true to git pull firstGet list of org-agenda-files with existence and readability status.
List available capture templates with their prompts.
Health check. Returns status, uptime, requests, and captureStatus if unhealthy.
Version info. Returns version and gitCommit.
Current org configuration for debugging.
Create a new entry using a capture template.
Important: Use capture-g (GTD Todo) for most tasks - it properly records creation time and logbook history. Only use default when you specifically don't want GTD tracking.
Body:
{
"template": "capture-g",
"values": {
"Title": "Task title",
"scheduled": "2026-01-20",
"deadline": "2026-01-25",
"priority": "A",
"tags": ["work", "urgent"],
"todo": "TODO"
}
}
Mark a TODO as complete.
Body (use any combination to identify the item):
{
"id": "org-id-if-available",
"file": "/path/to/file.org",
"pos": 12345,
"title": "Task title",
"state": "DONE"
}
Lookup order: id -> file+pos+title -> file+title -> title only
Update a TODO's scheduled date, deadline, priority, tags, or properties.
Body:
{
"id": "org-id",
"file": "/path/to/file.org",
"pos": 12345,
"title": "Task title",
"scheduled": "2026-01-20T10:00:00",
"deadline": "2026-01-25",
"priority": "B",
"tags": ["updated", "tags"],
"properties": {
"CUSTOM_PROP": "value"
}
}
Set value to null or empty string to clear. Response includes new pos for cache updates.
Delete an org item permanently.
Body:
{
"id": "org-id",
"file": "/path/to/file.org",
"position": 12345,
"include_children": true
}
Requires include_children: true if item has children, otherwise returns error.
Restart the Emacs server (exits gracefully, supervisord restarts).
These require org-category-capture to be configured.
List registered category strategy types. Returns array with:
name: strategy type namehasCategories: booleancaptureTemplate: template stringprompts: array of prompt definitionsGet categories for a strategy type.
Query params:
type (required): strategy type name (e.g., "projects")existing_only: true to only return categories with capture locationsReturns type, categories array, todoFiles array.
Get tasks for a specific category.
Query params:
type (required): strategy type namecategory (required): category nameCapture a new entry to a category.
Body:
{
"type": "projects",
"category": "my-project",
"title": "Task title",
"todo": "TODO",
"scheduled": "2026-01-20",
"deadline": "2026-01-25",
"priority": "A",
"tags": ["work"],
"properties": {"EFFORT": "1h"}
}
Agenda/todo entries include:
todo: TODO state (TODO, NEXT, DONE, etc.)title: Heading textscheduled: ISO date or datetimedeadline: ISO date or datetimepriority: A, B, or C (only if explicitly set)tags: Array of tagsfile: Source file pathpos: Position in file (may change after edits)id: Org ID if set (stable identifier)olpath: Outline path arrayView today's agenda:
curl -s -u "$USER:$PASS" "$URL/agenda?span=day" | jq '.entries[] | {todo, title, scheduled}'
View this week:
curl -s -u "$USER:$PASS" "$URL/agenda?span=week" | jq .
View completed tasks for a specific date:
curl -s -u "$USER:$PASS" "$URL/agenda?date=2026-01-17&include_completed=true" | jq '.entries[] | select(.completedAt != null) | {title, completedAt}'
Get all metadata at once:
curl -s -u "$USER:$PASS" "$URL/metadata" | jq .
Create a task:
curl -s -u "$USER:$PASS" -X POST "$URL/capture" \
-H "Content-Type: application/json" \
-d '{"template":"capture-g","values":{"Title":"New task","scheduled":"2026-01-20"}}'
Complete a task by title:
curl -s -u "$USER:$PASS" -X POST "$URL/complete" \
-H "Content-Type: application/json" \
-d '{"title":"Task title"}'
Update a task's schedule:
curl -s -u "$USER:$PASS" -X POST "$URL/update" \
-H "Content-Type: application/json" \
-d '{"title":"Task title","scheduled":"2026-01-21T14:00:00"}'
Clear a deadline:
curl -s -u "$USER:$PASS" -X POST "$URL/update" \
-H "Content-Type: application/json" \
-d '{"title":"Task title","deadline":null}'
Delete a task:
curl -s -u "$USER:$PASS" -X POST "$URL/delete" \
-H "Content-Type: application/json" \
-d '{"title":"Task to delete","file":"/path/to/file.org","position":12345}'
All endpoints return JSON. Errors include:
{
"status": "error",
"message": "Error description"
}
Success responses include:
{
"status": "created" | "completed" | "updated",
...additional fields
}
Weekly Installs
1
Repository
GitHub Stars
210
First Seen
Today
Security Audits
Gen Agent Trust HubPassSocketFailSnykWarn
Installed on
zencoder1
amp1
cline1
openclaw1
opencode1
cursor1
Azure RBAC 权限管理工具:查找最小角色、创建自定义角色与自动化分配
117,000 周安装
前端动画设计指南:提升用户体验的微交互与动效策略
38,600 周安装
跨平台设计适配指南:移动端、桌面端、平板、打印及邮件适配策略与实施方法
38,800 周安装
前端打磨(Polish)终极指南:提升产品细节与用户体验的系统化检查清单
39,900 周安装
Web应用测试指南:使用Python Playwright自动化测试本地Web应用
39,500 周安装
Azure Cloud Migrate:AWS Lambda到Azure Functions迁移工具 - 微软官方评估与代码迁移
38,700 周安装
Excel财务建模规范与xlsx文件处理指南:专业格式、零错误公式与数据分析
42,900 周安装
level: Heading levelcategory: Category of the itemproperties: All properties from the property drawercompletedAt: ISO timestamp when completed (if applicable)agendaLine: Raw agenda display text (agenda endpoint only)notifyBefore: Array of minutes for notificationsisWindowHabit: Boolean for window habitshabitSummary: Summary object for habits (if applicable)