featbit
npx skills add https://github.com/jinfanzheng/kode-sdk-csharp --skill featbit
Agent 安装分布
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
- Direct Answer: Clear answer in the language of the question, do not repeat the question
- Code Examples: Provide directly runnable code for SDK integration questions
- 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)
-
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
-
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
-
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
-
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
-
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
-
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:
-
Precise Location: Does the question contain platform/category keywords?
- Yes â Use
keywords.mdrules for precise matching - No â Return overview page
https://docs.featbit.co/
- Yes â Use
-
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
-
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)
-
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 mappingreferences/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)