todos

SKILL.md

Todos Management

Overview

Manages todos via the Nomendex REST API. The API handles all validation, ID generation, timestamps, and ordering automatically.

Todos are displayed in a kanban board UI with columns for each status. Users can drag and drop todos between columns to change their status, or use the API to update status programmatically.

Todo Status

Each todo has a status field that controls which kanban column it appears in. The available statuses are:

Status Description
todo Not started - the default status for new todos
in_progress Currently being worked on
done Completed
later Deferred or backlogged for future consideration

When creating a todo, status defaults to todo if not specified. When updating a todo's status, the system automatically assigns a new order position at the end of the target column.

Port Discovery

The server writes its port to a discoverable location. Extract it with:

PORT=$(cat ~/Library/Application\ Support/com.firstloop.nomendex/serverport.json | grep -o '"port":[0-9]*' | cut -d: -f2)

API Endpoints

All endpoints use POST with JSON body at http://localhost:$PORT:

Endpoint Description
/api/todos/create Create a new todo
/api/todos/list List todos (with optional project filter)
/api/todos/get Get a single todo by ID
/api/todos/update Update a todo
/api/todos/delete Delete a todo
/api/todos/projects List all projects
/api/todos/tags List all tags
/api/todos/archive Archive a todo
/api/todos/unarchive Unarchive a todo
/api/todos/archived List archived todos

Create Todo

curl -s -X POST "http://localhost:$PORT/api/todos/create" \
  -H "Content-Type: application/json" \
  -d '{"title": "My todo", "project": "work"}'

# With explicit status
curl -s -X POST "http://localhost:$PORT/api/todos/create" \
  -H "Content-Type: application/json" \
  -d '{"title": "My todo", "status": "in_progress", "project": "work"}'

List Todos

# All active todos
curl -s -X POST "http://localhost:$PORT/api/todos/list" \
  -H "Content-Type: application/json" \
  -d '{}'

# Todos for a specific project
curl -s -X POST "http://localhost:$PORT/api/todos/list" \
  -H "Content-Type: application/json" \
  -d '{"project": "work"}'

Update Todo

# Update status
curl -s -X POST "http://localhost:$PORT/api/todos/update" \
  -H "Content-Type: application/json" \
  -d '{"todoId": "todo-123", "updates": {"status": "done"}}'

# Update multiple fields
curl -s -X POST "http://localhost:$PORT/api/todos/update" \
  -H "Content-Type: application/json" \
  -d '{"todoId": "todo-123", "updates": {"title": "New title", "status": "in_progress"}}'

How Claude Should Use This Skill

Always start by getting the server port, then use the appropriate endpoint.

Weekly Installs
12
GitHub Stars
4
First Seen
Feb 27, 2026
Installed on
cline12
github-copilot12
codex12
kimi-cli12
gemini-cli12
cursor12