Agent Skills › CopilotKit/OpenBot › openbot-copy

openbot-copy

GitHub

The words and the voice for every piece of text a person reads in OpenBot — screen headings and descriptions, buttons, empty states, notices, chat cards, and the server's error and refusal messages that reach the browser. Holds the glossary (Bot, app, admin, OpenBot) and the style rules. Use when writing or changing any text that is shown to a person, naming a screen, a section, a button or a state, writing an error or refusal message, or reviewing a diff that adds user-facing strings under app/src or server/src. Don't use for text written for the model (tool descriptions, standing instructions, system prompts), for code comments, or for the docs under docs/.

.claude/skills/openbot-copy/SKILL.md CopilotKit/OpenBot

Install

npx skills add CopilotKit/OpenBot --skill openbot-copy -g -y
More Options

Non-standard path

npx skills add https://github.com/CopilotKit/OpenBot/tree/main/.claude/skills/openbot-copy -g -y

Use without installing

npx skills use CopilotKit/OpenBot@openbot-copy

指定 Agent (Claude Code)

npx skills add CopilotKit/OpenBot --skill openbot-copy -a claude-code -g -y

安装 repo 全部 skill

npx skills add CopilotKit/OpenBot --all -g -y

预览 repo 内 skill

npx skills add CopilotKit/OpenBot --list

SKILL.md

Frontmatter
{
    "name": "openbot-copy",
    "description": "The words and the voice for every piece of text a person reads in OpenBot — screen headings and descriptions, buttons, empty states, notices, chat cards, and the server's error and refusal messages that reach the browser. Holds the glossary (Bot, app, admin, OpenBot) and the style rules. Use when writing or changing any text that is shown to a person, naming a screen, a section, a button or a state, writing an error or refusal message, or reviewing a diff that adds user-facing strings under app\/src or server\/src. Don't use for text written for the model (tool descriptions, standing instructions, system prompts), for code comments, or for the docs under docs\/."
}

OpenBot Copy

When To Use

Any string a person reads: a heading, a description, a button, a placeholder, an empty state, a notice, a chat card, a server error that the browser shows. Server messages count: a 409 that says what to do next is read by a person as much as any screen is.

Not text written for the model. Tool descriptions, standing instructions and prompts steer how a Bot behaves, and changing their wording is a behaviour change with its own review. Not code comments, and not docs/, which has its own register.

The Glossary

One word for one thing, everywhere a person can see it.

Say For Not
Bot, Bots (capitalised) What a person creates, talks to and gives work to. agent, coworker, assistant, AI
agent Only an outside framework's program, in the places that are about connecting one: "an agent you already run", "AG-UI agent". Bot, when the thing is a Bot
app A service a Bot uses: Gmail, Google Drive, Notion. connector, integration, plugin (outside Admin)
Connections The apps and accounts a Bot uses as you, and the page that lists them. connected accounts, linked accounts
connect / disconnect / reconnect What a person does to their own account. link (except GitHub and Slack identity, where "link" is the vendor's own word)
Capabilities Your skills and your Bots' memory of you, and the page with both. plugins
skill A named instruction invoked with /. command, prompt
admin The person who runs OpenBot for everybody. administrator, owner, operator
OpenBot The product the person is using. this deployment, the server, the instance
turn on / turn off An admin switching an app or a feature. enable / disable (in sentences; a switch may still read "Enabled")
conversation A thread with one or more Bots. channel, chat (in sentences)

Admin is allowed exact names. An admin page may name COMPOSIO_API_KEY, OAuth and "deployment", because the admin is the one who sets them. A page anybody can open may not.

The Style

  1. Say what happened, then what to do. "Gmail isn't connected. Connect it to let Bots read your mail." Not why the screen is built the way it is.
  2. Use complete sentences for explanations. Page descriptions, helper text, notices, and empty-state bodies need a subject and a verb, or a direct instruction ("Connect your accounts"). Avoid fragments such as "The apps your Bots use" or "What this Bot can do." Headings, labels, buttons, and short status labels may be fragments. Keep only useful explanation. State the action, outcome, or constraint the person needs. Remove copy that merely repeats the heading. Use natural sentence lengths; do not chop prose into fragments to meet a word count.
  3. Plain words. "use", not "hold a grant on". "can't", not "is unable to". Contractions are fine.
  4. No "rather than", no em dashes, no "which is why", no "so that nothing … that may be wrong". These are the marks of text that is explaining itself. Cut the clause or make it its own sentence.
  5. No internals outside Admin. Composio, OAuth client, credential, token, grant, scope, deployment, broker, endpoint: say what the person sees instead ("not set up yet", "your account", "this Bot can use it").
  6. Second person. "Your apps", "you can". The Bot is "it".
  7. Sentence case for headings and buttons: "New Bot", "Your connections".
  8. Buttons are verbs: Connect, Request access, Create, Save. A button never says "Click here" or "OK" when it does something specific.
  9. Errors: what failed, in the person's terms, and one next step. "Couldn't load your connections. Reload the page." No stack of reasons, no blame.
  10. Empty states say what will appear and how: "No skills yet. Write one with New skill."

Before And After

Before After
The apps and accounts your Bots use as you. Open one to connect it or change it. Connect your accounts so Bots can use apps on your behalf.
Your connected accounts could not be loaded, so nothing is listed here rather than a list that may be wrong. Reload the page, and tell an administrator if it persists. Couldn't load your connections. Reload the page, or ask an admin if it keeps happening.
Sent to the coworker it is for. Type @ to choose one yourself. OpenBot picks the right Bot. Type @ to choose one.
Gmail is a Composio app, and this deployment has no Composio key. (to a non-admin) Gmail isn't set up yet. An admin has to turn it on.
The agent is still working on another request. Please wait or stop that task first. This Bot is still working on something. Wait for it, or stop it first.

Red Flags

Signal Do instead
"agent" or "coworker" for a Bot Bot
"administrator" admin
"this deployment" on a page anybody can open OpenBot, or say what is missing
A sentence over ~25 words Split it, or cut the clause that justifies the screen
"rather than", an em dash, "which is" in UI text Rewrite as two short sentences
A description beginning "The apps…", "What…", "Who…", or "Where…" without a main verb State the action or behavior in a complete sentence; remove redundant explanation
An env var, OAuth, Composio or "grant" outside Admin Say what the person sees
A test asserting long explanatory copy Assert the short sentence, or the role and the key words

Version History

  • c396a5f Current 2026-11-02 10:26

Same Skill Collection

.claude/skills/openbot-data-access/SKILL.md
.claude/skills/openbot-screen-layout/SKILL.md
Tauri-signing-SKILL.md

Metadata

Files
0
Version
c396a5f
Hash
1917979c
Indexed
2026-11-02 10:26

trang chủ - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-11-02 20:33
浙ICP备14020137号-1