feature-flag-debt-audit-d5f3fc — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited feature-flag-debt-audit-d5f3fc (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Use this skill to turn feature-flag debt into an owner-ready cleanup plan. The goal is to remove stale release toggles and expired experiments without breaking operational kill switches, compliance controls, or partially rolled-out features.
Feature flags are useful while a change is moving through release. They become debt when nobody knows who owns them, whether they are still evaluated, or which code paths can be deleted.
Use for:
Do not use for:
Ask only for missing inputs that materially affect the decision:
key, name, status, kind, owner, created_at, last_seen, expires_at, permanent, description.ops_, kill_, perm_, or guard_.If the user only has pasted flag names, produce a provisional report and state that reference counts and age signals are missing.
Before recommending a delete, capture:
Read references/cleanup-rules.md before classifying flags that touch auth, billing, data migration, compliance, incident response, or infrastructure failover.
Use the bundled script with explicit paths:
python3 feature-flag-debt-audit/scripts/feature_flag_debt_audit.py \
--flags /absolute/path/flags.csv \
--code-dir /absolute/path/repo \
--stale-days 90For JSON exports, the script accepts either a list of flag objects or an object containing a flags list.
Use one primary action:
delete_candidate: expired or long-stale release/experiment flag, low reference risk, and no permanent signal.owner_review: stale or expired but owner, rollout state, or references need human confirmation.instrument_first: likely active but last-seen data is missing or untrusted.keep_permanent: kill switch, ops guard, entitlement, compliance control, or explicitly permanent flag.Use one primary risk:
low: no references or one isolated reference, owner exists, not permanent, stale by policy.medium: several references, missing owner, ambiguous rollout state, or partial stale signal.high: many references, permanent or kill-switch signal, security/billing/data path, or missing rollback evidence.Never recommend deleting a flag purely because its name sounds old.
Return:
## Flag Debt Decision
[Delete candidates / Owner review needed / Instrument first / No safe delete today]
## Cleanup Candidates
| Flag | Action | Risk | Evidence | Owner | Next step |
|---|---|---|---|---|---|
## Guardrails
[Flags that must not be deleted without explicit owner approval]
## Code References
[Files and counts grouped by flag]
## Cleanup Tickets
[One ticket per delete or owner-review candidate]
## Verification Plan
[Tests, rollout checks, metrics, and rollback confirmation]Use templates/cleanup-ticket.md when the user asks for tickets.
Do not suggest code deletion until the report has:
Positive example: "Use $feature-flag-debt-audit on this LaunchDarkly CSV and repo. Find flags older than 90 days that are safe cleanup candidates." The skill should scan references, identify expired release toggles, and produce owner-ready cleanup tickets.
Positive internal-tool example: "We have a JSON export from our homegrown flag service and a Rails app." The skill should normalize known fields, scan code references, and label missing metadata instead of guessing.
Negative example: "Delete every flag with old in the name." Refuse the delete plan and ask for flag metadata or owner confirmation.
Boundary example: "I only have a list of five flag names." Produce a provisional checklist and do not assign low risk.
Smoke-test the bundled fixture:
python3 feature-flag-debt-audit/scripts/feature_flag_debt_audit.py \
--flags feature-flag-debt-audit/scripts/fixtures/flags.csv \
--code-dir feature-flag-debt-audit/scripts/fixtures/sample_app \
--stale-days 90 \
--today 2026-05-12Expected result: a Markdown report with Flag Debt Decision, at least one delete_candidate, at least one keep_permanent, reference counts, and cleanup ticket text.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.