Agent Skills: FeatBit Documentation Q&A Assistant

>-

integrationID: jinfanzheng/kode-sdk-csharp/featbit

Install this agent skill to your local

pnpm dlx add-skill https://github.com/JinFanZheng/kode-sdk-csharp/tree/HEAD/examples/Kode.Agent.WebApiAssistant/skills/featbit

Skill Files

Browse the full folder contents for featbit.

Download Skill

Loading file tree…

examples/Kode.Agent.WebApiAssistant/skills/featbit/SKILL.md

Skill Metadata

Name
featbit
Description
>-

FeatBit Documentation Q&A Assistant

Real-time fetching with precise routing, no index maintenance, always up-to-date information.

Documentation Architecture (Critical)

| Doc Type | Hosting | Fetch Method | Reason | |----------|---------|--------------|--------| | SDK Integration | GitHub README | webReader on GitHub | SDK docs not on official site | | Deployment/Features | docs.featbit.co | webReader on docs | Standard doc structure | | All Types | Real-time, no cache | FeatBit under active development, docs update frequently |

Decision Logic: If question contains "SDK", "integration", "client", "server" keywords → GitHub; otherwise → docs.featbit.co

Workflow

User Question
    ↓
[MANDATORY Step 1] Load Routing Rules
    ↓
Use fs_read to completely read the following files (do NOT set line limits):
  - references/page-map.md (29 documentation page mappings)
  - references/keywords.md (keyword matching priority rules)

[IMPORTANT] usage.md is for humans, Agent does NOT need to load it.
    ↓
Identify question type and platform according to keywords.md rules
    ↓
Locate relevant documentation pages from page-map.md (note SDK vs other docs hosting difference)
    ↓
Use webReader to fetch page content (GitHub URLs for SDK, docs.featbit.co for others)
    ↓
Answer question based on page content
    ↓
Attach source links

Answer Guidelines

Must Include

  1. Direct Answer: Clear answer in the language of the question, do not repeat the question
  2. Code Examples: Provide directly runnable code for SDK integration questions
  3. Source Links: Attach official documentation links at the end of each answer
## Answer

To integrate .NET SDK, follow these steps...

### Code Example

