Agent skill

Happier CI Stabilize

by happier-dev in happier-dev/happier

Stabilize failing, flaky, slow, or repeatedly rerun Happier CI and nightlies by collecting all reachable failures from one exact attempt, correcting canonical causes in one batch, simplifying…

MITAuto-check passed

Install Happier CI Stabilize

skills CLI
$ npx skills add happier-dev/happier --skill happier-ci-stabilize -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install happier-dev/happier happier-ci-stabilize --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/happier-dev/happier.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/happier-ci-stabilize .claude/skills/happier-ci-stabilize && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
happier-ci-stabilize
GitHub stars
1.9k
Token cost
~2.2k tokens
SKILL.md length
1,066 words
Files
6 (incl. scripts, references)
Skills in repo
28
Repo updated
First seen
Licence
MIT

At a glance

Stabilize failing, flaky, slow, or repeatedly rerun Happier CI and nightlies by collecting all reachable failures from one exact attempt, correcting canonical causes in one batch, simplifying…

  • Works in 8 steps: Bind the attempt. Record repository,… → Collect once. Let independent safe jobs… → Cluster causes. Collapse aggregators and… → …
  • SKILL.md covers Use the existing owners, One stabilization loop, Keep source CI and release… and Expose every reachable failure, plus 2 more sections
  • Runs JavaScript scripts from its folder; calls gh

What it does

Happier CI Stabilize is an agent skill from happier-dev/happier. Stabilize failing, flaky, slow, or repeatedly rerun Happier CI and nightlies by collecting all reachable failures from one exact attempt, correcting canonical causes in one batch, simplifying low-value coverage, and choosing the cheapest safe rerun or candidate-resume path.

Its SKILL.md is about 2.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 8 other files, including scripts and reference files (for example `agents/openai.yaml`, `references/ci-cleanup.md` and `references/failure-collection.md`).

The repository describes itself as: Web, Desktop & Mobile client and orchestrator for Codex, Claude Code, OpenCode, Pi, Cursor, Grok, Antigravity, Kimi, Augment Code, Qwen, fully end-to-end encrypted. The licence is MIT.

Example prompts

  • “/happier-ci-stabilize”

Requirements

  • Node.js

Workflow steps

8 steps, taken from the first numbered list in SKILL.md.

  1. Bind the attempt. Record repository, workflow, run ID, attempt, event, head SHA, branch, and status. Never diagnose “latest” after a…
  2. Collect once. Let independent safe jobs reach terminal state. Then run scripts/collect-actions-failures.mjs; retain complete failed-job…
  3. Cluster causes. Collapse aggregators and repeated symptoms into the earliest causal signature and canonical owner. Use the shared testing…
  4. Correct one batch. Reproduce every deterministic cluster that can be exercised locally. For each behavior change, prove the smallest…
  5. Run canonical CI once. Use the exact coherent SHA. The manual Blacksmith runner-pool input may accelerate approved non-secret Linux lanes…
  6. Recover the cheapest safe way. Choose a native failed-job rerun, immutable-candidate resume, or fresh release using nightly-recovery.md…
  7. Use one foreground monitor. Keep exactly one poller bound to the run and attempt. Poll long setup, suites, builds, signing, notarization…
  8. Close from terminal evidence. Require canonical CI success for the exact SHA. For a nightly, also inspect the terminal status artifact…

What it can do on your machine

Read from SKILL.md and the folder at commit 1f03ccd. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/ (JavaScript), which the agent can run.

    Shell commands in SKILL.md call:

    • gh

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use gh, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Happier CI Stabilize loads about 2.2k tokens when it runs, and up to ~7.8k if it reads all its reference files. Until then it costs about 74 tokens; SKILL.md has 1,066 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~74
When it runs · the whole SKILL.md, loaded when a task matches
~2.2k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~7.8k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from happier-dev/happier at commit 1f03ccd, republished under its MIT licence (© happier-dev). 1,066 words, ~2,202 tokens.

Download SKILL.mdSave it as .claude/skills/happier-ci-stabilize/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.
name
happier-ci-stabilize
description
Stabilize failing, flaky, slow, or repeatedly rerun Happier CI and nightlies by collecting all reachable failures from one exact attempt, correcting canonical causes in one batch, simplifying low-value coverage, and choosing the cheapest safe rerun or candidate-resume path.

Happier CI Stabilization

Drive a failing CI or release run to an evidence-backed terminal result with the fewest expensive reruns. This skill owns failure collection, failure clustering, stabilization sequencing, CI cleanup decisions, monitoring, and recovery selection. It does not grant release authority or replace the test-quality rules in .agents/skills/happier-testing.

