agentleFS
nickdesinickdesi/FFBB-MCP-Server/.github/skills/release-gate/SKILL.md

release-gate

Skill4 starsChanged 50 days agoApache-2.0View on GitHub

Use when: user asks to push, tag, release, publish, create a version, validate synchronization, fix CI, inspect GitHub Actions, or make changes safe for GitHub. Runs the FFBB MCP Server release-readiness workflow, adapted from sickn33 skills lint-and-validate, verification-before-completion, git-pushing, iterate-pr, and codebase-audit-pre-push.

10 other projects use a version of this.

Adopted by

Most recently taken up by

The file

Show its rules and text

We split this skill into the rules it gives an agent

17 rules. 0 are common, 13 are distinctive, and 4 are very specific to this project.

  • 0

    Common

    Most of the 7 edited versions we read keep these.

  • 13

    Distinctive

    This author's own choices. Worth a look.

  • 4

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Use this skill for any request involving push, tag, release, publish, version, CI, GitHub Actions, or remote synchronization.

    line 10
  2. Very specific:

    Use rtk for all terminal commands.

    line 21
  3. Distinctive:

    Do not claim completion without fresh command output.

    line 23
  4. Distinctive:

    Do not push, tag, release, or publish if any local gate fails.

    line 24
  5. Distinctive:

    Keep changes surgical; do not refactor unrelated code.

    line 25
  6. Distinctive:

    Run the full gate, in this order:

    line 30
  7. Very specific:

    If version files changed, run rtk uv run python tools/sync_version.py, inspect the diff, then rerun the required local gate.

    line 47
  8. Distinctive:

    Only when the user explicitly asks to push or publish changes:

    line 51
  9. Distinctive:

    Run the required local gate.

    line 53
  10. Distinctive:

    Commit with a conventional commit message.

    line 56
  11. Distinctive:

    If CI fails, fix the root cause locally, rerun the relevant gate plus any affected tests, commit, push, and re-check CI.

    line 61
  12. Very specific:

    Update pyproject.toml and run rtk uv run python tools/sync_version.py.

    line 68
  13. Distinctive:

    Create an annotated tag.

    line 79
  14. Distinctive:

    When GitHub Actions fail:

    line 85
  15. Distinctive:

    Read the failed job logs before changing code.

    line 87
  16. Distinctive:

    Run the exact local check matching the failure, then the required gate if pushing.

    line 90
  17. Distinctive:

    Follow CI until green, or report the blocker with the failing check and evidence.

    line 92

“Common” is measured: kept by at least 6 in 10 of the 7 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Release Gate — FFBB MCP Server

Use this skill for any request involving push, tag, release, publish, version, CI, GitHub Actions, or remote synchronization.

This workflow adapts the relevant patterns from sickn33/antigravity-awesome-skills:

  • lint-and-validate: validate after changes.
  • verification-before-completion: evidence before success claims.
  • git-pushing: commit and push only when explicitly requested.
  • iterate-pr: follow GitHub checks until green.
  • codebase-audit-pre-push: inspect diffs and side effects before pushing.

Non-negotiable rules

  • Use rtk for all terminal commands.
  • Work from the repository root.
  • Do not claim completion without fresh command output.
  • Do not push, tag, release, or publish if any local gate fails.
  • Keep changes surgical; do not refactor unrelated code.
  • Inspect and revert unintended runtime/test mutations, especially src/ffbb_mcp/acronyms_cache.json.

Required local gate before push/tag/release

Run the full gate, in this order:

  1. Version alignment:
    • rtk uv run python tools/check_version_alignment.py
  2. Formatting:
    • rtk uv run ruff format --check .
  3. Linting:
    • rtk uv run ruff check .
  4. Types:
    • rtk uv run mypy src
  5. Tests:
    • rtk uv run pytest
  6. Repository inspection:
    • rtk git status --short --branch
    • rtk git diff --stat
    • targeted rtk git diff -- ./path for changed files.

If version files changed, run rtk uv run python tools/sync_version.py, inspect the diff, then rerun the required local gate.

Push workflow

Only when the user explicitly asks to push or publish changes:

  1. Run the required local gate.
  2. Inspect staged and unstaged changes.
  3. Revert unrelated changes and generated side effects not intentionally part of the task.
  4. Commit with a conventional commit message.
  5. Push the branch.
  6. Inspect GitHub Actions after pushing:
    • rtk gh run list --limit 5
    • For failures, inspect only failed logs with rtk gh run view <run-id> --log-failed.
  7. If CI fails, fix the root cause locally, rerun the relevant gate plus any affected tests, commit, push, and re-check CI.

Tag / release workflow

For a new tag or release:

  1. Confirm the intended version and that the tag does not already exist.
  2. Update pyproject.toml and run rtk uv run python tools/sync_version.py.
  3. Inspect synchronized files, especially:
    • README.md
    • CHANGELOG.md
    • docs/TOOLS_REFERENCE.md
    • website/index.html
    • website/sitemap.xml
    • website-docs/reference/tools.md
    • uv.lock
  4. Run the required local gate.
  5. Commit release changes.
  6. Create an annotated tag.
  7. Push branch and tag.
  8. Inspect GitHub Actions until all relevant runs succeed.

CI-fix workflow

When GitHub Actions fail:

  1. Read the failed job logs before changing code.
  2. Identify the root cause, not just the check name.
  3. Make minimal fixes.
  4. Run the exact local check matching the failure, then the required gate if pushing.
  5. Push only after local evidence is clean.
  6. Follow CI until green, or report the blocker with the failing check and evidence.

Completion report

Final response must include only:

  • Changed files.
  • Validation commands that passed.
  • Push/tag/CI status if applicable.
  • Any remaining blocker or explicit risk.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.