
fastgpt-workflow-generator
Generates production-ready FastGPT workflow JSON from natural language requirements. Uses AI-powered semantic template matching from built-in workflows (document translation, sales training, resume screening, financial news). Performs three-layer validation (format, connections, logic completeness). Supports incremental modifications to add/remove/modify nodes. Activates when user asks to "create FastGPT workflow", "generate workflow JSON", "design FastGPT application", or mentions workflow automation, multi-agent systems, or FastGPT templates.
- Installs
- 57
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/yyh211/claude-meta-skill --skill fastgpt-workflow-generator- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads fastgpt-workflow-generator automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
FastGPT Workflow Generator
Automatically generate production-ready FastGPT workflow JSON from natural language requirements
When to Use This Skill
Use this skill when you need to:
- Create new workflows from scratch: User asks to "create a FastGPT workflow for X purpose"
- Generate based on templates: User wants to build workflows similar to existing patterns (document processing, AI chat, data analysis, multi-agent systems)
- Modify existing workflows: User needs to add/remove/update nodes in an existing workflow JSON
- Validate workflow JSON: User has a workflow JSON that needs verification or fixing
- Design multi-agent systems: User mentions parallel processing, agent coordination, or workflow orchestration
- Automate workflow creation: User provides requirements document and needs executable JSON
- Convert requirements to JSON: User has specifications and wants a FastGPT-compatible workflow
Trigger Keywords: FastGPT, workflow, JSON, multi-agent, 工作流, template matching, workflow automation, node configuration, workflow validation
Core Workflow
This skill follows a 5-phase process to generate production-ready workflow JSON:
Phase 1: Requirements Analysis
Goal: Extract structured requirements from natural language input
Process:
-
Identify request type:
- Create from scratch
- Based on template
- Modify existing workflow
- Validate/fix existing JSON
-
Extract key information using AI semantic analysis:
{ "purpose": "Workflow objective (e.g., 'Travel planning assistance')", "domain": "Application domain (travel/event/document/data/general)", "complexity": "simple | medium | complex", "features": ["aiChat", "knowledgeBase", "httpRequest", "parallel"], "inputs": ["userChatInput", "city", "date"], "outputs": ["Complete plan", "Recommendations"], "externalIntegrations": ["Weather API", "Feishu API"], "specialRequirements": ["Multi-agent", "Real-time data"] } -
Completeness check: If information is insufficient, clarify through dialogue
Output: Structured requirements object
Phase 2: Template Matching
Goal: Find the most similar built-in template
Built-in Templates (stored in templates/ directory):
templates/文档翻译助手.json- Simple workflow (document processing)templates/销售陪练大师.json- Medium complexity (conversational AI)templates/简历筛选助手_飞书.json- Complex workflow (data processing + external integration)templates/AI金融日报.json- Scheduled trigger + multi-agent (news aggregation)
Matching Strategy:
Step 1: Coarse Filtering (Metadata-based)
Calculate similarity scores:
- Domain match: travel vs travel = 1.0, travel vs event = 0.3
- Complexity match: simple vs simple = 1.0, simple vs complex = 0.3
- Feature overlap: Jaccard similarity of feature sets
- Node count similarity: 1 - |count1 - count2| / max(count1, count2)
Combined score = 0.3 * domain + 0.2 * complexity + 0.3 * features + 0.2 * nodeCount
Select Top 3 candidate templates
Step 2: Fine Filtering (Semantic Similarity)
For Top 3 candidates:
1. Analyze user requirements vs template characteristics
2. Evaluate workflow structure similarity
3. Calculate comprehensive score
Final score = 0.3 * domain + 0.2 * complexity + 0.3 * features + 0.2 * semantic
Step 3: Selection Strategy
- Highest score < 0.5: Start from blank template
- Highest score 0.5-0.7: Use template as reference, major modifications
- Highest score > 0.7: Use template as base, minor adjustments
Output:
- Best matching template JSON object
- Matching analysis report
- Modification suggestions list
Phase 3: JSON Generation
Scenario 1: Generate Based on Template
1. Copy template structure
2. Modify nodes
- Keep: structurally similar nodes (workflowStart, userGuide)
- Modify: nodes requiring prompt/parameter adjustments
- Delete: unnecessary nodes
- Add: new requirement nodes
3. Regenerate NodeId
function generateNodeId(nodeType, nodeName, existingIds) {
// Fixed ID mapping
if (nodeType === 'workflowStart') return 'workflowStart';
if (nodeType === 'userGuide' || nodeType === 'systemConfig') return 'userGuide';
// Generate semantic ID (camelCase)
const baseName = nodeName.replace(/[\s\u4e00-\u9fa5]+/g, '');
let nodeId = baseName ? `${baseName}Node` : `${nodeType}Node`;
// Ensure uniqueness
let counter = 1;
while (existingIds.has(nodeId)) {
nodeId = `${baseName}Node_${counter}`;
counter++;
}
return nodeId;
}
4. Update references
- Traverse all inputs, replace old nodeId with new nodeId
- Update edges' source/target
- Handle two reference formats:
- Array: ["nodeId", "key"]
- Template: {{$nodeId.key$}} (Note: double braces with single $)
5. Auto-layout positions (hierarchical layout algorithm)
function autoLayout(nodes, edges) {
// Topological sort to determine layers
const layers = topologicalLayering(nodes, edges);
// Calculate positions for each layer
const LAYER_GAP_X = 350;
const NODE_GAP_Y = 150;
layers.forEach((layer, layerIndex) => {
const x = -200 + layerIndex * LAYER_GAP_X;
const totalHeight = (layer.length - 1) * NODE_GAP_Y;
const startY = -totalHeight / 2;
layer.forEach((nodeId, nodeIndex) => {
positions[nodeId] = {
x: x,
y: startY + nodeIndex * NODE_GAP_Y
};
});
});
// Fixed position for special nodes
positions['userGuide'] = { x: -600, y: -250 };
}
6. Update configuration
- Modify chatConfig.welcomeText
- Update chatConfig.variables
Scenario 2: Create from Scratch
1. Determine node list
- Required: workflowStart, userGuide
- Add based on features: chatNode, datasetSearchNode, httpRequest468, etc.
- Required: answerNode (output node)
2. Generate nodes and connections
- Use standard node templates
- Fill required fields
- Customize inputs/outputs based on requirements
3. Calculate positions and generate configuration
Output: Complete FastGPT workflow JSON
Phase 4: Validation
Level 1: JSON Format Validation
✅ JSON is parseable
✅ Top level contains nodes, edges, chatConfig
✅ Each node contains: nodeId, name, flowNodeType, position, inputs, outputs
✅ flowNodeType is in valid type list (40+ types)
✅ position contains x, y numeric coordinates
Level 2: Node Connection Validation
✅ edges' source/target nodes exist
✅ sourceHandle/targetHandle format correct (nodeId-source-right, nodeId-target-left)
✅ Node input references' nodes and output keys exist
✅ Reference types match (string → string)
✅ Template references {{$nodeId.key$}} nodes and keys exist
✅ No self-loops, no duplicate connections
Level 3: Logic Completeness Validation
✅ Required nodes exist (workflowStart, userGuide, at least one output node)
✅ All nodes reachable from workflowStart (connectivity)
✅ No illegal cycles (unless using loop node)
✅ loop nodes correctly configured with parentNodeId and childrenNodeIdList
✅ No dead ends (non-output nodes without outgoing edges)
✅ All required inputs have values
Output: Validation report (containing errors, warnings, fix suggestions)
Phase 5: Incremental Modification (Optional)
Use Cases: Add/delete/modify nodes
Processing Steps:
1. Understand modification intent
Use AI to analyze user request, extract:
{
"action": "add" | "delete" | "modify" | "reconnect",
"targetNodes": ["aiChatNode"],
"insertBefore": "aiChatNode",
"newNodes": [{ "type": "datasetSearchNode", "name": "Knowledge Base Search" }],
"modifications": {
"aiChatNode": {
"inputs": { "quoteQA": ["knowledgeBaseSearch", "searchResult"] }
}
}
}
2. Execute modifications
- Add node: generate new node, reconnect, calculate position
- Delete node: remove node, bypass reconnect, clean references
- Modify node: update inputs/outputs, validate references
3. Re-layout and validate
Examples
Example 1: Simple AI Q&A Workflow
User Request:
"Create a simple AI Q&A workflow where users input questions and AI responds directly"
Skill Processing:
-
Requirements Analysis
{ "purpose": "AI question answering", "domain": "general", "complexity": "simple", "features": ["aiChat"], "inputs": ["userChatInput"], "outputs": ["AI response"] } -
Template Matching
文档翻译助手.json- Score: 0.85 (simple workflow, direct processing)
-
JSON Generation
- Use template, modify systemPrompt and welcomeText
-
Validation Result
- ✅ All three layers pass validation
Generated JSON (key parts):
{
"nodes": [
{
"nodeId": "userGuide",
"name": "System Configuration",
"flowNodeType": "userGuide",
"position": {"x": -600, "y": -250}
},
{
"nodeId": "workflowStart",
"name": "Start",
"flowNodeType": "workflowStart",
"position": {"x": -150, "y": 100},
"outputs": [
{"key": "userChatInput", "type": "static", "valueType": "string"}
]
},
{
"nodeId": "aiChatNode",
"name": "AI Response",
"flowNodeType": "chatNode",
"position": {"x": 200, "y": 100},
"inputs": [
{
"key": "model",
"valueType": "string",
"value": "gpt-4"
},
{
"key": "systemPrompt",
"valueType": "string",
"value": "You are a professional AI assistant that can answer various questions. Please provide accurate and helpful answers based on user questions."
},
{
"key": "userChatInput",
"valueType": "string",
"value": ["workflowStart", "userChatInput"]
}
],
"outputs": [
{"key": "answerText", "type": "static", "valueType": "string"}
]
},
{
"nodeId": "outputNode",
"name": "Output Answer",
"flowNodeType": "answerNode",
"position": {"x": 550, "y": 100},
"inputs": [
{
"key": "text",
"valueType": "string",
"value": ["aiChatNode", "answerText"]
}
]
}
],
"edges": [
{
"source": "workflowStart",
"target": "aiChatNode",
"sourceHandle": "workflowStart-source-right",
"targetHandle": "aiChatNode-target-left"
},
{
"source": "aiChatNode",
"target": "outputNode",
"sourceHandle": "aiChatNode-source-right",
"targetHandle": "outputNode-target-left"
}
],
"chatConfig": {
"welcomeText": "Welcome to the AI Q&A assistant! Please enter your question.",
"variables": []
}
}
Example 2: Document Translation Workflow (Based on Template)
User Request:
"Create a document translation workflow that translates user-uploaded documents from Chinese to English"
Skill Processing:
-
Requirements Analysis
{ "purpose": "Document translation", "domain": "document", "complexity": "medium", "features": ["readFiles", "aiChat", "textOutput"], "inputs": ["userFiles"], "outputs": ["translated document"] } -
Template Matching
文档翻译助手.json- Score: 0.95 (perfect match!)
-
JSON Generation
- Use template directly, only adjust language direction in prompt
Generated Workflow Structure:
workflowStart → readFiles → translateNode → outputNode
Key Node Configuration:
- readFiles Node: Reads user-uploaded files
- translateNode (chatNode): AI translates with specialized prompt
- outputNode (answerNode): Outputs translated text
Example 3: Incremental Modification (Add Knowledge Base)
User Request:
"I have an existing AI Q&A workflow (simple_qa_workflow.json),
I want to search the knowledge base first before AI answers,
find relevant information then generate response"
Existing Workflow Structure:
workflowStart → aiChatNode → outputNode
Modification Goal:
workflowStart → knowledgeBaseSearch → aiChatNode → outputNode
Skill Processing:
-
Analyze Modification Intent
{ "action": "add", "targetNodes": ["aiChatNode"], "insertBefore": "aiChatNode", "newNodes": [ { "type": "datasetSearchNode", "name": "Knowledge Base Search" } ], "modifications": { "aiChatNode": { "inputs": { "quoteQA": ["knowledgeBaseSearch", "searchResult"] } } } } -
Execute Modification
- Add
knowledgeBaseSearchnode - Modify edge:
workflowStart → knowledgeBaseSearch - Add edge:
knowledgeBaseSearch → aiChatNode - Modify aiChatNode's inputs (add quoteQA)
- Add
-
Re-layout Positions
- workflowStart: (-150, 100)
- knowledgeBaseSearch: (50, 100) ← newly inserted
- aiChatNode: (400, 100) ← shifted right
- outputNode: (750, 100) ← shifted right
-
Validation Result
- ✅ All validations pass
Modified JSON (new and modified parts):
{
"nodes": [
{
"nodeId": "knowledgeBaseSearch",
"name": "Knowledge Base Search",
"flowNodeType": "datasetSearchNode",
"position": {"x": 50, "y": 100},
"inputs": [
{
"key": "datasetIds",
"valueType": "selectDataset",
"value": [],
"required": true
},
{
"key": "searchQuery",
"valueType": "string",
"value": ["workflowStart", "userChatInput"],
"required": true
},
{
"key": "similarity",
"valueType": "number",
"value": 0.5
},
{
"key": "limitCount",
"valueType": "number",
"value": 5
}
],
"outputs": [
{
"key": "searchResult",
"type": "static",
"valueType": "datasetQuote"
}
]
},
{
"nodeId": "aiChatNode",
"inputs": [
{
"key": "quoteQA",
"valueType": "datasetQuote",
"value": ["knowledgeBaseSearch", "searchResult"]
}
]
}
],
"edges": [
{
"source": "workflowStart",
"target": "knowledgeBaseSearch"
},
{
"source": "knowledgeBaseSearch",
"target": "aiChatNode"
},
{
"source": "aiChatNode",
"target": "outputNode"
}
]
}
Modification Summary Report:
- ✅ Added 1 node:
knowledgeBaseSearch(datasetSearchNode) - ✅ Modified 1 node:
aiChatNode(added quoteQA input) - ✅ Added 1 edge:
knowledgeBaseSearch → aiChatNode - ✅ Modified 1 edge:
workflowStart → knowledgeBaseSearch(originallyworkflowStart → aiChatNode) - ✅ Re-layouted all positions
Technical Implementation
NodeId Generation Algorithm
Rules:
- Fixed IDs:
workflowStart,userGuide(systemConfig) - Semantic naming: Generate based on node name (remove spaces and Chinese, convert to camelCase)
- Uniqueness guarantee: If conflict, add
_1,_2suffix
Examples:
generateNodeId('chatNode', 'Travel Planning Assistant')→TravelPlanningAssistantNodegenerateNodeId('httpRequest468', 'Weather Query')→WeatherQueryNodegenerateNodeId('chatNode', 'Assistant', {TravelPlanningAssistantNode})→AssistantNode_1
Position Auto-Layout Algorithm
Algorithm: Hierarchical Layout
Steps:
- Topological sort to determine layers (BFS)
- Calculate horizontal position and vertical spacing for each layer
- Fixed position for special nodes (userGuide: {x: -600, y: -250})
Parameters:
- LAYER_GAP_X = 350 (horizontal spacing between layers)
- NODE_GAP_Y = 150 (vertical spacing within layer)
- START_X = -200, START_Y = 0
Reference Format Description
Two Reference Formats:
1. Array Format (direct value reference):
"value": ["workflowStart", "userChatInput"]
2. Template Syntax (string concatenation):
"value": "Please create a plan for me.\n\nDestination: {{$workflowStart.userChatInput$}}\n\nWeather: {{$weatherQueryNode.httpRawResponse$}}"
Important: Template syntax is {{$nodeId.key$}} (double braces with single $)
Special Node Handling
loop Node:
- Must have
childrenNodeIdListfield - Child nodes must have
parentNodeIdfield - Child nodes include: loopStart, [processing nodes...], loopEnd
ifElse Node:
- Has multiple output branches
- Each branch corresponds to different conditions
Best Practices
Do's (Recommended Practices)
- ✅ Always validate at three levels - format, connections, logic
- ✅ Use meaningful nodeIds - use semantic names (e.g.,
weatherQueryNode) - ✅ Prefer template matching - template-based generation is more reliable than creating from scratch
- ✅ Use array references for direct values -
["nodeId", "key"] - ✅ Use template references for string concatenation -
{{$nodeId.key$}} - ✅ Auto-layout positions - use auto-layout algorithm
- ✅ Include system config node - always include userGuide
- ✅ Test with validation - use built-in validation before importing to FastGPT
- ✅ Provide clear error messages - include location and fix suggestions
- ✅ Document modifications - generate modification summary report
Don'ts (Prohibited Practices)
- ❌ Don't skip validation - never skip validation
- ❌ Don't use invalid node types - check flowNodeType validity
- ❌ Don't create circular references without loop nodes - no illegal cycles
- ❌ Don't forget required fields - nodeId, name, flowNodeType, position, inputs, outputs
- ❌ Don't use wrong reference format - prohibited:
{{nodeId.key}}(missing $) - ❌ Don't ignore warnings - warnings should be fixed
- ❌ Don't hardcode positions - except userGuide, use auto-layout
- ❌ Don't create unreachable nodes - ensure reachable from workflowStart
- ❌ Don't generate overly complex workflows - workflows with >20 nodes should be split
Troubleshooting
FAQ
Q1: Import to FastGPT reports "Invalid node type"
A: Check the flowNodeType field, ensure using supported types. Reference references/node_types_reference.md. Common errors:
chatNodeis correct (notaiChat)- Number suffixes (like
httpRequest468) should be retained
Q2: References between nodes not working
A: Check reference format:
- ✅ Correct:
["workflowStart", "userChatInput"]or{{$workflowStart.userChatInput$}} - ❌ Wrong:
{$workflowStart.userChatInput$}(single brace, should be double)
Q3: Some nodes not executing at runtime
A: Use built-in validation to check Level 3, ensure all nodes reachable from workflowStart
Q4: Parallel nodes not executing in parallel
A: Ensure multiple nodes' targets are the same aggregation node, and these nodes have no dependencies
Q5: Loop workflow errors
A: Must use flowNodeType: "loop" node, configure parentNodeId and childrenNodeIdList
Debug Checklist
## Phase 1: JSON Format Check
- [ ] JSON is parseable
- [ ] Contains nodes, edges, chatConfig
- [ ] All strings use double quotes
- [ ] No trailing commas
## Phase 2: Node Check
- [ ] workflowStart node exists
- [ ] At least one output node exists
- [ ] All flowNodeType valid
- [ ] All nodeId unique
- [ ] All position contains x, y
## Phase 3: Connection Check
- [ ] All edges' source and target exist
- [ ] All handle format correct
- [ ] No duplicate edges, no self-loops
## Phase 4: Reference Check
- [ ] All array references' nodes and keys exist
- [ ] All template references' nodes and keys exist
- [ ] Reference types match
## Phase 5: Logic Check
- [ ] All nodes reachable from workflowStart
- [ ] No illegal cycles
- [ ] No dead-end nodes
- [ ] All required inputs have values
## Phase 6: Runtime Test
- [ ] Import to FastGPT without errors
- [ ] Configure necessary parameters
- [ ] Run test cases
- [ ] Check output meets expectations
Quick Reference
Built-in Template Files
templates/文档翻译助手.json- Simple workflow, document processingtemplates/销售陪练大师.json- Medium complexity, conversational AItemplates/简历筛选助手_飞书.json- Complex workflow, data + external integrationtemplates/AI金融日报.json- Scheduled trigger, multi-agent
Detailed Documentation
references/node_types_reference.md- Complete reference of 40+ node typesreferences/validation_rules.md- Detailed three-layer validation rulesreferences/template_matching.md- Template matching algorithmreferences/json_structure_spec.md- Complete FastGPT JSON structure specification
Example Documents
examples/example1_simple_qa.md- Complete example: Simple Q&A workflowexamples/example2_travel_planning.md- Complete example: Travel planning workflowexamples/example3_incremental_modify.md- Complete example: Incremental modification
Common Commands
# Validate workflow JSON
node scripts/validate_workflow.js path/to/workflow.json
# Copy template
cp templates/文档翻译助手.json my_workflow.json
# View template list
ls -lh templates/
Version: 1.0 Last Updated: 2025-01-02 Compatibility: FastGPT v4.8+
FAQ
What does the fastgpt-workflow-generator skill do?
Generates production-ready FastGPT workflow JSON from natural language requirements. Uses AI-powered semantic template matching from built-in workflows (document translation, sales training, resume screening, financial news). Performs three-layer validation (format, connections, logic completeness). Supports incremental modifications to add/remove/modify nodes. Activates when user asks to "create FastGPT workflow", "generate workflow JSON", "design FastGPT application", or mentions workflow automation, multi-agent systems, or FastGPT templates.
How do I install fastgpt-workflow-generator?
Run npx skills add https://github.com/yyh211/claude-meta-skill --skill fastgpt-workflow-generator in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/fastgpt-workflow-generator/ (personal) or .claude/skills/fastgpt-workflow-generator/ (project).
Which AI agents can use fastgpt-workflow-generator?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is fastgpt-workflow-generator safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains fastgpt-workflow-generator?
It is published by yyh211 in yyh211/claude-meta-skill. It has 57 recorded installs.
More from yyh211/claude-meta-skill
daily-ai-news
yyh211/claude-meta-skill
Aggregates and summarizes the latest AI news from multiple sources including AI news websites and web search. Provides concise news briefs with direct links to original articles. Activates when user asks for 'today's AI news', 'AI updates', 'latest AI developments', or mentions wanting a 'daily AI briefing'.
frontend-design
yyh211/claude-meta-skill
Open the skill to read its SKILL.md instructions.
deep-reading-analyst
yyh211/claude-meta-skill
Comprehensive framework for deep analysis of articles, papers, and long-form content using 10+ thinking models (SCQA, 5W2H, critical thinking, inversion, mental models, first principles, systems thinking, six thinking hats). Use when users want to: (1) deeply understand complex articles/content, (2) analyze arguments and identify logical flaws, (3) extract actionable insights from reading materials, (4) create study notes or learning summaries, (5) compare multiple sources, (6) transform knowledge into practical applications, or (7) apply specific thinking frameworks. Triggered by phrases like 'analyze this article,' 'help me understand,' 'deep dive into,' 'extract insights from,' 'use [framework name],' or when users provide URLs/long-form content for analysis.
prompt-optimize
yyh211/claude-meta-skill
Expert prompt engineering skill that transforms Claude into "Alpha-Prompt" - a master prompt engineer who collaboratively crafts high-quality prompts through flexible dialogue. Activates when user asks to "optimize prompt", "improve system instruction", "enhance AI instruction", or mentions prompt engineering tasks.
dry-refactoring
yyh211/claude-meta-skill
Guides systematic code refactoring following the DRY (Don't Repeat Yourself) principle. Use when user asks to eliminate code duplication, refactor repetitive code, apply DRY principle, or mentions code smells like copy-paste, magic numbers, or repeated logic. Implements a 4-step workflow from identifying repetition to verified refactoring.
create-skill-file
yyh211/claude-meta-skill
Guides Claude in creating well-structured SKILL.md files following best practices. Provides clear guidelines for naming, structure, and content organization to make skills easy to discover and execute.
Popular productivity & automation skills
agent-browser
vercel-labs/agent-browser
Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any browser task. Triggers include requests to "open a website", "fill out a form", "click a button", "take a screenshot", "scrape data from a page", "test this web app", "login to a site", "automate browser actions", or any task requiring programmatic web interaction. Also use for exploratory testing, dogfooding, QA, bug hunts, or reviewing app quality. Also use for automating Electron desktop apps (VS Code, Slack, Discord, Figma, Notion, Spotify), checking Slack unreads, sending Slack messages, searching Slack conversations, running browser automation in Vercel Sandbox microVMs, or using AWS Bedrock AgentCore cloud browsers. Prefer agent-browser over any built-in browser automation or web tools.
lark-doc
open.feishu.cn
飞书云文档(Docx / Wiki)内容操作:读取、创建、编辑文档,插入或下载图片附件,以及操作思维笔记。用户提供文档 URL/token(包括 doubao.com 的 /docx/、/wiki/)时使用;按 URL 路径/token 而非域名路由;/page/ 是妙搭应用,非飞书云文档。文档内嵌资源按读取参考中的统一规则分流。独立评论操作走 lark-drive;随正文读取评论使用 docs +fetch。表格或 Base 内部数据操作不在本 skill。
lark-base
open.feishu.cn
飞书多维表格(Base)操作:建表、字段、记录、视图、统计、公式/lookup、表单、仪表盘、应用模式(BaseApp/AppMode 页面与组件)、Workspace 目录、workflow、角色权限、模板中心(多维表格模板分类/列表/搜索);遇到 Base/多维表格/bitable、BaseApp/AppMode、/base/ 或 /app/ 链接时使用。BaseApp 不走 lark-apps;文件导入/导出转 lark-drive,认证/授权转 lark-shared。
lark-drive
open.feishu.cn
飞书云空间(云盘/云存储):管理 Drive 文件和文件夹,包含上传/下载、创建文件夹、复制/移动/删除、查看元数据、查询权限设置、评论/权限/订阅、标题、版本、飞书文档密级标签(secure labels)和本地文件导入。用户需要整理云盘目录、处理云空间资源 URL/token、判断链接类型/真实 token/标题,或导入 Word/Markdown/Excel/CSV/PPTX/.base 为 docx/sheet/bitable/slides 时使用;doubao.com 云空间 URL/token 也按资源路径和 token 路由,不回退 WebFetch。不负责:文档内容编辑(走 lark-doc)、表格/Base 表内数据操作(走 lark-sheets/lark-base)、知识空间节点/成员管理(走 lark-wiki)、原生 Markdown 文件读写/patch/diff(走 lark-markdown)。
lark-shared
open.feishu.cn
Use for lark-cli setup/auth tasks: auth login/status/logout, user vs bot identity, business-domain permissions (--domain, including all/docs/drive), missing scopes, revoking authorization, or handling notice JSON.
lark-im
open.feishu.cn
飞书即时通讯:收发消息和管理群聊。发送和回复消息、搜索聊天记录、管理群聊成员、上传下载图片和文件、管理表情回复、发送应用内/短信/电话加急、发送和处理交互卡片(Interactive Card)、监听卡片按钮回调(card.action.trigger)。当用户需要发消息、查看或搜索聊天记录、下载聊天中的文件、查看群成员、搜索群、创建群聊或话题群、管理标记数据、管理 Feed 置顶(添加/移除/查询置顶会话)、管理标签数据、处理卡片回调时使用。