From customer-support
Draft a knowledge base article from a resolved issue or common question. Use when a ticket resolution is worth documenting for self-service, the same question keeps coming up, a workaround needs to be published, or a known issue should be communicated to customers.
How this skill is triggered — by the user, by Claude, or both
Slash command
/customer-support:kb-article <resolved issue or ticket><resolved issue or ticket>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.
Draft a publish-ready knowledge base article from a resolved support issue, common question, or documented workaround. Structures the content for searchability and self-service.
Lark-native execution (depth core: LARK-PATTERNS, LARK-RECIPES, LARK-FUSION). The knowledge base is Lark Wiki + Docs (P8). Before drafting, check for an existing article with
lark_doc_search(update vs. create new); pull ticket context from the support/ticket Lark Base (lark_base_search, P5 — base_search REQUIRESsearch_fieldsand does NOT supportjq; narrow withselect_fields/limit) and related bugs fromlark_task_my/ the tracker Base — project reads withjqwhere supported (P3). Publish by creating a Wiki node —lark_wiki_node_create(space_id, title)— then fill the resulting docx; delegate the actual content authoring tolark-doc(DocxXML is brittle by hand). For doc-from-template flows delegate todoc-from-template; for a Wiki cleanup/restructure delegate todoc-restructure.
/kb-article <resolved issue, ticket reference, or topic description>
Examples:
/kb-article How to configure SSO with Okta — resolved this for 3 customers last month/kb-article Ticket #4521 — customer couldn't export data over 10k rows/kb-article Common question: how to set up webhook notifications/kb-article Known issue: dashboard charts not loading on Safari 16Parse the input to identify:
If a ticket reference is provided, look up the full context (project with jq, P3):
lark_base_search(base_token, table_id, search_fields:["title"], select_fields:["title","resolution","notes"]). base_search REQUIRES search_fields and does NOT support jq — if field names are unknown, discover them via lark_api GET /open-apis/bitable/v1/apps/{base}/tables/{table}/fields.lark_doc_search(query="<topic / exact error>", jq: ".data.results[]") to check whether a similar article already exists (update the existing node vs. create a new one).lark_task_my(jq: ".data.items[]") / lark_base_search (pass search_fields; no jq) for a related bug or feature request to cross-link.Using the article structure, formatting standards, and searchability best practices below:
Present the draft with metadata:
## KB Article Draft
**Title:** [Article title]
**Type:** [How-to / Troubleshooting / FAQ / Known Issue / Reference]
**Category:** [Product area or topic]
**Tags:** [Searchable tags]
**Audience:** [All users / Admins / Developers / Specific plan]
---
[Full article content — using the appropriate template below]
---
### Publishing Notes
- **Source:** [Ticket #, customer conversation, or internal discussion]
- **Existing articles to update:** [If this overlaps with existing content]
- **Review needed from:** [SME or team if technical accuracy needs verification]
- **Suggested review date:** [When to revisit for accuracy]
On confirmation, create the page in the team Wiki rather than leaving it as a chat message:
lark_wiki_node_create(space_id, title:"<customer-language title>") — dry_run: true first (P2) to preview parent + title.lark-doc (DocxXML) for the actual block writing.lark_im_send.After generating the article:
lark_doc_searchEvery KB article should include:
Articles are useless if customers can't find them. Optimize every article for search:
| Good Title | Bad Title | Why |
|---|---|---|
| "How to configure SSO with Okta" | "SSO Setup" | Specific, includes the tool name customers search for |
| "Fix: Dashboard shows blank page" | "Dashboard Issue" | Includes the symptom customers experience |
| "API rate limits and quotas" | "API Information" | Includes the specific terms customers search for |
| "Error: 'Connection refused' when importing data" | "Import Problems" | Includes the exact error message |
Start every article with a sentence that restates the problem or task in plain language:
Purpose: Step-by-step instructions for accomplishing a task.
Structure:
# How to [accomplish task]
[Overview — what this guide covers and when you'd use it]
## Prerequisites
- [What's needed before starting]
## Steps
### 1. [Action]
[Instruction with specific details]
### 2. [Action]
[Instruction]
## Verify It Worked
[How to confirm success]
## Common Issues
- [Issue]: [Fix]
## Related Articles
- [Links]
Best practices:
Purpose: Diagnose and resolve a specific problem.
Structure:
# [Problem description — what the user sees]
## Symptoms
- [What the user observes]
## Cause
[Why this happens — brief, non-jargon explanation]
## Solution
### Option 1: [Primary fix]
[Steps]
### Option 2: [Alternative if Option 1 doesn't work]
[Steps]
## Prevention
[How to avoid this in the future]
## Still Having Issues?
[How to get help]
Best practices:
Purpose: Quick answer to a common question.
Structure:
# [Question — in the customer's words]
[Direct answer — 1-3 sentences]
## Details
[Additional context, nuance, or explanation if needed]
## Related Questions
- [Link to related FAQ]
- [Link to related FAQ]
Best practices:
Purpose: Document a known bug or limitation with a workaround.
Structure:
# [Known Issue]: [Brief description]
**Status:** [Investigating / Workaround Available / Fix In Progress / Resolved]
**Affected:** [Who/what is affected]
**Last updated:** [Date]
## Symptoms
[What users experience]
## Workaround
[Steps to work around the issue, or "No workaround available"]
## Fix Timeline
[Expected fix date or current status]
## Updates
- [Date]: [Update]
Best practices:
Knowledge bases decay without maintenance. Follow this schedule:
| Activity | Frequency | Who |
|---|---|---|
| New article review | Before publishing | Peer review + SME for technical content |
| Accuracy audit | Quarterly | Support team reviews top-traffic articles |
| Stale content check | Monthly | Flag articles not updated in 6+ months |
| Known issue updates | Weekly | Update status on all open known issues |
| Analytics review | Monthly | Check which articles have low helpfulness ratings or high bounce rates |
| Gap analysis | Quarterly | Identify top ticket topics without KB articles |
Update existing when:
Create new when:
Organize articles into a hierarchy that matches how customers think:
Getting Started
├── Account setup
├── First-time configuration
└── Quick start guides
Features & How-tos
├── [Feature area 1]
├── [Feature area 2]
└── [Feature area 3]
Integrations
├── [Integration 1]
├── [Integration 2]
└── API reference
Troubleshooting
├── Common errors
├── Performance issues
└── Known issues
Billing & Account
├── Plans and pricing
├── Billing questions
└── Account management
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.