Agent skill

featbit

FeatBit official documentation real-time Q&A assistant. Activate when user mentions "FeatBit", "feature flag", "feature toggle", or asks about FeatBit SDK integration, deployment, or configuration. Capabilities: Real-time fetching from docs.featbit.co and GitHub, supporting SDK integration, Docker/K8s deployment, feature flag configuration, A/B testing, and more.

Stars 65
Forks 25

Install this agent skill to your Project

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

Metadata

Additional technical details for this skill

tier
retrieval
author
Kode SDK
version
4.0.0
category
integration
features
[
    "real-time-fetch",
    "keyword-matching",
    "doc-qa"
]
supported topics
[
    "sdk-integration",
    "deployment",
    "configuration",
    "troubleshooting",
    "feature-flags",
    "targeting-rules",
    "ab-testing",
    "rollouts"
]

SKILL.md

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
markdown
## 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)

python
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:

bash
# 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

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:

python
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:

python
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)

Expand your agent's capabilities with these related and highly-rated skills.

JinFanZheng/kode-sdk-csharp

email

Email operations via IMAP/SMTP. Trigger for inbox checking, reading, drafting, or sending emails. Requires `.config/email.json` setup.

65 25
Explore
JinFanZheng/kode-sdk-csharp

food

餐饮推荐/吃什么/哪里吃/咖啡酒吧甜品夜宵。用于用户问“附近有什么好吃的/餐厅推荐/人均多少/营业到几点/要不要预约/适合亲子或请客”等。 默认做“查询时间快照”(当地时间)并给来源链接;不编造店名/地址/营业时间/人均/评分;信息不足先问2-3个关键问题。

65 25
Explore
JinFanZheng/kode-sdk-csharp

itinerary

行程安排/行程规划(国内为主)。当用户要你“做行程/排几天怎么玩/把交通酒店景点串起来/做出差安排/把计划写进日历”时使用。 产出可执行的日程(含时间块),并在引用外部事实时附来源链接与来源当地时间;绝不编造。

65 25
Explore
JinFanZheng/kode-sdk-csharp

data-files

File router that routes uploaded files to appropriate analysis skills. CSV/Excel/JSON → data-analysis, Images → data-viz, PDF/HTML → data-base.

65 25
Explore
JinFanZheng/kode-sdk-csharp

news

News briefing + verification workflow. Use when the user asks for news, headlines, daily briefing, “today's news”, “latest updates”, breaking news, or requests specific current numbers/events that require reliable sources and timestamps. Requires source links + local published time; NEVER fabricate.

65 25
Explore
JinFanZheng/kode-sdk-csharp

knowledge

External knowledge capture and retrieval. Trigger when user wants to save notes, bookmarks, code snippets, or reference material for later access.

65 25
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results