skills/featbit-getting-started/SKILL.md
Step-by-step guide for getting started with FeatBit. Use when user asks about "getting started", "first feature flag", "FeatBit tutorial", "Dino Game demo", "create boolean flag", "multi-variant flag", or "how to use FeatBit". Do not use for advanced SDK integration, deployment configuration, REST API, or observability questions.
npx skillsauth add featbit/featbit-skills featbit-getting-startedInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Complete hands-on guide to getting started with FeatBit, covering environment initialization, creating boolean and multi-variant feature flags, interacting with the Dino Game demo, and integrating FeatBit SDKs into your applications.
This skill provides practical, step-by-step guidance for new FeatBit users to quickly understand core concepts through the interactive "Getting Started" experience in the FeatBit portal. You'll learn to create feature flags, see them in action with the Dino Game demo, and integrate FeatBit into your applications using SDKs.
First-Time Login Setup:
Prerequisites:
Basic Feature Flag Creation:
The simplest feature flag type is boolean (true/false). The "game runner" flag demonstrates this:
Steps:
false (disables feature)true (enables feature)Understanding Boolean Flags:
Accessing the Demo:
Initial State:
Making the Game Appear:
Key Concept: This demonstrates real-time feature control - changing flag state in the portal immediately affects the application behavior without code deployment or restart.
Beyond Boolean - Multiple Variations:
Multi-variant flags allow more than two states, perfect for A/B/C testing, configuration values, or progressive rollouts.
Example: Difficulty Mode Flag
Steps:
easynormalhardeasynormalDemo Interaction:
Multi-Variant Use Cases:
Portal-Guided Integration:
FeatBit provides automatically generated starter code for quick SDK integration.
Integration Steps:
Step 1 - Select Feature Flag:
Step 2 - Choose SDK and Copy Code:
Step 3 - Verify Connection:
Supported SDKs:
See SDK Overview for complete list.
Start with Boolean Flags: When learning FeatBit, begin with simple boolean flags before moving to multi-variant flags. This helps you understand the core concepts without complexity.
Use the Interactive Demo: The Dino Game demo is designed to provide immediate visual feedback. Use it to experiment with flag changes and understand the impact in real-time before implementing in your application.
Follow the Portal Guidance: The Getting Started wizard in the portal provides automatically generated, environment-specific code. This eliminates configuration errors and ensures correct setup.
Test Flag Changes: Before implementing flags in production applications, verify behavior in the demo environment or development environment to understand how flag evaluation works.
Understand Flag States: Remember that boolean flags have two states (ON/OFF) but multi-variant flags can serve different values in each state. Plan your flag variations based on your use case requirements.
SDK Connection Verification: Always verify SDK connection in the portal's Step 3 before proceeding to production integration. This confirms proper configuration and network connectivity.
User Context Matters: When evaluating flags, provide meaningful user context (user ID, attributes). This enables advanced targeting and segmentation later.
Real-Time Updates: FeatBit SDKs support real-time flag updates via WebSocket. Leverage this for instant feature control without application restarts.
Use Case: Show/hide a feature based on flag state
// After SDK initialization
const isGameEnabled = await client.boolVariation('game-runner', false);
if (isGameEnabled) {
// Render game component
renderDinoGame();
} else {
// Show placeholder or nothing
showPlaceholder('Feature not available');
}
Use Case: Adjust application behavior based on flag variation
// Get difficulty mode
const difficulty = await client.variation('difficulty-mode', 'easy');
// Configure game based on difficulty
switch(difficulty) {
case 'easy':
setGameSpeed(1.0);
break;
case 'normal':
setGameSpeed(1.5);
break;
case 'hard':
setGameSpeed(2.0);
break;
}
Use Case: React to flag changes without page reload
// Listen for flag changes
client.on('update', (changes) => {
if (changes.includes('difficulty-mode')) {
const newDifficulty = client.variation('difficulty-mode', 'easy');
updateGameDifficulty(newDifficulty);
}
});
After completing the Getting Started guide, explore these topics:
Immediate Next Steps:
Advanced Topics: 5. Experimentation & A/B Testing - Measure feature impact with metrics 6. Entitlement Management - Control feature access based on subscription tiers 7. Remote Configuration - Use feature flags for dynamic configuration 8. Feature Workflow - Implement scheduled flag changes and triggers
Issue: Demo doesn't show flag changes
Issue: SDK connection fails in Step 3
Issue: Flag evaluation returns default value
Official Getting Started Documentation:
Additional Resources:
tools
Expert guidance for integrating FeatBit JavaScript Client SDK in browser environments. Use when user asks about "JavaScript client SDK", "browser feature flags", "FeatBit JS", "vanilla JS SDK", or mentions browser-side HTML/JS with FeatBit. Do not use for Node.js server-side, React, React Native, .NET, Python, Java, or Go questions.
development
Expert guidance for integrating FeatBit Java Server SDK. Use when user asks about "Java SDK", "Java feature flags", "FeatBit Java", "Maven feature flags", or mentions .java or build.gradle files with FeatBit. Do not use for .NET, Go, Node.js, Python, or JavaScript questions.
development
Expert guidance for integrating FeatBit Go Server SDK. Use when user asks about "Go SDK", "Golang feature flags", "FeatBit Go", or mentions .go files with FeatBit. Do not use for Node.js, Python, Java, .NET, or JavaScript questions.
tools
Expert guidance for integrating FeatBit .NET Server SDK into C# and ASP.NET Core applications. Use when user asks about ".NET SDK", "C# feature flags", "ASP.NET Core FeatBit", "dotnet feature flags", or mentions .cs or .csproj files. Do not use for Node.js, Python, Java, Go, or client-side JavaScript questions.