Feishu Doc Scraper
daymade/claude-code-skills
Extracts Feishu/Lark Docs, Wiki, Sheets, and Minutes (妙记) transcripts into faithful local Markdown via the lark-cli API — no LLM paraphrasing, browser-DOM fallback when lark-cli can't reach content.
Maintain and patch existing Lark/Feishu documents while preserving comments, highlights, citations, and newer remote edits.
$ npx skills add huangruiteng/CS-Notes --skill managed-lark-docs -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install huangruiteng/CS-Notes managed-lark-docs --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/huangruiteng/CS-Notes.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.codex/skills/managed-lark-docs .claude/skills/managed-lark-docs && 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 "managed-lark-docs" agent skill from https://github.com/huangruiteng/CS-Notes/tree/master/.codex/skills/managed-lark-docs into .claude/skills/managed-lark-docs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "managed-lark-docs", 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/huangruiteng/CS-Notes/tree/master/.codex/skills/managed-lark-docsType 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 huangruiteng/CS-Notes --skill managed-lark-docs -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install huangruiteng/CS-Notes managed-lark-docs --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/huangruiteng/CS-Notes.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.codex/skills/managed-lark-docs .agents/skills/managed-lark-docs && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "managed-lark-docs" agent skill from https://github.com/huangruiteng/CS-Notes/tree/master/.codex/skills/managed-lark-docs into .agents/skills/managed-lark-docs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "managed-lark-docs", 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 huangruiteng/CS-Notes --skill managed-lark-docs -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install huangruiteng/CS-Notes managed-lark-docs --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/huangruiteng/CS-Notes.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.codex/skills/managed-lark-docs .cursor/skills/managed-lark-docs && 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 "managed-lark-docs" agent skill from https://github.com/huangruiteng/CS-Notes/tree/master/.codex/skills/managed-lark-docs into .cursor/skills/managed-lark-docs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "managed-lark-docs", 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/huangruiteng/CS-Notes.git --path .codex/skills/managed-lark-docs--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 huangruiteng/CS-Notes --skill managed-lark-docs -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install huangruiteng/CS-Notes managed-lark-docs --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/huangruiteng/CS-Notes.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.codex/skills/managed-lark-docs .gemini/skills/managed-lark-docs && 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 "managed-lark-docs" agent skill from https://github.com/huangruiteng/CS-Notes/tree/master/.codex/skills/managed-lark-docs into .gemini/skills/managed-lark-docs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "managed-lark-docs", 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 huangruiteng/CS-Notes managed-lark-docsInstalls 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 huangruiteng/CS-Notes --skill managed-lark-docs -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/huangruiteng/CS-Notes.git skills-src && mkdir -p .github/skills && cp -r skills-src/.codex/skills/managed-lark-docs .github/skills/managed-lark-docs && 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 "managed-lark-docs" agent skill from https://github.com/huangruiteng/CS-Notes/tree/master/.codex/skills/managed-lark-docs into .github/skills/managed-lark-docs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "managed-lark-docs", 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 huangruiteng/CS-Notes --skill managed-lark-docs -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install huangruiteng/CS-Notes managed-lark-docs --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/huangruiteng/CS-Notes.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.codex/skills/managed-lark-docs .opencode/skills/managed-lark-docs && 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 "managed-lark-docs" agent skill from https://github.com/huangruiteng/CS-Notes/tree/master/.codex/skills/managed-lark-docs into .opencode/skills/managed-lark-docs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "managed-lark-docs", 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.
managed-lark-docsMaintain and patch existing Lark/Feishu documents while preserving comments, highlights, citations, and newer remote edits.
Managed Lark Docs is an agent skill from huangruiteng/CS-Notes. Maintain and patch existing Lark/Feishu documents while preserving comments, highlights, citations, and newer remote edits. Use for iterative document updates, local-mirror sync, or durable project ownership; LoopX integration is optional.
Its SKILL.md is about 3.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including reference files (for example `agents/openai.yaml`, `references/comment-preserving-sync.md` and `references/loopx-integration.md`).
It sits in Productivity & Automation, covering Messaging and chat bots. It works with Feishu (Lark) and Git. The licence is MIT.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit f7b4e92. 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.
Shell commands in SKILL.md call:
gitFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.
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.
Managed Lark Docs loads about 3.1k tokens when it runs, and up to ~4.2k if it reads all its reference files. Until then it costs about 64 tokens; SKILL.md has 1,624 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 huangruiteng/CS-Notes at commit f7b4e92, republished under its MIT licence (© huangruiteng). 1,624 words, ~3,116 tokens.
.claude/skills/managed-lark-docs/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.This skill manages a Lark document as a durable project material, not as a one-off text-editing target. It is repository-neutral and works without LoopX. Project-specific document conventions come from the owning project.
A managed Lark document has four distinct surfaces:
.local/ directory.Do not collapse these surfaces. In particular, a local mirror is not automatically a Git artifact, and a registry entry stores lineage and authority, not the private body or raw source URL.
goal_id only when the project already uses LoopX for this material.loopx register-authority-source; do not rely on chat memory or a repository-
specific document catalog alone.<project-root>/.local/managed-lark-docs/<source-id>/ by default.git check-ignore -v before
writing. Stop if it is not ignored. Outside Git, use an owner-approved private
directory rather than a published or shared folder.docs/ path merely to
obtain a diff or registry entry.lark-doc before fetching or updating a document.lark-drive for comments, title metadata, permissions, and comment
anchor checks.lark-shared for identity, authentication, and missing scopes.loopx-doc-registry and LoopX integration.skill-creator and run its validator.If an official lark-* skill is absent, try the installed CLI
lark-cli skills read <skill-or-reference-path> for its bundled instructions.
If neither source is available, report the missing prerequisite and hold the
affected operation. Do not install tools, change authorization, or invent API
parameters merely to make this skill available.
Find the owning repository from the user's named project, target document
context, or current working directory. Reuse its current document policy and
choose a stable, public-safe source_id; keep private names and raw URLs only
in the local manifest. Do not pick a project from historical usage.
For a project already connected to LoopX, follow LoopX integration. Otherwise keep the private mirror and manifest without requiring a Goal or registry. Do not bootstrap or connect a project as a side effect of document editing.
Use this default layout:
<project-root>/.local/managed-lark-docs/<source-id>/
├── manifest.json
├── mirror.lark.md
└── drafts/ # only when a separate review draft is usefulThe mirror filename may use XML or another loss-aware format when Markdown
cannot represent the document faithfully. The manifest should contain only
local/private state and use a small contract such as the following. Omit
goal_id for projects without LoopX:
{
"schema_version": "managed_lark_doc_local_manifest_v0",
"source_id": "stable-source-id",
"goal_id": "owning-goal-id",
"boundary": "local_private",
"source_url": "raw private URL allowed only in .local",
"remote_revision": 12,
"remote_revision_observed_at": "ISO-8601 timestamp",
"mirror_path": ".local/managed-lark-docs/stable-source-id/mirror.lark.md",
"mirror_sha256": "sha256",
"mirror_status": "remote_readback_verified",
"git_policy": "ignored_local_only",
"conflict_rule": "Remote/current-code authority rule"
}After every remote update, refresh the revision, timestamp, digest, status, and any local supporting-artifact references. Do not copy raw private values from this manifest into LoopX's public-safe status or Git artifacts.
Before drafting or writing:
preserve, merge, ask_user, or
explicit_replace. Default to preserve or ask_user.When the remote revision is newer, it becomes the base for that sync. Do not overwrite it from an older local mirror.
Write for the reader, not as a work log:
.local and expose only generalized conclusions on
shareable surfaces.Use the target document's voice by default. Apply a personal style corpus such as CS-Notes only when the user requests it or the document family declares it. Sample enough representative writing to infer structure and rhythm; do not mechanically copy private phrasing.
Update mirror.lark.md first when the user wants a reviewable local diff. A
separate draft is optional and should be created only when:
For private documents, the review surface remains in .local; reviewability
does not require Git.
If the user asked only to draft, refine locally, or show a preview, stop before the Lark write. If the current request explicitly says to update/sync the Lark document, that is sufficient intent for the scoped write after freshness and boundary checks.
Summarize the planned sections, protected anchors, and unresolved ambiguity before a broad rewrite. Ask only when the ambiguity affects authorship, authority, privacy, or destructive replacement.
Read the official lark-doc update and format references for the installed CLI.
Fetch the affected XML with full detail before a preservation-sensitive edit.
Build a small patch plan from the current remote state and revision.
Use the observed base revision when the installed API supports it. If a write
reports a revision conflict, fetch and merge the new remote state before retrying.
Prefer, in order:
Never use a Markdown overwrite merely because it is convenient. A request to "sync", "polish", or "reorganize" does not authorize clearing the document. Native doc cites should remain cites; comments and marked text are not disposable formatting.
str_replace searches the whole document: verify every match and choose block
operations when the text is ambiguous or spans multiple blocks. Read back after
each patch round before planning another structural edit; replacement can
invalidate block IDs. A successful response is not proof that anchors survived.
Inspect partial_success, warnings, and actual remote state before retrying;
never replay a partially applied batch blindly.
Read references/comment-preserving-sync.md before changing content with
comments, highlights, manual emphasis, tables with review anchors, or native
Lark cites.
After writing:
Do not claim synced when only one section was updated while other mirror
sections remain local-only. Report a precise partial-sync status instead.
| Situation | Default location | Git? |
|---|---|---|
| Private/internal Lark body | project .local/managed-lark-docs/ | No |
| Raw URL/token/revision manifest | same ignored local directory | No |
| Redacted source identity and authority | project LoopX registry | Registry only |
| Generalized reusable conclusion | project docs, after boundary review | Explicit decision |
| Existing tracked document family | repository-declared path | Only if its profile and audience permit |
Before any tracked write, scan for internal actors, private links, raw tokens, credentials, local absolute paths, screenshots, and source bodies. If a private mirror was mistakenly committed, move the live mirror to the owning project's ignored local state, remove the current Git projection through a normal review change, and report that prior Git history still retains it. Never rewrite history without explicit owner approval and coordination.
建议改写, 给你 review, 这里应该, and
process narration from the final body.不是 X,而是 Y when a
positive statement is clearer.Report:
source_id;Do not expose raw private URLs, tokens, source bodies, credentials, or local private evidence in public summaries.
© huangruiteng, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 3 other files (references) in .codex/skills/managed-lark-docs of huangruiteng/CS-Notes.
Open the folder on GitHubat commit f7b4e92
Managed Lark Docs 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 |
|---|---|---|---|---|---|---|
| Managed Lark Docs this skillhuangruiteng/CS-Notes | 4k | — | ~3.1k | Automated safety check: Pass | MIT | |
| Feishu Doc Scraperdaymade/claude-code-skills | 1.4k | — | ~6.9k | Automated safety check: Pass | MIT | |
| Feishu Docopenclaw/openclaw | 392k | — | ~516 | Automated safety check: Pass | MIT | |
| Claude To Imop7418/Claude-to-IM-skill | 2.9k | — | ~3.4k | Automated safety check: Notes | MIT | |
| Feishu Docraucvr/Group-Goki | 112 | 3 repos | ~592 | Automated safety check: Pass | MIT | |
| Feishu BridgeAlexAnys/feishu-openclaw | 317 | 1 repos | ~615 | Automated safety check: Pass | None |
daymade/claude-code-skills
Extracts Feishu/Lark Docs, Wiki, Sheets, and Minutes (妙记) transcripts into faithful local Markdown via the lark-cli API — no LLM paraphrasing, browser-DOM fallback when lark-cli can't reach content.
openclaw/openclaw
Feishu document read/write workflows. An agent skill from openclaw/openclaw.
op7418/Claude-to-IM-skill
Bridge THIS Claude Code or Codex session to Telegram, Discord, Feishu/Lark, QQ, or WeChat so the user can chat with Claude from their phone.
raucvr/Group-Goki
Feishu document read/write operations. An agent skill from raucvr/Group-Goki.
AlexAnys/feishu-openclaw
Connect a Feishu (Lark) bot to Clawdbot via WebSocket long-connection.
vigorX777/content-collector-skill
Collect social media content (X/Twitter, WeChat, Jike, Reddit, etc.) into Feishu bitable.
huangruiteng/CS-Notes
Build a composable CLI for Codex from API docs, an OpenAPI spec, existing curl examples, an SDK, a web app, an admin tool, or a local script.
huangruiteng/CS-Notes
Inspect and manage guarded Codex App-native or launchd heartbeats for Codex main control threads.
huangruiteng/CS-Notes
A skill your agent uses when you need to control Slack from Clawdbot via the slack tool, including reacting to messages or pinning/unpinning items in Slack channels or DMs.
huangruiteng/CS-Notes
Locate and read a Codex thread by a codex thread link, thread id, or rollout path across all local CODEXHOME directories (~/.codex, ~/.codex-gpt, ...).
huangruiteng/CS-Notes
A skill your agent uses when the user asks Codex to research, find learning materials, process "素材:" links, "请你读" / "精读" a material, build a material radar, or use SenSight-like broad information…
huangruiteng/CS-Notes
Interact with GitHub using the gh CLI. An agent skill from huangruiteng/CS-Notes.
Works with
Categories
Maintain and patch existing Lark/Feishu documents while preserving comments, highlights, citations, and newer remote edits. Managed Lark Docs is an agent skill from huangruiteng/CS-Notes. Maintain and patch existing Lark/Feishu documents while preserving comments, highlights, citations, and newer remote edits.
Managed Lark Docs fits situations like: iterative document updates; local-mirror sync; durable project ownership; loopX integration is optional.
Run `npx skills add huangruiteng/CS-Notes --skill managed-lark-docs -a claude-code`. Or copy the skill folder (.codex/skills/managed-lark-docs in huangruiteng/CS-Notes) into .claude/skills/managed-lark-docs in your project. Claude Code loads it when a task matches its description.
Run `npx skills add huangruiteng/CS-Notes --skill managed-lark-docs -a codex`. Or copy the skill folder (.codex/skills/managed-lark-docs in huangruiteng/CS-Notes) into .agents/skills/managed-lark-docs 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 huangruiteng/CS-Notes --skill managed-lark-docs -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/managed-lark-docs, .gemini/skills/managed-lark-docs, .github/skills/managed-lark-docs and .opencode/skills/managed-lark-docs in your project.
Going by SKILL.md and its folder, Managed Lark Docs needs the command-line tools its instructions call (git).
SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. 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.
Managed Lark Docs is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.1k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Managed Lark Docs: Feishu Doc Scraper (daymade/claude-code-skills, 1.4k stars), Feishu Doc (openclaw/openclaw, 392k stars), Claude To Im (op7418/Claude-to-IM-skill, 2.9k stars) and Feishu Doc (raucvr/Group-Goki, 112 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
huangruiteng (a GitHub user) maintains it in huangruiteng/CS-Notes, which has 4,000 GitHub stars. The repository holds 39 skills in this directory. The repository was last updated on October 8, 2026.
Source: huangruiteng/CS-Notes on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.