<feed xmlns='http://www.w3.org/2005/Atom'>
<title>doot.git/docs/agent-task-creation.md, branch master</title>
<subtitle>doot — personal productivity web app
</subtitle>
<id>https://git.terst.org/doot.git/atom?h=master</id>
<link rel='self' href='https://git.terst.org/doot.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.terst.org/doot.git/'/>
<updated>2026-11-08T20:38:43+00:00</updated>
<entry>
<title>A guide for an agent creating doot tasks</title>
<updated>2026-11-08T20:38:43+00:00</updated>
<author>
<name>Peter Stone</name>
<email>thepeterstone@gmail.com</email>
</author>
<published>2026-11-08T20:38:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.terst.org/doot.git/commit/?id=2cd25ba21d7194428f84db2a544aed81a0a294fd'/>
<id>urn:sha1:2cd25ba21d7194428f84db2a544aed81a0a294fd</id>
<content type='text'>
Written for a Claude instance with no access to this repo or the database, so it covers the
whole path: get a session, create a task, and what the endpoint will not do.

Checked against the live server rather than read off the handlers. The auth request and poll
return the documented shapes, and an unauthenticated create is refused with 401.

Three things it exists to say, because none are guessable from the outside:

- A human approves every session in a browser, and it lasts an hour. There is no API key and no
  auto-approval; trust levels change how the prompt is labelled, not whether it appears. The
  approval request itself expires in five minutes, so asking early wastes it.
- The create endpoint silently ignores description, labels, estimated_minutes and project_name.
  They are real fields on a doot task and they are dropped without complaint, so an agent that
  sends them gets a task that is missing things it thinks it set.
- The response carries no task id, so a create cannot be chained into an update.

Co-Authored-By: Claude Opus 5 &lt;noreply@anthropic.com&gt;
Claude-Session: https://claude.ai/code/session_018AwnALZL6bD4VBtATDVv3B
</content>
</entry>
</feed>
