Specify a webhook-driven task for OpenClaw
Describe event inputs, validation, deduplication, and intended actions before integration work.
An MCP server that provides on-demand skill loading for AI coding assistants.
---
name: feature-flags-progressive-delivery-354481adcefc
description: "An MCP server that provides on-demand skill loading for AI coding assistants."
---
# Feature Flags & Progressive Delivery
## Feature Flag Implementation
```typescript
// Simple feature flag service
const flags = new Map<string, boolean>()
export const featureFlags = {
isEnabled(key: string): boolean {
return flags.get(key) ?? false
},
enable(key: string) {
flags.set(key, true)
},
disable(key: string) {
flags.set(key, false)
},
}
// Usage
if (featureFlags.isEnabled('new-checkout')) {
return <NewCheckout />
}
return <OldCheckout />
```
## A/B Testing
```typescript
// Simple A/B bucket
function getBucket(userId: string, experiment: string): 'a' | 'b' {
const hash = hash(`${userId}:${experiment}`)
return hash % 2 === 0 ? 'a' : 'b'
}
// Usage
const bucket = getBucket(userId, 'checkout-button-color')
if (bucket === 'a') {
return <Button color="blue" />
}
return <Button color="green" />
```
## Kill Switch
```typescript
// Emergency disable
app.get('/feature/:key', (req, res) => {
if (req.query.disable === 'true') {
featureFlags.disable(req.params.key)
return res.json({ status: 'disabled' })
}
return res.json({ enabled: featureFlags.isEnabled(req.params.key) })
})
```
## Checklist
- [ ] Choose feature flag tool (LaunchDarkly, Unleash, custom)
- [ ] Implement flag evaluation
- [ ] Add user targeting
- [ ] Set up A/B experiments
- [ ] Create kill switches
- [ ] Plan rollout percentage
---
name: feature-flags-progressive-delivery-354481adcefc
description: "An MCP server that provides on-demand skill loading for AI coding assistants."
---
# Feature Flags & Progressive Delivery
## Feature Flag Implementation
```typescript
// Simple feature flag service
const flags = new Map<string, boolean>()
export const featureFlags = {
isEnabled(key: string): boolean {
return flags.get(key) ?? false
},
enable(key: string) {
flags.set(key, true)
},
disable(key: string) {
flags.set(key, false)
},
}
// Usage
if (featureFlags.isEnabled('new-checkout')) {
return <NewCheckout />
}
return <OldCheckout />
```
## A/B Testing
```typescript
// Simple A/B bucket
function getBucket(userId: string, experiment: string): 'a' | 'b' {
const hash = hash(`${userId}:${experiment}`)
return hash % 2 === 0 ? 'a' : 'b'
}
// Usage
const bucket = getBucket(userId, 'checkout-button-color')
if (bucket === 'a') {
return <Button color="blue" />
}
return <Button color="green" />
```
## Kill Switch
```typescript
// Emergency disable
app.get('/feature/:key', (req, res) => {
if (req.query.disable === 'true') {
featureFlags.disable(req.params.key)
return res.json({ status: 'disabled' })
}
return res.json({ enabled: featureFlags.isEnabled(req.params.key) })
})
```
## Checklist
- [ ] Choose feature flag tool (LaunchDarkly, Unleash, custom)
- [ ] Implement flag evaluation
- [ ] Add user targeting
- [ ] Set up A/B experiments
- [ ] Create kill switches
- [ ] Plan rollout percentage
Imported from the listed AgentSkill.sh category. Complete supplied package files and notices are retained. Required external tools and credentials are not installed. No bundled code was executed during import. Individual agent task behavior has not been tested.