material-component-doc
FlowGramの素材ライブラリにあるコンポーネントのドキュメント作成を支援するSkillで、ドキュメント生成やStory作成、翻訳などの機能をガイドし、作業を自動化することで効率的なドキュメント作成を支援するSkill。
📜 元の英語説明(参考)
用于 FlowGram 物料库组件文档撰写的专用技能,提供组件文档生成、Story 创建、翻译等功能的指导和自动化支持
🇯🇵 日本人クリエイター向け解説
FlowGramの素材ライブラリにあるコンポーネントのドキュメント作成を支援するSkillで、ドキュメント生成やStory作成、翻訳などの機能をガイドし、作業を自動化することで効率的なドキュメント作成を支援するSkill。
※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o material-component-doc.zip https://jpskill.com/download/17662.zip && unzip -o material-component-doc.zip && rm material-component-doc.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/17662.zip -OutFile "$d\material-component-doc.zip"; Expand-Archive "$d\material-component-doc.zip" -DestinationPath $d -Force; ri "$d\material-component-doc.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
material-component-doc.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
material-component-docフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-18
- 取得日時
- 2026-05-18
- 同梱ファイル
- 1
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
FlowGram ドキュメントの組織構造
- 英文ドキュメント:
apps/docs/src/en - 中文ドキュメント:
apps/docs/src/zh - Story コンポーネント:
apps/docs/components/form-materials/components - 物料ソースコード:
packages/materials/form-materials/src/components - ドキュメントテンプレート:
./templates/material.mdx
コンポーネント物料ドキュメント作成フロー
1. ソースコードの特定
packages/materials/form-materials/src/components ディレクトリで物料のソースコードの場所を確認します。
操作:
- Glob ツールを使用して物料ファイルを検索します
- ディレクトリ構造を確認します(
hooks.ts、context.tsxなどがあるか) - エクスポート名とファイルパスを記録します
2. 要件収集
ユーザーに物料の使用例と具体的な要件を尋ねます。
収集情報:
- 主な使用シナリオ
- 典型的なコード例(1〜2個)
- 特殊な設定または高度な使用法
- 図が必要かどうか
3. 機能分析
ソースコードを深く読み込み、物料の機能を理解します。
分析の要点:
- Props インターフェース(型、デフォルト値、説明)
- コア機能と実装方法
- 依存関係(FlowGram API、他の物料、サードパーティライブラリ)
- Hooks と Context
- 特殊なロジック(条件付きレンダリング、副作用など)
4. Story の作成
apps/docs/components/form-materials/components に Story コンポーネントを作成します(以下の Story 規約を参照)。
5. ドキュメントの作成
テンプレート ./templates/material.mdx に基づいて完全なドキュメントを作成します。
ドキュメントの場所:
- 中国語:
apps/docs/src/zh/materials/components/{物料名称}.mdx - 英語:
apps/docs/src/en/materials/components/{物料名称}.mdx(翻訳後)
6. 品質チェック
チェックリスト:
- [ ] Story コンポーネントが正常に動作する
- [ ] コード例が正確である
- [ ] API テーブルが完全である
- [ ] 依存関係リンクが正しくアクセス可能である
- [ ] 画像パスが正しい
- [ ] Mermaid フローチャートの構文が正しい
- [ ] CLI コマンドパスが正確である
ユーザーが中国語ドキュメントの作成を確認した後、翻訳を実行します。 ユーザーが中国語ドキュメントの作成を確認した後、翻訳を実行します。 ユーザーが中国語ドキュメントの作成を確認した後、翻訳を実行します。
Story コンポーネント規約
参考例:
apps/docs/components/form-materials/components/variable-selector.tsx
命名規約
ファイル命名: kebab-case、物料名と一致
- ✅
variable-selector.tsx - ✅
dynamic-value-input.tsx - ❌
VariableSelector.tsx
Story エクスポート命名: PascalCase + "Story" サフィックス
BasicStory- 基本的な使用(必須)WithSchemaStory- Schema 制約付きDisabledStory- 無効状態CustomFilterStory- カスタムフィルタ- 物料の特性に応じて、意味がわかるように命名します
コード要件
1. 遅延ロードインポート
// ✅ 正しい
const VariableSelector = React.lazy(() =>
import('@flowgram.ai/form-materials').then((module) => ({
default: module.VariableSelector,
}))
);
// ❌ 誤り
import { VariableSelector } from '@flowgram.ai/form-materials';
2. ラップコンポーネント
// ✅ 正しい
export const BasicStory = () => (
<FreeFormMetaStoryBuilder
filterEndNode
formMeta={{
render: () => (
<>
<FormHeader />
<Field<string[]> name="variable_selector">
{({ field }) => (
<VariableSelector
value={field.value}
onChange={(value) => field.onChange(value)}
/>
)}
</Field>
</>
),
}}
/>
);
// ❌ 誤り:ラップがない
export const BasicStory = () => (
<VariableSelector value={[]} onChange={() => {}} />
);
3. 型注釈
// ✅ 正しい
<Field<string[] | undefined> name="variable_selector">
// ❌ 誤り
<Field<any> name="variable_selector">
4. 言語規約
コードとコメントは英語のみを使用し、中国語は使用しません。
完全な例
/**
* Copyright (c) 2025 Bytedance Ltd. and/or its affiliates
* SPDX-License-Identifier: MIT
*/
import React from 'react';
import { Field } from '@flowgram.ai/free-layout-editor';
import { FreeFormMetaStoryBuilder, FormHeader } from '../../free-form-meta-story-builder';
const VariableSelector = React.lazy(() =>
import('@flowgram.ai/form-materials').then((module) => ({
default: module.VariableSelector,
}))
);
export const BasicStory = () => (
<FreeFormMetaStoryBuilder
filterEndNode
formMeta={{
render: () => (
<>
<FormHeader />
<Field<string[] | undefined> name="variable_selector">
{({ field }) => (
<VariableSelector
value={field.value}
onChange={(value) => field.onChange(value)}
/>
)}
</Field>
</>
),
}}
/>
);
export const FilterSchemaStory = () => (
<FreeFormMetaStoryBuilder
filterEndNode
formMeta={{
render: () => (
<>
<FormHeader />
<Field<string[] | undefined> name="variable_selector">
{({ field }) => (
<VariableSelector
value={field.value}
onChange={(value) => field.onChange(value)}
includeSchema={{ type: 'string' }}
/>
)}
</Field>
</>
),
}}
/>
);
物料ドキュメント形式
テンプレートの使用
テンプレートファイル: ./templates/material.mdx
ドキュメントは、テンプレート形式に厳密に従って作成する必要があり、次の章が含まれます。
- Import ステートメント
- タイトルと概要(オプションの図付き)
- ケースデモ(基本的な使用法 + 高度な使用法)
- API リファレンス(Props テーブル)
- ソースコードリーディング(ディレクトリ構造、コア実装、フローチャート、依存関係の整理)
参考例
dynamic-value-input.mdx- 完全なフローチャートと依存関係の説明variable-selector.mdx- 複数の API テーブルと警告メッセージ
重要な注意事項
API テーブルの要件:
- すべての公開された Props を含める必要があります
- 型はバッククォートを使用します(例:`string`)
- 説明は明確かつ簡潔である必要があります
- 複数の関連する型を個別にリストします
ソースコードリーディングの要件:
- ディレクトリ構造:ファイルリストと説明を表示します
- コア実装:コードスニペットを使用してキーロジックを説明します
- 全体的なフロー:Mermaid フローチャート(推奨)
- 依存関係の整理:FlowGram API、他の物料、サードパーティライブラリを分類してリストします
画像処理ガイド
スクリーンショットの要件
- タイミング: Story コンポーネントが完了したら、docs サイトを実行してスクリーンショットを撮ります
- 内容: 物料の典型的な使用状態をキャプチャし、明確に表示します
- 形式: PNG、適切に圧縮します
命名と保存
- 命名:
{物料名称}.png(kebab-case) - 保存:
apps/docs/src/public/materials/{物料名称}.png - 参照:
/materials/{物料名称}.png
ドキュメントでの使用
<br />
<div>
<img loading="lazy" src="/materials/{物料名称}.png" alt="{物料名称} コンポーネント" style={{ width: '50%' }} />
</div>
翻訳フロー
翻訳のタイミング
- ✅ ユーザーが明確に翻訳を要求した場合
- ✅ 中国語ドキュメントがユーザーによって承認された場合
- ❌ ドキュメントがまだ変更中の場合
- ❌ ユーザーが最終バージョンを確認していない場合
翻訳の原則
用語の一貫性:
- ComponentName → ComponentName(コンポーネント名は翻訳しない)
- Props、Hook、Schema などの用語は原文のまま
コードは翻訳しない:
- すべてのコードブロック、コマンド、パスは元のまま
リンク処理:
- 内部リンク:
/zh/→/en/ - 外部リンクと GitHub リンク:変更なし
形式の維持:
- Markdown 形式、インデント、空行は完全に一致
翻訳チェックリスト
- [ ] タイトルと説明が翻訳されている
- [ ] コード例が翻訳されていない
- [ ] コマンドとパスが元のまま
- [ ] 内部ドキュメントリンクが更新されている
- [ ] API テーブルの説明列が翻訳されている
- [ ] Mermaid 図の中国語ノードが翻訳されている
- [ ] 用語の使用が一貫している
ベストプラクティス
Props 抽出のヒント
interfaceまたはtype定義を検索します- コンポーネント関数のパラメータ型を確認します
defaultPropsを検索してデフォルト値を確認します- JSDoc を読んで説明を抽出します
依存関係分析の方法
- import ステートメントを確認します(直接的な依存関係)
- Hook 呼び出しを分析します(FlowGram API)
- コンポーネント参照を検索します(他の物料)
- package.json を確認します(サードパーティライブラリ)
Mermaid フローチャートの推奨事項
- 簡潔明瞭で、コアフローに焦点を当てます
- シーケンス図を使用して描画します
よくある間違いの回避
❌ React.lazy を使用せずに物料を直接インポートする
❌ API テーブルで Props が欠落している
❌ 依存関係リンクが無効になっている
❌ 中国語と英語が混在している
❌ パス形式が間違っている
✅ 優れた例を参照する ✅ ソースコードを注意深く読む ✅ すべてのリンクを検証する ✅ 言語と形式の一貫性を保つ ✅ プロジェクトで合意されたパス形式を使用する
関連ツールとリソース
開発コマンド
# ドキュメントサイトを起動する
rush dev:docs
# 変更を確認する
git diff
git diff --cached
重要なディレクトリ
| ディレクトリ | 説明 |
|---|---|
packages/materials/form-materials/src/components |
物料ソースコード |
| `ap |
(原文がここで切り詰められています)
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
FlowGram 文档的组织结构
- 英文文档:
apps/docs/src/en - 中文文档:
apps/docs/src/zh - Story 组件:
apps/docs/components/form-materials/components - 物料源码:
packages/materials/form-materials/src/components - 文档模板:
./templates/material.mdx
组件物料文档撰写流程
1. 源码定位
在 packages/materials/form-materials/src/components 目录下确认物料源代码地址。
操作:
- 使用 Glob 工具搜索物料文件
- 确认目录结构(是否有 hooks.ts, context.tsx 等)
- 记录导出名称和文件路径
2. 需求收集
向用户询问物料使用实例和具体需求。
收集信息:
- 主要使用场景
- 典型代码示例(1-2 个)
- 特殊配置或高级用法
- 是否需要配图
3. 功能分析
深入阅读源代码,理解物料功能。
分析要点:
- Props 接口(类型、默认值、描述)
- 核心功能和实现方式
- 依赖关系(FlowGram API、其他物料、第三方库)
- Hooks 和 Context
- 特殊逻辑(条件渲染、副作用等)
4. Story 创建
在 apps/docs/components/form-materials/components 下创建 Story 组件(详见下方 Story 规范)。
5. 文档撰写
基于模板 ./templates/material.mdx 撰写完整文档。
文档位置:
- 中文:
apps/docs/src/zh/materials/components/{物料名称}.mdx - 英文:
apps/docs/src/en/materials/components/{物料名称}.mdx(翻译后)
6. 质量检查
检查清单:
- [ ] Story 组件能正常运行
- [ ] 代码示例准确无误
- [ ] API 表格完整
- [ ] 依赖链接正确可访问
- [ ] 图片路径正确
- [ ] Mermaid 流程图语法正确
- [ ] CLI 命令路径准确
用户确认中文文档的撰写后,再执行翻译。 用户确认中文文档的撰写后,再执行翻译。 用户确认中文文档的撰写后,再执行翻译。
Story 组件规范
参考示例:
apps/docs/components/form-materials/components/variable-selector.tsx
命名规范
文件命名: kebab-case,与物料名称一致
- ✅
variable-selector.tsx - ✅
dynamic-value-input.tsx - ❌
VariableSelector.tsx
Story 导出命名: PascalCase + "Story" 后缀
BasicStory- 基础使用(必需)WithSchemaStory- 带 Schema 约束DisabledStory- 禁用状态CustomFilterStory- 自定义过滤- 根据物料特性命名,见名知意
代码要求
1. 懒加载导入
// ✅ 正确
const VariableSelector = React.lazy(() =>
import('@flowgram.ai/form-materials').then((module) => ({
default: module.VariableSelector,
}))
);
// ❌ 错误
import { VariableSelector } from '@flowgram.ai/form-materials';
2. 包装组件
// ✅ 正确
export const BasicStory = () => (
<FreeFormMetaStoryBuilder
filterEndNode
formMeta={{
render: () => (
<>
<FormHeader />
<Field<string[]> name="variable_selector">
{({ field }) => (
<VariableSelector
value={field.value}
onChange={(value) => field.onChange(value)}
/>
)}
</Field>
</>
),
}}
/>
);
// ❌ 错误:缺少包装
export const BasicStory = () => (
<VariableSelector value={[]} onChange={() => {}} />
);
3. 类型标注
// ✅ 正确
<Field<string[] | undefined> name="variable_selector">
// ❌ 错误
<Field<any> name="variable_selector">
4. 语言规范
代码和注释只使用英文,无中文。
完整示例
/**
* Copyright (c) 2025 Bytedance Ltd. and/or its affiliates
* SPDX-License-Identifier: MIT
*/
import React from 'react';
import { Field } from '@flowgram.ai/free-layout-editor';
import { FreeFormMetaStoryBuilder, FormHeader } from '../../free-form-meta-story-builder';
const VariableSelector = React.lazy(() =>
import('@flowgram.ai/form-materials').then((module) => ({
default: module.VariableSelector,
}))
);
export const BasicStory = () => (
<FreeFormMetaStoryBuilder
filterEndNode
formMeta={{
render: () => (
<>
<FormHeader />
<Field<string[] | undefined> name="variable_selector">
{({ field }) => (
<VariableSelector
value={field.value}
onChange={(value) => field.onChange(value)}
/>
)}
</Field>
</>
),
}}
/>
);
export const FilterSchemaStory = () => (
<FreeFormMetaStoryBuilder
filterEndNode
formMeta={{
render: () => (
<>
<FormHeader />
<Field<string[] | undefined> name="variable_selector">
{({ field }) => (
<VariableSelector
value={field.value}
onChange={(value) => field.onChange(value)}
includeSchema={{ type: 'string' }}
/>
)}
</Field>
</>
),
}}
/>
);
物料文档格式
使用模板
模板文件: ./templates/material.mdx
文档必须严格按照模板格式编写,包含以下章节:
- Import 语句
- 标题和简介(带可选配图)
- 案例演示(基本使用 + 高级用法)
- API 参考(Props 表格)
- 源码导读(目录结构、核心实现、流程图、依赖梳理)
参考示例
dynamic-value-input.mdx- 完整的流程图和依赖说明variable-selector.mdx- 多个 API 表格和警告提示
关键注意事项
API 表格要求:
- 必须包含所有公开的 Props
- 类型使用反引号(如 `string`)
- 描述清晰简洁
- 多个相关类型分开列表
源码导读要求:
- 目录结构:展示文件列表及说明
- 核心实现:用代码片段说明关键逻辑
- 整体流程:Mermaid 流程图(推荐)
- 依赖梳理:分类列出 FlowGram API、其他物料、第三方库
图片处理指南
截图要求
- 时机: Story 组件完成后,运行 docs 站点截图
- 内容: 捕获物料的典型使用状态,清晰可见
- 格式: PNG,适当压缩
命名和存储
- 命名:
{物料名称}.png(kebab-case) - 存储:
apps/docs/src/public/materials/{物料名称}.png - 引用:
/materials/{物料名称}.png
在文档中使用
<br />
<div>
<img loading="lazy" src="/materials/{物料名称}.png" alt="{物料名称} 组件" style={{ width: '50%' }} />
</div>
翻译流程
翻译时机
- ✅ 用户明确要求翻译
- ✅ 中文文档已经用户审核确认
- ❌ 文档还在修改中
- ❌ 用户未确认最终版本
翻译原则
术语一致性:
- ComponentName → ComponentName(组件名不翻译)
- Props、Hook、Schema 等术语保持原文
代码不翻译:
- 所有代码块、命令、路径保持原样
链接处理:
- 内部链接:
/zh/→/en/ - 外部链接和 GitHub 链接:保持不变
格式保持:
- Markdown 格式、缩进、空行完全一致
翻译检查清单
- [ ] 标题和描述已翻译
- [ ] 代码示例未被翻译
- [ ] 命令和路径保持原样
- [ ] 内部文档链接已更新
- [ ] API 表格描述列已翻译
- [ ] Mermaid 图中文节点已翻译
- [ ] 术语使用一致
最佳实践
Props 提取技巧
- 查找
interface或type定义 - 检查组件函数参数类型
- 查找
defaultProps确认默认值 - 阅读 JSDoc 提取描述
依赖分析方法
- 查看 import 语句(直接依赖)
- 分析 Hook 调用(FlowGram API)
- 查找组件引用(其他物料)
- 检查 package.json(第三方库)
Mermaid 流程图建议
- 简洁明了,关注核心流程
- 使用时序图绘制
常见错误避免
❌ 直接导入物料而不使用 React.lazy
❌ API 表格遗漏 Props
❌ 依赖链接失效
❌ 中英文混用
❌ 路径格式错误
✅ 参考优秀示例 ✅ 仔细阅读源码 ✅ 验证所有链接 ✅ 保持语言和格式一致 ✅ 使用项目约定的路径格式
相关工具和资源
开发命令
# 启动文档站点
rush dev:docs
# 查看修改
git diff
git diff --cached
关键目录
| 目录 | 说明 |
|---|---|
packages/materials/form-materials/src/components |
物料源码 |
apps/docs/src/zh/materials/components |
中文文档 |
apps/docs/src/en/materials/components |
英文文档 |
apps/docs/components/form-materials/components |
Story 组件 |
apps/docs/src/public/materials |
图片资源 |
./templates |
文档模板 |