/business — Business Context Browser
Interactive browser for your organization's knowledge system. Explore terms,
products, metrics, objectives, and team structure.
Scope
This skill browses the organization's documented knowledge in
.knowledge/organizations/{org}/business/ (via helpers/knowledge/business_context.py).
It never queries the dataset: /business products shows the product catalog YAML, not the
products table. For what exists in the data, use /explore; for analysis history, /history.
Trigger
Invoked as /business or /business {subcommand}
Prerequisites
- Organization context must exist at
.knowledge/organizations/{org}/
- Read
.knowledge/setup-state.yaml to find active organization
- If no org configured: "No organization context found. Run
/setup Phase 3 to configure business context, or create one manually at .knowledge/organizations/{name}/."`
Subcommands
/business (no args) — Overview
Display a summary of available business context:
📊 Business Context: {org_name}
Glossary: {n} terms defined
Products: {n} products cataloged
Metrics: {n} metrics specified
Objectives: {n} OKRs/goals tracked
Teams: {n} teams mapped
Type /business {category} for details.
Implementation:
- Read
.knowledge/setup-state.yaml to find active organization name
- REQUIRED: Use
helpers/knowledge/business_context.py → load_business_context(org_path) to load data
- DO NOT manually read YAML files
- The helper handles file not found errors, parsing errors, and provides consistent structure
- Count entries in each category (glossary, products, metrics, objectives, teams)
- Display summary table
- If business context is empty or sparse (fewer than 3 categories populated):
- Check
.knowledge/analyses/index.yaml for past analyses
- If analyses exist, add a section called "Implicit Knowledge (from Past Analyses)"
- Extract and show:
- Most frequently analyzed metrics (count mentions across analysis titles/tags)
- Recurring business questions or themes
- Common data gotchas from the active dataset's
quirks.md
- This helps new team members understand what the team actually measures, even when formal docs aren't populated yet
- Frame this as "What the team measures (inferred from past work)" vs "Formal documentation (not yet configured)"
- Always provide next steps: suggest
/setup to populate formal context, or show how to add entries manually
/business glossary — Browse Terms
Display all business term definitions:
📖 Glossary ({n} terms)
Term | Definition | Category
──────────────────|─────────────────────────────────────|──────────
Active User | User with ≥1 session in last 30d | Engagement
Churn | No activity for 60+ days | Retention
...
Implementation:
- Load via the helper (
get_glossary())
- Sort alphabetically
- Show first 20 terms; offer "Show all" if more
- If empty: "No glossary terms defined. Add terms to
.knowledge/organizations/{org}/business/glossary/terms.yaml."
/business products — View Product Catalog
Display product hierarchy:
📦 Products ({n} total)
Product | Category | Status | Key Metrics
──────────────────|─────────────|───────────|────────────
Core Platform | SaaS | Active | MAU, Revenue
Mobile App | Mobile | Active | DAU, Retention
...
Implementation:
- Load via the helper (
get_products())
- Display in table format
- If empty: "No products defined. Add products to
.knowledge/organizations/{org}/business/products/index.yaml."
/business metrics — Inspect Metric Definitions
Display metric dictionary:
📏 Metrics ({n} defined)
Metric | Type | Formula/Definition | Owner
──────────────────|─────────────|───────────────────────────|──────
Conversion Rate | Ratio | signups / visitors | Growth
MRR | Currency | SUM(active_subscriptions) | Finance
...
Implementation:
- Load via the helper (
get_metrics())
- Cross-reference with
.knowledge/datasets/{active}/metrics/ if available
- Show definition, type, owner
- If empty: "No metrics defined. Use the metric-spec skill to define metrics, or add to
.knowledge/organizations/{org}/business/metrics/index.yaml."
/business objectives — Review OKRs/Goals
Display current objectives:
🎯 Objectives ({n} active)
Objective | Key Results | Status
───────────────────────────────|──────────────────────────|────────
Increase activation rate | +15% by Q2 | On Track
Reduce churn | <5% monthly by Q3 | At Risk
...
Implementation:
- Load via the helper (
get_objectives())
- Show status indicators (On Track / At Risk / Behind)
- If empty: "No objectives defined. Add OKRs to
.knowledge/organizations/{org}/business/objectives/index.yaml."
/business teams — Show Team Structure
Display team organization:
👥 Teams ({n} mapped)
Team | Lead | Focus Area | Analysts
──────────────────|─────────────|───────────────────|──────────
Growth | Jane D. | Acquisition | 2
Product | John S. | Core Experience | 3
...
Implementation:
- Load via the helper (
get_teams())
- Show team summary
- If empty: "No teams defined. Add team structure to
.knowledge/organizations/{org}/business/teams/index.yaml."
/business lookup {term} — Search
Search across all categories for a term:
- Search glossary terms (exact + fuzzy match)
- Search product names
- Search metric names
- Search objective text
- Display all matches with category labels
If no match: "No results for '{term}'. Try a different search term or browse categories with /business."
Implementation:
- Use
helpers/knowledge/business_context.py → get_glossary(), get_products(), etc.
- Case-insensitive substring match across all categories
- Rank: exact match > starts-with > contains
- Show top 10 results with category badge
- If no formal match found AND the term looks like a metric (e.g., contains "rate", "count", "total", "revenue", "user"):
- Check the active dataset's
schema.md for columns matching the term
- Check the active dataset's
quirks.md for mentions of the term
- If found, show: "Not in formal glossary, but found in dataset: [column name] — [description]. Consider adding to
/business metrics for future reference."
Error Handling
- Missing org directory → suggest
/setup Phase 3
- Empty categories → show helpful "how to add" message with file path
- Malformed YAML → show parse error, suggest checking file syntax
- Partial context (some categories empty) → show what exists, note gaps
Display Rules
- Use tables for structured data (align columns)
- Limit initial display to 20 rows; offer pagination
- Always show file paths so users know where to edit
- Adapt detail level: summary for
/business, detail for subcommands
1---2name: business3description: Browse, search, and explore your organization's business context system — glossary terms, product catalog, metric definitions, OKRs/objectives, and team structure. This skill provides interactive access to all business knowledge stored in `.knowledge/organizations/`. Use this skill whenever the user wants to understand business terminology, look up metric definitions, explore what products exist, review company objectives, understand team structure, search for business terms, or generally wants to know "what business context do we have?" Trigger on phrases like "/business", "show me our glossary", "what metrics are defined?", "what products do we have?", "show me our OKRs", "who's on which team?", "look up [business term]", "search for [term] in our business knowledge", "what's the definition of [term]?", "show me our business context", "browse our company knowledge", "what teams do we have?", "find [term] in the knowledge base", or any request to view or search organizational knowledge. This skill is especia4---56# /business — Business Context Browser78> Interactive browser for your organization's knowledge system. Explore terms,9> products, metrics, objectives, and team structure.1011## Scope1213This skill browses the organization's documented knowledge in14`.knowledge/organizations/{org}/business/` (via `helpers/knowledge/business_context.py`).15It never queries the dataset: `/business products` shows the product catalog YAML, not the16`products` table. For what exists in the data, use `/explore`; for analysis history, `/history`.1718## Trigger19Invoked as `/business` or `/business {subcommand}`2021## Prerequisites22- Organization context must exist at `.knowledge/organizations/{org}/`23- Read `.knowledge/setup-state.yaml` to find active organization24- If no org configured: "No organization context found. Run `/setup` Phase 3 to configure business context, or create one manually at `.knowledge/organizations/{name}/`."`252627## Subcommands2829### `/business` (no args) — Overview30Display a summary of available business context:3132```33📊 Business Context: {org_name}3435 Glossary: {n} terms defined36 Products: {n} products cataloged37 Metrics: {n} metrics specified38 Objectives: {n} OKRs/goals tracked39 Teams: {n} teams mapped4041Type /business {category} for details.42```4344**Implementation:**451. Read `.knowledge/setup-state.yaml` to find active organization name462. **REQUIRED:** Use `helpers/knowledge/business_context.py` → `load_business_context(org_path)` to load data47 - DO NOT manually read YAML files48 - The helper handles file not found errors, parsing errors, and provides consistent structure493. Count entries in each category (glossary, products, metrics, objectives, teams)504. Display summary table515. **If business context is empty or sparse (fewer than 3 categories populated):**52 - Check `.knowledge/analyses/index.yaml` for past analyses53 - If analyses exist, add a section called "Implicit Knowledge (from Past Analyses)"54 - Extract and show:55 - Most frequently analyzed metrics (count mentions across analysis titles/tags)56 - Recurring business questions or themes57 - Common data gotchas from the active dataset's `quirks.md`58 - This helps new team members understand what the team actually measures, even when formal docs aren't populated yet59 - Frame this as "What the team measures (inferred from past work)" vs "Formal documentation (not yet configured)"606. Always provide next steps: suggest `/setup` to populate formal context, or show how to add entries manually6162### `/business glossary` — Browse Terms63Display all business term definitions:6465```66📖 Glossary ({n} terms)6768 Term | Definition | Category69 ──────────────────|─────────────────────────────────────|──────────70 Active User | User with ≥1 session in last 30d | Engagement71 Churn | No activity for 60+ days | Retention72 ...73```7475**Implementation:**761. Load via the helper (`get_glossary()`)772. Sort alphabetically783. Show first 20 terms; offer "Show all" if more794. If empty: "No glossary terms defined. Add terms to `.knowledge/organizations/{org}/business/glossary/terms.yaml`."8081### `/business products` — View Product Catalog82Display product hierarchy:8384```85📦 Products ({n} total)8687 Product | Category | Status | Key Metrics88 ──────────────────|─────────────|───────────|────────────89 Core Platform | SaaS | Active | MAU, Revenue90 Mobile App | Mobile | Active | DAU, Retention91 ...92```9394**Implementation:**951. Load via the helper (`get_products()`)962. Display in table format973. If empty: "No products defined. Add products to `.knowledge/organizations/{org}/business/products/index.yaml`."9899### `/business metrics` — Inspect Metric Definitions100Display metric dictionary:101102```103📏 Metrics ({n} defined)104105 Metric | Type | Formula/Definition | Owner106 ──────────────────|─────────────|───────────────────────────|──────107 Conversion Rate | Ratio | signups / visitors | Growth108 MRR | Currency | SUM(active_subscriptions) | Finance109 ...110```111112**Implementation:**1131. Load via the helper (`get_metrics()`)1142. Cross-reference with `.knowledge/datasets/{active}/metrics/` if available1153. Show definition, type, owner1164. If empty: "No metrics defined. Use the metric-spec skill to define metrics, or add to `.knowledge/organizations/{org}/business/metrics/index.yaml`."117118### `/business objectives` — Review OKRs/Goals119Display current objectives:120121```122🎯 Objectives ({n} active)123124 Objective | Key Results | Status125 ───────────────────────────────|──────────────────────────|────────126 Increase activation rate | +15% by Q2 | On Track127 Reduce churn | <5% monthly by Q3 | At Risk128 ...129```130131**Implementation:**1321. Load via the helper (`get_objectives()`)1332. Show status indicators (On Track / At Risk / Behind)1343. If empty: "No objectives defined. Add OKRs to `.knowledge/organizations/{org}/business/objectives/index.yaml`."135136### `/business teams` — Show Team Structure137Display team organization:138139```140👥 Teams ({n} mapped)141142 Team | Lead | Focus Area | Analysts143 ──────────────────|─────────────|───────────────────|──────────144 Growth | Jane D. | Acquisition | 2145 Product | John S. | Core Experience | 3146 ...147```148149**Implementation:**1501. Load via the helper (`get_teams()`)1512. Show team summary1523. If empty: "No teams defined. Add team structure to `.knowledge/organizations/{org}/business/teams/index.yaml`."153154### `/business lookup {term}` — Search155Search across all categories for a term:1561571. Search glossary terms (exact + fuzzy match)1582. Search product names1593. Search metric names1604. Search objective text1615. Display all matches with category labels162163If no match: "No results for '{term}'. Try a different search term or browse categories with `/business`."164165**Implementation:**1661. Use `helpers/knowledge/business_context.py` → `get_glossary()`, `get_products()`, etc.1672. Case-insensitive substring match across all categories1683. Rank: exact match > starts-with > contains1694. Show top 10 results with category badge1705. **If no formal match found AND the term looks like a metric (e.g., contains "rate", "count", "total", "revenue", "user"):**171 - Check the active dataset's `schema.md` for columns matching the term172 - Check the active dataset's `quirks.md` for mentions of the term173 - If found, show: "Not in formal glossary, but found in dataset: [column name] — [description]. Consider adding to `/business metrics` for future reference."174175## Error Handling176- Missing org directory → suggest `/setup` Phase 3177- Empty categories → show helpful "how to add" message with file path178- Malformed YAML → show parse error, suggest checking file syntax179- Partial context (some categories empty) → show what exists, note gaps180181## Display Rules182- Use tables for structured data (align columns)183- Limit initial display to 20 rows; offer pagination184- Always show file paths so users know where to edit185- Adapt detail level: summary for `/business`, detail for subcommands