agentleFS
CopilotKitCopilotKit/OpenBot/.claude/skills/openbot-copy/SKILL.md

openbot-copy

Skill7.1k starsChanged 10 days agoMITView on 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/.

  • Reads credentials

We split this skill into the rules it gives an agent

1 rule. About 0 are common, 0 are distinctive, and 1 is very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈0

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Not text written for the model.

    line 14

≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

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.

SayForNot
Bot, Bots (capitalised)What a person creates, talks to and gives work to.agent, coworker, assistant, AI
agentOnly 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
appA service a Bot uses: Gmail, Google Drive, Notion.connector, integration, plugin (outside Admin)
ConnectionsThe apps and accounts a Bot uses as you, and the page that lists them.connected accounts, linked accounts
connect / disconnect / reconnectWhat a person does to their own account.link (except GitHub and Slack identity, where "link" is the vendor's own word)
CapabilitiesYour skills and your Bots' memory of you, and the page with both.plugins
skillA named instruction invoked with /.command, prompt
adminThe person who runs OpenBot for everybody.administrator, owner, operator
OpenBotThe product the person is using.this deployment, the server, the instance
turn on / turn offAn admin switching an app or a feature.enable / disable (in sentences; a switch may still read "Enabled")
conversationA 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. One idea per sentence. Short sentences. A description is one or two sentences, about 20 words.
  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

BeforeAfter
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

SignalDo instead
"agent" or "coworker" for a BotBot
"administrator"admin
"this deployment" on a page anybody can openOpenBot, or say what is missing
A sentence over ~25 wordsSplit it, or cut the clause that justifies the screen
"rather than", an em dash, "which is" in UI textRewrite as two short sentences
An env var, OAuth, Composio or "grant" outside AdminSay what the person sees
A test asserting long explanatory copyAssert the short sentence, or the role and the key words

Download now (ZIP)

Trending

Steady: 0 new projects took it in the last 4 weeks, none the 4 weeks before.thin data

Week of Aug 30: 0 new projectsWeek of Sep 6: 0 new projectsWeek of Sep 13: 0 new projectsWeek of Sep 20: 0 new projectsWeek of Sep 27: 0 new projectsWeek of Oct 4: 0 new projectsWeek of Oct 11: 0 new projectsWeek of Oct 18: 0 new projects
Aug 2026Sep 2026Oct 2026
New projects taking a version of this file each week, over the 8 weeks our latest run read: only 0 in all, so this is a hint, not a trend.

Who's talking about CopilotKit/OpenBot

The biggest 5 of 27 mentions linking to the repository that our crawl found. Each line is their own headline.

See all 27

Talked about on GitHub, Bluesky and Hacker News (27 times).

On GitHub · 21

16 more on GitHub

On Bluesky · 5

On Hacker News · 1

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.