From customer-support
Multi-source research on a customer question or topic with source attribution. Use when a customer asks something you need to look up, investigating whether a bug has been reported before, checking what was previously told to a specific account, or gathering background before drafting a response.
How this skill is triggered — by the user, by Claude, or both
Slash command
/customer-support:customer-research <question or topic><question or topic>The summary Claude sees in its skill listing — used to decide when to auto-load this skill
> If you see unfamiliar placeholders or need to check which tools are connected, see [CONNECTORS.md](../../CONNECTORS.md).
If you see unfamiliar placeholders or need to check which tools are connected, see CONNECTORS.md.
Multi-source research on a customer question, product topic, or account-related inquiry. Synthesizes findings from all available sources with clear attribution and confidence scoring.
Lark-native execution (depth core: LARK-PATTERNS, LARK-RECIPES, LARK-FUSION). Search across Lark surfaces and project reads with
jqwherever the tool supports it (P3) — a full doc fetch is ~25k tokens,jq: ".data.content[:4000]"is ~500. The internal sources map to: Wiki/Docs (lark_doc_search→lark_doc_fetch), account/ticket Lark Base (lark_base_search, P5 — note: base_search does NOT supportjqand REQUIRESsearch_fields; narrow withselect_fields/limit), chat (lark_im_search), mail (lark_apimail search), meetings (lark_minutes_search, P6). Knowledge capture lands in Wiki vialark_wiki_node_create(P8) — delegate doc editing tolark-doc. For an account-context deep dive on one person, delegate tocontact-360.
/customer-research <question or topic>
Identify what type of research is needed:
Before searching, clarify what you're actually trying to find:
Search systematically through the source tiers below, adapting to what is connected. Don't stop at the first result — cross-reference across sources.
Tier 1 — Official Internal Sources (highest confidence):
lark_doc_search(query=..., jq: ".data.results[] | {title,url}") → lark_doc_fetch(jq: ".data.content[:4000]") for product docs, runbooks, FAQs, policy.lark-drive / lark_doc_fetch.lark_base_search (pass search_fields; no jq); OKRs via lark_okr_cycle_list(jq: ".data.cycles[]").Tier 2 — Organizational Context:
lark_base_search(base_token, table_id, search_fields:["account"], select_fields:["account","notes","last_answer"]) for activity history and previous answers. base_search REQUIRES search_fields — if the field names are unknown, discover them first via lark_api GET /open-apis/bitable/v1/apps/{base}/tables/{table}/fields. No jq — narrow with select_fields/limit.lark_base_search (pass search_fields; no jq) for previous resolutions, known issues, workarounds.lark_minutes_search(participant_ids="me", query=..., jq: ".data.items[]") → pull AI summary/decisions instead of re-deriving (P6).Tier 3 — Team Communications:
lark_im_search(query="<topic>", jq: ".data.messages[]") — check if teammates already answered this.lark_api mail search for previous correspondence on the topic.lark_calendar_agenda(jq: ".data[]") for meeting context; past meetings via lark_vc_search.Tier 4 — External Sources:
Tier 5 — Inferred or Analogical (use when direct sources don't yield answers):
Compile results into a structured research brief:
## Research: [Question/Topic]
### Answer
[Clear, direct answer to the question — lead with the bottom line]
**Confidence:** [High / Medium / Low]
[Explain what drives the confidence level]
### Key Findings
**From [Source 1]:**
- [Finding with specific detail]
- [Finding with specific detail]
**From [Source 2]:**
- [Finding with specific detail]
### Context & Nuance
[Any caveats, edge cases, or additional context that matters]
### Sources
1. [Source name/link] — [what it contributed]
2. [Source name/link] — [what it contributed]
3. [Source name/link] — [what it contributed]
### Gaps & Unknowns
- [What couldn't be confirmed]
- [What might need verification from a subject matter expert]
### Recommended Next Steps
- [Action if the answer needs to go to a customer]
- [Action if further research is needed]
- [Who to consult for verification if needed]
If no connected sources yield results:
lark_doc_search)lark_im_search)lark_contact_search, then ask via lark_im_send)If the research is to answer a customer question:
After research is complete, suggest capturing the knowledge in Wiki (P8) so the org finds it later — don't leave it as a chat message:
lark_wiki_node_create(space_id, title), then fill the docx (delegate to lark-doc)./kb-article.lark_wiki_node_create.This helps build institutional knowledge and reduces duplicate research effort across the team.
| Tier | Source Type | Confidence | Notes |
|---|---|---|---|
| 1 | Official internal docs, KB, policies | High | Trust unless clearly outdated — check dates |
| 2 | CRM, support tickets, meeting notes | Medium-High | May be subjective or incomplete |
| 3 | Chat, email, calendar notes | Medium | Informal, may be out of context or speculative |
| 4 | Web, forums, third-party docs | Low-Medium | May not reflect your specific situation |
| 5 | Inference, analogies, best practices | Low | Clearly flag as inference, not fact |
Always assign and communicate a confidence level:
High Confidence:
Medium Confidence:
Low Confidence:
Unable to Determine:
When sources disagree:
After completing research, capture the knowledge for future use.
## [Question/Topic]
**Last Verified:** [date]
**Confidence:** [level]
### Answer
[Clear, direct answer]
### Details
[Supporting detail, context, and nuance]
### Sources
[Where this information came from]
### Related Questions
[Other questions this might help answer]
### Review Notes
[When to re-verify, what might change this answer]
npx claudepluginhub larkcowork/lark-cowork-plugins --plugin customer-supportCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.