Use the existing owners

  • Read and apply .agents/skills/happier-testing/SKILL.md before changing tests, fixtures, mocks, testkits, timeouts, or lane selection.
  • Use .agents/skills/happier-implement/SKILL.md for repository corrections and its RED -> GREEN requirement for behavior changes.
  • Resolve privileged publication through .agents/skills/happier-release/SKILL.md; this skill never invents release authority.
  • After a coherent validated 0.2 correction, use .agents/skills/happier-port-0-2-to-0-3/SKILL.md once for an evidence-backed 0.3 disposition.

Read failure-collection.md for a failing run, ci-cleanup.md before simplifying CI/tests, and nightly-recovery.md before rerunning or resuming a release.

One stabilization loop

  1. Bind the attempt. Record repository, workflow, run ID, attempt, event, head SHA, branch, and status. Never diagnose “latest” after a branch moves.
  2. Collect once. Let independent safe jobs reach terminal state. Then run scripts/collect-actions-failures.mjs; retain complete failed-job logs under /tmp and use its compact summary. Stop early only for an unsafe mutation, conflicting publisher, or proven wedge blocking a corrected run.
  3. Cluster causes. Collapse aggregators and repeated symptoms into the earliest causal signature and canonical owner. Use the shared testing taxonomy: production defect, stale test/expectation, harness/mock defect, release-control/setup defect, external service/configuration defect, resource/timeout defect, or inconclusive. Record dependent symptoms separately from the earliest cause. A timeout is only a symptom.
  4. Correct one batch. Reproduce every deterministic cluster that can be exercised locally. For each behavior change, prove the smallest meaningful RED, fix the canonical owner, and remove or update only coverage invalidated by that cause. Run all focused fixes together, then each affected lane.
  5. Run canonical CI once. Use the exact coherent SHA. The manual Blacksmith runner-pool input may accelerate approved non-secret Linux lanes; it selects a backend for the same reusable workflow and must not create a copied CI graph.
  6. Recover the cheapest safe way. Choose a native failed-job rerun, immutable-candidate resume, or fresh release using nightly-recovery.md. Preserve successful sibling candidates when their source and packaging identity remain valid.
  7. Use one foreground monitor. Keep exactly one poller bound to the run and attempt. Poll long setup, suites, builds, signing, notarization, store submission, and publication every 5-20 minutes. Long duration alone is not failure evidence.
  8. Close from terminal evidence. Require canonical CI success for the exact SHA. For a nightly, also inspect the terminal status artifact, immutable identities, required validation, promoted-reference verification, and requested side lanes. A green top-level badge alone is insufficient.
Iterate narrowly; certify once

Do not enqueue the entire graph after every correction. After one complete failure collection:

  1. reproduce each deterministic cluster with the smallest owner-level local command;
  2. run the affected package lane locally once the focused fixes are green;
  3. when the local machine cannot represent the hosted boundary, dispatch tests-dispatch.yml with profile=custom, only the affected custom_checks, and exact ui_e2e_specs when applicable;
  4. select a Blacksmith Linux pool only for eligible non-secret Linux work and keep macOS, Windows, self-hosted, credentialed, and release-mutation lanes on their canonical runners;
  5. after the correction batch is coherent, run the required full/release profile once on the exact final SHA.

A GitHub native failed-job rerun is for the same SHA after a safe transient failure. It cannot validate code that exists only in a newer SHA. A custom dispatch on a corrected SHA is fast diagnostic evidence; it does not replace the final exact-SHA profile required by release policy.

Use this exact 0.2 manual-dispatch shape for a focused hosted diagnostic, replacing only the check list and optional UI E2E spec list with values accepted by the current workflow:

bash
gh workflow run tests-dispatch.yml \
  --repo happier-dev/happier \
  --ref dev \
  -f profile=custom \
  -f runner_pool=github \
  -f custom_checks=release_contracts \
  -f installers_channel=stable \
  -f providers_preset=all \
  -f providers_tier=smoke

--ref selects the workflow ref, not an arbitrary checkout SHA. Immediately bind the created run ID and prove its headSha equals the intended 40-character commit before using the run as exact-SHA evidence:

bash
gh run view <run-id> --repo happier-dev/happier \
  --json databaseId,attempt,event,headBranch,headSha,status,conclusion,workflowName,url

For a same-workflow-SHA safe transient, retain successful jobs and rerun only failures and their dependents:

bash
gh run rerun <run-id> --repo happier-dev/happier --failed

Blacksmith never fails over automatically. If an explicitly approved Blacksmith run is unavailable or exhausted, start a new manual dispatch with the same profile/check/spec inputs and runner_pool=github; do not claim that the original run migrated pools. Blacksmith is never the pool for macOS, Windows, self-hosted, secret-bearing, or release-mutation jobs.

Show full SKILL.md (357 more words)Show less