\`\`\`csharp
using FeatBit.ServerSdk;
var client = FbClient.Create(...);
\`\`\`

---
**Source**: [.NET Server SDK](https://github.com/featbit/featbit-dotnet-sdk)

Special Cases

No answer in documentation:

Sorry, the official documentation does not contain information about "xxx".
Please check [Official Documentation](https://docs.featbit.co/) or ask in [GitHub Issues](https://github.com/featbit/featbit/issues).

Multiple relevant pages:

Based on your question, the following documentation may be relevant:
1. [Page 1 Title](URL1) - Brief description
2. [Page 2 Title](URL2) - Brief description

NEVER DO (Learned from Pitfalls)

  1. NEVER assume all docs are on docs.featbit.co

    • ❌ Wrong: Using webReader on GitHub may get incomplete content
    • ✅ Right: SDK questions → GitHub README, others → docs.featbit.co
    • 🚨 Consequence: Providing incorrect SDK integration steps
  2. NEVER use LaunchDarkly or other competitor docs to infer

    • ❌ Wrong: "Feature flags should be similar"
    • ✅ Right: Must fetch from FeatBit official docs, say "not found in docs" if missing
    • 🚨 Consequence: APIs are completely different, causes integration failure
  3. NEVER cache documentation content for more than 24 hours

    • ❌ Wrong: Caching SDK docs to save tokens
    • ✅ Right: Always fetch in real-time, especially SDK content
    • 🚨 Consequence: FeatBit SDK updates frequently, cache leads to outdated API advice
  4. NEVER confuse SDK Key and Environment Secret

    • ❌ Wrong: Both keys serve the same purpose, use either
    • ✅ Right: SDK Key for client connections, Environment Secret for server API
    • 🚨 Consequence: Most common beginner mistake, causes SDK initialization failure
  5. NEVER answer with generic "feature flag" concepts

    • ❌ Wrong: Explaining what is feature flag, why use it
    • ✅ Right: Jump directly to "how to create in FeatBit UI" operational steps
    • 🚨 Consequence: User wants operational steps, not concept explanation
  6. NEVER ignore platform differences

    • ❌ Wrong: .NET SDK and JavaScript SDK initialize the same way
    • ✅ Right: Each platform SDK has specific initialization parameters and config
    • 🚨 Consequence: Cross-platform application leads to non-executable code

Tools

Recommended Tool: query.py

Location: scripts/query.py

Use Case: Quick documentation page location (no full answer needed)

from scripts.query import FeatBitDocFinder

# Find relevant pages
pages = FeatBitDocFinder.find_pages("How to integrate .NET SDK")

# Output:
# [
#   {
#     "url": "https://github.com/featbit/featbit-dotnet-sdk",
#     "category": "sdk",
#     "reason": "Matched category: sdk, platform: dotnet"
#   }
# ]

Command Line Usage:

# Query pages
python scripts/query.py "How to configure targeting rules"

# List all pages
python scripts/query.py --list-pages

# JSON output
python scripts/query.py "Where to find SDK key?" --json

Note: This tool is only for page location. Full Q&A still requires fetching page content.

Quick Reference

  • Official Documentation: https://docs.featbit.co/
  • GitHub Repository: https://github.com/featbit/featbit
  • SDK List: https://docs.featbit.co/sdk/overview
  • Deployment Guide: https://docs.featbit.co/installation/deployment-options

Question Type Quick Reference

| Question Type | Keywords | Hosting | Example | |---------------|----------|---------|---------| | SDK Integration | sdk, integration, initialize, client, server | GitHub | "How to integrate React SDK?" | | Deployment Operations | deployment, docker, kubernetes, helm | docs.featbit.co | "Docker deployment steps" | | Feature Management | feature flag, toggle, targeting, rollout, ab test | docs.featbit.co | "How to configure targeting rules?" | | Configuration Management | sdk key, secret, environment, webhook | docs.featbit.co | "Where to find SDK key?" |

Decision Framework

Before Fetching Documentation, Ask Yourself:

  1. Precise Location: Does the question contain platform/category keywords?

    • Yes → Use keywords.md rules for precise matching
    • No → Return overview page https://docs.featbit.co/
  2. Documentation Location: Is this an SDK question or other question?

    • SDK → Go to GitHub README
    • Other → Go to docs.featbit.co
    • Basis: Classification in page-map.md
  3. Timeliness: Does this type of information change frequently?

    • SDK API → Must fetch in real-time
    • Core concepts → Can cache 24h (but real-time still recommended)
  4. Completeness: Does the user need operational steps or concept explanation?

    • Operations → Fetch directly and provide steps
    • Concepts → Explain first, then provide doc link

Handling Fetch Failures

| Symptom | Possible Cause | Solution | |--------|----------------|----------| | 404 Error | URL expired | Check if page-map.md needs update | | Empty Content | GitHub README in non-standard location | Try fetching repository root directory | | Incomplete Content | webReader parsing issue | Try fetching directly from raw.githubusercontent.com |

Extension & Maintenance

Adding New Documentation Pages

Edit PAGES dictionary in scripts/query.py:

PAGES = {
    "sdk": {
        "new-platform": "https://github.com/featbit/featbit-new-platform-sdk",
    },
    "deployment": {
        "new-platform": "https://docs.featbit.co/installation/new-platform",
    },
}

Adding New Keywords

Edit KEYWORDS dictionary in scripts/query.py:

KEYWORDS = {
    "new-platform": ["new-platform", "np", "new platform"],
}

Important: When modifying, also update:

  • references/page-map.md - Documentation mapping
  • references/keywords.md - Keyword rules

Reference Materials

  • references/page-map.md - Complete mapping of 29 documentation pages (Agent MUST load)
  • references/keywords.md - Keyword matching rules and priorities (Agent MUST load)
  • references/usage.md - Human usage guide (Agent does NOT need to load)