Skill instructions
build-and-remix-apps2.73 KB
View saved version →
---
name: build-and-remix-apps
description: Find live apps in CodeAgent Remix, and build a new app from the user's description — always showing the price and getting an explicit yes before the build starts.
---
# Build and remix apps
Use this when the user wants an app ("build me…", "make an app that…", "I need a tool for…") or asks whether one exists ("is there an app for…", "show me apps that…"), or asks about the apps they made.
## Find apps
1. Call `find_apps` with the user's words as the query. It needs no sign-in and shows cards with each app's poster, author and links.
2. Point the user at the card buttons: *Open in the feed* to use it, *Remix it* to make their own copy. Don't paste every link again in text; one short sentence is enough.
3. Nothing found → say so and offer to build it with `quote_app`.
## Build an app — price first, always
1. Call `quote_app` with a self-contained `description` of the app in the user's words (screens, features, who uses it). Pass `kind` only if the user said "phone app" or "web app".
2. The quote card shows "Working out the price…" while CodeAgent plans the app (about a minute). If you need the result in text, call `get_quote` with the `quote_id`; it returns `pricing`, `ready` or `failed`.
3. When the quote is `ready`, tell the user in one or two lines what will be built and the cost the quote shows in remixes (when `first_app_free` is true it uses none), and ask whether to go ahead. State the cost plainly; never present it as an offer or promotion.
4. Call `create_app` with the `quote_id` **only after the user clearly says yes** (or presses Confirm on the card). Never call it on your own initiative, never to "save time", and never with a quote the user hasn't seen.
5. `create_app` answers at once; the build takes a few minutes and the card shows its progress. If the user asks "is it ready?", call `get_build_status` with the `build_id`.
6. When it is done, give the app's link. Never say an app is ready before `get_build_status` (or the card) says `done`.
## Errors
- `INSUFFICIENT_BALANCE`: say how many remixes it needs and that they can add more in their CodeAgent account; once they have, call `create_app` again with the same `quote_id`. Do not pitch plans or paste purchase links.
- `INVALID_ARGUMENT` with a `next_action`: the quote is still pricing (`get_quote`), expired or already used (`quote_app` again), or the daily quote limit was reached. Repeat the message in plain words and follow the `next_action`.
- A refusal (content not allowed) comes back with its own message: repeat it plainly, don't try to rephrase the request around it.
## Their apps
Call `get_my_apps` for "what apps have I made?" or "what's building?". It lists ready apps and builds in progress with their links.
continue-with-codeagent-credits1.07 KB
View saved version →
---
name: continue-with-codeagent-credits
description: Switch a session to a CodeAgent managed agent billed from the user's prepaid credits, with the user's explicit confirmation.
---
# Continue with CodeAgent credits
Use when the user asks to run or continue with a CodeAgent managed agent, or when their linked agent is unavailable (`list_agents` shows `credential_status: expired`).
## Workflow
1. Call `list_agents` and `get_wallet_balance`.
2. Show the user: the managed agents available, and the balance in USD. Say plainly that a managed agent consumes credits.
3. Ask the user to confirm switching, naming the agent. Wait for a clear yes.
4. Only after that yes, call `switch_agent` with `confirm_wallet_use: true`. If the tool answers `CONFIRMATION_REQUIRED`, you skipped step 3 — show the balance it returned and ask again. If it answers `INSUFFICIENT_BALANCE`, tell the user to top up in the CodeAgent app; do not retry.
5. Confirm the switch and continue with `supervise-session`.
Never set `confirm_wallet_use: true` without the user's explicit confirmation in this conversation.
review-agent-work1.31 KB
View saved version →
---
name: review-agent-work
description: Review the changes a CodeAgent session made, and open or review a pull request when the user asks.
---
# Review agent work
## Workflow
1. Resolve the session (`list_sessions`, ask if ambiguous) and call `get_diff` without a path: summarise files changed and the additions/deletions.
2. For detail, call `get_diff` with `path` for one file (hunks), or `include_patch: true` for the raw patch; if `truncated` is true, say so and go file by file.
3. Summarise: intent of the change, key implementation points, risks (tests touched? migrations? config?). Do not approve or merge anything yourself.
4. Only when the user explicitly asks, call `create_pull_request` with a concise title and a body that lists the changes. Report number, branch and URL. If the result is `PR_ALREADY_EXISTS`, give the existing URL.
5. For "review PR #N", call `review_pull_request` with `repository` (owner/repo) and `number`; tell the user findings will appear on the PR.
6. For "send this to my phone", call `send_session_to_mobile` with an optional one-line note. If the result has `sent: false` with `reason: notifications_disabled`, tell the user the push is turned off in the CodeAgent Mobile app's notification settings. If the error is `NO_MOBILE_DEVICE`, tell them to sign in to the app on their phone first.
start-coding-task1.58 KB
View saved version →
---
name: start-coding-task
description: Start a CodeAgent coding task from the user's request on one of their existing sessions, and report the session id so they can follow it.
---
# Start a coding task
Use this when the user asks to have an agent do coding work ("fix…", "implement…", "add tests for…", "solve issue #…").
## Workflow
1. Call `list_sessions`. If the user named a repository, project or host, pick the session whose `repository` or `title` matches. If none matches, or more than one could, **ask the user which session** — never guess.
2. If the chosen session is `offline`, tell the user the host is offline; `start_task` will try to wake a codespace or CodeAgent Box, but a local CLI must be started by the user.
3. If the user asked for a specific agent, call `list_agents` and pass its `id` as `agent_id`. If that agent is `managed` (uses credits), follow the `continue-with-codeagent-credits` skill first.
4. Call `start_task` with a clear, self-contained `task` (include the issue number and any acceptance criteria the user gave). For a GitHub issue, describe it in the task text; the agent reads the repository itself.
5. Reply in three lines: what was started, on which session (`title`, `session_id`), and that you will report progress on request. Example:
```
Started Claude Code on org/app (session cmt…): "Fix checkout validation".
Status: running. Ask me "what's the agent doing?" for an update.
```
6. Never say the work is done. `start_task` only accepts the task; completion is only visible through `get_session` (status `idle` with new changes) or `get_diff`.
supervise-session1.13 KB
View saved version →
---
name: supervise-session
description: Monitor, redirect, answer or stop an existing CodeAgent session.
---
# Supervise a session
Use this for "what is the agent doing", "tell it to…", "answer yes", "stop it".
## Workflow
1. Resolve the session with `list_sessions` (filter `running` or `needs_input` when the user talks about an active agent). Ask when ambiguous.
2. Call `get_session` and summarise in at most four lines: status, latest turn, whether the agent is waiting on a question, changed-file count and PR if any.
3. If `needs_input` is true, show the `pending_question` text (and options) to the user and wait for their answer. Then call `answer_question` with `option_index` for a listed option or `answer` for free text. Never answer on the user's behalf.
4. For a new direction, call `send_instruction` with the user's words made specific ("Focus on the failing tests in checkout.spec.ts first").
5. For "stop", call `stop_task` and tell the user history and changes are kept.
6. Status words: `running` = agent working; `needs_input` = waiting for the user; `idle` = finished or waiting for a task; `offline` = host not connected.