Run an agent on a task
Task Implementer (packages/task-implementer) lists the issues on your task server, builds a prompt from the issue and a persona, and starts the Claude Code CLI on it. This lesson covers one run from issue to a pushed branch, and what the app does and does not do for you.
On this page
What it does and does not do
Task Implementer is a task picker and prompt builder around one command:
claude -p <prompt> --output-format stream-json --verbose --dangerously-skip-permissions
It streams the agent’s text into the window. Everything else is up to the agent and your machine.
Task Implementer does not clone the repository, create a sandbox, mount a RAM disk or set a working directory. The agent runs as your user in the directory the app was launched from, with permission prompts turned off. Start the app from a checkout you are willing to let an agent edit, and keep secrets out of that environment.
Prerequisites
- A task server in the Task Servers app. For GitHub the app runs
gh issue list --repo <repo> --limit 50, soghmust be signed in. For Jira it reads the API token frompass. With no server it shows “No task server configured.” and an Open Task Servers button. - The
claudeCLI on yourPATH, already logged in. - A local checkout of the repository the issues belong to, on a clean working tree.
Run one task
-
From a terminal, change into your checkout and start the app. The agent inherits this directory.
cd ~/src/my-repo electron /path/to/robos/packages/task-implementer - In the Tasks tab, pick Open, Closed or All and optionally search by title or key. Click an issue. The task list shows the persona each issue resolves to.
- Check the persona in the dropdown above the output. Click Directives to read or edit the text that will be added to the prompt. Both are covered in Choose and customize agent personas.
- Optionally type notes in the context box, such as the path of the repository or constraints. The box has
@completion for files. - Click Start Agent. Output appears under Agent Output. The status line ends with “Agent finished successfully.” or “Agent exited with code N.” Click Stop to kill the process.
What the agent is told
Task Implementer joins these parts into one prompt:
- The persona’s role prompt and development guidance, or your edited directives.
- The issue key, title, body and labels, then your notes.
- Writing rules for external text: PR descriptions, issue bodies and commit messages should describe the product change, with no slogans, and should not mention RobOS, its personas or workflow stages unless RobOS is the subject of the change.
- A commit rule: commit after every completed iteration, stage explicit paths instead of
git add -A, keep RobOS evidence under~/.robosrather than in the checkout, verify the commit withgit log -1, and ask a question about unrelated edits instead of discarding them. - The delivery workflow: create a feature branch (the requested branch, otherwise
codex/<task-key>), implement and test, commit, push toorigin, and do not create a pull request. The agent reports the workspace path, repository, branch, base branch, validation and evidence locations.
The prompt never asks for a PR. Creating one is a separate, manual step.
Review the branch before opening a pull request
- When the agent has pushed its branch, click Review branch… next to Start Agent.
- Choose the folder of the checkout that has the feature branch checked out.
- PR Review opens in local review mode on the diff between that branch and
origin/HEAD(ororigin/mainif that is not set). The review manifest is stored under~/.robos/local-reviews/<id>/review.json. - Use Open in IDE in PR Review to open the checkout in an installed IDE. It lists the launchers it finds on your
PATH, in/snap/binand in~/.local/bin: IntelliJ IDEA, VS Code, Cursor, WebStorm, PyCharm, GoLand, CLion, Rider, RustRover, VSCodium, Zed, Windsurf and Sublime Text. - Click Create PR in PR Review when you are satisfied. The stages and sign-off are described on the PR Review Theater page.
| Message | Cause | Fix |
|---|---|---|
| Select the feature-branch checkout produced by Task Implementer. | The folder is on main, master or a detached HEAD. | Check out the feature branch, then choose the folder again. |
| This review requires a GitHub origin. | origin is not a github.com URL. | Set origin to the GitHub repository. |
| Wait for Task Implementer to finish before reviewing its branch. | An agent is still running for that task. | Wait, or click Stop. |
| Agent already running for this task | A run for the same issue is active. | Wait for it, or click Stop. |
The other tabs
- Dependencies shows tasks as a tree by parent issue. Jira supplies parent and blocking links. GitHub issues carry none, so the tree is flat.
- Plan has a context box and Generate Plan. It asks
claude -pto order the loaded tasks and returns a rationale for each position. The result is saved to~/.config/robos/plans/<server id>.json. Implement on a row opens that task on the Tasks tab.
Persona display and isolation
If the persona’s execution mode is ephemeral-gui (the built-in Non-Headless Developer), the agent is started with DISPLAY=:99, or the value of ROBOS_XVFB_DISPLAY. Task Implementer does not start an X server. Start one first, or the agent has no display:
Xvfb :99 -screen 0 1920x1080x24 &
Every other persona starts the agent on your current DISPLAY. Nothing in Task Implementer limits which files or commands an agent can touch. For a separate home directory, see Run commands in an ephemeral agent profile, and read its limits first.