#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

Compare on GitHub

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

Compare on GitHub

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

Compare on GitHub

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

Compare on GitHub

skills/channels-setup/SKILL.md

Week of Oct 26, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

b1d7e02a923e → d168487e7a75

Compare on GitHub

skills/copilotkit/SKILL.md

Week of Oct 26, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

b1d7e02a923e → d168487e7a75

Compare on GitHub

skills/copilotkit-channels/SKILL.md

Week of Oct 26, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

b1d7e02a923e → d168487e7a75

Compare on GitHub

skills/copilotkit-cli/SKILL.md

Week of Oct 26, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

b1d7e02a923e → d168487e7a75

Compare on GitHub

skills/inspector-docs/SKILL.md

Week of Oct 26, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

b1d7e02a923e → d168487e7a75

Compare on GitHub

skills/inspector-workbench/SKILL.md

Week of Oct 26, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

b1d7e02a923e → d168487e7a75

Compare on GitHub

skills/intelligence-docs/SKILL.md

Week of Oct 26, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

b1d7e02a923e → d168487e7a75

Compare on GitHub

skills/intelligence-vocabulary/SKILL.md

Week of Oct 26, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

b1d7e02a923e → d168487e7a75

Compare on GitHub

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

Compare on GitHub

View on GitHubAdd to my skills

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>/
38.5kGitHub stars
138stars in 7 days
13skills in this repository
1.2kcommits in 30 days

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

Aug 2, 2026Nov 6, 202638,539

Individual skills in this repository

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 tokens

Always available to the agent

SKILL.md

752 tokens

When the skill is activated

Reference documents

12,583 tokens

Loaded on request

Token counts are estimates. Scripts run separately; they are not counted as reference context.

The playbook

  1. Before You Code
  2. Setup
  3. Implementation
  4. Quick Reference

Files

  • ../../../../../../../../.claude-plugin/marketplace.jsonasset989 bytes
  • ../../../../../../../../.claude-plugin/plugin.jsonasset622 bytes
  • ../../../../../../../../.mcp.jsonasset222 bytes
  • LICENSE.txtdoc9,164 bytes
  • SKILL.mdcore3,166 bytes
  • evals/README.mddoc476 bytes
  • evals/architecture.jsonasset2,389 bytes
  • evals/discover.jsonasset1,748 bytes
  • evals/skill.jsonasset2,153 bytes
  • evals/state-and-context.jsonasset1,469 bytes
  • evals/ui-guidelines.jsonasset1,614 bytes
  • evals/widgets.jsonasset1,630 bytes
  • references/architecture.mddoc5,278 bytes
  • references/components-api.mddoc10,005 bytes
  • references/csp-and-metadata.mddoc5,562 bytes
  • references/discover.mddoc2,178 bytes
  • references/server-and-widgets.mddoc7,056 bytes
  • references/setup.mddoc2,181 bytes
  • references/state-and-context.mddoc7,576 bytes
  • references/ui-guidelines.mddoc5,870 bytes
  • references/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/Claude
View the complete source on GitHub

Skills 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

  1. #51 from Oct 14 to Oct 21
  2. #52 from Oct 22 to Oct 24
  3. #53 on Oct 25
  4. #52 from Oct 28 to Oct 29
  5. #53 from Oct 30 to Oct 31
  6. #52 since Nov 1
11 earlier periods
  1. #39 on Aug 2
  2. #39 from Aug 7 to Aug 20
  3. #40 on Aug 21
  4. #41 from Aug 22 to Aug 24
  5. #42 from Aug 25 to Aug 28
  6. #43 from Aug 29 to Aug 30
  7. #44 from Aug 31 to Sep 9
  8. #46 from Sep 10 to Sep 12
  9. #47 from Sep 13 to Sep 18
  10. #48 from Sep 19 to Sep 25
  11. #50 from Sep 26 to Oct 13

Before you install

Network or broad shell