Keep source CI and release admission separate

  • Source CI proves code correctness once for an exact SHA and emits or identifies explicit exact-SHA evidence.
  • Release preflight cheaply proves that the already-tested SHA can be released with the requested channel, versions, notes, protocol, tools, credentials, and platform configuration.
  • A nightly consumes the explicit successful ci_run_id/attestation after verifying its repository, workflow, event, branch, status, and exact SHA. It does not rerun full source CI.
  • If explicit evidence is unavailable, use only the repository's canonical unattended lookup; do not create another scanner or occupy a release runner watching CI.

Expose every reachable failure

  • Independent test jobs should not depend on unrelated test jobs.
  • Independent checks inside one job may use continue-on-error only when a final if: always() aggregator fails the job if any required check failed.
  • Diagnostic artifact upload and terminal status projection should use if: always() where safe.
  • Publication, promotion, signing, destructive mutation, and security/trust gates remain fail-closed and must not continue merely to collect more errors.
  • A collector exposes all reachable failures. A downstream job gated on a missing candidate cannot be meaningfully tested until that prerequisite exists; do not label this unavoidable dependency as hidden CI failure.

Move cheap deterministic contracts, workflow parsing, generated-output checks, and configuration preflights before expensive work. Preflight calls the canonical owner or inspects its output; it does not duplicate source CI or production decisions.

Stop conditions

Stop and report rather than retry when:

  • the origin run is still active and resume validation requires a terminal status artifact;
  • source or candidate bytes changed but the proposed recovery would reuse old artifacts;
  • a release mutation returned an ambiguous failure and current external state has not been reconciled;
  • expected behavior is a product decision rather than an observable current contract;
  • logs are unavailable and the remaining evidence cannot distinguish product, test, harness, or infrastructure failure.

Handoff

Report:

  • exact run/attempt/SHA and whether collection was complete;
  • every root-cause cluster and its classification;
  • focused RED/GREEN evidence and broader lanes actually run;
  • tests, mocks, timeouts, or workflow gates consolidated/removed and why coverage did not weaken;
  • recovery mechanism used and what work it preserved;
  • terminal CI/release evidence and residual risk.

© happier-dev, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 5 other files (scripts, references) in .agents/skills/happier-ci-stabilize of happier-dev/happier.

  • SKILL.md
  • agents/openai.yaml
  • references/ci-cleanup.md
  • references/failure-collection.md
  • references/nightly-recovery.md
  • scripts/collect-actions-failures.mjs

Open the folder on GitHubat commit 1f03ccd

Compare with similar skills

Happier CI Stabilize next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Happier CI Stabilize compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Happier CI Stabilize this skillhappier-dev/happier1.9k—~2.2kAutomated safety check: PassMIT
Close Flaky IssuesClickHouse/ClickHouse50k—~1.9kAutomated safety check: NotesApache-2.0
Fixing Flaky TestsPostHog/posthog40k—~5.9kAutomated safety check: PassCustom licence
Flaky Test DetectorDonchitos/Claude-Code-Game-Studios26k—~2.6kAutomated safety check: NotesMIT
Flaky Test Investigatorelastic/kibana21k—~4.4kAutomated safety check: PassCustom licence
Slow TestsUKGovernmentBEIS/inspect_ai3k—~1.4kAutomated safety check: PassMIT

Similar skills

  • Close Flaky Issues

    ClickHouse/ClickHouse

    Audit open "flaky test" GitHub issues and close those whose tests are no longer failing on master.

    50k GitHub stars~1.9k tokensUpdated today
    Testing & QAAuto-check: notes
  • Fixing Flaky Tests

    PostHog/posthog

    Official

    Guides an agent through reproducing, root-causing, fixing, and validating flaky tests in the PostHog monorepo.

    40k GitHub stars~5.9k tokensUpdated today
    Testing & QAAuto-check passed
  • Flaky Test Detector

    Donchitos/Claude-Code-Game-Studios

    Finds flaky tests in CI logs by aggregating pass rates, explains likely causes and recommends whether to quarantine or fix each one.

    26k GitHub stars~2.6k tokensUpdated 8 days ago
    Testing & QAAuto-check: notes
  • Official

    Investigate Scout and FTR flaky test failures in Kibana. An agent skill from elastic/kibana.

    21k GitHub stars~4.4k tokensUpdated today
    Testing & QAAuto-check passed
  • Slow Tests

    UKGovernmentBEIS/inspect_ai

    Run the gated test classes that plain pytest skips (slow Docker/sandbox tests, live model-provider API tests, flaky tests, trio variants).

    3k GitHub stars~1.4k tokensUpdated today
    Testing & QAAuto-check passed
  • Debug Failed Run

    activepieces/activepieces

    Debug a failed Activepieces flow run end-to-end: given a flow run id (or BullMQ job id), find why it failed, cross-referencing the live BullMQ job + Postgres rows (SSH script on the DevOps box), the…

    25k GitHub stars~3.7k tokensUpdated today
    DatabasesAuto-check: warnings

