RobOS Task Planner · step 1 of the build loop

Turn a sentence into issues an agent can finish

Describe a feature, or fill in one of 67 templates. You get a draft of epics and tasks, edit it, then create the issues on GitHub or Jira.

Each task is written with scope, acceptance criteria and test cases, and each card has a developer persona: the role the implementing agent should take. Task Implementer picks the issues up from there.

Plan your first feature
Task Explorer with a generated epic assigned to the Software Architect persona and a task assigned to Backend Systems Developer
An epic and a task drafted from one sentence, each with a persona.

App guide

Task Planner at a glance

The package is packages/task-planner. Its window and launcher entry are titled RobOS Task Explorer; it is the same app.

You want toUse
Plan a feature from a descriptionThe prompt box and Generate with AI
Plan a common kind of project with a formBrowse All Templates, then Generate Task Plan
Change the tasks before they become issuesProject Tasks & Epics: edit a card, + Add Epic, + Add Task
Keep a draft for laterSave to Project
Create the issues on GitHub or JiraSync All to Server
Change how a role plans and buildsAgent Personas & Prompts
Record a reviewed plan over issues that already existKGraph Project Plans

Before you start

  • RobOS installed, or a clone you run the apps from. See Get started.
  • A task server: a GitHub repository or a Jira project, added in RobOS Task Servers. Without one, the window shows Open Task Servers. See Connect your repository.
  • For GitHub, the GitHub CLI gh, signed in (gh auth login). For Jira, its URL, your username and an API token stored in pass at the server's token_pass_path.
  • The GitHub Copilot CLI extension, signed in. Generate with AI runs gh copilot -- -p <prompt> --allow-all-tools --silent. Templates do not need it.

Open it from the app launcher, or run npm install && npm start in packages/task-planner. The active task server shows in the top right corner.

Plan a feature

  1. Pick a project. Choose one in the Projects list, or click + Plan New Feature to start one and give it a name.
  2. Give the agent context. Fill in Tech Stack & Architecture Context and Bound Microservices & Repositories. Write what you would tell a new developer: languages, frameworks, where the tests are, conventions to keep. This text goes with every request for the project.
  3. Optionally choose a parent epic. On Jira, Parent Epic lists the project's existing epics, and new tasks without an epic of their own are created under it.
  4. Describe the work in the prompt box and click Generate with AI. One sentence is enough to start; the template chips above the box are a shortcut to the most used templates.
Task Explorer with the project's architecture context, the task template chips, and a one-sentence feature description in the prompt box
The project context above the prompt travels with every request.

The agent is asked for a list of epics and tasks, each with a Markdown body covering scope, dependencies, acceptance criteria, and happy-path, negative and edge-case checks. Task Planner turns the answer into cards, keeping each one's title, body, labels, issue type and epic. A card's persona starts as Software Architect for an epic and Backend Systems Developer for a task; change it in the card's drop-down.

A prompt that asks for questions ("ask me questions first", "clarify") opens the Interactive Architecture Form instead: multiple-choice questions you step through with Previous and Next Question before Generate Epics & Tasks. Its questions are a fixed set chosen from words in your prompt (a game, an event-driven service, or a product for non-developers), not questions written by the agent. Plans made this way also keep the dependencies between tasks, shown as Depends on on a card.

Review and edit the plan

The result appears under Project Tasks & Epics. Epics come first, with their tasks under them.

  1. Read every task. Each should be small enough for one branch, with acceptance criteria you could check yourself. If it is not, split it.
  2. Edit the title, body and labels on the card, change the persona, or remove the task. Directives on a card shows the guidance for its persona. + Add Epic and + Add Task add your own.
  3. Click Save to Project to keep the draft on this machine, with every card's persona and directives. You can reopen it from the Projects list.
The generated plan: an epic assigned to the Software Architect persona and a task assigned to Backend Systems Developer, with acceptance criteria and happy-path, negative and edge cases
An epic with the Software Architect persona and a task with Backend Systems Developer.

Create the issues

Click Sync All to Server, or Sync on one card. Epics are created first so their tasks can go under them. Each card shows its new issue key, and a card that is already synced is updated instead of created again. When it finishes, Results lists every issue with a link; Plan More Tasks takes you back to the cards.

GitHubJira
Howgh issue create with your gh sign-inThe Jira REST API with your API token
What is sentTitle, body and labels. Missing labels are created in the repository.Summary, description and issue type
EpicsAn ordinary issue, not linked to its tasksAn Epic with its epic name, and each task created under it (or under Parent Epic)
DependenciesNot linked. Note which tasks must go first.A Blocks link for each Depends on shown on a card
After Sync All to Server, each card shows its new issue number, #41 and #42, and the status reads Synced 2 tasks
Synced: the epic is issue #41 and the task is #42.

The persona drop-down is not sent with the issue. Task Implementer chooses a persona from an issue's role: label, and otherwise from words in its title, body and labels. To fix the persona for a task, add a label such as role:backend-dev or role:frontend-web-dev to its card before you sync.

