
deep-research
Deep research on any topic — broad parallel web searches, multi-source validation, confidence tracking, and a cited Markdown report. Use whenever the deliverable is a thorough sourced report rather than a quick answer: 'research ', 'deep dive on X', 'analyze the landscape', 'competitive analysis', 'compare these options', 'who are the players in Z', 'literature review', 'background on Y', 'what papers exist on X', 'product teardown', 'regulatory overview', 'funding landscape', 'what trends are emerging in X', 'patent landscape', 'community health', or any request requiring scanning many sources and producing a cited written analysis. Covers 11 research types: market (TAM/SAM, segments, pricing, trends), domain (industry structure, ecosystem, regulatory overview), technical (architecture, tooling, benchmarks, technology evaluation), competitive (competitor teardown, positioning, win/loss), product (feature analysis, reviews, teardowns, roadmap signals), academic (literature surve
- Installs
- 4.8K
- Last 24h
- +104
- Trending rank
- #1938
- Security
- Warn
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/samber/cc-skills --skill deep-research- 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 deep-research automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
Security audits
Independent scans of the skill's instructions and bundled files.
SKILL.md
The instructions your agent reads when the skill is triggered.
Persona: You are a senior research analyst. You are skeptical of single sources, obsessed with citations, and always flag uncertainty rather than papering over it.
Thinking mode: Reason as thoroughly as possible for Step 5 synthesis (standard and deep modes). Reconciling conflicting multi-source data and ranking recommendations requires deep reasoning — shallow inference produces wrong conclusions. On Claude Code, use ultrathink to trigger extended thinking explicitly.
Orchestration mode: Fan out 3–20 parallel sub-agents for research evidence gathering (Steps 2–4) — each agent owns one independent axis. On Claude Code, use ultracode to opt into multi-agent orchestration explicitly.
Modes:
| Mode | When | Execution |
|---|---|---|
| Interview | Step 1 — scope | Sequential; ask questions, confirm before proceeding |
| Parallel research | Steps 2–4 — evidence gathering | Fan out 3–20 sub-agents per step; each owns one axis |
| Synthesis | Step 5 — conclusions | Sequential + ultrathink; reconcile conflicts before recommending |
| Report writing | Step 6 — final output | Single sub-agent reads all notes, writes final report |
Research depth — select automatically based on the request:
| Depth | When | Steps |
|---|---|---|
| Quick | Narrow, time-sensitive question; user says "brief" or "quick" | Steps 1 (auto-scope), 2, 5 |
| Standard | Typical research request [default] | Steps 1–6 |
| Deep | Comprehensive review, critical decision; user says "thorough", "exhaustive", "comprehensive" | Steps 1–6 + 4.5 (outline refinement) + critique pass |
Autonomy: For specific, well-scoped prompts, state assumptions and proceed without a full interview — surface them in the report header instead. Reserve the full scope interview for genuinely vague prompts (e.g., "Research blockchain", "Tell me about AI").
Questions: Ask the user through the environment's question tool — never as plain-text prose. One question at a time, 2–4 tappable options, wait for the answer. If the environment has no question tool, ask in prose with the same options, one at a time.
Critical Rules
- Web search is the core capability of this skill. If the environment has no web access, halt immediately and tell the user.
- Every claim must cite a source URL. Unsourced assertions are not findings — they are guesses.
- Critical claims (market size, growth rates, competitive positioning...) require 2+ independent sources or get
confidence: Low. - Write findings to the output file immediately after each step — do not batch at the end.
- Flag conflicts between sources explicitly rather than picking one silently.
- Prose-first: Write in full sentences and paragraphs (aim for ≥80% prose). Use bullets only for true lists — never as the primary content delivery. "The market reached $4.2B in 2024 [Source]" is better than "* Market: $4.2B".
- Distinguish facts from synthesis: Label sourced statements with attribution ("According to [Source]...") and analytical conclusions with hedges ("This suggests...", "The pattern across sources indicates..."). Never present inference as fact.
- Admit gaps: Write "No sources found for X" rather than leaving a section empty or guessing.
Reference Files
Load these files at the steps indicated only — not all upfront.
| File | Load at |
|---|---|
references/citations.md | Step 2 (before first search) |
references/parallel-search.md | Step 2 (before spawning sub-agents) |
references/researcher.md | Step 2 (sub-agents read this first) |
references/report-writer.md | Step 6 (report-writer sub-agent reads this first) |
references/market.md | Step 2, if type == market |
references/domain.md | Step 2, if type == domain |
references/technical.md | Step 2, if type == technical |
references/competitive.md | Step 2, if type == competitive |
references/product.md | Step 2, if type == product |
references/academic.md | Step 2, if type == academic |
references/org.md | Step 2, if type == person/org |
references/financial.md | Step 2, if type == financial |
references/legal.md | Step 2, if type == legal |
references/trend.md | Step 2, if type == trend |
references/community.md | Step 2, if type == community |
Output Structure
The skill uses a dual-output structure in ./research/:
- Flat report:
./research/{date}-{type}-{topic}.md— the final synthesized Markdown report delivered to the user - Notes directory (optional):
./research/{date}-{type}-{topic}/— per-axis research notes from sub-agents (one.mdfile per axis). Create this when using parallel fan-out (Steps 2–4). The agent decides when to use the directory; both can exist simultaneously.
Example:
research/
├── 2025-01-15-market-ai-coding-assistants.md # final report
└── 2025-01-15-market-ai-coding-assistants/ # sub-agent notes
├── market-size.md
├── pricing-models.md
├── competitive-landscape.md
└── customer-segments.md
Step 1 — Scope
First, get today's date: date +%Y-%m-%d. Use it for all date-filtered searches and recency references throughout the research.
Check for existing research: Look in ./research/ for reports on this topic. If found, summarize what they cover and ask: extend, update, or start fresh?
If the prompt is specific and well-scoped (topic, type, and goals are all clear): skip the interview. Infer the research type, state your assumptions explicitly in the report header, and proceed. Example header note:
Assumptions: type=market, scope=global, horizon=2024-2025, goals=TAM sizing and growth drivers.
If the prompt is vague or ambiguous (e.g., "Research blockchain", "Tell me about AI"): ask the user:
- What type? (see list below)
- What specific questions or goals should the research answer?
- Any geographic, time, or segment constraints?
Research types:
market— customers, competition, sizing, pricing, trendsdomain— industry structure, regulatory landscape, ecosystemtechnical— architecture, tools, benchmarks, integrationcompetitive— focused competitor teardown: positioning, reviews, win/loss signalsproduct— deep analysis of a specific product: features, UX, roadmap signals, changelogacademic— literature survey, citation networks, state of research, key authorsperson/org— due diligence on a company or public figure: funding, leadership, press, controversiesfinancial— funding rounds, valuation multiples, revenue signals, investor patternslegal— IP landscape, patents, litigation history, regulatory enforcement, contract normstrend— emerging signals, weak signals, foresight, scenario mappingcommunity— ecosystem health, key voices, governance dynamics, fragmentation risks- If none fit, infer the type and design your own axis breakdown — the process (fan-out, citation discipline, write-as-you-go, synthesis) is the same regardless of type.
Set output paths:
- Report:
./research/{date}-{type}-{topic}.md(lowercase, hyphens; date first, then type, then topic; under 50 chars for topic portion) - Notes directory (if using parallel fan-out):
./research/{date}-{type}-{topic}/
Ask if the user wants a different path. Load assets/report-template.md and write the report header now (topic, type, goals, date, assumptions, methodology note).
Step 2 — Core Research (Parallel Fan-out)
Load references/citations.md, references/parallel-search.md, and references/researcher.md. Load the type-specific reference file.
Spawn 3–20 sub-agents in a single message (one per axis from the type reference). Each agent:
- Reads
references/researcher.mdfirst - Searches its axis on the web and fetches the sources it cites
- Writes findings as prose paragraphs with inline citations — not bullet lists
- Returns URL, accessed date, and confidence level per claim
- Tags each source: Primary (official docs, filings, peer-reviewed), Established (major publications, analyst firms), or Low (blogs, forums, single opinions). Flag Low-tier sources prominently.
- Critical claims need 2+ sources or get
confidence: Low - Flags conflicts between sources explicitly
- Does not wait for other agents
- Writes output to
{notes-dir}/{axis}.md(e.g.,./research/2025-01-15-market-ai-coding-assistants/market-size.md)
Sub-agent prompt template (use exactly this format):
You are a research analyst. Your task: research one specific axis of a larger study.
**Topic:** {overall topic}
**Your axis:** {axis name and description}
**Research goals:** {what specific questions to answer on this axis}
**Geographic/time constraints:** {any from scope interview, or "none"}
Instructions:
1. Run web searches and fetch the relevant source pages.
2. For each finding, note the source URL, access date, and confidence level (High/Medium/Low per the ladder in researcher.md).
3. Tag each source: **Primary** (official docs, government filings, peer-reviewed papers), **Established** (major publications, analyst firms with editorial process), or **Low** (blogs, forums, single opinions). Flag Low-tier sources visibly.
4. Critical claims (numbers, market share, projections) need 2+ sources or get confidence: Low.
5. Flag any conflicts between sources explicitly — do not silently pick one.
6. The axis definition is a starting point, not a ceiling. If you find relevant information that falls outside the stated axis but adds meaningful insight for the overall topic, include it — label it clearly and explain why it matters.
7. External files (PDFs, datasets, analyst reports, regulatory filings, whitepapers, charts) may contain valuable data. When encountered, their key content should be summarized inline — do not leave them as bare links. The `curl` command is available for local downloads when needed.
8. Write findings as **prose paragraphs**, not bullet lists. Embed figures in sentences: "The market reached $4.2B in 2024 [Source]" rather than "* Market: $4.2B". Bullets are acceptable only for true enumerated lists (product names, compliance items, enumerated steps).
9. Distinguish sourced facts from your analysis: use "According to [Source]..." for direct findings and "This suggests..." or "The pattern indicates..." for your synthesis. Never present inference as fact.
10. If a topic cannot be found, write "No sources found for X" — do not guess or leave a blank.
11. Return your findings as a Markdown section ready to paste into a report.
Confidence ladder:
- High: 2+ reputable independent sources agree
- Medium: 1 reputable source (Primary or Established tier)
- Low: blog, forum, single opinion, Low-tier source, or inferred
Citation format: [Source Name](url) (accessed YYYY-MM-DD, confidence: High|Medium|Low, tier: Primary|Established|Low)
Output format:
## {Section heading}
{Prose paragraphs with inline citations. Bullets only for true lists.}
> Conflicts noted: {if any}
> Gaps: {what you couldn't find}
**As a first step, you must read {path_to_skill}/references/researcher.md for instructions on how to conduct research.**
Save your output notes to {absolute path to notes-dir}/{axis}.md
Example for a market research axis:
**Topic:** AI coding assistants market
**Your axis:** Market size and growth (TAM/SAM/SOM, historical growth, projections)
**Research goals:** What is the total addressable market? How fast is it growing? What are the key segments?
**Geographic/time constraints:** Global, 2020-2025
In order to ensure research is conducted as quickly as possible, spawn all sub-agents in parallel (single message with multiple Agent tool calls).
As sub-agents complete, immediately append their findings to the output report file under the appropriate section heading from assets/report-template.md. Do not wait for all agents to finish before writing.
Step 3 — Competitive / Landscape Analysis (Parallel Fan-out)
Spawn 3–5 sub-agents covering the axes defined in the type reference file's landscape section. Same citation discipline. Each writes to {notes-dir}/{axis}.md. Append results to the output report file immediately.
Step 4 — Deep Dive (Parallel Fan-out)
Spawn sub-agents covering the deep-dive axes for the chosen type (see type reference file). Same process. Append results immediately.
Step 4.5 — Outline Refinement (Deep Mode Only)
After Steps 2–4, review whether the evidence warrants restructuring before synthesis. Ask:
- Did findings contradict the initial scope assumptions?
- Did an important angle emerge that wasn't in the original plan?
- Are any sections underpowered by evidence — or overloaded?
If yes: adapt the outline. Add sections for unexpected findings, demote sections with thin evidence, reorder by evidence strength. Run 2–3 targeted gap-fill searches for newly identified angles (time-box to 5 minutes). Document what changed and why in the report's methodology note.
Skip in quick and standard modes.
Step 5 — Synthesis
Use ultrathink here (standard and deep modes).
Read the full output report file (which now contains all appended findings from Steps 2–4). Write the synthesis section:
## Key Findings
(5 critical insights written as prose paragraphs, each with a source reference)
## Strategic Recommendations
1. [Recommendation] — Rationale. Evidence: [source].
2. ... (3–5 recommendations, ranked by impact)
## Risks and Uncertainties
- Data gaps: what could not be found or confirmed
- Low-confidence claims requiring further validation
- Conflicts between sources that could not be resolved
- Domain or market risks to monitor
## Next Steps
- Recommended follow-up research
- If the initial request is not fulfilled, loop on step 1 and ask more questions
- Decisions this research enables
Keep the fact/synthesis distinction throughout: "According to [Source], X" for sourced claims; "This suggests Y" for your analysis. If a recommendation rests on Low-confidence data, say so explicitly.
Critique pass (deep mode only): Before finalizing, red-team the synthesis. Ask: What's missing? What could be wrong? What alternative explanations exist? What biases might be present? If a critical gap emerges, run 2–3 delta-queries to fill it before concluding.
Step 6 — Report Writer Sub-agent
Spawn a single report-writer sub-agent to produce the final polished report. This keeps the coordinator's context clean.
Use the Agent tool with subagent_type="general-purpose" and run_in_background=false:
Agent(
run_in_background=false
subagent_type="general-purpose",
description="Write final report",
prompt="Read the notes in {absolute path to notes-dir}/ and the current report at {absolute path to report-file} and synthesize into a final research report that answers: {the user's original question in full}.
Earlier research in this conversation to build on: {absolute paths of the earlier report and notes folder from Step 1, or "none"}
Save your final report to this exact path: {absolute path to report-file}
**As a first step, you must read {path_to_skill}/references/report-writer.md for instructions on how to write your research report.**"
)
After the report writer completes, the report at ./research/{date}-{type}-{topic}.md is final.
Step 7 — PDF Export (Optional)
After the Markdown report is final, offer this step if the user wants a PDF.
Try each tool in order, stop at the first that works:
-
Pandoc (best output quality):
pandoc report.md -o report.pdf --pdf-engine=wkhtmltopdf # or with weasyprint: pandoc report.md -o report.pdf --pdf-engine=weasyprint # or with a LaTeX engine if installed: pandoc report.md -o report.pdf -
md-to-pdf(Node, no LaTeX required):md-to-pdf report.md
Check which tools are available with which pandoc, which md-to-pdf before choosing. If neither is available, tell the user which to install.
Model Context Protocol (MCP) Integration
This skill supports MCP connectors for extending research beyond web searches:
Examples of Public Open Knowledge MCP:
arxiv-mcp: Search academic papers by subject, author, date, or citations. Returns abstracts, PDF links, and citation graphs.reddit-mcp: Access subreddit data — top posts, comments, discussion threads. Good for community insights and developer sentiment.serp-mcp: Wraps search engines (Google, Bing, DuckDuckGo) to return structured results: titles, snippets, URLs, related questions.
Examples of Private Data MCP:
gmail-mcp: Queries email threads, attachments, senders, dates. Requires OAuth read-only scope.notion-mcp: Accesses databases, pages, and their properties. Searchable by title, content, last edited, or custom properties.confluence-mcp,sharepoint-mcp, or custom wiki MCPs for internal knowledge bases.
MCP in the Research Workflow:
- Spawn sub-agents against different MCP endpoints in parallel (Step 2 fan-out)
- When an MCP returns no results, flag the evidence gap explicitly per critical rule #7
- Critical claims from a single MCP source get
confidence: Lowper critical rule #4 except if from private high-value sources - MCP data counts as
Primarytier if from official docs/filings,Establishedif from major publications,Lowif from blogs/forums
Guardrails
- Additional research limit: Step 5 (additional round) can only be followed once. After those researchers finish, you MUST move directly to Step 6 (report writer). Output: "After these researchers finish, I will move directly to coordinating the report writer."
- No fabrication: If a source does not exist, say so and flag the gap.
- No silent picking: Conflicting sources must be reported, not resolved silently.
- No batching: Write to the file after each step, not at the end.
- No over-claiming: Hedge explicitly on Low-confidence data.
- No inference as fact: Label analytical conclusions with "This suggests..." or similar.
- No diving without scoping: For vague prompts, always scope first — an ambiguous topic produces an unfocused report.
Disclaimer
Research reflects a snapshot in time. Web content changes. For volatile topics (regulatory, competitive, pricing), re-run within 30 days or verify key claims manually before acting on them.
FAQ
What does the deep-research skill do?
Deep research on any topic — broad parallel web searches, multi-source validation, confidence tracking, and a cited Markdown report. Use whenever the deliverable is a thorough sourced report rather than a quick answer: 'research ', 'deep dive on X', 'analyze the landscape', 'competitive analysis', 'compare these options', 'who are the players in Z', 'literature review', 'background on Y', 'what papers exist on X', 'product teardown', 'regulatory overview', 'funding landscape', 'what trends are emerging in X', 'patent landscape', 'community health', or any request requiring scanning many sources and producing a cited written analysis. Covers 11 research types: market (TAM/SAM, segments, pricing, trends), domain (industry structure, ecosystem, regulatory overview), technical (architecture, tooling, benchmarks, technology evaluation), competitive (competitor teardown, positioning, win/loss), product (feature analysis, reviews, teardowns, roadmap signals), academic (literature surve
How do I install deep-research?
Run npx skills add https://github.com/samber/cc-skills --skill deep-research 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/deep-research/ (personal) or .claude/skills/deep-research/ (project).
Which AI agents can use deep-research?
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 deep-research safe to install?
Security partners have reviewed it: Gen Agent Trust Hub passed; Socket passed; Snyk flagged items to review; ZeroLeaks passed. As with any skill, read the SKILL.md and bundled scripts before installing.
Who maintains deep-research?
It is published by samber in samber/cc-skills. It has 4,787 recorded installs.
More from samber/cc-skills
copywriting-hooks
samber/cc-skills
Writes opening hooks and post titles for long-form articles in EN or FR — blog posts, Substack/Medium/dev.to, LinkedIn long-form, newsletters, essays. Trigger whenever the user asks for a hook, opening, lede, intro, first sentence/paragraph, opener, accroche, attaque, phrase d'accroche, or première phrase — including punching up a flat intro or draft opening — or for a post title, titre d'article, or headline. Do NOT trigger for social posts (LinkedIn feed, Twitter/X, TikTok, Bluesky), READMEs, taglines, email subjects, ad copy, landing-page headlines, press releases, SEO meta, or body rewrites. Do NOT use for end-of-article CTAs — use samber/cc-skills@copywriting-cta instead.
linkedin-ghostwriting
samber/cc-skills
B2B LinkedIn ghostwriting — hooks, post structures, and copywriting frameworks for conversion-focused posts. Use when the user wants to write LinkedIn content, create ghostwritten posts, ghostwrite for a founder or executive, or develop a B2B social strategy. Apply when the user shares a story, result, or insight and wants it turned into a post. Do NOT use for newsletter or Substack issues — use samber/cc-skills@substack-ghostwriting instead.
copywriting-tone-of-voice-creator
samber/cc-skills
Builds a brand tone of voice guide (TONE.md) — voice attributes with do's/don'ts, NN/g positioning, tone modulation matrix, lexicon, channel rules — for downstream content skills to consume. Also ports an existing TONE.md to a new channel (blog → LinkedIn, web → Twitter/X, in-product UI). Covers B2B SaaS, B2C/D2C, NGO, public sector, consulting, industrial, product-led, personal, and volunteering brands. Apply when the user wants to define or refresh a brand voice, port it to a new channel, or set up a content factory. Not for writing individual posts, articles, emails, or UI strings — use the dedicated writing skills. Not for SOUL.md, PROSE.md (samber/cc-skills@copywriting-prose-creator), or DESIGN.md.
frontend-design-deslop
samber/cc-skills
Designs distinctive, non-generic UI — typography, OKLCH color, design tokens (DESIGN.md), layout, components, motion, dark mode, accessibility — for landing pages, SaaS apps, dashboards, ecommerce, decks, docs, portfolios, avoiding the AI-slop / Claude-esque default look. Use whenever building or styling any web frontend, app, dashboard, landing page, deck, or artifact, or when the user says "make it not look like AI", "de-slopify", "deslop", "less generic", "give it character", "design a UI for X", "design an app", "update DESIGN.md", or complains the output looks like every other AI site. Trigger even on a bare "build a UI for X" with no aesthetic named. Not for writing marketing copy.
humaniseur-fr
samber/cc-skills
Remove AI-writing patterns from French text and inject voice and personality. Use when editing, reviewing, or rewriting French content that reads like ChatGPT or Claude output. Detects and fixes 38 patterns: AI vocabulary (crucial, essentiel, notamment, dans le paysage), anglicisms from English-first models (faire du sens, adresser un problème), formulaic openings (À l'ère de, Dans un monde où), participle clauses in -ant, em dash overuse, decorative emojis, mixed guillemets and apostrophes, uniform sentence length. Trigger on humaniser, déslopifier, nettoyer le texte IA, enlever le slop, make it sound human. Do NOT use for English text — use samber/cc-skills@humanizer-en-asd-ste100 instead.
technical-article-writer
samber/cc-skills
Write technical articles and blog posts for developer audiences — tutorials, explainers, benchmarks, bug hunts, postmortems, and 'we rewrote it in X' posts — with title variants and developer-grade article structure. Use whenever the user asks to write a blog post, technical article, dev.to or Medium post, or any long-form technical content, including 'write about [technical topic]', 'turn this into a blog post', or 'I want to publish something about X', even without naming a format. Do NOT use for newsletter or Substack issues — use samber/cc-skills@substack-ghostwriting instead. Do NOT use for codifying an author's voice — use samber/cc-skills@copywriting-prose-creator instead.
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 置顶(添加/移除/查询置顶会话)、管理标签数据、处理卡片回调时使用。