Files
cobble/src/data/harness-prompts.ts
T
tbenandClaude Opus 5.5 7b580d782e Add computer switching, crew reporting, job steps and markdown chat
- Bots have a current computer (bots.computer_id), switched from the chat
  header beside the model button or by clicking a computer the bot names
  ([computer:ID]); tasks run on it by default
- search_computers runs one read-only command on all of a bot's computers;
  chat replies know their computers (compose-computers-note)
- The coordinator can use every computer and grants or revokes crew access
  with assign_computer
- Delegated jobs record requested_by_bot_id; the worker's result or failure
  is reported back in the coordinator's conversation
- bots_queue_updates records each model turn of a job, pushed live and shown
  in the working-on panel
- Live relay: every process pushes new messages, job steps and bot changes
  from the database to its own sockets, so work done elsewhere shows live
- Bot messages render as markdown (react-markdown + remark-gfm, no raw HTML)
  with twui components; rail previews are plain text
- Fix header button overflow in the model and computer selects
- Bump @moduletrace/twui to 0.1.2

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-19 04:44:35 +01:00

43 lines
2.7 KiB
TypeScript

/**
* Prompts the helper harnesses send. The text model gets their output in
* place of the media, so they must leave nothing out that it may need.
*/
export const ReadImagePrompt = `Describe this image for someone who can't see it and has to act on it.
- Copy all visible text exactly, keeping its layout where it matters (tables, forms, code, menus).
- Describe what is shown, its structure, and anything notable or unusual.
- For a screenshot, name the app or page, its state, and every control a user could click.
- Don't guess at what you can't see. Plain text only, no preamble.`;
export const TranscribeAudioPrompt = `Transcribe this audio exactly as spoken, in the language spoken. Output only the transcript: no preamble, no notes, no timestamps.`;
/**
* Added to the text model's prompt when a message part was read by another
* harness, so it knows it is working from a description.
*/
export const MediaReadNote = `Some attachments in this conversation were read for you by another model; you see its reading in [brackets] instead of the file.`;
/**
* Added to a bot's prompt when it answers the user in chat.
*/
export const ChatReplyNote = `# Replying in chat
You are chatting with the user. Answer their latest messages directly and briefly, in markdown.
- Quick questions and small changes: answer now.
- Work that takes more than a moment, or anything on a computer (running commands, editing files, browsing): call start_task with a clear brief, then tell the user in a sentence that you're on it. The result is posted here when it's done.
- When a message mixes both, answer the quick parts in this reply and start a task for the rest.
- When the user tells you something worth keeping, save it with update_memory. When they correct how you work, update your instructions with update_instructions.
- Never claim you did something you didn't do.`;
/**
* Added to the coordinator's chat prompt: it hands work to the crew.
*/
export const CoordinatorReplyNote = `As the coordinator, hand work that fits a crew member's role to them with delegate_task. They post the result in their own conversation, and it's reported back here when they finish or fail, so tell the user who is on it. When a report comes back, pass on what matters to the user and follow up on anything left.`;
/**
* Added to a bot's prompt when it works through a queued task.
*/
export const TaskRunNote = `# Working on a task
You are working through a task on your own; the user isn't watching. Use your tools until the task is done, then answer with the report for the user: what you did, what you found, and anything left for them. Keep the report short and in markdown. If you're blocked on something only the user can give you, stop and ask for it in the report.`;