knowledge-base
Use this skill when designing help center architecture, writing support articles, or optimizing search and self-service. Triggers on knowledge base, help center, support articles, self-service, article templates, search optimization, content taxonomy, and any task requiring help documentation design or management.
operations knowledge-basehelp-centerself-servicearticlesdocumentationWhat is knowledge-base?
Use this skill when designing help center architecture, writing support articles, or optimizing search and self-service. Triggers on knowledge base, help center, support articles, self-service, article templates, search optimization, content taxonomy, and any task requiring help documentation design or management.
knowledge-base
knowledge-base is a production-ready AI agent skill for claude-code, gemini-cli, openai-codex. Designing help center architecture, writing support articles, or optimizing search and self-service.
Quick Facts
| Field | Value |
|---|---|
| Category | operations |
| Version | 0.1.0 |
| Platforms | claude-code, gemini-cli, openai-codex |
| License | MIT |
How to Install
- Make sure you have Node.js installed on your machine.
- Run the following command in your terminal:
npx skills add AbsolutelySkilled/AbsolutelySkilled --skill knowledge-base- The knowledge-base skill is now available in your AI coding agent (Claude Code, Gemini CLI, OpenAI Codex, etc.).
Overview
A knowledge base is a self-service library of structured content that allows users to find answers without contacting support. Done well, it deflects tickets, reduces support cost, and builds user confidence. Done poorly, it becomes a graveyard of outdated articles that users stop trusting. This skill covers the full lifecycle: designing an information architecture that mirrors how users think, writing articles that scan instead of demand reading, optimizing search so the right article surfaces on the first try, measuring deflection to prove business value, and maintaining content ruthlessly so it stays accurate.
Tags
knowledge-base help-center self-service articles documentation
Platforms
- claude-code
- gemini-cli
- openai-codex
Related Skills
Pair knowledge-base with these complementary skills:
Frequently Asked Questions
What is knowledge-base?
Use this skill when designing help center architecture, writing support articles, or optimizing search and self-service. Triggers on knowledge base, help center, support articles, self-service, article templates, search optimization, content taxonomy, and any task requiring help documentation design or management.
How do I install knowledge-base?
Run npx skills add AbsolutelySkilled/AbsolutelySkilled --skill knowledge-base in your terminal. The skill will be immediately available in your AI coding agent.
What AI agents support knowledge-base?
This skill works with claude-code, gemini-cli, openai-codex. Install it once and use it across any supported AI coding agent.
Maintainers
Generated from AbsolutelySkilled
SKILL.md
Knowledge Base
A knowledge base is a self-service library of structured content that allows users to find answers without contacting support. Done well, it deflects tickets, reduces support cost, and builds user confidence. Done poorly, it becomes a graveyard of outdated articles that users stop trusting. This skill covers the full lifecycle: designing an information architecture that mirrors how users think, writing articles that scan instead of demand reading, optimizing search so the right article surfaces on the first try, measuring deflection to prove business value, and maintaining content ruthlessly so it stays accurate.
When to use this skill
Trigger this skill when the user:
- Needs to design or restructure a help center or knowledge base taxonomy
- Wants to write, improve, or template a support article (how-to, troubleshooting, FAQ, reference)
- Is optimizing help center search - keywords, synonyms, metadata, or article titles
- Wants to measure deflection rate or build a content health dashboard
- Needs to implement in-product contextual help or tooltip copy
- Is building or refining an article maintenance workflow or content review cadence
- Wants to create article templates by type (how-to, troubleshooting, FAQ, reference)
- Needs to audit existing knowledge base content for gaps or staleness
Do NOT trigger this skill for:
- Writing internal engineering runbooks or operational playbooks (use incident-management skill)
- Writing API documentation or developer docs (use technical-writing or developer-experience skill)
Key principles
Write for scanning, not reading - Users arrive with a specific problem and scan for the answer. Use short paragraphs, numbered steps, bold key terms, and clear headings. A wall of prose is an article no one reads. Every section should be findable with a 2-second scan.
Structure mirrors the user's mental model - Organize content around tasks users are trying to complete and problems they experience, not around your product's internal feature structure. "How do I invite a teammate?" beats "User Management > Invitations > Creating Invitations." Users think in outcomes, not menus.
Search is the primary navigation - Most users will never browse your category tree. They will type a query and click the first plausible result. Every article title, summary, and keyword set must be optimized for the words users actually type, not the words your product team uses internally.
Measure deflection, not pageviews - Pageviews tell you what people look at. Deflection tells you whether it worked. Track ticket volume versus help center traffic, article ratings, failed searches, and contact-us clicks post-article-view. A high-traffic article with a high contact-us rate is a failing article.
Maintain ruthlessly - An outdated article is worse than no article. It creates false confidence and support tickets filled with "I followed the article and it didn't work." Every article needs an owner, a review date, and a clear process for marking it outdated or archiving it when the feature changes.
Core concepts
Information architecture
Information architecture (IA) is how content is organized, labeled, and linked. A good IA means users can find answers in two clicks or fewer from the help center home page.
Taxonomy design principles:
- Top-level categories map to user goals, not product features
- 5-8 top-level categories is the practical maximum before navigation becomes overwhelming
- Each article belongs to exactly one primary category (cross-links are fine; dual-homing creates maintenance debt)
- Category names use plain language: "Billing & Payments" beats "Revenue Operations"
- Sub-categories add one level of specificity - avoid nesting beyond two levels
Taxonomy validation test: Show the category structure to five users who have never seen it. Ask them where they would look for a specific common task. If fewer than four out of five find the right category, redesign the labels.
Article types
| Type | Purpose | Primary user intent |
|---|---|---|
| How-to | Step-by-step instructions for a task | "I want to do X" |
| Troubleshooting | Diagnose and fix a specific error or symptom | "X is broken or not working" |
| FAQ | Short answers to common questions | "I have a quick question about X" |
| Reference | Complete spec, options table, or glossary | "I need to know all the values/settings for X" |
| Concept | Explains a feature or workflow at a high level | "I want to understand how X works before I use it" |
Most articles should be how-to or troubleshooting. If your knowledge base is mostly concept articles, users are not finding actionable answers - they are being educated when they want to be unblocked.
Search optimization
Search in a knowledge base is keyword-matching plus ranking, not semantic understanding (even with AI-powered search, explicit optimization still wins).
The three-layer keyword strategy:
Layer 1 - Title keywords: Words users type when they know what they want
("reset password", "cancel subscription", "export CSV")
Layer 2 - Synonyms: Alternate terms for the same concept
("reset" = "forgot", "change", "recover")
("cancel" = "delete account", "close account", "unsubscribe")
Layer 3 - Error strings: Exact error messages users copy-paste into search
("Error 403: Forbidden", "SMTP authentication failed")Store synonyms in your search tool's synonym dictionary so both terms resolve to the same results. Never make users guess the "right" terminology.
Deflection metrics
Deflection is the percentage of users who find an answer in the knowledge base and do not open a support ticket. It is the primary health metric for a knowledge base.
Deflection rate formula:
Deflection rate = 1 - (tickets opened after KB visit / total KB visits)Supporting metrics to track:
| Metric | What it measures | Healthy target |
|---|---|---|
| Deflection rate | Overall KB effectiveness | > 70% |
| Article rating (thumbs) | Per-article satisfaction | > 80% positive |
| Failed search rate | Queries returning zero results | < 10% |
| Contact-us click rate post-article | Articles that fail to resolve | < 5% per article |
| Article staleness (days since reviewed) | Content freshness | < 180 days |
| Search-to-click rate | How often search results get clicked | > 60% |
Common tasks
Design help center architecture - taxonomy
Step 1: Mine your ticket data
Pull 90 days of support tickets and tag each with the user's underlying goal (not the feature involved). The top 10 goals by volume become your category candidates.
Step 2: Card-sort validation
Give 8-10 representative users 20-30 article titles on cards. Ask them to group articles into categories and name each group. Patterns appearing in 6+ of 8 users' groupings are validated categories.
Step 3: Build the hierarchy
Level 0: Help Center home
Level 1: 5-8 goal-based categories (e.g., "Getting Started", "Billing", "Account Settings")
Level 2: Sub-categories per Level 1 (e.g., "Billing > Invoices", "Billing > Payment Methods")
Level 3: Individual articlesStep 4: Map existing content
Audit every existing article against the new taxonomy. For each article: keep, merge, rewrite, or archive. Do not migrate stale articles - migration is a forcing function to decide whether content is worth keeping.
Write effective support articles - template
See references/article-templates.md for full templates by article type.
Universal writing rules:
- Title format: verb + object + optional context. "Reset your password" not "Password Reset"
- First sentence: state exactly what the article covers and who it is for
- Steps use numbered lists; sub-steps use indented numbered lists
- Add screenshots and videos for steps where UI placement is ambiguous
- Bold the first mention of a UI element: "Click Save changes"
- End every article with a "Was this helpful?" rating and a link to contact support
Length targets:
| Article type | Target word count |
|---|---|
| How-to | 150-400 words |
| Troubleshooting | 200-600 words |
| FAQ | 50-150 words per answer |
| Reference | As long as needed; use anchor links for navigation |
Optimize search - keywords and synonyms
Keyword audit workflow:
- Export failed searches from the last 30 days (queries with zero results or zero clicks)
- Cluster similar failed searches into synonym groups
- For each cluster: does a relevant article exist? If yes, add synonyms. If no, add to content backlog.
- Export low-click-rate searches (results shown but not clicked) - these indicate title mismatch
- Rewrite article titles to match the language users use in low-click queries
Building the synonym dictionary:
Group: password
Synonyms: forgot password, reset password, change password, recover account,
locked out, can't log in, login help
Group: cancel account
Synonyms: delete account, close account, unsubscribe, remove account,
stop subscription, leave [product name]
Group: billing
Synonyms: invoice, receipt, charge, payment, credit card, subscription cost, priceReview and expand the synonym dictionary every quarter using fresh failed-search data.
Measure and improve deflection rate
Deflection measurement setup:
- Instrument your help center with session tracking
- Define a "deflection event": user visits KB and does NOT click "Contact Support" or open a ticket within the same session
- Define a "failure event": user visits KB AND opens a ticket or clicks "Contact Support"
- Calculate: deflection rate = deflection events / (deflection + failure events)
Deflection improvement playbook:
| Problem signal | Root cause | Fix |
|---|---|---|
| High failed search rate | Missing articles or wrong keywords | Write missing content; add synonyms |
| High contact-us rate on specific articles | Article does not resolve the issue | Rewrite with clearer steps; add edge cases |
| Low rating on specific articles | Content is wrong, outdated, or confusing | Audit against current product; rewrite |
| Low overall deflection | Wrong IA; users can't find articles | Run card sort; restructure taxonomy |
Create article templates by type
See references/article-templates.md for ready-to-use templates for:
- How-to articles
- Troubleshooting articles
- FAQ articles
- Reference articles
Build a maintenance workflow
Content ownership model:
Every article must have a named owner (a person, not a team). The owner is responsible for reviewing the article when the related feature changes and on a scheduled cadence.
Review cadence:
| Article type | Review frequency |
|---|---|
| How-to (frequently changing features) | Every 60 days |
| How-to (stable features) | Every 180 days |
| Troubleshooting | Every 90 days |
| Reference (spec/settings tables) | Every 60 days |
| FAQ | Every 90 days |
Maintenance workflow:
Trigger: Feature release, product change, or scheduled review date
Step 1: Owner verifies each step against the current product
Step 2: Update screenshots, step copy, and option names
Step 3: Bump "Last reviewed" date in article metadata
Step 4: If article covers removed functionality: archive, don't delete
(external links break; archived articles should redirect to a notice)
Step 5: Notify support team of significant changes for in-flight ticketsStaleness detection automation: Set up a script or integration that flags any article whose "Last reviewed" date exceeds the review threshold. Pipe these to a weekly "content health" report sent to article owners.
Implement in-product help - contextual guidance
Contextual help surfaces the right article at the moment of need, inside the product, without requiring the user to navigate away.
Contextual help patterns:
| Pattern | When to use | Implementation |
|---|---|---|
| Tooltip | Explain a single field or option | ? icon next to field; 1-2 sentences max |
| Inline help text | Persistent hint below an input | Static text; use for non-obvious requirements |
| Help panel | Step-by-step guidance for a complex form or workflow | Slide-out panel linking to full KB article |
| Empty state link | Guide users on first use | "How to add your first X" in empty states |
| Error message link | Link to troubleshooting from inline errors | "Error 403. [Learn why this happens]" |
Rules for contextual help copy:
- Write in second person: "You can add up to 5 team members on this plan"
- State what the user can do, not what the system does
- Link to the full KB article for anything that needs more than 2 sentences
- Never duplicate the full article in a tooltip - summarize and link
Anti-patterns
| Anti-pattern | Why it fails | What to do instead |
|---|---|---|
| Organizing by feature/menu path | Users don't know your product structure - they know their problem | Organize by user goal; use feature names only in article body |
| Writing prose paragraphs for how-to steps | Users skip prose and miss steps; causes more tickets | Use numbered lists with one action per step |
| Copy-pasting UI labels verbatim into titles | UI labels are designed for space, not searchability | Write titles around the task users are trying to accomplish |
| No synonym dictionary | Users who use different words than your team get zero results | Build and maintain a synonym dictionary; review monthly |
| Measuring success by pageviews | High views on a bad article looks like success | Measure deflection rate and article rating; pageviews are vanity |
| Never archiving old articles | Users follow stale instructions and open tickets blaming the product | Archive any article for a removed or significantly changed feature within one sprint |
Gotchas
Failed search data is the most valuable signal and most teams ignore it - Most help center analytics dashboards surface pageviews and article ratings. The highest-signal data is failed searches (queries that return zero results or zero clicks). These are users who came looking for help and left empty-handed. Pull this report weekly and treat it as a content gap backlog.
Organizing by product feature structure instead of user mental model causes high bounce rates - When users see categories like "Workspace Settings > Members > Invitation Flow" they have to translate their problem ("how do I add someone") into your product's internal taxonomy. Users who can't find the category in 3 seconds leave and open a ticket. Always validate category names with real users before launching.
Article titles written for SEO but not for scanning produce low click rates in search - A title like "Complete Guide to Password Management in Your Account Settings" is verbose and buries the action. Users scanning search results for "reset password" need to see those words in the title. Keep titles short, verb-first, and match the exact language users type when searching.
High article ratings on outdated content create a false health signal - Users who found a workaround or figured it out on their own often rate the article positively despite it being partially wrong. Article staleness tracking (days since last review) must run in parallel with ratings - a 4-star article that hasn't been reviewed in 18 months for a changing feature is still a liability.
Deflection rate drops are invisible without session-level tracking - If you measure deflection as "tickets opened / total KB pageviews" instead of at the session level, you can't tell whether users who opened tickets also visited the KB first. Session-level tracking (user visited KB then opened a ticket within the same session) is the only accurate failure signal.
References
For detailed templates and patterns, load the relevant file from references/:
references/article-templates.md- ready-to-use templates for how-to, troubleshooting, FAQ, and reference articles with annotated examples
Only load a references file when the current task requires it.
References
article-templates.md
Article Templates
Ready-to-use templates for the four core knowledge base article types. Copy the structure, adapt the content to your product, and follow the checklist before publishing.
How-to article template
Use for: step-by-step task completion ("How do I do X?")
# [Action verb] [object] [optional context]
Examples:
"Add a team member to your workspace"
"Connect your Slack workspace"
"Export project data as CSV"
[One sentence stating what the article helps the user accomplish.]
## Before you start
- [Prerequisite 1 - e.g., "You must be a workspace Admin"]
- [Prerequisite 2 - e.g., "The team member needs a valid email address"]
(Omit this section if there are no prerequisites.)
## Steps
1. Go to **Settings** > **Team Members**.
2. Click **Invite Member**.
3. Enter the team member's email address in the **Email** field.
4. Choose a role from the **Role** dropdown:
- **Admin** - Full access to settings and billing
- **Member** - Standard access to projects
- **Viewer** - Read-only access
5. Click **Send Invitation**.
## What happens next
[Describe the outcome the user should see. Set expectations: confirmation
messages, emails, timing, or follow-up actions required.]
Example: "The team member receives an email invitation. They have 7 days
to accept before the link expires. Track pending invitations in
**Settings** > **Team Members** > **Pending** tab."
## Related articles
- [Manage team member roles and permissions](#)
- [Remove a team member from your workspace](#)
- [Understand workspace permission levels](#)How-to writing checklist
- Title starts with an action verb (Add, Create, Set up, Connect, Export, Reset)
- Opening sentence states the outcome, not the background
- Prerequisites listed before the steps (or section omitted if none)
- One action per numbered step - no compound steps ("Click X and then Y")
- UI element names bolded exactly as they appear in the product
- Sub-options formatted as indented bullet list inside the relevant step
- "What happens next" section sets expectations after the last step
- 2-3 related articles linked at the bottom
- Word count: 150-400 words
Troubleshooting article template
Use for: diagnosing and resolving a specific error or broken behavior ("X is not working")
# [Problem statement in the user's own words]
Examples:
"I can't log in to my account"
"My CSV export is empty"
"Team members aren't receiving invitation emails"
[One sentence acknowledging the problem and stating that this article
covers the most common causes and fixes.]
## Common causes
This usually happens because:
- [Cause 1 - most frequent, simplest to fix]
- [Cause 2]
- [Cause 3 - least frequent or most complex]
## Fix 1: [Short label for Cause 1]
[One sentence confirming this cause and who it applies to.]
1. [Diagnostic step to confirm this is the cause]
2. [Fix step]
3. [Verification step - what the user sees when it works]
## Fix 2: [Short label for Cause 2]
1. [Diagnostic step]
2. [Fix step]
3. [Verification step]
## Fix 3: [Short label for Cause 3]
1. [Diagnostic step]
2. [Fix step]
3. [Verification step]
## Still not working?
If none of the fixes above resolved the issue, contact support and include:
- Your account email address
- The error message you see (paste the exact text or attach a screenshot)
- Browser name and version, or device and OS if on mobile
- The steps you already triedTroubleshooting writing checklist
- Title matches how the user describes the problem - not the technical root cause
- Causes listed in order of likelihood (most common first)
- Each fix is self-contained - a user can jump directly to Fix 2 without reading Fix 1
- Every fix ends with a verification step so the user knows whether it worked
- Escalation path at the bottom includes the exact information support needs
- Word count: 200-600 words
FAQ article template
Use for: short, direct answers to common factual questions about a topic
# Frequently asked questions: [topic]
Examples:
"Frequently asked questions: billing"
"Frequently asked questions: workspace permissions"
---
## [Question as the user would ask it]
Examples:
"How do I cancel my subscription?"
"Can I change my billing email address?"
"What happens to my data if I downgrade?"
[Direct answer in 1-3 sentences. If the answer requires more than 150 words,
it belongs in a standalone how-to article. Link to it instead.]
---
## [Next question]
[Direct answer.]
---
## [Next question]
[Direct answer.]FAQ writing rules
- Maximum 10 questions per page. Beyond that, split by subtopic or create individual articles.
- Answer in the first sentence. Never open with context or "Great question!".
- Write questions in first person as the user would ask them: "How do I..." not "How to..."
- Order by frequency (most asked first), not alphabetically.
- If an answer needs a numbered list of steps, convert it to a how-to article and link to it.
- Every FAQ page should have a "Didn't find your answer?" link to contact support at the bottom.
Reference article template
Use for: complete specs, settings tables, limits, permissions matrices, or glossaries
# [Feature or setting name] reference
[One sentence describing what this reference covers and who uses it.]
Example: "This page lists all permission levels in [Product], what each role
can access, and which plan each role is available on."
---
## [Section heading, e.g., "Permission levels"]
| [Column 1] | [Column 2] | [Column 3] |
|---|---|---|
| [Value] | [Description] | [Notes or plan availability] |
| [Value] | [Description] | [Notes] |
---
## [Next section, e.g., "Rate limits"]
| [Column 1] | [Column 2] |
|---|---|
| [Endpoint or action] | [Limit] |
---
## [Next section, e.g., "Glossary"]
**[Term]**
[Definition in 1-2 sentences.]
**[Term]**
[Definition.]
---
## Related articles
- [How-to article that uses these settings]
- [Troubleshooting article for common configuration errors]Reference writing rules
- Open with a one-sentence scope statement - what the table covers and who it is for.
- Use tables for anything with 3+ rows and 2+ columns. Prose lists are harder to scan.
- Every table needs a header row with clear column names.
- Add a "Notes" or "Plan availability" column whenever a value is conditional.
- Link to the how-to or troubleshooting article that uses these settings - reference articles alone don't tell users what to do.
- Add anchor links (
## Section name) to every major section when the page exceeds 500 words. - Word count: no target - as complete as needed. Use anchor navigation, not length limits.
Style guide: rules that apply to all article types
| Rule | Do this | Not this |
|---|---|---|
| Person | "You can export your data from Settings" | "Users can export their data" |
| Voice | Active: "Click Save to apply changes" | Passive: "Changes are applied when Save is clicked" |
| Tense | Present: "Your file downloads automatically" | Future: "Your file will be downloaded" |
| UI labels | Bold exact label: "Click Export data" | Describe location: "click the export button in the top-right" |
| Sentence length | Under 25 words | Compound sentences joined with multiple "and" or "but" clauses |
| Screenshots | Add when UI placement is ambiguous | Add for every step (screenshots go stale fast) |
| Jargon | Use the exact term shown in the product UI | Invent synonyms or shorthand not used in the product |
| Tone | Direct and instructional: "Go to..." "Click..." "Enter..." | Conversational padding: "First, you'll want to..." "Go ahead and click..." |
help-center-architecture.md
Help Center Architecture
Detailed patterns for designing help center information architecture across common complexity scenarios: multi-product, multi-role, multilingual, and high-scale knowledge bases.
Single-product help center
The simplest and most common pattern. One product, one audience, one help center.
Recommended category structure
Help Center
Getting Started
- Quick start guide
- System requirements
- First-time setup
Account & Settings
- Profile settings
- Password and security
- Notification preferences
[Core Feature 1]
- [Subtopic articles]
[Core Feature 2]
- [Subtopic articles]
Billing & Payments
- Plans and pricing
- Invoices and receipts
- Payment methods
- Cancellation and refunds
Integrations
- [Per-integration articles]
Troubleshooting
- [Common issues organized by symptom]Design rules for single-product
- 5-9 top-level categories - Fewer than 5 feels incomplete; more than 9 overwhelms navigation. If you have more than 9, you probably need subcategories.
- Getting Started always first - New users scan left-to-right, top-to-bottom. Put onboarding content where they look first.
- Troubleshooting as a catch-all - Users who cannot find their answer in a feature category will look here. Organize by symptom, not by cause.
- Billing always present - Even if you think billing is simple, users will search for it. Give it its own category.
Multi-product help center
When your company has multiple distinct products that share a help center.
Pattern A: Product-first navigation
Help Center
[Product A]
Getting Started
Features
Billing
Troubleshooting
[Product B]
Getting Started
Features
Billing
Troubleshooting
[Shared / Platform]
Account management
SSO and security
API referenceBest for: Products with distinct user bases and minimal overlap. Users of Product A rarely need Product B content.
Pattern B: Topic-first with product filters
Help Center
Getting Started
- Getting started with Product A
- Getting started with Product B
Account & Settings (shared)
Billing (shared or per-product)
[Topic 1]
- Product A: [article]
- Product B: [article]
[Topic 2]
...Best for: Products that share concepts and users frequently use both. Reduces duplication of shared content (account, billing, SSO).
Choosing between patterns
| Factor | Product-first | Topic-first |
|---|---|---|
| User overlap | Low (separate audiences) | High (same users, both products) |
| Shared features | Few | Many (shared auth, billing, API) |
| Content volume | Large per product (50+ articles each) | Moderate per product (< 50 each) |
| Maintenance cost | Higher (duplicated shared content) | Lower (shared content in one place) |
Role-based help center
When different user roles need different content (e.g., admin vs end-user, buyer vs seller, teacher vs student).
Pattern: Role-based sections with shared core
Help Center
For Admins
- Admin setup guide
- Managing users
- Security settings
- Billing and invoices
- Audit logs
For Team Members
- Getting started
- Daily workflows
- Collaboration features
- Personal settings
General
- Account basics
- System requirements
- Contact supportImplementation guidelines
- Identify the role split - Only create role sections when content divergence is significant (> 30% of articles are role-specific). For minor differences, use callout boxes within shared articles: "Admin only: You can also..."
- Shared content stays shared - Do not duplicate articles that apply to all roles. Place them in a shared section or link from role sections.
- Default to the most common role - If 80% of users are end-users and 20% are admins, make end-user content the default experience. Admin content gets its own section.
- Search should cross boundaries - When a user searches, show results from all sections (with role labels), not just their assumed role.
Multilingual help center
When your knowledge base needs to serve users in multiple languages.
Tier system for translation priority
Not all articles need translation into all languages. Use a tier system:
| Tier | Content | Translation priority |
|---|---|---|
| Tier 1 | Getting started, billing, top 20 articles by traffic | Translate into all supported languages |
| Tier 2 | Feature articles for features available in that locale | Translate into languages where the feature is available |
| Tier 3 | Advanced, niche, or low-traffic articles | English only, translate on demand |
Architecture decisions
Subdomain vs subdirectory vs URL parameter
- Subdomain:
fr.help.example.com- Clean separation, SEO-friendly - Subdirectory:
help.example.com/fr/- Easier to manage, shares domain authority - URL parameter:
help.example.com?lang=fr- Avoid; poor SEO, confusing URLs - Recommendation: Subdirectory for most help centers. Subdomain only if you have dedicated localization teams per language.
- Subdomain:
Fallback behavior - When an article is not translated, show the English version with a banner: "This article is not yet available in [language]. Showing the English version." Never show a 404.
Language detection - Auto-detect from browser locale, but always provide a manual language switcher. Never force a language based on IP geolocation alone (users travel, use VPNs).
Search per language - Search should default to the user's selected language but optionally include English results when the translated knowledge base has coverage gaps.
Translation workflow
1. Author writes article in primary language (usually English)
2. Article is marked "ready for translation"
3. Translation team or service translates Tier 1 content first
4. Translated article is reviewed by a native speaker (not just a translator)
5. Published with cross-links to other language versions
6. When the source article is updated, translated versions are flagged for re-reviewHigh-scale knowledge base (500+ articles)
At scale, standard flat navigation breaks down. Apply these patterns:
1. Faceted navigation
Add filters alongside category navigation:
- Product (for multi-product)
- Role (admin, user, developer)
- Content type (how-to, troubleshooting, reference, video)
- Feature area (subset of categories)
2. Smart search with auto-suggest
At 500+ articles, browsing becomes impractical. Search becomes the primary navigation method. Invest in:
- Auto-complete that suggests article titles as the user types
- Popular/trending queries shown before the user types
- Recent articles shown as suggestions for returning users
3. Content governance model
| Role | Responsibility | Cadence |
|---|---|---|
| Knowledge manager | Owns taxonomy, review cycles, quality bar | Ongoing |
| Content owners (per category) | Write and update articles in their domain | Weekly |
| Support team | Flag inaccurate articles, suggest new content | Per ticket |
| Product team | Notify knowledge team of feature changes pre-launch | Per release |
4. Article lifecycle management
Draft -> Review -> Published -> [Active lifecycle] -> Stale -> Review -> Updated
-> Archived/Retired- Published articles get a mandatory review date (3-6 months from publish)
- Stale articles (past review date) are flagged in the CMS dashboard
- Archived articles are removed from navigation and search but preserved with a redirect to the replacement article or a "This article has been retired" notice
5. Content reuse
For shared content that appears in multiple articles (e.g., "How to access admin settings" is referenced in 15 articles):
- Use content snippets / includes if your platform supports them (Zendesk dynamic content, Confluence includes, custom CMS components)
- If not supported, write the shared content in one canonical article and link to it from others. Do not copy-paste.
Migration planning
When moving from one help center platform to another:
Pre-migration checklist
- Inventory all content - Export every article with metadata: title, category, URL, views, last updated, author, language.
- Audit before migration - Do not migrate stale or duplicate content. Clean up first; migrate less.
- Map URL structure - Plan the new URL scheme. Create a redirect map from every old URL to every new URL. 301 redirects are mandatory.
- Test search - After migration, test the top 50 search queries from your old platform against the new one. Verify results are comparable.
- Preserve analytics - Set up tracking on the new platform before launch. Establish a baseline for comparison.
- Communicate the change - Notify users (banner, email) and internal teams (support, sales) about the new help center URL and any navigation changes.
Common migration pitfalls
| Pitfall | Impact | Prevention |
|---|---|---|
| Missing redirects | Broken links from search engines, bookmarks, and in-app help links | Create redirect map before launch; test every old URL |
| Migrating everything | Stale content pollutes the new platform | Audit and prune before migration |
| Ignoring search config | Synonyms, boosted articles, and promoted results do not transfer | Rebuild search configuration manually on the new platform |
| Format loss | Rich content (tables, callouts, embedded media) may render differently | Test a sample of complex articles on the new platform first |
search-optimization.md
Search Optimization
Deep dive on making knowledge base content discoverable through search. Covers ranking signals, synonym management, zero-result handling, and platform-specific configuration.
How help center search works
Most help center platforms (Zendesk, Intercom, HelpScout, Freshdesk, Confluence) use a simplified search pipeline:
User query
-> Tokenization (split into words, remove stop words)
-> Synonym expansion (map user terms to official terms)
-> Field-weighted matching (title > tags > body)
-> Scoring (relevance + popularity + recency)
-> Results ranked and returnedUnlike web search engines, help center search engines have limited NLP. They rely heavily on exact and partial keyword matches. This means your optimization strategy must focus on putting the right words in the right fields.
Ranking signal weights
Typical weight distribution across help center platforms:
| Signal | Weight | What to optimize |
|---|---|---|
| Title match | Highest (3-5x body) | Use the exact query phrase users type |
| Tag / label match | High (2-3x body) | Add 3-5 synonym tags per article |
| Body content match | Baseline (1x) | Front-load key terms in the first 150 chars |
| Popularity (views) | Moderate boost | Promote important articles via in-app links |
| Recency | Moderate boost | Update articles regularly to maintain freshness signal |
| Helpful votes | Low-moderate boost | Improve article quality to earn positive votes |
Title optimization tactics
The title is the single most impactful ranking factor. Optimize it by:
- Mirror user language - Check search analytics for the top 5 query variations for each topic. Use the most common phrasing as the title.
- Lead with the action - "Reset your password" ranks better for password-reset queries than "Password Management Overview".
- Include the object - "Export your invoice as PDF" is more specific and searchable than "Export options".
- Skip articles and filler - "Connect Slack integration" not "How to connect the Slack integration to your workspace".
- Test with real queries - After updating a title, search for the top 3 user queries for that topic. The article should appear in the top 3 results.
Synonym dictionary
A synonym dictionary maps user vocabulary to your official product terms. Without it, users who search "bill" will not find articles titled "invoice".
Building a synonym dictionary
- Mine search queries - Export 90 days of search queries. Group queries that target the same article but use different words.
- Mine support tickets - Look at how users describe problems in ticket subjects and bodies. Note non-standard terms.
- Map bidirectional pairs - For each official term, list all user variants:
synonyms:
- canonical: "invoice"
variants: ["bill", "receipt", "payment record", "statement"]
- canonical: "sign in"
variants: ["log in", "login", "sign on", "authenticate"]
- canonical: "workspace"
variants: ["organization", "org", "team", "company", "account"]
- canonical: "integration"
variants: ["connection", "plugin", "add-on", "app", "connector"]
- canonical: "subscription"
variants: ["plan", "membership", "license", "pricing tier"]
- canonical: "permission"
variants: ["access", "role", "privilege", "authorization"]- Configure in your platform - Most platforms support synonym configuration:
- Zendesk - Admin > Search > Synonyms
- Intercom - Settings > Help Center > Search synonyms
- Freshdesk - Admin > Help Widget > Search settings
- Confluence - Site admin > Search > Synonyms (Data Center only)
Synonym maintenance
Review and expand the synonym dictionary monthly. New features introduce new jargon gaps. Track zero-result queries as the primary source of missing synonyms.
Zero-result query handling
A zero-result search means the user asked a question your knowledge base cannot answer. Every zero-result query is either a content gap or a search configuration gap.
Weekly zero-result review process
- Export zero-result queries - Most platforms provide this in search analytics.
- Classify each query:
| Classification | Action |
|---|---|
| Content gap - no article exists | Create the article, add to content backlog |
| Synonym gap - article exists but uses different terms | Add the query terms as synonyms or tags |
| Typo / misspelling | Configure the platform's fuzzy matching or add common misspellings as synonyms |
| Out of scope - not a support question | No action needed, but monitor volume |
- Prioritize by frequency - A zero-result query searched 50 times per week is more urgent than one searched twice.
- Track resolution - After fixing, verify the query now returns relevant results. Recheck in the following week's report.
Reducing zero-result rate
Target a zero-result rate below 10%. Healthy knowledge bases typically achieve 3-7%. If your rate is above 15%, prioritize synonym dictionary expansion and content gap filling before any other knowledge base work.
Search result page optimization
The search results page itself affects whether users find answers:
- Show snippet text - Display the first 150-200 characters of the article body (or a custom meta description) below the title. This helps users evaluate relevance before clicking.
- Show category breadcrumbs - "Billing > Invoices > Download your invoice" gives context that helps users pick the right result.
- Highlight matching terms - Bold the matched query terms in the title and snippet to confirm relevance.
- Offer related suggestions - When results are sparse (1-2 matches), show related articles or categories below the results.
- Provide a fallback CTA - Below search results, always include: "Can't find what you're looking for? Contact support." This prevents dead-end frustration.
Measuring search effectiveness
Track these search-specific metrics:
| Metric | Target | How to measure |
|---|---|---|
| Zero-result rate | < 10% | Searches with no results / total searches |
| Click-through rate | > 40% | Searches where user clicked a result / total searches |
| Search-to-ticket rate | < 15% | Users who searched then opened a ticket / users who searched |
| First-result accuracy | > 60% | Users who clicked the first result / users who clicked any result |
| Refinement rate | < 25% | Users who searched again after first search / total searchers |
A high refinement rate (users searching multiple times) indicates poor result relevance or unclear article titles. A high search-to-ticket rate indicates content gaps or unhelpful articles.
Platform-specific search features
Zendesk Guide
- Supports synonym configuration in admin panel
- Federated search across help center, community, and tickets
- Content cues suggest articles to create based on ticket trends
- Promoted search results (pin specific articles for specific queries)
Intercom Articles
- AI-powered search with natural language understanding
- Article suggestions in the Messenger widget
- Resolution bot can suggest articles before showing search results
- Synonym support in search settings
HelpScout Docs
- Beacon widget embeds search in-app
- Suggested articles based on page URL matching
- Search analytics dashboard with zero-result tracking
- Tag-based search boosting
Freshdesk Knowledge Base
- AI-suggested articles during ticket creation
- Multi-language search with automatic language detection
- Article feedback integration with search ranking
- SEO settings for public-facing knowledge bases
SEO for public knowledge bases
If your help center is publicly accessible and indexed by search engines, apply these additional optimizations:
- Unique meta titles - Format: "[Article title] | [Product name] Help Center"
- Meta descriptions - Summarize the article in under 160 characters. Include the primary keyword and a benefit statement.
- Clean URLs -
/help/billing/download-invoicenot/help/article/12345 - Schema markup - Add FAQPage or HowTo structured data where applicable. This enables rich snippets in search results.
- Internal linking - Link between related articles. This distributes page authority and helps search engines understand topic relationships.
- Canonical URLs - If the same article appears in multiple categories, set a canonical URL to prevent duplicate content issues.
Frequently Asked Questions
What is knowledge-base?
Use this skill when designing help center architecture, writing support articles, or optimizing search and self-service. Triggers on knowledge base, help center, support articles, self-service, article templates, search optimization, content taxonomy, and any task requiring help documentation design or management.
How do I install knowledge-base?
Run npx skills add AbsolutelySkilled/AbsolutelySkilled --skill knowledge-base in your terminal. The skill will be immediately available in your AI coding agent.
What AI agents support knowledge-base?
knowledge-base works with claude-code, gemini-cli, openai-codex. Install it once and use it across any supported AI coding agent.