원클릭으로
org-agenda-api
Use when interacting with the org-agenda-api HTTP server to read/write org-mode agenda data
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Use when interacting with the org-agenda-api HTTP server to read/write org-mode agenda data
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Safely reclaim disk space through reviewed, automated cleanup actions on this machine, especially for Nix, Rust build artifacts, containers, caches, and service state. Use when an assessment has identified cleanup candidates, the user asks to free space or automate remediation, or low-space recovery requires measured deletion of rebuildable data.
Measure and explain disk usage without deleting data, producing reusable compressed ncdu snapshots and an evidence-backed cleanup handoff. Use when disk is low, a filesystem is unexpectedly large, builds fail from space pressure, the user asks what is consuming space, or deeper iterative disk analysis is needed before cleanup.
Safely delegate between Codex and Claude through read-only CLI wrappers. Use when the user explicitly asks Codex or Claude to delegate to the other, or when a workflow explicitly calls for an independent cross-model second opinion.
Use when user wants to find promotional or unwanted recurring emails to unsubscribe from, or when doing periodic inbox hygiene to identify senders worth unsubscribing from
Use when the user wants to reset or rotate a website or service password end-to-end, including finding the right `pass` entry, generating a new password with `xkcdpassgen`, retrieving reset emails through `gws gmail` or a local mail CLI, completing the reset in the browser via the Chrome extension, and updating the password store safely without losing entry metadata.
Use when investigating production org-agenda-api state, testing endpoints, or debugging production issues
| name | org-agenda-api |
| description | Use when interacting with the org-agenda-api HTTP server to read/write org-mode agenda data |
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 org-agenda-api-imalison
Returns: password on first line. The username is currently imalison.
Note: The url field in pass may be outdated. Use the base URL below.
https://org-agenda-api.rocket-sense.duckdns.org
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 arraylevel: 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)View 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
}