Feature Flag Manager
v1.0.0Feature flag management for AI agents — toggle features, A/B testing, gradual rollouts
Security Scan
OpenClaw
Benign
high confidencePurpose & Capability
Name/description match the actual behavior: the SKILL.md and flag.js implement creating, toggling, listing, and querying flags stored in .featureflags/config.json. No unrelated credentials, binaries, or APIs are requested.
Instruction Scope
Runtime instructions are limited to local file-based feature-flag operations and show example usage of flag.js; they do not instruct reading other system files, environment variables, or sending data externally.
Install Mechanism
No install spec is present and this is an instruction-only skill with a small JavaScript engine file; nothing is downloaded or extracted from external hosts.
Credentials
The skill declares no required environment variables, credentials, or config paths beyond writing a local .featureflags directory, which is proportional to its purpose.
Persistence & Privilege
always is false and the skill does not modify other skills or system-wide settings; it only writes its own config in the working directory (.featureflags), which is expected for this functionality.
Assessment
This skill appears to be a simple, local feature-flag utility that stores flags in a .featureflags/config.json file. Before installing or using it: (1) be aware it writes to your working directory (back up or ignore .featureflags if you don't want it in a repo), (2) it has no access control—if multiple people or services run it, consider adding safeguards (ACLs) or moving storage to a controlled service, (3) review and test parsing/edge cases if you plan to use it in production (argument parsing is simplistic), and (4) if you need remote/centralized feature flags, integrate with a vetted remote service rather than relying on this local file-based approach. Overall there are no signs of credential exfiltration, network calls, or other incoherent behavior.Like a lobster shell, security has layers — review code before you run it.
latest
feature-flag-manager
Manage feature flags for AI agents — enable/disable features, A/B testing, gradual rollouts, and percentage-based releases.
Skill Metadata
- Slug: feature-flag-manager
- Version: 1.0.0
- Description: Feature flag management system for AI agents. Toggle features on/off, run A/B tests, gradual percentage rollouts, and control feature visibility without deploying new code.
- Category: automation
- Trigger Keywords:
feature flag,feature toggle,A/B testing,gradual rollout,release management,canary release,percentage rollout
Capabilities
1. Create Feature Flag
# Create a simple on/off flag
node flag.js create my-feature --description "New dashboard"
# Create percentage rollout (initially 10%)
node flag.js create dark-mode --percentage 10 --description "Dark theme"
# Create A/B test variant
node flag.js create pricing-page --variants control,v1,v2 --weights 50,25,25
- Stores flags in
.featureflags/JSON config - Supports percentage-based rollout (0-100%)
- Multi-variant A/B testing with custom weight distribution
2. Check Flag Status
# Check if feature is enabled
node flag.js enabled my-feature
# Get variant for current user (for A/B)
node flag.js variant pricing-page --user-id user123
# Get rollout percentage
node flag.js percentage dark-mode
- Returns boolean for simple flags
- Returns variant name for A/B tests
- Returns rollout percentage
3. Update Flag
# Enable/disable immediately
node flag.js toggle my-feature
# Update rollout percentage (gradual increase)
node flag.js update dark-mode --percentage 50
# Pause a flag
node flag.js pause pricing-page
- Instant toggle for emergency rollback
- Percentage updates for gradual rollout
- Pause preserves configuration
4. List & Monitor
# List all flags with status
node flag.js list
# Show flag history
node flag.js history my-feature
# Export flags for reporting
node flag.js export --format json
- Real-time overview of all flags
- Change history with timestamps
- Export for analytics integration
Configuration
// .featureflags/config.json
{
"flags": {
"new-dashboard": {
"enabled": true,
"percentage": 100,
"variants": null,
"description": "Redesigned dashboard UI"
},
"dark-mode": {
"enabled": true,
"percentage": 25,
"variants": null,
"description": "Dark theme support"
},
"pricing-page": {
"enabled": true,
"percentage": 100,
"variants": ["control", "v1", "v2"],
"weights": [50, 25, 25]
}
}
}
Use Cases
- Gradual Rollout: Start with 5% users, increase to 100% over time
- A/B Testing: Test different UX variants and measure conversion
- Kill Switch: Instantly disable buggy feature without deployment
- User Segmentation: Target specific user groups
- Remote Configuration: Change behavior without code changes
Integration Example
// In your agent code
const flag = require('./flag.js');
async function handleRequest(req) {
// Check if new feature is enabled
if (await flag.enabled('new-dashboard', { userId: req.userId })) {
return renderNewDashboard(req);
}
return renderLegacyDashboard(req);
}
Comments
Loading comments...
