Cat Factory
Home
Get Started
GitHub
Home
Get Started
GitHub
  • Start

    • Introduction
    • Core Concepts
    • Quick Start
    • Tutorial: Your First Task to a Merged Pull Request
  • Guides

    • Recipes

      • Cookbook
    • Plan the work

      • Design Your Board
      • Ask the Assistant to Do It
      • Clarify Requirements
      • Author a Document
      • Plan an Initiative
    • Run pipelines

      • Choose and Edit a Pipeline
      • Run a Pipeline
      • Schedule Recurring Work
      • Review and Merge Pull Requests
      • Control Spend with Budgets
    • Connect

      • Connect a Repository
      • Connect Issue & Document Sources
      • Feed Design Context to Agents
      • Preview and Test a Frontend
    • Models & prompts

      • Connect a Model Provider
      • Apply Standards with Prompt Fragments
      • Run a Claude Skill
      • Compare Prompts and Models in the Sandbox
    • Collaborate

      • Invite and Manage Your Team
      • Share Services Across Workspaces
      • Register Foundational Services
  • Deploy

    • Run Locally
    • Deploy to Node.js
    • Deploy to Cloudflare
    • Deploy on Kubernetes
    • Lay Out a Kubernetes Cluster
    • Set Up a Local Kubernetes Cluster on Windows
    • Register the GitHub App
    • Set Up Enterprise SSO
    • Set Up Your Deployment Repository
    • Configuration
  • Operate

    • Observability
    • Set Up Notifications
    • Run Jobs on Your Own Runners
    • Provision Ephemeral Environments
    • Debug a Run from Outside the Browser
    • Troubleshooting
    • Upgrades & Data Retention
  • Extend

    • Add a Custom Agent Kind
    • Add a Custom Gate or Judge
    • Run a Step on an Executor You Already Operate
    • Add a Custom Provider
    • Extend the App with Frontend Modules
    • Integration Manifests
    • Give Agents External Tools (MCP)
    • Package a Reusable Operation
    • Package an Inline Use Case
    • Register an Initiative Preset
    • Public API
    • Official SDKs
    • MCP Server
    • Cloudflare OS Gatekeeper
  • Reference

    • Architecture
    • Agent Isolation Model
    • Security Model & Hardening
    • Packages & Repository Layout
    • GitHub and GitLab Support Matrix
    • Environment Variables
    • API Endpoint Reference
    • Glossary

Ask the Assistant to Do It

The Assistant takes a request in your own words and performs it on the board. It is the short route to three things you would otherwise reach through a panel: connecting two services, putting a repository on the board, and turning a ticket into a task.

Open it from Assistant in the sidebar, or from the command palette (Ctrl+K / Cmd+K).

What it can do

Ask forWhat happens
A dependency between two servicesThe consumer service records that it depends on the provider, so both are started when either is tested, and agents working on the consumer are told how it uses the provider.
A service from a repository URLA service frame appears on the board, backed by that GitHub or GitLab repository, ready for tasks.
A task from an issue URLThe issue is imported and filed as a board task under the right service, with the full issue (description, comments, labels) linked as agent context.

Examples that work as written:

the checkout service depends on the payments service for authorising cards
add https://github.com/acme/payments as a service
add packages/api from https://github.com/acme/monorepo as a service
create a task from https://github.com/acme/payments/issues/12
file https://acme.atlassian.net/browse/PROJ-7 as a task on the billing service

Paste URLs exactly as you copied them. The Assistant matches what you paste against your own repositories and trackers, so a shortened or retyped link is a link to something else.

What it does with your request

The model reads your sentence and picks one action plus its arguments. It does not perform anything and it does not decide anything about your board: Cat Factory looks the action up, checks the values, matches every name against the services you actually have, and then does the same thing the equivalent button does.

That is why the answer is always one of three things:

  • It did it. You get a line saying what changed and a Show on board button that selects it.
  • It has a question. A name that matches nothing, or matches two services, comes back as a question with the candidates offered as one-click chips. Picking one settles that same request on the spot: your sentence is not read again, so the answer cannot drift onto something else. Nothing is written until it is settled.
  • It cannot. If your request is not one of the actions above, it says so and lists what it can do.

Anything else is a normal error with the usual detail behind it: a tracker that is not connected, a repository this workspace cannot see, an issue that already has a task, or a spent model budget.

What you need first

  • A model provider. The Assistant reads your request with the model your workspace already uses (its default model preset). With no provider configured, the panel says so instead of offering the box. See Model providers.
  • A connected repository, for adding a service. The repository has to be one this workspace can already see, because a service pointing at a repository Cat Factory cannot clone would fail on its first run. Connect it first: Repositories.
  • A connected tracker, for filing a task from an issue. See Issue and document sources.

Things worth knowing

  • Which service a task lands in is worked out from the issue's own repository. When the issue lives in a repository that backs exactly one service on your board, that is where the task goes. When it does not (a Jira ticket, or a monorepo repository behind several services), the Assistant asks which service you meant, so name it in your request to skip the question: "file …/issues/12 as a task on the billing service".
  • Asking twice is safe. Declaring a dependency that already exists changes nothing and says so. Adding a repository your organization already runs as a service mounts that existing service onto this board rather than creating a rival copy, and the answer tells you which of the two happened.
  • Name the tracker for a bare ticket key. A key such as PROJ-12 can belong to more than one connected tracker, and the Assistant asks which one rather than guessing. Say it in the request to skip the question: "file PROJ-12 from Jira as a task on the billing service". Naming a tracker only chooses between the ones that recognise your reference, so it cannot send a request somewhere that cannot read it.
  • It acts as you. Every change carries your own role and permissions, so the Assistant can never do something you could not do yourself from the board. A viewer cannot use it to write.
  • Model usage counts. Each request you type is one model call, billed to the workspace and visible in your usage like every other, and it is refused when the workspace is over its budget. Answering one of the Assistant's own questions costs nothing: picking a candidate repeats the action it had already worked out. See Budgets and spend.
  • The Assistant reads your request, not instructions inside it. Text pasted into the box (an issue body, say) is treated as part of what you are asking for, never as instructions to follow.

What it is not

It does not start runs, write code, edit pipelines or change settings. Those stay where they are, on the board and in the panels that own them. The Assistant is a way to ask for a handful of board changes without going to find the form for each one.

Edit this page on GitHub
Last Updated: 9/19/26, 3:22 PM
Prev
Design Your Board
Next
Clarify Requirements