featbit

📁 jinfanzheng/kode-sdk-csharp 📅 14 days ago
1
总安装量
1
周安装量
#44904
全站排名
安装命令
npx skills add https://github.com/jinfanzheng/kode-sdk-csharp --skill featbit

Agent 安装分布

mcpjam 1
claude-code 1
kilo 1
junie 1
windsurf 1
zencoder 1

Skill 文档

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

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)