#52 by GitHub stars
CopilotKit/CopilotKit
The Frontend Stack for Agents & Generative UI. React, Angular, Mobile, Slack, and more. Makers of the AG-UI Protocol
History
Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.
View weekly changes
examples/showcases/open-mcp-client/apps/mcp-use-server/.agent/skills/chatgpt-app-builder/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
b1d7e02a923e → d168487e7a75
examples/showcases/open-mcp-client/apps/mcp-use-server/.agent/skills/mcp-apps-builder/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
b1d7e02a923e → d168487e7a75
examples/showcases/open-mcp-client/apps/mcp-use-server/.agent/skills/mcp-builder/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
b1d7e02a923e → d168487e7a75
examples/showcases/reskinnable-demo/.claude/skills/reskin/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
b1d7e02a923e → d168487e7a75
skills/channels-setup/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
b1d7e02a923e → d168487e7a75
skills/copilotkit/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
b1d7e02a923e → d168487e7a75
skills/copilotkit-channels/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
b1d7e02a923e → d168487e7a75
skills/copilotkit-cli/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
b1d7e02a923e → d168487e7a75
skills/inspector-docs/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
b1d7e02a923e → d168487e7a75
skills/inspector-workbench/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
b1d7e02a923e → d168487e7a75
skills/intelligence-docs/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
b1d7e02a923e → d168487e7a75
skills/intelligence-vocabulary/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
b1d7e02a923e → d168487e7a75
skills/setup-slack-channel/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
b1d7e02a923e → d168487e7a75
Verified commit d168487e7a753a1527256c7e4c79344377f3d092
git clone --filter=blob:none --no-checkout https://github.com/CopilotKit/CopilotKit.git .hotskills/copilotkit-copilotkit && git -C .hotskills/copilotkit-copilotkit checkout --detach d168487e7a753a1527256c7e4c79344377f3d092
# Copy each selected skill directory from .hotskills/copilotkit-copilotkit into .claude/skills/<skill-name>/git clone --filter=blob:none --no-checkout https://github.com/CopilotKit/CopilotKit.git .hotskills/copilotkit-copilotkit && git -C .hotskills/copilotkit-copilotkit checkout --detach d168487e7a753a1527256c7e4c79344377f3d092
# Copy each selected skill directory from .hotskills/copilotkit-copilotkit into .agents/skills/<skill-name>/git clone --filter=blob:none --no-checkout https://github.com/CopilotKit/CopilotKit.git .hotskills/copilotkit-copilotkit && git -C .hotskills/copilotkit-copilotkit checkout --detach d168487e7a753a1527256c7e4c79344377f3d092
# Copy each selected skill directory from .hotskills/copilotkit-copilotkit into .cursor/skills/<skill-name>/Heat
6.5- Star growth, last 7 daysAhead of 66% of tracked repositories
- Star growth, last 24 hoursAhead of 68% of tracked repositories
- Rank movement, last 7 daysAhead of 81% of tracked repositories
- Commits, last 30 daysAhead of 99% of tracked repositories
- Accounts asking about it through MCP, last 7 daysNot available
- Hot votes this weekAhead of 0% of tracked repositories
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
Individual skills in this repository
- chatgpt-app-builder
examples/showcases/open-mcp-client/apps/mcp-use-server/.agent/skills/chatgpt-app-builder - mcp-apps-builder
examples/showcases/open-mcp-client/apps/mcp-use-server/.agent/skills/mcp-apps-builder - mcp-builder
examples/showcases/open-mcp-client/apps/mcp-use-server/.agent/skills/mcp-builder - reskin
examples/showcases/reskinnable-demo/.claude/skills/reskin - channels-setup
skills/channels-setup - copilotkit
skills/copilotkit - copilotkit-channels
skills/copilotkit-channels - copilotkit-cli
skills/copilotkit-cli - inspector-docs
skills/inspector-docs - inspector-workbench
skills/inspector-workbench - intelligence-docs
skills/intelligence-docs - intelligence-vocabulary
skills/intelligence-vocabulary - setup-slack-channel
skills/setup-slack-channel
How it works
chatgpt-app-builder
When your agent uses it
DEPRECATED: This skill has been replaced by `mcp-app-builder`. Check if `mcp-app-builder` is available in the skills folder. If not, install it: `npx skills install mcp-use/mcp-use --skill mcp-app-builder` Use `mcp-app-builder` instead of this skill. Build ChatGPT apps with interactive widgets using mcp-use and OpenAI Apps SDK. Use when creating ChatGPT apps, building MCP servers with widgets, defining React widgets, working with Apps SDK, or when user mentions ChatGPT widgets, mcp-use widgets, or Apps SDK development.
What it loads into context
Frontmatter
141 tokensAlways available to the agent
SKILL.md
752 tokensWhen the skill is activated
Reference documents
12,583 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Before You Code
- Setup
- Implementation
- Quick Reference
Files
../../../../../../../../.claude-plugin/marketplace.jsonasset989 bytes../../../../../../../../.claude-plugin/plugin.jsonasset622 bytes../../../../../../../../.mcp.jsonasset222 bytesLICENSE.txtdoc9,164 bytesSKILL.mdcore3,166 bytesevals/README.mddoc476 bytesevals/architecture.jsonasset2,389 bytesevals/discover.jsonasset1,748 bytesevals/skill.jsonasset2,153 bytesevals/state-and-context.jsonasset1,469 bytesevals/ui-guidelines.jsonasset1,614 bytesevals/widgets.jsonasset1,630 bytesreferences/architecture.mddoc5,278 bytesreferences/components-api.mddoc10,005 bytesreferences/csp-and-metadata.mddoc5,562 bytesreferences/discover.mddoc2,178 bytesreferences/server-and-widgets.mddoc7,056 bytesreferences/setup.mddoc2,181 bytesreferences/state-and-context.mddoc7,576 bytesreferences/ui-guidelines.mddoc5,870 bytesreferences/widget-patterns.mddoc6,817 bytes
Read SKILL.md
# ChatGPT App Builder
Build ChatGPT apps with interactive widgets using mcp-use. Zero-config widget development with automatic registration and built-in React hooks.
The app is consumed by **two users at once**: the **human** and the **ChatGPT LLM**. They collaborate through the widget -- the human interacts with it, the LLM sees its state. The widget is your shared surface.
## Before You Code
- **Clarify what to build** → [discover.md](references/discover.md): when starting a new app, validating an idea, or scoping features
- **Design tools and widgets** → [architecture.md](references/architecture.md): when deciding what needs UI vs tools-only, designing UX flows
## Setup
- **Scaffold and run** → [setup.md](references/setup.md): when creating a new project, starting dev server, connecting to ChatGPT/ClaudeView the complete source on GitHubmcp-apps-builder
When your agent uses it
**MANDATORY for ALL MCP server work** - mcp-use framework best practices and patterns. **READ THIS FIRST** before any MCP server work, including: - Creating new MCP servers - Modifying existing MCP servers (adding/updating tools, resources, prompts, widgets) - Debugging MCP server issues or errors - Reviewing MCP server code for quality, security, or performance - Answering questions about MCP development or mcp-use patterns - Making ANY changes to server.tool(), server.resource(), server.prompt(), or widgets This skill contains critical architecture decisions, security patterns, and common pitfalls. Always consult the relevant reference files BEFORE implementing MCP features.
What it loads into context
Frontmatter
154 tokensAlways available to the agent
SKILL.md
3,017 tokensWhen the skill is activated
Reference documents
54,575 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- ⚠<U+FE0F> FIRST: New Project or Existing Project?
- Quick Navigation
- Decision Tree
- Core Principles
- ❌ Common Mistakes
- 🔒 Golden Rules
- Quick Reference
- Response Helpers
Files
LICENSE.txtdoc9,164 bytesSKILL.mdcore12,814 bytesSKILL.mdcore12,814 bytesreferences/authentication/custom.mddoc7,479 bytesreferences/authentication/overview.mddoc7,009 bytesreferences/authentication/supabase.mddoc5,771 bytesreferences/authentication/workos.mddoc6,810 bytesreferences/foundations/architecture.mddoc6,707 bytesreferences/foundations/concepts.mddoc3,527 bytesreferences/foundations/deployment.mddoc3,197 bytesreferences/foundations/quickstart.mddoc6,515 bytesreferences/patterns/common-patterns.mddoc22,010 bytesreferences/server/prompts.mddoc17,269 bytesreferences/server/resources.mddoc11,772 bytesreferences/server/response-helpers.mddoc13,196 bytesreferences/server/tools.mddoc10,547 bytesreferences/widgets/advanced.mddoc20,659 bytesreferences/widgets/basics.mddoc18,858 bytesreferences/widgets/interactivity.mddoc24,795 bytesreferences/widgets/state.mddoc16,289 bytesreferences/widgets/ui-guidelines.mddoc16,889 bytes
Read SKILL.md
# IMPORTANT: How to Use This Skill
This file provides a NAVIGATION GUIDE ONLY. Before implementing any MCP server features, you MUST:
1. Read this overview to understand which reference files are relevant
2. **ALWAYS read the specific reference file(s)** for the features you're implementing
3. Apply the detailed patterns from those files to your implementation
**Do NOT rely solely on the quick reference examples in this file** - they are minimal examples only. The reference files contain critical best practices, security considerations, and advanced patterns.
---
# MCP Server Best Practices
View the complete source on GitHubmcp-builder
When your agent uses it
DEPRECATED: This skill has been replaced by `mcp-app-builder`. Check if `mcp-app-builder` is available in the skills folder. If not, install it: `npx skills install mcp-use/mcp-use --skill mcp-app-builder` Use `mcp-app-builder` instead of this skill. Build Model Context Protocol (MCP) servers with mcp-use framework. Use when creating MCP servers, defining tools/resources/prompts, working with mcp-use, bootstrapping MCP projects, or when user mentions MCP development, tools, resources, or prompts.
What it loads into context
Frontmatter
135 tokensAlways available to the agent
SKILL.md
638 tokensWhen the skill is activated
Reference documents
9,759 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Before You Code
- Implementation
- Quick Reference
Files
LICENSE.txtdoc9,164 bytesSKILL.mdcore2,598 bytesevals/README.mddoc460 bytesevals/architecture.jsonasset2,109 bytesevals/implementation.jsonasset1,533 bytesevals/skill.jsonasset1,911 bytesevals/widgets.jsonasset1,797 bytesreferences/design-and-architecture.mddoc6,234 bytesreferences/resource-templates.mddoc3,417 bytesreferences/response-helpers.mddoc7,394 bytesreferences/tools-and-resources.mddoc7,678 bytesreferences/widgets.mddoc15,478 bytes
Read SKILL.md
# MCP Server Builder
Build production-ready MCP servers with tools, resources, prompts, and interactive widgets using mcp-use.
## Before You Code
Decompose user requests into tools, widgets, and resources. Decide what needs UI vs text.
Read [design-and-architecture.md](references/design-and-architecture.md): when planning what to build, deciding tool vs widget, or designing UX flows.
## Implementation
- **Tools, resources, prompts** → [tools-and-resources.md](references/tools-and-resources.md): when writing server-side `server.tool()`, `server.resource()`, `server.prompt()` code
- **Visual widgets (React TSX)** → [widgets.md](references/widgets.md): when creating interactive UI widgets in `resources/` folderView the complete source on GitHubreskin
When your agent uses it
Author a NEW skin for the reskinnable-demo app. A skin is a self-contained domain plugin under src/skins/<id>/ that implements the frozen `Skin` contract (src/shell/skin-contract.ts) to swap the app's entire experience — brand, theme, layout, pages, tools, data, and agent — as a live sales demo. Use when the user says "add a skin", "create a skin", "new skin", "reskin the app", "make a <domain> skin", or wants the app re-themed as a new product. Do NOT use for editing the shell itself (src/shell/**), the shared token vocabulary (src/app/globals.css), or the shipped skins unless explicitly asked.
What it loads into context
Frontmatter
173 tokensAlways available to the agent
SKILL.md
15,927 tokensWhen the skill is activated
Reference documents
48,518 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- ⚠<U+FE0F> FIRST: a skin is a live sales demo, not a theme
- ⚠<U+FE0F> CRITICAL: the client / server boundary
- The `Skin` contract, field by field
- The layout contract (viewport height + nav insets)
- The URL contract (never hardcode the skin prefix)
- The meta-utility strip
- Registering tools: deps, render signatures, replay safety, readables
- Contributing end-user identity (only if your skin has its own auth / memory)
- Files to create under `src/skins/<id>/`
- Authoring order (slot by slot)
- Registration (six appends across four shared files)
- Verification
Files
SKILL.mdcore67,988 bytesSKILL.mdcore67,988 bytesSKILL.mdcore67,988 bytesSKILL.mdcore67,988 bytesSKILL.mdcore67,988 bytesdemo-beats.mddoc66,764 bytesfailure-modes.mddoc46,618 bytestemplates.mddoc91,980 bytes
Read SKILL.md
# Authoring a reskinnable-demo skin
This app hosts one skin-agnostic **shell** (`src/shell/`) that renders one
**skin** per URL segment `/[skin]/...`. A skin is a domain plugin living entirely
under `src/skins/<id>/`. Its ONLY inbound dependency is the frozen `Skin`
contract in `src/shell/skin-contract.ts` — that is what lets skins be authored
in isolation without touching shared code.
To add a skin you (1) map the demo beats it must hit, (2) implement the `Skin`
contract in `src/skins/<id>/`, (3) put its **server-only** agent in
`src/skins/<id>/agent.ts`, and (4) register both — the client skin in
`src/shell/registry.ts` and the agent in `src/shell/agent-registry.ts`, keyed by
the identical `id`.
View the complete source on GitHubchannels-setup
When your agent uses it
Use when a developer wants to build their first CopilotKit Channels agent and get it answering in Slack or Microsoft Teams: "set up a channel", "connect my agent to Slack", "get my agent into Teams", or starting from nothing and wanting a working channel end to end. Covers the whole path: inspecting or scaffolding the project, building the AG-UI agent, creating and reconciling the managed Channel with the public CopilotKit CLI, running the long-running host, and proving a real provider mention gets a reply. The workflow is not in this file. Run `npx --yes copilotkit@latest onboard start` and follow the graph it prints.
What it loads into context
Frontmatter
171 tokensAlways available to the agent
SKILL.md
425 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Do this
- If the command fails
Files
SKILL.mdcore1,767 bytesSKILL.mdcore1,767 bytes
Read SKILL.md
# Set up a CopilotKit Channel
The workflow is **not written down here**. Run this command:
```bash
npx --yes copilotkit@latest onboard start
```
Then follow the graph it prints, start to finish.
If the command asks for a CopilotKit CLI session check, you have permission to
run it. Never reveal credentials.
## Do thisView the complete source on GitHubcopilotkit
When your agent uses it
Use for any CopilotKit question — adding it to an app, chat UI, frontend or server tools, generative UI, shared state, human-in-the-loop, agent frameworks (LangGraph, CrewAI, Mastra, ADK, PydanticAI, and others), the runtime, Intelligence, threads, voice, or diagnosing something that is not working. Do not answer from memory: this skill exists to point you at the current documentation and source, both of which you can read.
What it loads into context
Frontmatter
117 tokensAlways available to the agent
SKILL.md
1,773 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Reading the docs
- Where the answers are
- Before you debug anything
- Two versions exist
Files
SKILL.mdcore7,403 bytesSKILL.mdcore7,403 bytesSKILL.mdcore7,403 bytesSKILL.mdcore7,403 bytes
Read SKILL.md
# CopilotKit
CopilotKit's APIs move. Anything written down in a skill file is a copy that starts drifting
the day it is written, so this skill carries almost no API detail on purpose. It tells you
where the current answer lives and how to get it.
**Look it up before you write code.** Not because the docs are more convenient, but because
they are regenerated from the source and a recollection is not.
## Reading the docs
There are two ways to read the current docs. Check which one this session has.
### Without the MCP server: fetch the Markdown pagesView the complete source on GitHubcopilotkit-channels
When your agent uses it
Use for the CODE half of a managed Intelligence Channel with Slack or Microsoft Teams: customising the Channel a CLI-scaffolded project already ships, or — for a project the CLI did not generate — writing the Channel declaration, the long-running host, and the awaited activation call. Teams provider setup is in scope, because the CLI or dashboard wizard performs it. Creating a Slack app for the first time is not: if no Slack app exists yet, use setup-slack-channel for the provider half and return here for the code.
What it loads into context
Frontmatter
138 tokensAlways available to the agent
SKILL.md
4,797 tokensWhen the skill is activated
Reference documents
606 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Scope
- Decide which path you are on first
- A Channel has two halves
- Customising a scaffolded Channel
- Verify — either path
- Wiring a project the CLI did not generate
- Never do these
Files
SKILL.mdcore23,156 bytesSKILL.mdcore23,156 bytesSKILL.mdcore23,156 bytesSKILL.mdcore23,156 bytesSKILL.mdcore23,156 bytesSKILL.mdcore23,156 bytesSKILL.mdcore23,156 bytesSKILL.mdcore23,156 bytesSKILL.mdcore23,156 bytessources.mddoc2,530 bytes
Read SKILL.md
# CopilotKit Channels
Managed Channels let an agent answer in Slack or Microsoft Teams. Intelligence owns the provider edge — signed ingress, egress, credential storage — and delivers turns to your runtime over its realtime transport.
## Scope
This skill covers **managed Intelligence Channels**: `CopilotIntelligenceRuntime`, app-api Channel resources, and the realtime gateway.
It does **not** cover the self-hosted `@copilotkit/channels` provider adapters (`@copilotkit/channels-slack`, `-teams`, `-discord`, `-whatsapp`). Those hold provider credentials in your process and talk to the provider directly. Both products use the words "channels" and "Slack", so confirm which one the user means before wiring anything. If they want to hold their own Slack tokens and run their own ingress, they want the adapter packages, not this skill.
## Decide which path you are on first
Everything below depends on this, and getting it wrong produces a project with two Channel declarations that fight over one Channel.
View the complete source on GitHubcopilotkit-cli
When your agent uses it
Use for the CopilotKit CLI — `npx copilotkit@latest`. Covers proving a project's wiring with `verify` before debugging anything by hand, scaffolding with `create`, signing in and selecting a hosted Intelligence project, agent-assisted onboarding of an existing app, generating type-safe agent ids, and importing thread history. Reach for `verify` first whenever a CopilotKit app is not working.
What it loads into context
Frontmatter
100 tokensAlways available to the agent
SKILL.md
2,015 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- `verify` — do this before debugging
- Starting a project
- Signing in and picking a project
- Other commands
Files
SKILL.mdcore9,039 bytesSKILL.mdcore9,039 bytesSKILL.mdcore9,039 bytesSKILL.mdcore9,039 bytesSKILL.mdcore9,039 bytesSKILL.mdcore9,039 bytesSKILL.mdcore9,039 bytesSKILL.mdcore9,039 bytesSKILL.mdcore9,039 bytesSKILL.mdcore9,039 bytesSKILL.mdcore9,039 bytes
Read SKILL.md
# CopilotKit CLI
```bash
npx copilotkit@latest <command> --via skill:copilotkit-cli
```
Keep `--via skill:copilotkit-cli` on every command you run from this skill. It only tells
CopilotKit's telemetry that the call came from this skill, and the command ignores it.
If the CLI reports `Unknown option '--via'`, npx ran an old cached version: run the command
again without the flag.
`--help` on any command prints its flags. The commands below are the ones worth knowing
before you start reading someone's project by hand.
View the complete source on GitHubinspector-docs
When your agent uses it
Keeps CopilotKit docs pointing at shipped Inspector panes so readers open the overlay. Use when adding, changing, renaming, or removing an Inspector pane, tab, or overlay action in @copilotkit/web-inspector, or when editing docs that mention Inspector. Don't use for Inspector UI polish that does not add a pane, for CLI or agent-prompt copy, or for unshipped Inspector ideas.
What it loads into context
Frontmatter
110 tokensAlways available to the agent
SKILL.md
914 tokensWhen the skill is activated
Reference documents
709 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When To Use
- Procedures
- Decision Tree
- Red Flags
- Error Handling
Files
SKILL.mdcore4,157 bytesSKILL.mdcore4,157 bytesreferences/pane-map.mddoc5,207 bytes
Read SKILL.md
# Inspector Docs Callouts
Inspector is the localhost overlay that shows Threads, Agents, and Learning.
Every shipped pane that a reader can use must have a docs pointer. The
pointer tells the reader to open Inspector and look at that pane.
## When To Use
Load this skill when:
- A pane, tab, or overlay action is added, renamed, or removed in Inspector
- A docs page teaches a feature that Inspector already shows
- A PR touches both Inspector source and product docs
View the complete source on GitHubinspector-workbench
When your agent uses it
Runs Inspector UI work on the standalone Threads state lab so the agent can see the overlay. Use when a CopilotKit employee asks an agent to fix, polish, add, or debug Inspector UI, chrome, panes, overlay actions, launcher, Home, Threads, Playground, Memory, or any visual behavior in @copilotkit/web-inspector. Don't use for docs-only Callout updates (load inspector-docs), runtime or core changes with no Inspector UI, showcase cell work, or reading Inspector as a consumer inside an app.
What it loads into context
Frontmatter
136 tokensAlways available to the agent
SKILL.md
1,536 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When To Use
- Default host
- Procedures
- Decision Tree
- Red Flags
- Error Handling
Files
SKILL.mdcore6,483 bytesSKILL.mdcore6,483 bytesSKILL.mdcore6,483 bytes
Read SKILL.md
# Inspector Workbench
The Inspector overlay is a visual product. Code that compiles is not proof.
The agent must run the standalone workbench and look at screenshots after
each visual change.
This skill does not replace `inspector-docs`. If a pane is added, renamed,
or removed, load `inspector-docs` as well.
## When To Use
Load this skill at the start of any task that changes
`packages/web-inspector` UI, chrome, or overlay behavior.
View the complete source on GitHubintelligence-docs
When your agent uses it
Keeps the CopilotKit Intelligence landing page in sync when a new Intelligence feature ships or when Intelligence docs are added, renamed, or removed. Use when adding Intelligence capabilities, writing or moving pages under docs/intelligence, editing IntelligenceFeatureCards, or changing snippets/shared/intelligence/overview.mdx. Don't use for OSS-only frontend docs, Inspector pane callouts, or marketing-site copy.
What it loads into context
Frontmatter
97 tokensAlways available to the agent
SKILL.md
1,046 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When To Use
- Landing sources
- Procedures
- Decision Tree
- Red Flags
- Error Handling
Files
SKILL.mdcore5,131 bytesSKILL.mdcore5,131 bytes
Read SKILL.md
# Intelligence Landing Page
`/intelligence/overview` is the product landing for CopilotKit Intelligence.
New Intelligence features and new Intelligence docs pages must land on that
page in the same change. Do not ship a guide that the landing does not name.
## When To Use
Load this skill when:
- A new Intelligence feature ships (threads, analytics, learning, channels,
hosting, inspection, or a later pillar)
- A page is added, renamed, or removed under
`showcase/shell-docs/src/content/docs/intelligence/`View the complete source on GitHubintelligence-vocabulary
When your agent uses it
Locks customer-facing CopilotKit Intelligence docs to one approved name per concept. Use when writing, editing, or reviewing Intelligence docs, nav labels, signup labels, or image alt text in showcase/shell-docs. Don't use for renaming code identifiers, route slugs, env vars, API fields, or component names, or for docs that do not mention Intelligence.
What it loads into context
Frontmatter
100 tokensAlways available to the agent
SKILL.md
857 tokensWhen the skill is activated
Reference documents
1,279 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- When To Use
- Procedures
- Decision Tree
- Red Flags
- Error Handling
Files
SKILL.mdcore4,053 bytesreferences/words.mddoc10,215 bytes
Read SKILL.md
# Intelligence Vocabulary
Customer-facing Intelligence docs use one name per concept. A second name for the same thing is a regression.
## When To Use
Load this skill before writing or editing prose a customer reads about CopilotKit Intelligence. That includes pages, snippets, nav titles, button labels, and image alt text under `showcase/shell-docs`.
Also load `skills/intelligence-docs/SKILL.md` when the change adds, renames, or removes an Intelligence page. That skill keeps the landing page in sync. This skill owns the words.
Do not load this skill to rename code. Identifiers, route slugs, env vars, API fields, and component names stay as they are, even when a Stop word appears inside them.
## Procedures
View the complete source on GitHubsetup-slack-channel
When your agent uses it
Use for the PROVIDER half of getting a locally running CopilotKit Channels agent to answer in Slack, when no Slack app exists yet — setting up a Channels bot in Slack for the first time, creating the Slack app and its tokens, attaching it to a managed Intelligence Channel, or when a Channel reports setup_required, sits at "Waiting for runtime", the Channel is Online but a Slack mention gets no reply, or a Slack app was built with Socket Mode instead of an Intelligence Request URL. Scoped to an OpenTag checkout, or the OpenTag example inside a channels-sdk clone — the phases assume those conventions (app/channel.tsx, app/env.ts, INTELLIGENCE_CHANNEL_NAME, a local agent on port 8123) and do not describe a project scaffolded by copilotkit init, which already ships its own channel host. If the Slack app and Channel already exist and the question is about declaring or customising the Channel in code, use the copilotkit-channels skill instead.
What it loads into context
Frontmatter
218 tokensAlways available to the agent
SKILL.md
5,449 tokensWhen the skill is activated
Reference documents
11,365 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- How delivery actually works — two legs, two mechanisms
- Done means three things, all verified
- Scope — read before planning
- Phase 0 — Establish the route and the contract
- Phase 1 — Workspace, and start the Channel wizard to get the manifest
- Phase 2 — Create and install the Slack app from that manifest
- Phase 3 — Finish the Channel: adapter credentials and API key
- Phase 4 — Configure and start the runtime
- Phase 5 — Verify, in order
- Phase 6 — Optional live E2E
- Never do these
- Rationalizations
- Red flags — stop
- References
Files
SKILL.mdcore26,033 bytesSKILL.mdcore26,033 bytesSKILL.mdcore26,033 bytesSKILL.mdcore26,033 bytesSKILL.mdcore26,033 bytesSKILL.mdcore26,033 bytesassets/slack-app-manifest.yamlasset4,748 bytesreferences/intelligence-channel.mddoc8,636 bytesreferences/local-runtime.mddoc7,937 bytesreferences/optional-e2e.mddoc4,785 bytesreferences/secrets-and-credentials.mddoc6,820 bytesreferences/slack-workspace-and-app.mddoc8,283 bytesreferences/troubleshooting.mddoc18,636 bytes
Read SKILL.md
# Set up a Slack Channel for a local Channels agent
Take a developer from a code checkout to a working local Slack agent. **Five
separate systems** have to line up, and they are owned by four different parties:
| System | Who owns it | Where you work on it |
| ----------------------------------------------------- | ----------------------------- | ---------------------------------------- |
| Slack workspace | Workspace owner / app manager | Slack, in a browser |
| Slack app + its tokens | The developer | api.slack.com, in a browser |
| Intelligence project, API key, Channel, Slack adapter | The developer | The Intelligence dashboard, in a browser |
| Local Channels runtime | The developer | This repo, in the shell |
| AG-UI agent backend | The developer | This repo, in the shell |
## How delivery actually works — two legs, two mechanismsView the complete source on GitHubSkills included
- chatgpt-app-builder
- mcp-apps-builder
- mcp-builder
- reskin
- channels-setup
- copilotkit
- copilotkit-channels
- copilotkit-cli
- inspector-docs
- inspector-workbench
- intelligence-docs
- intelligence-vocabulary
- setup-slack-channel
Repository facts
- License
- MIT
- Created
- Jun 19, 2023
- Last pushed
- Nov 6, 2026
- Forks
- 4,808
- Open issues
- 113
- Project activity
- Active
Rank over the last 12 weeks
Now #52 · best #39 · down 2 in 30 days
- #51 from Oct 14 to Oct 21
- #52 from Oct 22 to Oct 24
- #53 on Oct 25
- #52 from Oct 28 to Oct 29
- #53 from Oct 30 to Oct 31
- #52 since Nov 1
11 earlier periods
- #39 on Aug 2
- #39 from Aug 7 to Aug 20
- #40 on Aug 21
- #41 from Aug 22 to Aug 24
- #42 from Aug 25 to Aug 28
- #43 from Aug 29 to Aug 30
- #44 from Aug 31 to Sep 9
- #46 from Sep 10 to Sep 12
- #47 from Sep 13 to Sep 18
- #48 from Sep 19 to Sep 25
- #50 from Sep 26 to Oct 13
Before you install
Network or broad shellAutomated signals, not a guarantee
Checked Nov 2, 2026
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 36 notes
examples/showcases/open-mcp-client/apps/mcp-use-server/.agent/skills/mcp-apps-builder/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedexamples/showcases/reskinnable-demo/.claude/skills/reskin/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedexamples/showcases/reskinnable-demo/.claude/skills/reskin/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedexamples/showcases/reskinnable-demo/.claude/skills/reskin/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedexamples/showcases/reskinnable-demo/.claude/skills/reskin/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/channels-setup/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/copilotkit/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/copilotkit/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/copilotkit/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/copilotkit-channels/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/copilotkit-channels/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/copilotkit-channels/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/copilotkit-channels/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/copilotkit-channels/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/copilotkit-channels/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/copilotkit-channels/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/copilotkit-channels/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/copilotkit-cli/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/copilotkit-cli/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/copilotkit-cli/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed
- No broad tool permissions
- No dangerous shell commands
- 238 network referencesin 33 files: mcp-apps-builder/references/authentication/custom.md:13 chatgpt-app-builder/references/csp-and-metadata.md:22 copilotkit/SKILL.md:24 and 30 more
- No hidden or obfuscated text
- No instruction overrides
- No executable scripts
- 45 references to secretsin 19 files: mcp-apps-builder/references/authentication/workos.md:49 mcp-apps-builder/references/server/tools.md:317 mcp-builder/references/tools-and-resources.md:292 and 16 more
- No requests to vote in Hot
Show all 283 signals by file
.claude-plugin/marketplace.json
- Network accessline 17
"author": { "name": "CopilotKit", "url": "https://copilotkit.ai" - Network accessline 18
"name": "CopilotKit", "url": "https://copilotkit.ai" }, - Network accessline 19
"url": "https://copilotkit.ai" - Network accessline 20
}, "homepage": "https://docs.copilotkit.ai", "repository": "https://github.com/CopilotKit/CopilotKit", - Network accessline 21
"homepage": "https://docs.copilotkit.ai", - Network accessline 22
"repository": "https://github.com/CopilotKit/CopilotKit",
.claude-plugin/plugin.json
- Network accessline 5
"author": { "name": "CopilotKit", "url": "https://copilotkit.ai" - Network accessline 6
"name": "CopilotKit", "url": "https://copilotkit.ai" }, - Network accessline 7
"url": "https://copilotkit.ai" - Network accessline 8
}, "homepage": "https://docs.copilotkit.ai", "repository": "https://github.com/CopilotKit/CopilotKit", - Network accessline 9
"homepage": "https://docs.copilotkit.ai", - Network accessline 10
"repository": "https://github.com/CopilotKit/CopilotKit",
.mcp.json
examples/showcases/open-mcp-client/apps/mcp-use-server/.agent/skills/chatgpt-app-builder/LICENSE.txt
examples/showcases/open-mcp-client/apps/mcp-use-server/.agent/skills/chatgpt-app-builder/references/components-api.md
examples/showcases/open-mcp-client/apps/mcp-use-server/.agent/skills/chatgpt-app-builder/references/csp-and-metadata.md
- Network accessline 22
// APIs your widget needs to call (fetch, WebSocket, XMLHttpRequest) connectDomains: [ "https://api.weather.com", - Network accessline 23
connectDomains: [ "https://api.weather.com", "https://backup-api.weather.com", - Network accessline 24
"https://api.weather.com", - Network accessline 25
"https://backup-api.weather.com", - Network accessline 28
// Static assets (images, fonts, stylesheets, videos) resourceDomains: ["https://cdn.weather.com"], - Network accessline 29
resourceDomains: ["https://cdn.weather.com"], - Network accessline 31
// External content to embed in iframes frameDomains: ["https://embed.weather.com"], - Network accessline 32
frameDomains: ["https://embed.weather.com"], - Network accessline 43
| Field | Purpose | Example | | ------------------ | -------------------------------- | ------------------------------- | | `connectDomains` | APIs to call via fetch/WebSocket - Network accessline 44
| ------------------ | -------------------------------- | ------------------------------- | | `connectDomains` | APIs to call via fetch/WebSocket | `["https://api.example.com"]` | | `resourceDomains` | Load images, fonts, stylesheets - Network accessline 45
| `connectDomains` | APIs to call via fetch/WebSocket | `["https://api.example.com"]` | - Network accessline 46
| `resourceDomains` | Load images, fonts, stylesheets | `["https://cdn.example.com"]` | - Network accessline 47
| `frameDomains` | Embed external iframes | `["https://embed.example.com"]` | - Network accessline 52
1. **Specify exact domains**: `https://api.weather.com` (not wildcards) - Network accessline 53
2. **Avoid wildcards**: `https://*.weather.com` is less secure - Network accessline 67
metadata: { csp: { connectDomains: ['https://api.example.com'], // Add missing API - Network accessline 68
csp: { connectDomains: ['https://api.example.com'], // Add missing API resourceDomains: ['https://cdn.example.com'], // Add missing CDN - Network accessline 69
connectDomains: ['https://api.example.com'], // Add missing API - Network accessline 70
resourceDomains: ['https://cdn.example.com'], // Add missing CDN - Network accessline 89
// CSP configuration csp: { connectDomains: ["https://api.weather.com"], - Network accessline 90
csp: { connectDomains: ["https://api.weather.com"], resourceDomains: ["https://cdn.weather.com"], - Network accessline 91
connectDomains: ["https://api.weather.com"], - Network accessline 92
resourceDomains: ["https://cdn.weather.com"], - Network accessline 121
// ChatGPT only - uses openai/ prefix and snake_case "openai/widgetCSP": { connect_domains: ["https://api.weather.com"], - Network accessline 122
"openai/widgetCSP": { connect_domains: ["https://api.weather.com"], resource_domains: ["https://cdn.weather.com"], - Network accessline 123
connect_domains: ["https://api.weather.com"], - Network accessline 124
resource_domains: ["https://cdn.weather.com"], - Network accessline 125
}, "openai/widgetPrefersBorder": true, "openai/widgetDomain": "https://chatgpt.com", - Network accessline 126
"openai/widgetPrefersBorder": true, "openai/widgetDomain": "https://chatgpt.com", "openai/toolInvocation/invoking": "Loading weather...", - Network accessline 127
"openai/widgetDomain": "https://chatgpt.com", - Network accessline 157
// Unified metadata (dual-protocol) metadata: { csp: { connectDomains: ["https://api.weather.com"] }, - Network accessline 158
metadata: { csp: { connectDomains: ["https://api.weather.com"] }, prefersBorder: true, - Network accessline 159
csp: { connectDomains: ["https://api.weather.com"] },
examples/showcases/open-mcp-client/apps/mcp-use-server/.agent/skills/chatgpt-app-builder/references/server-and-widgets.md
examples/showcases/open-mcp-client/apps/mcp-use-server/.agent/skills/chatgpt-app-builder/references/setup.md
- Network accessline 37
- Hot reload enabled for both server and widgets - Inspector at `http://localhost:3000/inspector` - Network accessline 38
- Inspector at `http://localhost:3000/inspector` - Network accessline 39
- MCP endpoint at `http://localhost:3000/mcp` - Network accessline 43
Open `http://localhost:3000/inspector` to:
examples/showcases/open-mcp-client/apps/mcp-use-server/.agent/skills/mcp-apps-builder/LICENSE.txt
examples/showcases/open-mcp-client/apps/mcp-use-server/.agent/skills/mcp-apps-builder/SKILL.md
- Network accessline 116
- **[resources.md](references/server/resources.md)** - When: Exposing read-only data clients can fetch (config, user profiles, documentation) - Network accessline 117
- When: Exposing read-only data clients can fetch (config, user profiles, documentation) - Access to secretsline 234
[Credential-related source omitted]
examples/showcases/open-mcp-client/apps/mcp-use-server/.agent/skills/mcp-apps-builder/references/authentication/custom.md
- Network accessline 13
const JWKS = createRemoteJWKSet( new URL("https://login.example.com/.well-known/jwks.json"), - Network accessline 14
new URL("https://login.example.com/.well-known/jwks.json"), - Network accessline 19
version: "1.0.0", oauth: oauthCustomProvider({ issuer: "https://login.example.com", - Network accessline 20
oauth: oauthCustomProvider({ issuer: "https://login.example.com", jwksUrl: "https://login.example.com/.well-known/jwks.json", - Network accessline 21
issuer: "https://login.example.com", - Network accessline 22
jwksUrl: "https://login.example.com/.well-known/jwks.json", - Network accessline 23
authEndpoint: "https://login.example.com/oauth2/authorize", - Network accessline 24
tokenEndpoint: "https://login.example.com/oauth2/token", - Network accessline 25
verifyToken: async (token) => { const result = await jwtVerify(token, JWKS, { issuer: "https://login.example.com", - Network accessline 26
const result = await jwtVerify(token, JWKS, { issuer: "https://login.example.com", }); - Network accessline 27
issuer: "https://login.example.com", - Network accessline 51
oauth: oauthCustomProvider({ issuer: "https://login.example.com", // required - Network accessline 52
issuer: "https://login.example.com", // required - Network accessline 53
jwksUrl: "https://login.example.com/.well-known/jwks.json", // required - Network accessline 54
authEndpoint: "https://login.example.com/authorize", // required - Network accessline 55
tokenEndpoint: "https://login.example.com/token", // required - Network accessline 83
const JWKS = createRemoteJWKSet( new URL("https://login.example.com/.well-known/jwks.json"), - Network accessline 84
new URL("https://login.example.com/.well-known/jwks.json"), - Network accessline 87
verifyToken: async (token) => { const result = await jwtVerify(token, JWKS, { issuer: "https://login.example.com", - Network accessline 88
const result = await jwtVerify(token, JWKS, { issuer: "https://login.example.com", audience: "my-api", // if your provider requires audience validation - Network accessline 89
issuer: "https://login.example.com", - Network accessline 134
oauth: oauthCustomProvider({ issuer: "https://github.com", - Network accessline 135
issuer: "https://github.com", - Network accessline 136
jwksUrl: "https://token.actions.githubusercontent.com/.well-known/jwks", - Network accessline 137
authEndpoint: "https://github.com/login/oauth/authorize", - Network accessline 138
[Credential-related source omitted] - Access to secretsline 138
[Credential-related source omitted] - Network accessline 139
verifyToken: async (token) => { // GitHub tokens may need introspection rather than local JWT verification const res = await fetch("https://api.github.com/user", { - Network accessline 140
[Credential-related source omitted] - Network accessline 141
const res = await fetch("https://api.github.com/user", { - Network accessline 163
const OKTA_DOMAIN = process.env.OKTA_DOMAIN; // e.g., "dev-123456.okta.com" const JWKS = createRemoteJWKSet( new URL(`https://${OKTA_DOMAIN}/oauth2/default/v1/keys`), - Network accessline 164
const JWKS = createRemoteJWKSet( new URL(`https://${OKTA_DOMAIN}/oauth2/default/v1/keys`), ); - Network accessline 165
new URL(`https://${OKTA_DOMAIN}/oauth2/default/v1/keys`), - Network accessline 168
oauth: oauthCustomProvider({ issuer: `https://${OKTA_DOMAIN}/oauth2/default`, - Network accessline 169
issuer: `https://${OKTA_DOMAIN}/oauth2/default`, - Network accessline 170
jwksUrl: `https://${OKTA_DOMAIN}/oauth2/default/v1/keys`, - Network accessline 171
authEndpoint: `https://${OKTA_DOMAIN}/oauth2/default/v1/authorize`, - Network accessline 172
tokenEndpoint: `https://${OKTA_DOMAIN}/oauth2/default/v1/token`, - Network accessline 173
verifyToken: async (token) => jwtVerify(token, JWKS, { issuer: `https://${OKTA_DOMAIN}/oauth2/default`, - Network accessline 174
jwtVerify(token, JWKS, { issuer: `https://${OKTA_DOMAIN}/oauth2/default`, }), - Network accessline 175
issuer: `https://${OKTA_DOMAIN}/oauth2/default`, - Network accessline 185
const TENANT_ID = process.env.AZURE_TENANT_ID; const JWKS = createRemoteJWKSet( new URL(`https://login.microsoftonline.com/${TENANT_ID}/discovery/v2.0/keys`), - Network accessline 186
const JWKS = createRemoteJWKSet( new URL(`https://login.microsoftonline.com/${TENANT_ID}/discovery/v2.0/keys`), ); - Network accessline 187
new URL(`https://login.microsoftonline.com/${TENANT_ID}/discovery/v2.0/keys`), - Network accessline 190
oauth: oauthCustomProvider({ issuer: `https://login.microsoftonline.com/${TENANT_ID}/v2.0`, - Network accessline 191
issuer: `https://login.microsoftonline.com/${TENANT_ID}/v2.0`, - Network accessline 192
jwksUrl: `https://login.microsoftonline.com/${TENANT_ID}/discovery/v2.0/keys`, - Network accessline 193
authEndpoint: `https://login.microsoftonline.com/${TENANT_ID}/oauth2/v2.0/authorize`, - Network accessline 194
tokenEndpoint: `https://login.microsoftonline.com/${TENANT_ID}/oauth2/v2.0/token`, - Network accessline 195
verifyToken: async (token) => jwtVerify(token, JWKS, { issuer: `https://login.microsoftonline.com/${TENANT_ID}/v2.0`, - Network accessline 196
jwtVerify(token, JWKS, { issuer: `https://login.microsoftonline.com/${TENANT_ID}/v2.0`, }), - Network accessline 197
issuer: `https://login.microsoftonline.com/${TENANT_ID}/v2.0`,
examples/showcases/open-mcp-client/apps/mcp-use-server/.agent/skills/mcp-apps-builder/references/authentication/overview.md
- Network accessline 152
{ name: "fetch-data", description: "Fetch user data from API" }, async (_args, ctx) => { const res = await fetch("https://api.example.com/me", { - Network accessline 153
async (_args, ctx) => { const res = await fetch("https://api.example.com/me", { headers: { - Network accessline 154
const res = await fetch("https://api.example.com/me", {
examples/showcases/open-mcp-client/apps/mcp-use-server/.agent/skills/mcp-apps-builder/references/authentication/supabase.md
- Network accessline 5
**Learn more:** [Supabase MCP Authentication](https://supabase.com/docs/guides/auth/oauth-server/mcp-authentication) - Access to secretsline 72
[Credential-related source omitted] - Access to secretsline 125
[Credential-related source omitted] - Network accessline 136
const res = await fetch(`https://${projectId}.supabase.co/rest/v1/notes`, {
examples/showcases/open-mcp-client/apps/mcp-use-server/.agent/skills/mcp-apps-builder/references/authentication/workos.md
- Network accessline 5
**Learn more:** [WorkOS MCP docs](https://workos.com/docs/authkit/mcp) · [WorkOS AuthKit](https://workos.com/docs/authkit) - Access to secretsline 49
[Credential-related source omitted] - Access to secretsline 151
[Credential-related source omitted] - Access to secretsline 156
[Credential-related source omitted] - Network accessline 160
const res = await fetch( - Network accessline 161
`https://api.workos.com/user_management/users/${ctx.auth.user.userId}`, - Access to secretsline 164
[Credential-related source omitted] - Access to secretsline 191
[Credential-related source omitted] - Network accessline 209
http://localhost:3000/oauth/callback
examples/showcases/open-mcp-client/apps/mcp-use-server/.agent/skills/mcp-apps-builder/references/foundations/deployment.md
examples/showcases/open-mcp-client/apps/mcp-use-server/.agent/skills/mcp-apps-builder/references/foundations/quickstart.md
- Network accessline 15
This installs dependencies, starts the server on port 3000, and opens the inspector at `http://localhost:3000/inspector`. - Network accessline 86
2. Edit `index.ts` to add tools, resources, prompts 3. Add widgets as `.tsx` files in `resources/` 4. Test everything at `http://localhost:3000/inspector` - Network accessline 87
3. Add widgets as `.tsx` files in `resources/` 4. Test everything at `http://localhost:3000/inspector` 5. `npm run build` — production build - Network accessline 88
4. Test everything at `http://localhost:3000/inspector` - Network accessline 104
title: "My Server", version: "1.0.0", baseUrl: process.env.MCP_URL || "http://localhost:3000", - Network accessline 105
version: "1.0.0", baseUrl: process.env.MCP_URL || "http://localhost:3000", }); - Network accessline 106
baseUrl: process.env.MCP_URL || "http://localhost:3000", - Network accessline 130
1. Open inspector (`http://localhost:3000/inspector`)
examples/showcases/open-mcp-client/apps/mcp-use-server/.agent/skills/mcp-apps-builder/references/patterns/common-patterns.md
- Network accessline 19
title: "Weather Server", version: "1.0.0", baseUrl: process.env.MCP_URL || "http://localhost:3000", - Network accessline 20
version: "1.0.0", baseUrl: process.env.MCP_URL || "http://localhost:3000", }); - Network accessline 21
baseUrl: process.env.MCP_URL || "http://localhost:3000", - Access to secretsline 773
[Credential-related source omitted] - Access to secretsline 782
[Credential-related source omitted] - Access to secretsline 784
[Credential-related source omitted] - Network accessline 788
const response = await fetch( - Network accessline 789
[Credential-related source omitted] - Access to secretsline 789
[Credential-related source omitted]
examples/showcases/open-mcp-client/apps/mcp-use-server/.agent/skills/mcp-apps-builder/references/server/resources.md
- Network accessline 60
❌ "settings" // Missing scheme ❌ "http://example.com/data" // Don't use http:// (reserved) - Network accessline 61
❌ "http://example.com/data" // Don't use http:// (reserved) - Network accessline 330
server.resource({ uri: "data://external-api", ... }, async () => { try { const data = await fetch("https://api.example.com/data"); - Network accessline 331
try { const data = await fetch("https://api.example.com/data"); if (!data.ok) return error(`API returned status ${data.status}`); - Network accessline 332
const data = await fetch("https://api.example.com/data");
examples/showcases/open-mcp-client/apps/mcp-use-server/.agent/skills/mcp-apps-builder/references/server/tools.md
- Network accessline 16
name: "my-server", version: "1.0.0", baseUrl: process.env.MCP_URL || "http://localhost:3000", - Network accessline 17
version: "1.0.0", baseUrl: process.env.MCP_URL || "http://localhost:3000", }); - Network accessline 18
baseUrl: process.env.MCP_URL || "http://localhost:3000", - Access to secretsline 317
[Credential-related source omitted] - Access to secretsline 325
[Credential-related source omitted] - Access to secretsline 327
[Credential-related source omitted] - Network accessline 331
const data = await fetch( - Network accessline 332
[Credential-related source omitted] - Access to secretsline 332
[Credential-related source omitted] - Access to secretsline 351
[Credential-related source omitted]
examples/showcases/open-mcp-client/apps/mcp-use-server/.agent/skills/mcp-apps-builder/references/widgets/advanced.md
examples/showcases/open-mcp-client/apps/mcp-use-server/.agent/skills/mcp-apps-builder/references/widgets/basics.md
- Network accessline 165
invoking: "Fetching weather...", // Shimmer text while tool runs invoked: "Weather loaded", // Static text when complete csp: { connectDomains: ["https://api.weather.com"] }, - Network accessline 166
invoked: "Weather loaded", // Static text when complete csp: { connectDomains: ["https://api.weather.com"] }, }, - Network accessline 167
csp: { connectDomains: ["https://api.weather.com"] }, - Network accessline 642
1. Start dev server: `npm run dev` 2. Open inspector: `http://localhost:3000/inspector` - Network accessline 643
2. Open inspector: `http://localhost:3000/inspector`
examples/showcases/open-mcp-client/apps/mcp-use-server/.agent/skills/mcp-builder/LICENSE.txt
examples/showcases/open-mcp-client/apps/mcp-use-server/.agent/skills/mcp-builder/evals/implementation.json
- Access to secretsline 16
[Credential-related source omitted]
examples/showcases/open-mcp-client/apps/mcp-use-server/.agent/skills/mcp-builder/references/tools-and-resources.md
- Network accessline 16
name: "my-server", version: "1.0.0", baseUrl: process.env.MCP_URL || "http://localhost:3000", - Network accessline 17
version: "1.0.0", baseUrl: process.env.MCP_URL || "http://localhost:3000", }); - Network accessline 18
baseUrl: process.env.MCP_URL || "http://localhost:3000", - Access to secretsline 292
[Credential-related source omitted] - Access to secretsline 297
[Credential-related source omitted] - Access to secretsline 299
[Credential-related source omitted] - Network accessline 300
); } const data = await fetch( - Network accessline 301
} const data = await fetch( `https://api.weather.com/v1?key=${API_KEY}&city=${city}`, - Network accessline 302
const data = await fetch( - Network accessline 303
[Credential-related source omitted] - Access to secretsline 303
[Credential-related source omitted] - Access to secretsline 314
[Credential-related source omitted]
examples/showcases/open-mcp-client/apps/mcp-use-server/.agent/skills/mcp-builder/references/widgets.md
- Network accessline 88
name: "weather-server", version: "1.0.0", baseUrl: process.env.MCP_URL || "http://localhost:3000", - Network accessline 89
version: "1.0.0", baseUrl: process.env.MCP_URL || "http://localhost:3000", }); - Network accessline 90
baseUrl: process.env.MCP_URL || "http://localhost:3000", - Network accessline 216
callTool, // Call another MCP tool: callTool("tool-name", { args }) sendFollowUpMessage, // Trigger LLM response: sendFollowUpMessage("analyze this") openExternal, // Open external URL: openExternal("https://example.com") - Network accessline 217
sendFollowUpMessage, // Trigger LLM response: sendFollowUpMessage("analyze this") openExternal, // Open external URL: openExternal("https://example.com") requestDisplayMode, // Request mode change: requestDisplayMode("fullscreen") - Network accessline 218
openExternal, // Open external URL: openExternal("https://example.com") requestDisplayMode, // Request mode change: requestDisplayMode("fullscreen") mcp_url, // MCP server base URL for custom API requests - Network accessline 383
name: "recipe-finder", version: "1.0.0", baseUrl: process.env.MCP_URL || "http://localhost:3000", - Network accessline 384
version: "1.0.0", baseUrl: process.env.MCP_URL || "http://localhost:3000", }); - Network accessline 385
baseUrl: process.env.MCP_URL || "http://localhost:3000",
examples/showcases/reskinnable-demo/.claude/skills/reskin/SKILL.md
examples/showcases/reskinnable-demo/.claude/skills/reskin/demo-beats.md
- Access to secretsline 123
[Credential-related source omitted]
examples/showcases/reskinnable-demo/.claude/skills/reskin/templates.md
- Network accessline 35
viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", - Network accessline 36
fill: "none", xmlns: "http://www.w3.org/2000/svg", "aria-hidden": true, - Network accessline 37
xmlns: "http://www.w3.org/2000/svg", - Network accessline 263
let res: Response; try { res = await fetch(`/api/${skin.id}/v1/dev/reset`, { method: "POST" }); - Network accessline 264
try { res = await fetch(`/api/${skin.id}/v1/dev/reset`, { method: "POST" }); } catch (err) { - Network accessline 265
res = await fetch(`/api/${skin.id}/v1/dev/reset`, { method: "POST" }); - Network accessline 438
write landed and only the view is behind. Nothing type-checks the difference, and two write paths in one file routinely disagree, so grep your own pages for `await fetch(` and confirm each hit branches on `res.ok`. - Network accessline 439
and two write paths in one file routinely disagree, so grep your own pages for `await fetch(` and confirm each hit branches on `res.ok`. 4. **`res.ok` is only HALF of the failures — catch the REJECTED fetch too.** - Network accessline 440
`await fetch(` and confirm each hit branches on `res.ok`. - Network accessline 1046
for (const memory of SEED_MEMORIES) { try { const res = await fetch(`${base}/api/memories`, { - Network accessline 1047
try { const res = await fetch(`${base}/api/memories`, { method: "POST", - Network accessline 1048
const res = await fetch(`${base}/api/memories`, {
skills/copilotkit-channels/SKILL.md
- Access to secretsline 230
[Credential-related source omitted]
skills/copilotkit-cli/SKILL.md
skills/copilotkit/SKILL.md
- Network accessline 24
- **Any docs page as Markdown.** Add `.md` to the page path: `https://docs.copilotkit.ai/<path>.md`. For example, - Network accessline 25
`https://docs.copilotkit.ai/<path>.md`. For example, - Network accessline 26
`https://docs.copilotkit.ai/quickstart.md` and - Network accessline 27
`https://docs.copilotkit.ai/backend/copilot-runtime.md`. The response is - Network accessline 28
`text/markdown`. A path that does not exist returns 404 with the body `Not found`. - **To find a path.** Start with `https://docs.copilotkit.ai/llms.txt`. It is a short, curated index with links to the main pages. For a page it does not l - Network accessline 29
- **To find a path.** Start with `https://docs.copilotkit.ai/llms.txt`. It is a short, - Network accessline 30
curated index with links to the main pages. For a page it does not list, read `https://docs.copilotkit.ai/sitemap.xml`, which lists every page URL. Both indexes list HTML page URLs. Add `.md` to a URL before you fetch it. The site root - Network accessline 31
`https://docs.copilotkit.ai/sitemap.xml`, which lists every page URL. Both indexes list HTML page URLs. Add `.md` to a URL before you fetch it. The site root has no `.md` form. Do not fetch `llms-full.txt` in one read. It holds every pa - Network accessline 33
Do not fetch `llms-full.txt` in one read. It holds every page and is several megabytes. - **Links in this skill.** A link such as [quickstart](/quickstart) is a docs path. Fetch it as `https://docs.copilotkit.ai/quickstart.md`. - Network accessline 34
- **Links in this skill.** A link such as [quickstart](/quickstart) is a docs path. Fetch it as `https://docs.copilotkit.ai/quickstart.md`. - **Library source.** Read the installed package in `node_modules/@copilotkit/`, or the - Network accessline 35
Fetch it as `https://docs.copilotkit.ai/quickstart.md`. - Network accessline 36
- **Library source.** Read the installed package in `node_modules/@copilotkit/`, or the source at `https://github.com/CopilotKit/CopilotKit` under `packages/`. - **AG-UI protocol.** The protocol has its own docs at `https://docs.ag-ui.com - Network accessline 37
source at `https://github.com/CopilotKit/CopilotKit` under `packages/`. - Network accessline 38
- **AG-UI protocol.** The protocol has its own docs at `https://docs.ag-ui.com`. Its index - Network accessline 39
is `https://docs.ag-ui.com/llms.txt`, and its pages also take `.md`. - Network accessline 63
A user who wants the search tools outside the plugin can add the server themselves. The endpoints are `https://mcp.copilotkit.ai/mcp` (streamable HTTP) and - Network accessline 64
endpoints are `https://mcp.copilotkit.ai/mcp` (streamable HTTP) and - Network accessline 65
`https://mcp.copilotkit.ai/sse` (SSE). Keep the path, because the bare host returns 404. - Network accessline 81
[auth](/auth) - **Agent frameworks** — one quickstart per framework, at `https://docs.copilotkit.ai/<framework>/quickstart.md`. The framework slugs are in - Network accessline 82
- **Agent frameworks** — one quickstart per framework, at `https://docs.copilotkit.ai/<framework>/quickstart.md`. The framework slugs are in `llms.txt`, for example `langgraph-python`, `mastra`, and `crewai-crews`. - Network accessline 83
`https://docs.copilotkit.ai/<framework>/quickstart.md`. The framework slugs are in
skills/inspector-workbench/SKILL.md
- Network accessline 36
- Command, from the repo root: `nx run @copilotkit/web-inspector:dev:standalone` - URL: `http://127.0.0.1:5177/?scenario=pro-enabled-existing&reset=1` - Network accessline 37
- URL: `http://127.0.0.1:5177/?scenario=pro-enabled-existing&reset=1` - Network accessline 51
1. If the change adds, renames, or removes a pane, load `inspector-docs` too. 2. From the repo root, start `nx run @copilotkit/web-inspector:dev:standalone`. 3. Wait until `http://127.0.0.1:5177` serves. - Network accessline 52
2. From the repo root, start `nx run @copilotkit/web-inspector:dev:standalone`. 3. Wait until `http://127.0.0.1:5177` serves. 4. Open the browser tool this session has (Playwright MCP, Claude browser, or Codex computer use). - Network accessline 53
3. Wait until `http://127.0.0.1:5177` serves. - Network accessline 54
4. Open the browser tool this session has (Playwright MCP, Claude browser, or Codex computer use). 5. Go to `http://127.0.0.1:5177/?scenario=pro-enabled-existing&reset=1`. 6. If the bug is an empty, locked, error, or unread state, pick that - Network accessline 55
5. Go to `http://127.0.0.1:5177/?scenario=pro-enabled-existing&reset=1`. - Network accessline 109
- **Lab is blank or the overlay is closed**: wait for boot. Then screenshot the lab console Runtime line. If Runtime is not connected, fix the lab before UI edits. - **Screenshot does not show the intended change**: do not claim done. Reloa - Network accessline 110
- **Screenshot does not show the intended change**: do not claim done. Reload, screenshot again, then fix the source. - **HMR did not apply a source edit**: reload `http://127.0.0.1:5177` with the same scenario query. Then screenshot. - **N - Network accessline 111
- **HMR did not apply a source edit**: reload `http://127.0.0.1:5177` with the same scenario query. Then screenshot. - Network accessline 112
- **Need a closed launcher or unread halo**: open `http://127.0.0.1:5177/?scenario=pro-enabled-existing&replay-notification=1`.
skills/intelligence-vocabulary/references/words.md
- Access to secretsline 82
[Credential-related source omitted]
skills/setup-slack-channel/SKILL.md
- Network accessline 25
| Leg | Mechanism | What authenticates it | | -- - Network accessline 26
| ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------- | | ** - Network accessline 27
| **Slack → Intelligence** | Slack posts events over **HTTPS** to an Intelligence-hosted Request URL: `https://intelligence.copilotkit.ai/api/channels/adapters/slack/events` | The app's **signing secret**, held by Intelligence | - Access to secretsline 28
[Credential-related source omitted] - Network accessline 135
git clone https://github.com/CopilotKit/OpenTag.git - Access to secretsline 283
[Credential-related source omitted]
skills/setup-slack-channel/assets/slack-app-manifest.yaml
- Network accessline 4
# event_subscriptions.request_url. A managed Intelligence Channel needs the # opposite (socket_mode_enabled: false + a request_url pointing at # https://intelligence.copilotkit.ai/api/channels/adapters/slack/events). - Network accessline 5
# opposite (socket_mode_enabled: false + a request_url pointing at # https://intelligence.copilotkit.ai/api/channels/adapters/slack/events). # - Network accessline 6
# https://intelligence.copilotkit.ai/api/channels/adapters/slack/events).
skills/setup-slack-channel/references/intelligence-channel.md
skills/setup-slack-channel/references/local-runtime.md
- Access to secretsline 47
[Credential-related source omitted] - Network accessline 53
| ------------------------------------------------------ | ----------------------- | --------------------------------------------------------------------- | | `CPK_INTELLIGENCE_API_KEY` | Yes - Network accessline 54
[Credential-related source omitted] - Access to secretsline 54
[Credential-related source omitted] - Network accessline 55
| `AGENT_URL` | Yes | The AG-UI endpoint. OpenTag's local agent is `http://localhost:8123/` | - Access to secretsline 56
[Credential-related source omitted] - Access to secretsline 64
[Credential-related source omitted] - Access to secretsline 65
[Credential-related source omitted] - Network accessline 77
pnpm agent curl -s localhost:8123/health - Network accessline 78
curl -s localhost:8123/health - Network accessline 165
PORT=3100 SERVER_PORT=8223 AGENT_URL=http://localhost:8223/ LOG_LEVEL=debug pnpm dev
skills/setup-slack-channel/references/secrets-and-credentials.md
skills/setup-slack-channel/references/slack-workspace-and-app.md
- Network accessline 105
| ------------------------------------- | ------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- - Network accessline 106
| **Socket Mode** | **disabled** | Managed delivery is HTTPS to Intelligence's Request URL. Socket Mode is the direct-adapter p - Network accessline 107
| **Event subscriptions → Request URL** | `https://intelligence.copilotkit.ai/api/channels/adapters/slack/events` | This is the whole delivery mechanism. Absent or wrong = permanent silence. - Network accessline 109
| **Interactivity** | **enabled**, request URL `https://intelligence.copilotkit.ai/api/channels/adapters/slack/interactivity` | This is how HITL buttons and selects reach your runtime. Turning it off silently breaks them
skills/setup-slack-channel/references/troubleshooting.md
- Network accessline 95
settings: event_subscriptions: request_url: "https://intelligence.copilotkit.ai/api/channels/adapters/slack/events" - Network accessline 96
event_subscriptions: request_url: "https://intelligence.copilotkit.ai/api/channels/adapters/slack/events" socket_mode_enabled: false - Network accessline 97
request_url: "https://intelligence.copilotkit.ai/api/channels/adapters/slack/events" - Access to secretsline 249
[Credential-related source omitted]
How the signals fit together
Facts from a static read of the files at the pinned commit. They describe what the code does, not why.
Some files could not be read; the facts below still hold.
Signal confidence: 264 facts
- Network access in prose of documentationchatgpt-app-builder/LICENSE.txt:1Low confidence
- Network access in prose of documentationchatgpt-app-builder/LICENSE.txt:3Low confidence
- Network access in code of documentationchatgpt-app-builder/references/components-api.md:284Low confidence
- Network access in code of documentationchatgpt-app-builder/references/components-api.md:285Low confidence
- Network access in code of documentationchatgpt-app-builder/references/csp-and-metadata.md:22Low confidence
- Network access in code of documentationchatgpt-app-builder/references/csp-and-metadata.md:23Low confidence
- Network access in code of documentationchatgpt-app-builder/references/csp-and-metadata.md:24Low confidence
- Network access in code of documentationchatgpt-app-builder/references/csp-and-metadata.md:25Low confidence
- Network access in code of documentationchatgpt-app-builder/references/csp-and-metadata.md:28Low confidence
- Network access in code of documentationchatgpt-app-builder/references/csp-and-metadata.md:29Low confidence
- Network access in code of documentationchatgpt-app-builder/references/csp-and-metadata.md:31Low confidence
- Network access in code of documentationchatgpt-app-builder/references/csp-and-metadata.md:32Low confidence
- Network access in prose of documentationchatgpt-app-builder/references/csp-and-metadata.md:43Low confidence
- Network access in prose of documentationchatgpt-app-builder/references/csp-and-metadata.md:44Low confidence
- Network access in prose of documentationchatgpt-app-builder/references/csp-and-metadata.md:45Low confidence
- Network access in prose of documentationchatgpt-app-builder/references/csp-and-metadata.md:46Low confidence
- Network access in prose of documentationchatgpt-app-builder/references/csp-and-metadata.md:47Low confidence
- Network access in prose of documentationchatgpt-app-builder/references/csp-and-metadata.md:52Low confidence
- Network access in prose of documentationchatgpt-app-builder/references/csp-and-metadata.md:53Low confidence
- Network access in code of documentationchatgpt-app-builder/references/csp-and-metadata.md:67Low confidence
- Network access in code of documentationchatgpt-app-builder/references/csp-and-metadata.md:68Low confidence
- Network access in code of documentationchatgpt-app-builder/references/csp-and-metadata.md:69Low confidence
- Network access in code of documentationchatgpt-app-builder/references/csp-and-metadata.md:70Low confidence
- Network access in code of documentationchatgpt-app-builder/references/csp-and-metadata.md:89Low confidence
- Network access in code of documentationchatgpt-app-builder/references/csp-and-metadata.md:90Low confidence
- Network access in code of documentationchatgpt-app-builder/references/csp-and-metadata.md:91Low confidence
- Network access in code of documentationchatgpt-app-builder/references/csp-and-metadata.md:92Low confidence
- Network access in code of documentationchatgpt-app-builder/references/csp-and-metadata.md:121Low confidence
- Network access in code of documentationchatgpt-app-builder/references/csp-and-metadata.md:122Low confidence
- Network access in code of documentationchatgpt-app-builder/references/csp-and-metadata.md:123Low confidence
- Network access in code of documentationchatgpt-app-builder/references/csp-and-metadata.md:124Low confidence
- Network access in code of documentationchatgpt-app-builder/references/csp-and-metadata.md:125Low confidence
- Network access in code of documentationchatgpt-app-builder/references/csp-and-metadata.md:126Low confidence
- Network access in code of documentationchatgpt-app-builder/references/csp-and-metadata.md:127Low confidence
- Network access in code of documentationchatgpt-app-builder/references/csp-and-metadata.md:157Low confidence
- Network access in code of documentationchatgpt-app-builder/references/csp-and-metadata.md:158Low confidence
- Network access in code of documentationchatgpt-app-builder/references/csp-and-metadata.md:159Low confidence
- Network access in code of documentationchatgpt-app-builder/references/server-and-widgets.md:27Low confidence
- Network access in code of documentationchatgpt-app-builder/references/server-and-widgets.md:28Low confidence
- Network access in code of documentationchatgpt-app-builder/references/server-and-widgets.md:29Low confidence
- Network access in prose of documentationchatgpt-app-builder/references/setup.md:37Low confidence
- Network access in prose of documentationchatgpt-app-builder/references/setup.md:38Low confidence
- Network access in prose of documentationchatgpt-app-builder/references/setup.md:39Low confidence
- Network access in prose of documentationchatgpt-app-builder/references/setup.md:43Low confidence
- Network access in prose of documentationmcp-apps-builder/LICENSE.txt:1Low confidence
- Network access in prose of documentationmcp-apps-builder/LICENSE.txt:3Low confidence
- Network access in prose of the SKILL.mdmcp-apps-builder/SKILL.md:116Low confidence
- Network access in prose of the SKILL.mdmcp-apps-builder/SKILL.md:117Low confidence
- Access to secrets in prose of the SKILL.md: a variable, placeholder or call, not a stored valuemcp-apps-builder/SKILL.md:234Low confidence
- Network access in code of documentationmcp-apps-builder/references/authentication/custom.md:13Low confidence
and 214 more
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Native | Manifest .claude-plugin/marketplace.json | .claude/skills/<skill-name>/ |
| Codex | Native | Manifest AGENTS.md | .agents/skills/<skill-name>/ |
| Cursor | Native | Path .cursor/rules/agent-development.mdc | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md examples/showcases/open-mcp-client/apps/mcp-use-server/.agent/skills/chatgpt-app-builder/SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md examples/showcases/open-mcp-client/apps/mcp-use-server/.agent/skills/chatgpt-app-builder/SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard SKILL.md examples/showcases/open-mcp-client/apps/mcp-use-server/.agent/skills/chatgpt-app-builder/SKILL.md | .opencode/skills/<skill-name>/ |
- Native The repository ships a manifest, folder or frontmatter field for this agent.
- Compatible A standard SKILL.md that this agent can read.
- Unknown No evidence either way.
Derived automatically from paths, manifests and frontmatter. Not tested on each agent.
Explore alternatives and comparisons
Add this badge to your README
It updates every night and links to this page.
[](https://hotskills.dev/skill/copilotkit-copilotkit/)