Task templates

Browse All Templates opens the Task Templates Library: 67 built-in templates in ten categories, with a search box and category filters. A template opens a short form; Generate Task Plan fills a ready-made plan from your answers on this machine, without calling an agent.

The Task Templates Library: a search box, category filters and template cards such as back-end web service, gRPC microservice and GraphQL API service
The template library.
CategoryTemplatesFor example
Services & APIs12Back-end web service, gRPC microservice, GraphQL API, Kafka consumer or producer
Front-End Applications9React app, Next.js on Vercel, Vue 3 single-page app
Libraries & SDKs7Java library, TypeScript npm package, Python package, Go module
Knowledge Graph & Schemas7Knowledge graph schema, SHACL validation shape, OpenAPI 3.1 contract
Game Development6Godot game, tactical cRPG, Unity 6 PC or mobile game
Data & Storage6Relational schema and migrations, document database, Redis cache
Cloud & Infrastructure6Helm chart, ArgoCD pipeline, Terraform or OpenTofu stack, Docker Compose
Mobile Applications5React Native, Flutter, native iOS
DevOps & Observability5GitHub Actions pipeline, OpenTelemetry and Prometheus, Playwright test suite
RobOS Platform & Agent Extensions4MCP server, RobOS Electron app, RobOS agent skill, task server connector

Create Custom Template saves your own: a title, a category, a description and, optionally, the form fields as JSON. Leave the fields empty for the standard inputs.

Developer personas

A persona is the role an agent takes for a task. Task Planner lists them in its prompt and on every card, and Task Implementer uses the same list when it runs the task. The label for each is role: plus the name in brackets.

PersonaTypical tasks
Software Architect (software-architect)Epics, service boundaries, architecture decisions, schemas
Frontend Web Developer (frontend-web-dev)Web and Electron interfaces, components, accessibility
Backend Systems Developer (backend-dev)APIs, services, contracts and their tests
Data & Storage Engineer (data-engineer-dev)Database schemas, migrations, event streams, caching
DevOps & Cloud Engineer (devops-engineer)Containers, Kubernetes, CI/CD, monitoring
Game Developer (game-dev)Godot 4 and game systems
Non-Headless Developer (non-headless-dev)Work that needs a display, an IDE or a debugger
Human + Agent Desktop Co-Pilot (human-agent-copilot)Pairing with you in your own desktop session

Agent Personas & Prompts edits each persona's four parts: the core system prompt, the planning directive (how it breaks down epics), the implementation directive (how it builds a task) and its development guidance. + Add Custom Persona adds a role, and Restore Defaults puts the originals back. Changes are shared with Task Implementer.

KGraph project plans

KGraph Project Plans is a separate workflow for a plan over issues that already exist, for example ones your team filed through its own process. It records the plan in the RobOS knowledge graph so other tools, and the Project Plan tab in KGraph Explorer, can read it.

  1. Start the app with ROBOS_GRAPH_ROOT set to the folder that contains .robos.
  2. Paste a version 1 plan: a summary, design, verification and risks, plus the GitHub issue URLs it covers with their parents and dependencies.
  3. Click Preview plan. It reads each issue with your gh sign-in and checks the plan. A GitHub error stops the preview.
  4. Click Save reviewed plan to write it to the project's node in the graph.

It never creates, closes or approves GitHub issues; GitHub stays the source of their state. The same steps are available from the command line:

node packages/task-planner/bin/project-plan.js list
node packages/task-planner/bin/project-plan.js view <plan-id|issue-url|number>
node packages/task-planner/bin/project-plan.js propose --file plan.json
node packages/task-planner/bin/project-plan.js apply --file plan.json

The plan format, its statuses (draft, review-required, approved) and how to remove a plan are in PROJECT-PLANS.md.

Where things are saved

WhatWhere
Task servers and the active one~/.config/robos/settings.json
Projects and their draft tasks~/.config/robos/task-planner/projects/
Custom templates~/.config/robos/task-planner/custom-templates/
Edited and custom personas~/.config/robos/agent-personas.json
KGraph project plansThe project node under ROBOS_GRAPH_ROOT/.robos

For a team, copy the custom templates and persona file to each teammate who should plan the same way. See building as a team.

Limits and fixes

  • Generation gives up after 3 minutes. Shorten the prompt, or plan one feature at a time.
  • "No task server configured." Click Open Task Servers, add one and save, then reopen Task Planner.
  • The agent fails or returns nothing. Check gh copilot works in a terminal and that you are signed in. Templates still work without it.
  • GitHub issues have no dependency links. That is expected; only Jira gets Blocks links. Implement tasks in order, or use Jira if you need the links.
  • The agent's persona choices are not kept. Cards start on the default persona even though the agent is asked to choose one, and Sync does not send the persona. Set it with a role: label, as in Create the issues.
  • Sync fails on GitHub. Run gh auth status and check you can create issues in the repository.

Next

Reference: Task Planner in the classic docs · Source code