AI Elements Chat Components
mweinbach/agent-coworker
Adds AI Elements components such as conversations, messages, tool displays and prompt inputs to a Next.js project that uses shadcn/ui.
为 @skyroc/web-ui 组件编写文档。当用户说出组件名(如 Button、Accordion、AlertDialog)时触发。自动定位组件源码、playground demo、已有文档,按照项目文档规范生成或更新 MDX 文档。
$ npx skills add Ohh-889/skyroc --skill component-doc -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Ohh-889/skyroc component-doc --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/Ohh-889/skyroc.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/component-doc .claude/skills/component-doc && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "component-doc" agent skill from https://github.com/Ohh-889/skyroc/tree/master/.agents/skills/component-doc into .claude/skills/component-doc/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "component-doc", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/Ohh-889/skyroc/tree/master/.agents/skills/component-docType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add Ohh-889/skyroc --skill component-doc -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Ohh-889/skyroc component-doc --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Ohh-889/skyroc.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/component-doc .agents/skills/component-doc && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "component-doc" agent skill from https://github.com/Ohh-889/skyroc/tree/master/.agents/skills/component-doc into .agents/skills/component-doc/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "component-doc", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Ohh-889/skyroc --skill component-doc -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Ohh-889/skyroc component-doc --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Ohh-889/skyroc.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/component-doc .cursor/skills/component-doc && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "component-doc" agent skill from https://github.com/Ohh-889/skyroc/tree/master/.agents/skills/component-doc into .cursor/skills/component-doc/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "component-doc", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/Ohh-889/skyroc.git --path .agents/skills/component-doc--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add Ohh-889/skyroc --skill component-doc -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Ohh-889/skyroc component-doc --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Ohh-889/skyroc.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/component-doc .gemini/skills/component-doc && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "component-doc" agent skill from https://github.com/Ohh-889/skyroc/tree/master/.agents/skills/component-doc into .gemini/skills/component-doc/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "component-doc", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install Ohh-889/skyroc component-docInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add Ohh-889/skyroc --skill component-doc -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Ohh-889/skyroc.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/component-doc .github/skills/component-doc && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "component-doc" agent skill from https://github.com/Ohh-889/skyroc/tree/master/.agents/skills/component-doc into .github/skills/component-doc/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "component-doc", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Ohh-889/skyroc --skill component-doc -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Ohh-889/skyroc component-doc --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Ohh-889/skyroc.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/component-doc .opencode/skills/component-doc && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "component-doc" agent skill from https://github.com/Ohh-889/skyroc/tree/master/.agents/skills/component-doc into .opencode/skills/component-doc/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "component-doc", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
component-doc为 @skyroc/web-ui 组件编写文档。当用户说出组件名(如 Button、Accordion、AlertDialog)时触发。自动定位组件源码、playground demo、已有文档,按照项目文档规范生成或更新 MDX 文档。
Component Doc is an agent skill from Ohh-889/skyroc. 为 @skyroc/web-ui 组件编写文档。当用户说出组件名(如 Button、Accordion、AlertDialog)时触发。自动定位组件源码、playground demo、已有文档,按照项目文档规范生成或更新 MDX 文档。
Its SKILL.md is about 2.1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Frontend & Design, covering Markdown and Frontend development. It works with shadcn/ui. The repository describes itself as: Skyroc 是一个基于 React 19 + TypeScript 的跨端前端工程化 monorepo:既提供开箱即用的 Web 中后台模板(Admin / RuoYi 对接版)和 Expo 移动端业务模板,也把请求、状态、日志、主题、双端 UI 组件库等能力沉淀为边界清晰的 workspace 包。 The licence is MIT.
2 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 10ddd27. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are mdx and typescript).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Component Doc loads about 2.1k tokens when it runs. Until then it costs about 33 tokens; SKILL.md has 510 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from Ohh-889/skyroc at commit 10ddd27, republished under its MIT licence (© Ohh-889). 510 words, ~2,112 tokens.
.claude/skills/component-doc/SKILL.md (or your agent's skills folder).为 @skyroc/web-ui 组件库编写文档的专用工作流。
给定组件名 $COMPONENT(用户输入,如 Button),将其转为 kebab-case $slug(如 button),然后按以下路径查找:
| 用途 | 路径 |
|---|---|
| 组件源码 | packages/web/ui/shadcn/src/components/$slug/ |
| Playground Demo | apps/web-ui-playground/src/app/[locale]/(demo)/$slug/modules/ |
| 文档 MDX | apps/web-ui-docs/content/docs/components/$slug.mdx |
文档基础设施文件(不需要每次都读,但需要了解):
| 文件 | 作用 |
|---|---|
apps/web-ui-docs/components/props-table.tsx | <PropsTable> — API 属性表格 |
apps/web-ui-docs/components/type-table.tsx | <TypeTable> + <UnionType> — 类型定义区 |
apps/web-ui-docs/components/type-anchor.tsx | 类型链接解析(PascalCase 自定义类型 → 蓝色可点击锚点) |
apps/web-ui-docs/components/type-registry.ts | 跨页面类型链接注册表 |
apps/web-ui-docs/components/demo/index.tsx | <Demo> — 从 playground 加载 live demo |
apps/web-ui-docs/components/mdx.tsx | MDX 组件注册(Demo / PropsTable / TypeTable / UnionType) |
packages/web/ui/shadcn/src/components/$slug/ 下所有文件index.ts(导出)、types.ts(Props 定义)、*-variants.ts(样式变体)、主组件文件apps/web-ui-playground/src/app/[locale]/(demo)/$slug/modules/ 下所有 demopackages/web/ui/shadcn/src/preset/$slug/ 了解预设封装和 useComponentConfig 集成apps/web-ui-docs/content/docs/components/$slug.mdxalert.mdx,其次 button.mdx)文档不是 API 想象稿,必须从 源码、类型、demo、实际行为 四者交叉验证。
写文档前必须同时检查:
types.ts 声明了哪些 public props / typesclassNames / slot props / size / variant / color 等样式控制是否真的生效index.ts 实际导出了哪些组件和类型如果发现 类型/API 承诺 与 实现行为 不一致:
典型例子:
BottomSheetProps.size 声明为主组件尺寸,但主组件没有传给 BottomSheetContent:这是实现 bug,应提出或修复---
title: $COMPONENT
description: 一句话描述组件用途
---
组件概述段落。
\`\`\`tsx
import { ... } from '@skyroc/web-ui';
\`\`\`
## 何时使用
- 使用场景 1
- 使用场景 2
- 与相似组件的区分
## 功能章节 1(如"颜色"、"变体"、"尺寸"等)
说明文字 + 表格(可选)
<Demo src="@playground/$slug/modules/DemoName" />
\`\`\`tsx
// 内联代码作为 API 快速参考
<Component prop="value" />
\`\`\`
## 功能章节 N
...
## API
### $COMPONENT
通用属性参考说明。
<PropsTable data={[...]} />
### 子组件(如有)
<PropsTable data={[...]} />
## 类型
<TypeTable data={[...]} />
<UnionType name="..." description="..." type="..." />每个功能章节的示例由两部分组成,缺一不可:
<Demo> 标签(必须):引用 playground 源码,用户可在文档中看到交互式 live demo 和完整源码。<Demo> 后面,提供简洁的 API 用法速查。内联代码块的编写原则:
示例:
## 受控模式
通过 `page` + `onPageChange` 实现受控分页。
<Demo src="@playground/pagination/modules/Controlled" />
\`\`\`tsx
const [page, setPage] = useState(1);
<Pagination
total={200}
itemsPerPage={10}
page={page}
onPageChange={setPage}
/>
\`\`\`type 字段:短字面量联合类型必须直接内联,不要另起 PascalCase 类型名,也不要在 ## 类型 区域写 <UnionType>。"'primary' | 'destructive' | 'success' | 'warning' | 'info' | 'carbon' | 'secondary' | 'accent'""'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl'""boolean | 'indeterminate'"、"'horizontal' | 'vertical'"、"'left' | 'right'"、"'square' | 'rounded'"typeToReactNode 自动渲染为蓝色可点击链接,跳转到当前页类型定义或 type-registry.ts 注册的跨页锚点。default 用字符串表示,如 "'md'"、'false'required: true 仅在属性必填时添加核心原则:PropsTable / TypeTable 中出现的每一个非内置 PascalCase 类型名,都必须在当前页 ## 类型 区域有对应定义,或在 type-registry.ts 中注册了跨页面链接。不允许出现"引用了但未定义"的类型。
检查清单(写完文档后逐项核对):
<PropsTable> 的 type 字段,收集全部 PascalCase 类型名<TypeTable> 的 fields[].type,收集全部 PascalCase 类型名ReactNode、HTMLElement、Record、Partial 等,见 type-anchor.tsx 的 BUILTIN_TYPE_NAMES)<TypeTable> 中作为 name 定义<UnionType> 中作为 name 定义type-registry.ts 中注册了跨页面链接<UnionType>,应改为在 type 字段直接内联。特别注意:
titleProps: AlertTitleProps、descriptionProps: AlertDescriptionProps 等 props,这些类型也必须在 TypeTable 中定义,包含各自的字段列表index.ts / types.ts 导出的 Props、ClassNames/Ui、Slots、ItemData、Option、Variant 等类型,都必须在当前页类型区定义或跨页注册StyledComponentProps<T>、HTMLComponentProps<T>、Radix Props、Vaul Props 等,需要在类型区说明这些包装类型和关键字段ButtonProps、DropdownMenuProps),且该类型不属于当前组件,可以只引用并通过 type-registry.ts 跨页链接;不要在当前页复制展开全部字段ThemeColor、ThemeSize 这类短联合直接内联;ClassValue 这类复杂类型可以在类型区保留定义。DeepPartial、ElementType、StandardSchema、Values 等泛型/外部类型),需要确认它已在 type-anchor.tsx 的 BUILTIN_TYPE_NAMES 中注册。如果没有注册,会生成错误的本地锚点链接。遇到这种情况需要将其添加到 BUILTIN_TYPE_NAMES 中。以下类型在多数组件文档中都需要,按需取用:
type: "'primary' | 'destructive' | 'success' | 'warning' | 'info' | 'carbon' | 'secondary' | 'accent'"
type: "'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl'"
<UnionType name="ClassValue" description="CSS 类名类型" type="string | null | undefined | Record<string, boolean> | ClassValue[]" />## 类型 区域定义本页引用的所有非内置类型<TypeTable> — 对象类型(有字段列表的类型,如 ClassNames、子组件 Props)<UnionType> — 复杂联合、外部库派生类型、确实需要解释的类型定义;短字面量联合不要使用 <UnionType>,直接内联到表格type 字段一致,系统自动生成锚点 ID<TypeTable>(对象类型),再 <UnionType>(联合类型)当 PropsTable 中引用了定义在其他页面的类型(如 AlertDialog 引用 ButtonProps):
apps/web-ui-docs/components/type-registry.ts 中注册映射TypeName: '/docs/components/target-page#anchor'<Demo src="@playground/$slug/modules/DemoModuleName" />./shared、同目录模块、图片、路由组件或其他非 scope 内容当 playground modules/ 目录不存在或缺少所需 demo 时,必须创建,不能因为缺 demo 而只写内联代码。
创建 demo 文件的规范:
apps/web-ui-playground/src/app/[locale]/(demo)/$slug/modules/$DemoName.tsx'use client';
import { ... } from '@skyroc/web-ui';
const $DemoName = () => {
// demo 实现
return (
<div className="...">
...
</div>
);
};
export default $DemoName;创建规则:
'use client' 指令export default 导出@skyroc/web-ui 导入 UI 组件,不要从内部路径导入lucide-react 导入shared.tsx,demo 应自包含(如需共享常量直接内联到各 demo 中)同步 page.tsx:如果 page.tsx 不存在或未引用新 demo,需要一并创建/更新
判断流程:
读取 playground/$slug/modules/ 目录
├── 已有 demo 覆盖文档需要的功能点 → 直接引用
├── 有 page.tsx 但缺少部分 demo → 补充缺失的 demo 模块
└── 目录不存在 → 创建全部 demo 模块 + page.tsxDemo 在 react-live 沙箱中执行,scope 定义在 apps/web-ui-docs/components/demo/scope.ts。需注意:
@skyroc/web-ui 和 lucide-react,后者也导出部分同名组件(如 Badge)@skyroc/web-ui 优先(最后赋值覆盖同名导出)lucide-react 图标同名,需确认 scope 中不存在冲突,或调整赋值顺序apps/web-ui-docs/content/docs/components/$slug.mdx以 apps/web-ui-docs/content/docs/components/alert.mdx 为首选参考,button.mdx 为辅助参考。
alert.mdx 展示了完整的类型引用模式:PropsTable 使用类型名引用 → 类型区包含全部 TypeTable 和 UnionType 定义 → 无遗漏。
© Ohh-889, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .agents/skills/component-doc of Ohh-889/skyroc.
Open the folder on GitHubat commit 10ddd27
Component Doc next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Component Doc this skillOhh-889/skyroc | 795 | — | ~2.1k | Automated safety check: Pass | MIT | |
| AI Elements Chat Componentsmweinbach/agent-coworker | 156 | 5 repos | ~1.8k | Automated safety check: Pass | Custom licence | |
| Frontend UI Patternsbiersoeckli/QuickStack | 362 | — | ~704 | Automated safety check: Pass | GPL-3.0 | |
| Frontend Design UltimateaAAaqwq/AGI-Super-Team | 105 | 2 repos | ~2.7k | Automated safety check: Pass | MIT | |
| Oma Frontendfirst-fluke/oh-my-agent | 1.3k | — | ~3.2k | Automated safety check: Pass | MIT | |
| Frontend Developmentavibebuilder/claude-prime | 120 | — | ~1.3k | Automated safety check: Pass | MIT |
mweinbach/agent-coworker
Adds AI Elements components such as conversations, messages, tool displays and prompt inputs to a Next.js project that uses shadcn/ui.
biersoeckli/QuickStack
Create and update QuickStack frontend pages, React components, forms, dialogs, tables, streaming UI, and Zustand-backed state using the project's established UI conventions.
aAAaqwq/AGI-Super-Team
Create distinctive, production-grade static sites with React, Tailwind CSS, and shadcn/ui — no mockups needed.
first-fluke/oh-my-agent
Implement or modify web UI in React, Next.js, or Angular. An agent skill from first-fluke/oh-my-agent.
avibebuilder/claude-prime
A skill your agent uses for ANY work involving React, Next.js, TypeScript, or Tailwind in the browser layer.
makifbaysal/tasktrooper
A skill your agent uses when styling any web UI - style with Tailwind utility classes and design tokens, avoid custom CSS, and build on the existing Radix/shadcn primitives instead of hand-rolling
Ohh-889/skyroc
Create beautiful, accessible user interfaces with shadcn/ui components (built on Radix UI + Tailwind), Tailwind CSS utility-first styling, and canvas-based visual designs.
Ohh-889/skyroc
Token architecture, component specifications, and slide generation.
Ohh-889/skyroc
Brand voice, visual identity, messaging frameworks, asset management, brand consistency.
Ohh-889/skyroc
Comprehensive frontend development skill for building modern, performant web applications using ReactJS, NextJS, TypeScript, Tailwind CSS.
Ohh-889/skyroc
Comprehensive design skill: brand identity, design tokens, UI styling, logo generation (55 styles, Gemini AI), corporate identity program (50 deliverables, CIP mockups), HTML presentations…
Ohh-889/skyroc
Generate Vitest + React Testing Library tests for Dify frontend components, hooks, and utilities.
Works with
Categories
为 @skyroc/web-ui 组件编写文档。当用户说出组件名(如 Button、Accordion、AlertDialog)时触发。自动定位组件源码、playground demo、已有文档,按照项目文档规范生成或更新 MDX 文档。. Component Doc is an agent skill from Ohh-889/skyroc.
Component Doc fits situations like: tasks that involve Markdown; tasks that involve Frontend development.
Run `npx skills add Ohh-889/skyroc --skill component-doc -a claude-code`. Or copy the skill folder (.agents/skills/component-doc in Ohh-889/skyroc) into .claude/skills/component-doc in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Ohh-889/skyroc --skill component-doc -a codex`. Or copy the skill folder (.agents/skills/component-doc in Ohh-889/skyroc) into .agents/skills/component-doc in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Ohh-889/skyroc --skill component-doc -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/component-doc, .gemini/skills/component-doc, .github/skills/component-doc and .opencode/skills/component-doc in your project.
SKILL.md names no scripts, command-line tools or credentials: Component Doc is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Component Doc is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.1k tokens (SKILL.md is roughly 8.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Component Doc: AI Elements Chat Components (mweinbach/agent-coworker, 156 stars), Frontend UI Patterns (biersoeckli/QuickStack, 362 stars), Frontend Design Ultimate (aAAaqwq/AGI-Super-Team, 105 stars) and Oma Frontend (first-fluke/oh-my-agent, 1.3k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Ohh-889 (a GitHub user) maintains it in Ohh-889/skyroc, which has 795 GitHub stars. The repository holds 18 skills in this directory. The repository was last updated on September 1, 2026.
Source: Ohh-889/skyroc on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.