Skip to content

Add flag-and-release-change skill (apply counterpart to should-flag-change)#102

Open
Vadman97 wants to merge 2 commits into
mainfrom
vkorolik/flag-and-release-apply-skill
Open

Add flag-and-release-change skill (apply counterpart to should-flag-change)#102
Vadman97 wants to merge 2 commits into
mainfrom
vkorolik/flag-and-release-apply-skill

Conversation

@Vadman97

@Vadman97 Vadman97 commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

What

Adds feature-flags/flag-and-release-change — the "apply" half of the software-factory flag pipeline, complementing Brad's advisory should-flag-change (#101).

Where should-flag-change decides whether a PR's change should ship behind a flag (read-only), this skill acts on a "yes":

  1. Create the guarding flag in LaunchDarkly (boolean, created OFF everywhere → dark launch).
  2. Wire the new code path behind the flag on the PR's branch, matching the codebase's existing flag pattern, with a safe in-code default; commit and push to the PR.
  3. Register the auto-release via create-automated-rollout-config — a per-environment plan (simple = serve true now; policy = on merge, resolve that env's release policy and run the matching immediate/progressive/guarded rollout).

It runs plan → implement with a user check-in between, and creates nothing during planning.

Design choices (per @vkorolik)

  • Portable, not factory-internal: assumes a partner on Claude Code / Cursor with the public LaunchDarkly MCP server + a git CLI. No factory_* tools; no committed .release-flags/ manifest.
  • Auto-release = MCP match-release-policies (preview) → create-automated-rollout-config, mirroring the factory's startAutomatedRelease / release-policy semantics (ADR 0002 in launchdarkly-auto-factory).

Contents

  • skills/feature-flags/flag-and-release-change/SKILL.md
  • references/auto-release.md — release policies, simple vs policy, precedence (overrides → policy → defaults), preview flow.
  • references/pr-wiring.md — clone, three-dot diff, guarding patterns, commit/push to the PR branch.
  • marketplace.json; README skill list + regenerated skills.json.

Validation

  • python3 scripts/generate_catalog.py — regenerated skills.json.
  • python3 scripts/validate_skills.py — 46 SKILL.md files validated.

Notes

  • Links to should-flag-change as the upstream decision step (that path resolves once Add should-flag-change advisory skill + eval suite #101 merges).
  • Follow-up (not in this PR): a "do-it-yourself" factory doc for partners using these skills directly in their repo + CI, distinct from the auto-factory.yml GitHub Action.

🤖 Generated with Claude Code

The "apply" counterpart to the advisory should-flag-change skill: once a
PR's change is judged flag-worthy, this skill creates the guarding flag,
wires the new path behind it on the PR branch, and registers an automated
rollout (create-automated-rollout-config) so the change releases safely on
merge. Two-phase plan->implement, portable (public LD MCP + git).

Includes references/auto-release.md (release policies, simple vs policy,
precedence) and references/pr-wiring.md (three-dot diff, guarding, push).
Wires into README + regenerated skills.json.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@Vadman97 Vadman97 requested review from a team and bradsimantel July 9, 2026 19:02
@Vadman97 Vadman97 marked this pull request as ready for review July 9, 2026 19:02
@Vadman97 Vadman97 requested a review from a team as a code owner July 9, 2026 19:02
@github-actions

github-actions Bot commented Jul 9, 2026

Copy link
Copy Markdown

Skill eval results

Skill Before After Δ
agentcontrol/configs-create 100/100 (4/4) 100/100 (4/4) no change
agentcontrol/configs-update 80/100 (4/5) 80/100 (4/5) no change
agentcontrol/configs-variations 80/100 (4/5) 80/100 (4/5) no change
agentcontrol/tools 75/100 (3/4) 75/100 (3/4) no change
feature-flags/launchdarkly-flag-command - 100/100 (3/3) new
feature-flags/launchdarkly-flag-create 100/100 (3/3) 100/100 (3/3) no change

Only suites whose source actually changed since their last recorded score were re-run. Soft-failing while we stabilise the baseline.

Reframe flag-and-release-change as a PR-scoped orchestrator that composes
should-flag-change (decide) + launchdarkly-flag-create (create flag & wire
code) and adds the unique auto-release step. Delegate flag-creation and
per-SDK guarding mechanics to flag-create instead of re-teaching them; slim
pr-wiring.md to PR-specific mechanics (three-dot diff, commit/push) and
point at flag-create's sdk-evaluation-patterns for guarding.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant