Agent skill

Things Todo

by steipete in steipete/agent-scripts

Things 3 via things CLI: add, list, search, update, delete, verify.

MITAuto-check passedProductivity & Automation

Install Things Todo

skills CLI
$ npx skills add steipete/agent-scripts --skill things-todo -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install steipete/agent-scripts things-todo --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/steipete/agent-scripts.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/things-todo .claude/skills/things-todo && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
things-todo
GitHub stars
7.3k
Token cost
~710 tokens
SKILL.md length
267 words
Files
1
Skills in repo
45
Repo updated
First seen
Licence
MIT

At a glance

Things 3 via things CLI: add, list, search, update, delete, verify.

  • Productivity & Automation work in your project
  • SKILL.md covers Tool, Start, Add and Update / Delete, plus 2 more sections
  • Calls go; reaches github.com; needs THINGS_AUTH_TOKEN

What it does

Things Todo is an agent skill from steipete/agent-scripts. Things 3 via things CLI: add, list, search, update, delete, verify.

Its SKILL.md is about 710 tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Productivity & Automation. The repository describes itself as: Scripts for agents, shared between my repositories. The licence is MIT.

When your agent uses it

  • Productivity & Automation work in your project

Example prompts

  • “Use the things-todo skill to thing 3 via things CLI: add, list, search, update, delete, verify”
  • “/things-todo”

Requirements

  • A credential in THINGS_AUTH_TOKEN

What it can do on your machine

Read from SKILL.md and the folder at commit 79150cf. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • go

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • github.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • THINGS_AUTH_TOKEN

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Things Todo loads about 710 tokens when it runs. Until then it costs about 20 tokens; SKILL.md has 267 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~20
When it runs · the whole SKILL.md, loaded when a task matches
~710

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from steipete/agent-scripts at commit 79150cf, republished under its MIT licence (© steipete). 267 words, ~710 tokens.

Download SKILL.mdSave it as .claude/skills/things-todo/SKILL.md (or your agent's skills folder).
name
things-todo
description
Things 3 via things CLI: add, list, search, update, delete, verify.

Things Todo

Use this for Things 3 tasks on Peter's Macs. Prefer things for Things-backed todos; use $reminders only when the user asks for Apple Reminders.

Tool

  • CLI: things
  • Repo: https://github.com/ossianhempel/things3-cli
  • Install:
bash
GOBIN=/opt/homebrew/bin go install github.com/ossianhempel/things3-cli/cmd/things@latest

Auth for update URL operations:

bash
source ~/.profile >/dev/null 2>&1 || true
things auth

THINGS_AUTH_TOKEN should come from ~/.profile or 1Password. Never print it. things update --dry-run must redact it as auth-token=***.

Start

Use JSON for scripted reads and verification:

bash
things tasks --format json --limit 20
things today --format json
things search "query" --format json

Things DB reads may need Full Disk Access for the calling app. Writes should go through Things URL Scheme or AppleScript via things; do not write the SQLite DB directly.

Add

Default: add, then search/read back.

bash
things add "Book LHR-SFO nonstop business flight" --notes "Nonstop only." --when tomorrow --tags travel
things tasks --search "LHR-SFO" --format json

Useful flags:

  • --notes "text"
  • --when today|tomorrow|evening|anytime|someday|YYYY-MM-DD
  • --deadline YYYY-MM-DD
  • --list "Project or Area"
  • --tags tag1,tag2
  • --checklist-item "text" repeatable
  • --dry-run to inspect the things:/// URL without mutating.

Update / Delete

Find the UUID first, then mutate by id:

bash
things tasks --search "flight" --format json
things update --id <uuid> "New title" --notes "Updated notes"
things tasks --search "New title" --format json
things delete --id <uuid> --confirm <uuid>
things tasks --search "New title" --format json
things trash --search "New title" --format json

Always read back after writes. Delete moves items to Things Trash; verify normal search is empty and trash search contains the item when cleanup matters.

Conventions

  • Turn vague asks into concrete next-action titles.
  • Preserve wording when the user clearly wants capture, not rewriting.
  • Split unrelated actions into separate to-dos.
  • Use Today only when the user implies it; otherwise use Inbox/Anytime defaults.
  • Prefer --dry-run before bulk updates/deletes.
  • For current date math, run date; do not guess.

Gotchas

  • macOS only; remote hosts may show Things.app version as UNKNOWN if the app is absent or not visible there.
  • update needs THINGS_AUTH_TOKEN; add does not.
  • --tags is plural for add/update; tasks --tag is singular for filtering.
  • today JSON may show start: Anytime plus a real start_date; use command membership/read-back, not one field alone, to verify Today placement.

© steipete, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/things-todo of steipete/agent-scripts.

Open the folder on GitHubat commit 79150cf

Compare with similar skills

Things Todo next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Things Todo compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Things Todo this skillsteipete/agent-scripts7.3k—~710Automated safety check: PassMIT
Agent Browserquran/quran.com-frontend-next1.9k42 repos~3.3kAutomated safety check: PassNone
Process Inboxtelegramdesktop/tdesktop33k2 repos~4.5kAutomated safety check: PassGPL-3.0
Perform Tasktelegramdesktop/tdesktop33k2 repos~3kAutomated safety check: PassGPL-3.0
Brave Searchbadlogic/pi-skills2.6k6 repos~592Automated safety check: PassMIT
Continuetelegramdesktop/tdesktop33k2 repos~9.4kAutomated safety check: PassGPL-3.0

Similar skills

  • Agent Browser

    quran/quran.com-frontend-next

    Automates browser interactions for web testing, form filling, screenshots, and data extraction.

    1.9k GitHub starsUsed in 42 repos~3.3k tokens
    Productivity & AutomationAuto-check passed
  • Process Inbox

    telegramdesktop/tdesktop

    Process the local ignored ai-tdesktop inbox into durable, independently testable Telegram Desktop task records while task execution worktrees remain active.

    33k GitHub starsUsed in 2 repos~4.5k tokens
    Productivity & AutomationAuto-check passed
  • Perform Task

    telegramdesktop/tdesktop

    Resolve, start or resume, implement, review, test, and publish exactly one existing ai-tdesktop task by short slug or full dated id, including rare blocked retries and split-required results.

    33k GitHub starsUsed in 2 repos~3k tokens
    Productivity & AutomationAuto-check passed
  • Brave Search

    badlogic/pi-skills

    Web search and content extraction via Brave Search API. An agent skill from badlogic/pi-skills.

    2.6k GitHub starsUsed in 6 repos~592 tokens
    Productivity & AutomationAuto-check passed
  • Continue

    telegramdesktop/tdesktop

    Continue autonomous Telegram Desktop development from the shared ai-tdesktop repository.

    33k GitHub starsUsed in 2 repos~9.4k tokens
    Productivity & AutomationAuto-check passed
  • Feishu Doc

    openclaw/openclaw

    Feishu document read/write workflows. An agent skill from openclaw/openclaw.

    392k GitHub stars~516 tokensUpdated yesterday
    Productivity & AutomationAuto-check passed

More from steipete/agent-scripts

All 45 skills in this repo
  • Mac Fleet Maintenance

    steipete/agent-scripts

    Inventories and maintains a fleet of Macs from a desired-state file: package updates, repo and Xcode sync, and disk, backup and security health reports.

    7.3k GitHub stars~4.8k tokensUpdated 4 days ago
    Auto-check passed
  • Agent Transcript for PRs

    steipete/agent-scripts

    Finds a coding agent's session log, trims and redacts it, and inserts it into a GitHub PR or issue only when the user has asked for a transcript.

    7.3k GitHub starsUsed in 1 repo~698 tokens
    Auto-check passed
  • Parallels macOS VM Lab

    steipete/agent-scripts

    Uses a clean Parallels macOS VM to test GUI automation, TCC permission prompts and screenshot tools like Peekaboo, verifying results from outside the guest.

    7.3k GitHub stars~1.8k tokensUpdated 4 days ago
    Auto-check passed
  • ClawSweeper Status

    steipete/agent-scripts

    Reports ClawSweeper's status with a bundled script: workflow health, active workers, queue health and recently merged, reviewed, commented and closed items.

    7.3k GitHub stars~972 tokensUpdated 4 days ago
    Auto-check passed
  • GitHub Project Triage

    steipete/agent-scripts

    Produces maintainer-facing triage cards for a project's GitHub issues and pull requests, each with its URL, risk, test state, blockers and a next action.

    7.3k GitHub stars~4k tokensUpdated 4 days ago
    Auto-check passed
  • Nano Banana Image Generation

    steipete/agent-scripts

    Generates and edits images with Google's Nano Banana 2 (Gemini 3.1 Flash Image) through a uv script, with a draft-then-final workflow and sizes from 512 to 4K.

    7.3k GitHub stars~1.4k tokensUpdated 4 days ago
    Auto-check passed

Questions about Things Todo

What does Things Todo do?

Things 3 via things CLI: add, list, search, update, delete, verify. Things Todo is an agent skill from steipete/agent-scripts. Things 3 via things CLI: add, list, search, update, delete, verify.

When should I use Things Todo?

Things Todo fits situations like: productivity & Automation work in your project.

How do I install Things Todo in Claude Code?

Run `npx skills add steipete/agent-scripts --skill things-todo -a claude-code`. Or copy the skill folder (skills/things-todo in steipete/agent-scripts) into .claude/skills/things-todo in your project. Claude Code loads it when a task matches its description.

How do I install Things Todo in Codex?

Run `npx skills add steipete/agent-scripts --skill things-todo -a codex`. Or copy the skill folder (skills/things-todo in steipete/agent-scripts) into .agents/skills/things-todo in your project. Codex loads it when a task matches its description.

Can I use Things Todo in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add steipete/agent-scripts --skill things-todo -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/things-todo, .gemini/skills/things-todo, .github/skills/things-todo and .opencode/skills/things-todo in your project.

What does Things Todo need to run?

Going by SKILL.md and its folder, Things Todo needs the command-line tools its instructions call (go) and credentials named THINGS_AUTH_TOKEN. Our summary lists: A credential in THINGS_AUTH_TOKEN.

Does Things Todo access the network?

SKILL.md names 1 domain. In commands or code: github.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Things Todo safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Things Todo use?

Things Todo is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Things Todo use?

About 710 tokens (SKILL.md is roughly 2.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Things Todo?

Skills that share tags, products or a category with Things Todo: Agent Browser (quran/quran.com-frontend-next, 1.9k stars), Process Inbox (telegramdesktop/tdesktop, 33k stars), Perform Task (telegramdesktop/tdesktop, 33k stars) and Brave Search (badlogic/pi-skills, 2.6k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Things Todo?

steipete (a GitHub user) maintains it in steipete/agent-scripts, which has 7,273 GitHub stars. The repository holds 45 skills in this directory. The repository was last updated on October 4, 2026.

Source: steipete/agent-scripts on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.