From acc
Generates feature flag implementations for PHP projects including services, configuration, percentage rollouts, user targeting, A/B variants, and deployment pipeline integration.
How this skill is triggered — by the user, by Claude, or both
Slash command
/acc:create-feature-flagsThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Generates feature flag implementation for progressive deployments.
Generates feature flag implementation for progressive deployments.
<?php
// src/Infrastructure/FeatureFlag/FeatureFlagServiceInterface.php
declare(strict_types=1);
namespace App\Infrastructure\FeatureFlag;
interface FeatureFlagServiceInterface
{
/**
* Check if a feature is enabled globally.
*/
public function isEnabled(string $feature): bool;
/**
* Check if a feature is enabled for a specific user.
*/
public function isEnabledForUser(string $feature, string $userId): bool;
/**
* Check if a feature is enabled based on percentage rollout.
*/
public function isEnabledForPercentage(string $feature, string $identifier): bool;
/**
* Get the variant for A/B testing.
*/
public function getVariant(string $feature, string $userId): string;
/**
* Get all enabled features for a user.
*/
public function getEnabledFeatures(string $userId): array;
}
<?php
// src/Infrastructure/FeatureFlag/FeatureConfig.php
declare(strict_types=1);
namespace App\Infrastructure\FeatureFlag;
final readonly class FeatureConfig
{
/**
* @param string[] $allowedUsers
* @param string[] $blockedUsers
* @param string[] $variants
* @param array<string, mixed> $metadata
*/
public function __construct(
public string $name,
public bool $enabled = false,
public ?int $percentage = null,
public array $allowedUsers = [],
public array $blockedUsers = [],
public array $variants = [],
public array $metadata = [],
) {}
/**
* @param array<string, mixed> $data
*/
public static function fromArray(array $data): self
{
return new self(
name: $data['name'],
enabled: $data['enabled'] ?? false,
percentage: $data['percentage'] ?? null,
allowedUsers: $data['allowed_users'] ?? [],
blockedUsers: $data['blocked_users'] ?? [],
variants: $data['variants'] ?? [],
metadata: $data['metadata'] ?? [],
);
}
}
See references/templates.md for: InMemory implementation, YAML configuration, Config Loader, Attribute, Middleware, Twig Extension, Template usage, CI/CD integration, Redis implementation.
Choose storage backend:
Define flag types:
Integrate with framework:
Set up CI/CD integration:
Provide:
The generator will:
npx claudepluginhub dykyi-roman/awesome-claude-code --plugin accAdds PostHog feature flags to gate new functionality. Handles SDK setup and flag instrumentation across multiple platforms.
Creates and configures LaunchDarkly feature flags that match existing codebase patterns. Guides exploration of SDK usage, naming conventions, and flag types before creation.
Designing feature flags for gradual rollouts, A/B testing, and safe feature releases.