Agent skill
create-feishu-doc
Automates creating new documents in the Feishu workspace. This skill should be used when the user asks to "create a Feishu doc", "create a new doc in Feishu", "open Feishu and create document", "create document in leiniao-ibg", or mentions creating documents in Feishu or Lark workspace.
Install this agent skill to your Project
npx add-skill https://github.com/FradSer/dotclaude/tree/main/office/skills/create-feishu-doc
SKILL.md
Create Feishu Document Automation
Purpose
Automate the process of creating new documents in Feishu (Lark) workspace by using browser automation to navigate the UI, authenticate, and create documents with specified titles and content.
Prerequisites
- Access to Feishu workspace (https://leiniao-ibg.feishu.cn)
- Valid authentication credentials for the workspace
- Browser automation capability via
agent-browser
Workflow
Step 1: Load Browser Automation Skill
Load the office:agent-browser skill using the Skill tool to access browser automation commands.
Step 2: Navigate to Feishu Drive
Open the Feishu Drive homepage:
agent-browser open https://leiniao-ibg.feishu.cn/drive/home/
Wait for page to load:
agent-browser wait --load networkidle
Step 3: Verify Authentication
Take a snapshot to check if already logged in:
agent-browser snapshot -i
If login is required, wait for user to complete authentication manually or handle authentication flow based on the page state.
Step 4: Create New Document
Click the "新建" (New) button (use snapshot to locate the element ref):
agent-browser snapshot -i
# Locate "新建" button ref (e.g., @e1)
agent-browser click @e1
Wait for dropdown menu to appear:
agent-browser wait 1000
Take another snapshot to locate the "文档" (Doc) option:
agent-browser snapshot -i
# Locate "文档" button ref (e.g., @e2)
agent-browser click @e2
Step 5: Select New Document Type
Click the "新建空白文档" (New Doc) option from the submenu:
agent-browser wait 1000
agent-browser snapshot -i
# Locate "新建空白文档" button ref (e.g., @e3)
agent-browser click @e3
Step 6: Wait for New Tab
Wait for the new document to open in a new tab:
agent-browser wait --load networkidle
Check tabs to ensure new document page opened:
agent-browser tab
If multiple tabs exist, switch to the newest tab (usually the last one):
agent-browser tab 2 # Adjust index based on tab list
Step 7: Enter Document Title
The page should automatically focus on the title input field. If the title field is focused by default, type the title directly:
agent-browser type @e1 "Document Title Here"
If not automatically focused, take a snapshot to locate the title input:
agent-browser snapshot -i
# Locate title input ref (e.g., @e1)
agent-browser fill @e1 "Document Title Here"
Step 8: Enter Document Content
Press Tab or click to move to the content area:
agent-browser press Tab
Or locate and click the content editor:
agent-browser snapshot -i
# Locate content editor ref (e.g., @e2)
agent-browser click @e2
Type the document content:
agent-browser type @e2 "Document content goes here..."
For multi-line content, use newlines in the input:
agent-browser type @e2 "First paragraph
Second paragraph
Third paragraph"
Step 9: Verify and Save
Take a final screenshot to verify the document was created successfully:
agent-browser screenshot
Feishu documents auto-save, so no explicit save action is required. The document is now ready to use.
Step 10: Close Browser (Optional)
Close the browser session when done:
agent-browser close
Error Handling
Authentication Issues
If authentication fails or login is required:
- Pause the workflow
- Inform the user that manual login is needed
- Wait for confirmation before proceeding
- Resume workflow after authentication
Element Not Found
If snapshot cannot locate expected UI elements (button refs):
- Take a full snapshot without
-iflag for debugging - Check if UI has changed or language settings differ
- Use semantic locators as fallback:
bash
agent-browser find text "新建" click # Find "新建" (New) button agent-browser find text "文档" click # Find "文档" (Doc) button agent-browser find text "新建空白文档" click # Find "新建空白文档" (New Doc) button
Timeout Issues
If page loading takes too long:
- Increase wait timeout:
agent-browser wait --load networkidle --timeout 10000 - Check network connectivity
- Verify Feishu service availability
Customization
Different Workspace
To use with a different Feishu workspace, replace the URL in Step 2:
agent-browser open https://your-workspace.feishu.cn/drive/home/
Document Templates
To use a specific document template instead of blank document:
- Navigate to template gallery after clicking "Doc"
- Locate and click the desired template
- Proceed with title and content entry
Best Practices
- Session Reuse: For multiple document creations, keep the browser session open and reuse authentication state
- Error Screenshots: Take screenshots at each critical step for debugging
- Wait for UI: Always wait for network idle after navigation to ensure UI elements are loaded
- Explicit Waits: Use explicit waits (e.g.,
agent-browser wait 1000) after clicking dropdown menus
Additional Resources
Browser Automation Reference
For detailed browser automation commands and patterns:
- Load
office:agent-browserskill for complete command reference - See snapshot and interaction patterns in agent-browser documentation
Example Usage
# Complete workflow example
agent-browser open https://leiniao-ibg.feishu.cn/drive/home/
agent-browser wait --load networkidle
agent-browser snapshot -i
agent-browser click @e1 # 新建 button
agent-browser wait 1000
agent-browser snapshot -i
agent-browser click @e2 # 文档 button
agent-browser wait 1000
agent-browser snapshot -i
agent-browser click @e3 # 新建空白文档 button
agent-browser wait --load networkidle
agent-browser tab
agent-browser tab 2 # Switch to new tab
agent-browser type @e1 "My Document Title"
agent-browser press Tab
agent-browser type @e2 "My document content..."
agent-browser screenshot
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
optimize-plugin
This skill should be used when the user asks to "validate a plugin", "optimize plugin", "check plugin quality", "review plugin structure", or "run plugin optimizer".
plugin-best-practices
This skill should be used when the user asks to "validate plugin structure", "review manifest files", "check frontmatter compliance", "verify tool invocation patterns", "explain plugin component types", or needs Claude Code plugin architectural guidance.
init-config
Generates a CLAUDE.md file with AI-driven environment detection and advanced configuration options. This skill should be used when the user asks to "initialize config", "setup claude config", "create CLAUDE.md", or needs help configuring project instructions.
start-feature
Starts working on a new feature branch using git-flow. This skill should be used when the user asks to "start a feature", "create feature branch", "begin new feature", "git flow feature start", or wants to start a new feature.
finish-feature
Finalizes and merges a feature branch into develop using git-flow. This skill should be used when the user asks to "finish a feature", "merge feature branch", "complete feature", "git flow feature finish", or wants to finalize a feature branch.
finish-hotfix
Finalizes a hotfix and merges it into main and develop using git-flow. This skill should be used when the user asks to "finish a hotfix", "merge hotfix branch", "complete hotfix", "git flow hotfix finish", or wants to finalize a hotfix.
Didn't find tool you were looking for?