Automated 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:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • examples/showcases/reskinnable-demo/.claude/skills/reskin/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • examples/showcases/reskinnable-demo/.claude/skills/reskin/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • examples/showcases/reskinnable-demo/.claude/skills/reskin/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • examples/showcases/reskinnable-demo/.claude/skills/reskin/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/channels-setup/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/copilotkit/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/copilotkit/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/copilotkit/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/copilotkit-channels/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/copilotkit-channels/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/copilotkit-channels/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/copilotkit-channels/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/copilotkit-channels/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/copilotkit-channels/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/copilotkit-channels/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/copilotkit-channels/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/copilotkit-cli/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/copilotkit-cli/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/copilotkit-cli/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
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

  • Network accessline 8
    "copilotkit-docs": {       "type": "http",       "url": "https://mcp.copilotkit.ai/mcp"
  • Network accessline 9
    "type": "http",       "url": "https://mcp.copilotkit.ai/mcp"     }
  • Network accessline 10
    "url": "https://mcp.copilotkit.ai/mcp"

examples/showcases/open-mcp-client/apps/mcp-use-server/.agent/skills/chatgpt-app-builder/LICENSE.txt

  • Network accessline 1
    Apache License Version 2.0, January 2004 http://www.apache.org/licenses/
  • Network accessline 3
    http://www.apache.org/licenses/

examples/showcases/open-mcp-client/apps/mcp-use-server/.agent/skills/chatgpt-app-builder/references/components-api.md

  • Network accessline 284
    // Open external URL (shows confirmation dialog in ChatGPT) <button onClick={() => openExternal("https://checkout.example.com/order/123")}>
  • Network accessline 285
    <button onClick={() => openExternal("https://checkout.example.com/order/123")}>

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

  • Network accessline 27
    name: "my-app",   version: "1.0.0",   baseUrl: process.env.MCP_URL || "http://localhost:3000",
  • Network accessline 28
    version: "1.0.0",   baseUrl: process.env.MCP_URL || "http://localhost:3000", });
  • Network accessline 29
    baseUrl: process.env.MCP_URL || "http://localhost:3000",

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

  • Network accessline 1
    Apache License Version 2.0, January 2004 http://www.apache.org/licenses/
  • Network accessline 3
    http://www.apache.org/licenses/

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

  • Network accessline 31
    Your server is live at `https://{slug}.run.mcp-use.com/mcp`.
  • Access to secretsline 67
    [Credential-related source omitted]

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

  • Network accessline 220
    if (!isPending && props.itemId) {       setLoading(true);       fetch(`/api/items/${props.itemId}/details`)
  • Network accessline 221
    setLoading(true);       fetch(`/api/items/${props.itemId}/details`)         .then((res) => res.json())
  • Network accessline 222
    fetch(`/api/items/${props.itemId}/details`)

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

  • Network accessline 1
    Apache License Version 2.0, January 2004 http://www.apache.org/licenses/
  • Network accessline 3
    http://www.apache.org/licenses/

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

  • Access to secretsline 97
    [Credential-related source omitted]
  • Access to secretsline 877
    [Credential-related source omitted]

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

  • Access to secretsline 140
    [Credential-related source omitted]
  • Access to secretsline 143
    [Credential-related source omitted]

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

  • Network accessline 6
    The dashboard is at **`https://intelligence.copilotkit.ai`** — the URL documented
  • Access to secretsline 88
    [Credential-related source omitted]

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

  • Access to secretsline 13
    [Credential-related source omitted]
  • Access to secretsline 14
    [Credential-related source omitted]
  • Access to secretsline 60
    [Credential-related source omitted]
  • Access to secretsline 81
    [Credential-related source omitted]

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

and 214 more

Works with

  • 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.

CopilotKit/CopilotKit: #52 on hotskills, 38.5k stars

[![CopilotKit/CopilotKit on hotskills](https://hotskills.dev/badge/copilotkit-copilotkit.svg)](https://hotskills.dev/skill/copilotkit-copilotkit/)