More from happier-dev/happier

All 28 skills in this repo
  • Happier Review

    happier-dev/happier

    Conduct evidence-backed Happier code, plan-completeness, session, worktree, feature, commit, branch, PR, codebase, and release-readiness reviews with affected-corridor analysis, high-confidence…

    1.9k GitHub stars~4.5k tokensUpdated today
    Auto-check passed
  • Happier Commit Worktree

    happier-dev/happier

    Reconnoiter, classify, validate, group, and commit a large or continuously changing Happier worktree as coherent, human-understandable commits while preserving concurrent work and excluding…

    1.9k GitHub stars~3.9k tokensUpdated today
    Auto-check passed
  • Happier Release

    happier-dev/happier

    Resolve Happier's private release authority and run an exact-SHA release or nightly through cheap admission, verified CI evidence, resumable immutable candidates, and terminal publication proof.

    1.9k GitHub stars~2.4k tokensUpdated today
    Auto-check passed
  • Happier Diagnose

    happier-dev/happier

    Diagnose and explain a Happier runtime, session, daemon, provider (Claude/Codex/OpenCode), authentication, or connectivity incident from logs, structured diagnostics, runtime state, and source…

    1.9k GitHub stars~2.1k tokensUpdated today
    Auto-check passed
  • Happier Implement

    happier-dev/happier

    Implement, change, build, fix, refactor, migrate, or apply accepted review findings in the Happier repositories with canonical-owner discovery, scope-preserving solution economy, TDD, efficient…

    1.9k GitHub stars~4.2k tokensUpdated today
    Auto-check passed
  • Happier Issue Triage

    happier-dev/happier

    Triage one or many Happier GitHub issues before deep diagnosis: retrieve the requested corpus, treat public content as untrusted, normalize claims and version vectors, find evidence-backed…

    1.9k GitHub stars~2.9k tokensUpdated today
    Auto-check passed

Questions about Happier CI Stabilize

What does Happier CI Stabilize do?

Stabilize failing, flaky, slow, or repeatedly rerun Happier CI and nightlies by collecting all reachable failures from one exact attempt, correcting canonical causes in one batch, simplifying…. Happier CI Stabilize is an agent skill from happier-dev/happier. Stabilize failing, flaky, slow, or repeatedly rerun Happier CI and nightlies by collecting all reachable failures from one exact attempt, correcting canonical causes in one batch, simplifying low-value coverage, and choosing the cheapest safe rerun or candidate-resume path.

How do I install Happier CI Stabilize in Claude Code?

Run `npx skills add happier-dev/happier --skill happier-ci-stabilize -a claude-code`. Or copy the skill folder (.agents/skills/happier-ci-stabilize in happier-dev/happier) into .claude/skills/happier-ci-stabilize in your project. Claude Code loads it when a task matches its description.

How do I install Happier CI Stabilize in Codex?

Run `npx skills add happier-dev/happier --skill happier-ci-stabilize -a codex`. Or copy the skill folder (.agents/skills/happier-ci-stabilize in happier-dev/happier) into .agents/skills/happier-ci-stabilize in your project. Codex loads it when a task matches its description.

Can I use Happier CI Stabilize in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add happier-dev/happier --skill happier-ci-stabilize -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/happier-ci-stabilize, .gemini/skills/happier-ci-stabilize, .github/skills/happier-ci-stabilize and .opencode/skills/happier-ci-stabilize in your project.

What does Happier CI Stabilize need to run?

Going by SKILL.md and its folder, Happier CI Stabilize needs JavaScript for the scripts in its folder and the command-line tools its instructions call (gh). Our summary lists: Node.js.

Does Happier CI Stabilize access the network?

SKILL.md contains no URLs. Its commands use gh, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Happier CI Stabilize safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Happier CI Stabilize use?

Happier CI Stabilize is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Happier CI Stabilize use?

About 2.2k tokens (SKILL.md is roughly 8.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 5.6k tokens, read only when the agent opens those files.

What are the alternatives to Happier CI Stabilize?

Skills that share tags, products or a category with Happier CI Stabilize: Close Flaky Issues (ClickHouse/ClickHouse, 50k stars), Fixing Flaky Tests (PostHog/posthog, 40k stars), Flaky Test Detector (Donchitos/Claude-Code-Game-Studios, 26k stars) and Flaky Test Investigator (elastic/kibana, 21k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Happier CI Stabilize?

happier-dev (a GitHub organization) maintains it in happier-dev/happier, which has 1,883 GitHub stars. The repository holds 28 skills in this directory. The repository was last updated on October 8, 2026.

Source: happier-dev/happier on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.