Guide · Agent skill
How to use the Feishu Markdown Files agent skill (lark-markdown)
Updated · written with AI from the project's own documentation and checked against our catalogue data
The lark-markdown skill teaches an AI agent to work with plain Markdown (.md) files stored as ordinary files in Feishu/Lark Drive, using the lark-cli command-line tool. It is for people who keep notes, specs or generated reports as .md files in Feishu and want an agent to read, create, update or compare them. After this guide you will know how to install the skill, what it needs, how to phrase requests so the agent triggers it, and which safety checks to keep in place.
Quick start
- 1Download and unzip the skill. Download the lark-markdown ZIP from this page and unzip it into ~/.claude/skills/ or your project's .claude/skills/ folder. In the Claude apps, upload the ZIP under Settings → Capabilities → Skills instead.
- 2Install and check lark-cli. Make sure the lark-cli command-line tool is installed and on your PATH, since the skill runs it for every operation.
- 3Authorise your Feishu account. Run lark-cli auth login before the first access as a user. Use bot identity only for automation where your app already holds permission on the target file.
- 4Ask for a Markdown operation. Describe the task in plain language and name the Feishu file token, folder, wiki or local draft involved, such as fetching or comparing a file.
- 5Preview risky changes. Before overwriting or patching a live file, compare the remote version with your local draft using diff, or use --dry-run where available.
- 6Check the result. Fetch the file again or review the diff output to confirm the change is what you intended.
What is an agent skill, and what does lark-markdown let the agent do?
An agent skill is a folder containing a SKILL.md file and supporting reference files. When a request matches the skill's description, the AI agent reads those instructions and follows them, typically by running command-line tools on your behalf.
The lark-markdown skill covers five operations on native Markdown files in Feishu Drive: fetching the contents, creating a new .md file, overwriting an existing one, patching part of a file with a text or regex replacement, and diffing a remote version against another version or a local draft.
- Fetch: read a Drive .md file's text, or save it locally
- Create: upload or create a .md file in a Drive folder or wiki node
- Overwrite: replace the whole contents of an existing .md file
- Patch: replace matching text in a file (single pattern/content pair)
- Diff: compare two remote versions, or a remote version with a local draft
Install the lark-markdown skill
Download the skill ZIP from this page and unzip it into one of two locations. For a personal install available to all your projects, use ~/.claude/skills/. For a single project, use the .claude/skills/ folder inside that project.
If you use the Claude apps instead, open Settings → Capabilities → Skills and upload the ZIP there.
- Personal: unzip into ~/.claude/skills/
- Project only: unzip into <your-project>/.claude/skills/
- Claude apps: Settings → Capabilities → Skills, then upload the ZIP
Set up lark-cli and authorisation
The skill depends on the lark-cli command-line tool, which must be installed and available on your PATH. The skill's own help reference points to lark-cli markdown --help for the full flag list.
For user identity, which is the default recommendation because Markdown files usually belong to a user's cloud space, run lark-cli auth login before the first access. For automation, the skill allows a bot identity instead, but the app must have been created and hold permission on the target file. The skill also tells the agent to read the shared lark-shared guide first for authentication details.
- Requirement: lark-cli installed and on PATH
- User identity: run lark-cli auth login first
- Bot identity: an app with the appropriate scopes, for automation
lark-cli auth loginTrigger the skill with natural requests
You do not need to type commands. Ask in plain language that names a Feishu Markdown file, a remote version, or a local draft comparison. The agent picks the matching operation from the skill's routing rules.
Requests that do not involve Feishu, such as editing a Markdown file only on your own disk, should not trigger this skill. Requests about moving, deleting, searching, sharing permissions or comments belong to the separate lark-drive skill.
- "Read the Feishu Markdown file with token boxcnxxxx and summarise it"
- "Create a README.md in folder fldcn_xxx from ./README.md"
- "Compare the remote version of boxcnxxxx with my local draft ./draft.md"
- "Replace the old version number in boxcnxxxx with 2.0"
Commands the agent runs
Under the hood the agent calls lark-cli markdown subcommands. Creating a file needs either a folder token (for Drive) or a wiki token (for wiki); the CLI also accepts a full folder or wiki URL and normalises it to the token. Filenames passed with --name or --file must end in .md.
Diff is useful before an overwrite. Preview any command with --dry-run to see the underlying request without running it, where the subcommand supports it.
- +fetch --file-token <token> [--output <path>] [--overwrite]
- +create --name README.md --content '...' or --file ./README.md, with --folder-token or --wiki-token
- +diff --file-token <token> --from-version <v> [--to-version <v>] [--file ./draft.md]
- +overwrite and +patch for updates; +patch accepts a single --pattern and --content pair
lark-cli markdown +fetch --file-token boxcnxxxx --output ./README.mdSafety: how patch works and what can go wrong
markdown +patch is not an atomic server-side edit. The CLI downloads the whole Markdown file, replaces the text locally, then uploads the whole file again. A wrong pattern therefore overwrites the live file, so review the result of important or bulk edits first. The skill also refuses to upload an empty result, because Drive does not allow zero-byte Markdown files.
For regex patches, escape special characters such as parentheses and dots. The skill's own example shows that an unescaped pattern can match the wrong place.
- Diff the remote version against a local draft before overwriting
- Do not use patch for risky bulk or regex edits to important live files without review
- On errors such as missing scope, permission denied, not found, quota_exceeded or version limit, the skill says to stop and follow the hint rather than retry
- Scripts run and network is used: the skill executes lark-cli against Feishu
lark-cli markdown +patch --file-token boxcnxxxx --regex --pattern "version \\(1\\.0\\)" --content "version (2.0)"What lark-markdown does not do
The skill does not convert a Markdown file into an editable Feishu docx document. For that, the skill points to the lark-drive skill's import command with --type docx. It also does not handle file search, permissions, comments, moving, renaming or deleting. Those are routed to lark-drive.
- Converting .md to an online docx: use lark-drive's drive +import --type docx
- Search, permissions, comments, move, rename, delete: use lark-drive
- Version history lookup: use lark-drive's drive +version-history to get version numbers
What people use it for
- Keep team specs or meeting notes as .md files in a Feishu folder and have an agent update a section after a review.
- Publish a generated Markdown report from a build job into a fixed Drive folder or wiki node.
- Compare a remote Markdown file with a local draft before deciding whether to overwrite it.
- Fetch a Drive Markdown file to a local path so other tools can read it.
Frequently asked questions
Is the lark-markdown skill free?
The source is licensed under MIT, which is stated for the larksuite/cli repository. The page does not list prices, so check the repository's licence file for terms before reuse.
What do I need to use the lark-markdown skill?
You need the lark-cli command-line tool installed and on your PATH, plus Feishu account authorisation through lark-cli auth login for user identity. Bot identity needs an app with appropriate scopes. Creating files also needs a Drive folder token or wiki token.
How do I install the lark-markdown skill?
Download the ZIP from this page and unzip it into ~/.claude/skills/ for personal use, or into a project's .claude/skills/ folder. In the Claude apps, upload the ZIP under Settings → Capabilities → Skills.
Can lark-markdown convert Markdown into an online Feishu document?
No. The skill says it does not handle conversion to docx. Use the lark-drive skill's drive +import command with --type docx for that task.
Why does the agent not trigger on my local Markdown files?
The skill is scoped to Markdown files in Feishu Drive. Purely local Markdown operations with no Feishu involvement are excluded by its description, so the agent should not use it.
Why did my patch overwrite the whole file?
markdown +patch downloads the full file, replaces text locally and uploads the whole file again, so it is not an atomic server-side edit. Check the pattern carefully, escape regex characters, and diff against a draft first.
New agent skills, repos and AI tools — every week
The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.
Our verdict
Use lark-markdown if your team stores Markdown as files in Feishu Drive and wants an agent to read, create, update or compare them with lark-cli. Pick something else if you need Markdown converted into an editable Feishu document, or you only edit Markdown locally, since the skill does not cover either.
Download the skill