mutation-gate
Supplies the approval rule another RHDH skill applies when it is already about to change something outside the session: how to state each operation, what…
Skill by redhat-developer
Chalk Labs
Need help deploying mutation-gate?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/redhat-developer-mutation-gate
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: documents
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 26, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Python package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/mutation-gate
What's inside
- Skill name
mutation-gate- Description
- Supplies the approval rule another RHDH skill applies when it is already about to change something outside the session: how to state each operation, what approval binds to, what to report afterwards, and how to keep credentials out of a plan preview. Cited by name from the skill doing the work. Not an entry point — it performs no forge, Jira, or repository action itself, and a request to open, comment, transition, push, or post belongs to the skill that owns that target.
- License
- Apache-2.0
- Compatibility
- Python 3.9+ for the credential scanner. No other tools required.
- Instructions
- 87 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Files (3)
- SKILL.md
- openai.yaml · agents/
- scan_credentials.py · scripts/
SKILL.md (first lines)
# RHDH write gate An external write is anything the user cannot undo by closing the session: a pushed commit, an opened pull request, a Jira transition, a posted message, a file changed in someone else's repository. Reading is not a write. A request to fetch, triage, analyse, or report is intent to read, and it approves nothing. ## The gate **1. State the operations.** List every operation you are about to perform, in the order you will perform them. For each one give: | Field | What it carries | |---|---| | Target | The exact thing being changed: `owner/repo#412`, `RHIDP-1234`, a branch name, a channel | | Command | The exact command or request, as it will run. Not a paraphrase | | Preview | The body, label, field value, or diff that will land | | Precondition | What must already be true. Check it immediately before executing, and stop the batch if it is not | | On failure | What happens to the operations after this one if it fails | | Recovery | How to undo or contain this operation once it has happened | Render this as a table in the conversation. Approval happens where the user already is, so the plan goes to them rather than to a file. **Recovery is not optional, and it is not the same as failure handling.** Failure handling says what happens to the operations that have not run yet. Recovery says what to do about the one that already did. Write it before asking for approval: an operation you cannot say how to undo is one the user is approving blind. Where there is genuinely no undo — a posted message, a triggered pipeline, a published package — say that, in those words. "Cannot be undone; the message stays" is a complete and useful recovery entry. Silence is not. When a plan is too large to read in the transcript — a multi-repository bump, a catalog change touching dozens of files — write it to a file in the operating system temporary directory instead, following `/handoff`'s convention, and print the absolute path. Do not write it into the user's checkout, where it can reach a commit. **2. Get approval for that stated set.** The user approves what they were shown. Earlier intent to publish never authorizes an operation whose exact target and payload have not been shown. If the plan changes after approval — a different target, an extra operation, an edited body — it is a new plan and needs new approval. **3. Execute, then report every operation.** Report each one as completed, failed, or skipped, in the order it was planned. An operation that never ran because an earlier one failed is reported as skipped, not omitted. A failed write is reported, never quietly retried into a different shape. ## Credentials never reach a preview A preview shows a command as it will run, so it can carry a token that was pasted, interpolated from the environment, or returned by a tool. Scan before showing: ```bash uv run scripts/scan_credentials.py <plan.json> --json uv run scripts/scan_credentials.py --text "<a single command or body>" ``` It exits non-zero and names the offending path when it finds a credential-shaped field or value — an authorization header, a PEM private key, a `ghp_`, `glpat-`, `xox`, `sk-`, or `AKIA` token, or a field named like a secret at any depth. It reports the field, never the secret. A credential in a plan is a bug in how the command was built, not something to redact and continue past. Fix the construction so the secret is supplied by the authenticated tool at run time. ## Who executes The skill that owns the target executes it. A caller that needs a Jira write invokes `/rhdh-jira-update`; one that needs a forge write builds the command and runs it itself. `/rhdh-forge` constructs forge payloads and never executes them — that separation is what makes this gate enforceable, because the module that knows how to build the command cannot run it. ## Completion Complete when every operation the user approved has an outcome, the outcomes are in the planned order, and each one names its target. An operation missing from the report, or reported without the target it changed, means the gate did not close.
From redhat-developer/rhdh-skills, Apache-2.0.
More from redhat-developer/rhdh-skills
- 0.641score
rhdh-plugin-bug-fix
redhat-developer
Reproduces, diagnoses, and fixes a defect in a Backstage plugin inside the rhdh-plugins or community-plugins repositories: resolve the report from a RHIDP…
SkillAFreshness: A★ 18Claude Code +9 - 0.641score
rhdh-local
redhat-developer
Operates a local Red Hat Developer Hub environment with the rhdh-local-setup customization system: enable or disable dynamic plugins, apply configuration…
SkillAFreshness: A★ 18Claude Code +9 - 0.641score
rhdh-pr-mr
redhat-developer
Pushes a topic branch and opens a GitHub pull request or GitLab CEE merge request for CI and agent automation, then links Jira via /rhdh-jira-link only when…
SkillAFreshness: A★ 18Claude Code +9 - 0.641score
rhdh-overlay
redhat-developer
Manages the rhdh-plugin-export-overlays repository and Extensions Catalog: onboard plugins, update upstream versions, repair export or publish failures…
SkillAFreshness: A★ 18Claude Code +9 - 0.641score
rhdh-backport
redhat-developer
Automate the RHDH plugin backport process from PR cherry-pick to changelog.
SkillAFreshness: A★ 18Claude Code +9 - 0.641score
rhdh-yarn-bump
redhat-developer
Bumps Yarn Berry across the RHDH repos — rhdh-plugins, rhdh midstream, rhdh-plugin-export-overlays, rhdh-cli, and GitLab CEE rhidp/rhdh and…
SkillAFreshness: A★ 18Claude Code +9 - 0.641score
rhdh-jira-create
redhat-developer
Opens new work in RHDH Jira and decides what kind of work it is — Feature or Feature Request in RHDHPLAN, Epic, Story, Task, Spike or Vulnerability in RHIDP…
SkillAFreshness: A★ 18Claude Code +9 - 0.641score
rhdh-jira-link
redhat-developer
Ties a GitHub pull request or GitLab merge request to an RHDH Jira issue in RHIDP, RHDHPLAN, RHDHBUGS, or RHDHSUPP: attach the Jira Web link titled `repo #N…
SkillAFreshness: A★ 18Claude Code +9 - 0.641score
rhdh-konflux-tasks
redhat-developer
Bumps Konflux Tekton task bundle digests in `.tekton` and `.tekton-templates`, applies each task's MIGRATION.md, regenerates PipelineRuns, and checks pins…
SkillAFreshness: A★ 18Claude Code +9 - 0.641score
rhdh-base-images
redhat-developer
Analyzes and updates the `FROM` base images, Node headers, Go toolchain, and `rpms.lock.yaml` files in rhdh, rhdh-operator, and rhdh-must-gather; pin…
SkillAFreshness: A★ 18Claude Code +9 - 0.641score
rhdh-plugin-catalog-index-status-and-update-flow
redhat-developer
Reports Red Hat Developer Hub plugin catalog index status for a release branch or x.y.z and updates the downstream quay.io/rhdh/plugin-catalog-index after you…
SkillAFreshness: A★ 18Claude Code +9 - 0.641score
rhdh-plugin-nfs-migration
redhat-developer
Converts a legacy Backstage frontend plugin used by Red Hat Developer Hub to the New Frontend System (NFS): replace createPlugin and createRoutableExtension…
SkillAFreshness: A★ 18Claude Code +9
Signals
- Stars
- 18
- Forks
- 40
- Open issues
- 1
- Last commit (this folder)
- Aug 13, 2026 (2 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Apache-2.0
- Repository
- github.com/redhat-developer/rhdh-skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from redhat-developer
- 0.641score
rhdh-base-images
redhat-developer
Analyzes and updates the `FROM` base images, Node headers, Go toolchain, and `rpms.lock.yaml` files in rhdh, rhdh-operator, and rhdh-must-gather; pin…
SkillAFreshness: A★ 18Claude Code +9 - 0.641score
rhdh-yarn-bump
redhat-developer
Bumps Yarn Berry across the RHDH repos — rhdh-plugins, rhdh midstream, rhdh-plugin-export-overlays, rhdh-cli, and GitLab CEE rhidp/rhdh and…
SkillAFreshness: A★ 18Claude Code +9 - 0.641score
rhdh-pr-mr
redhat-developer
Pushes a topic branch and opens a GitHub pull request or GitLab CEE merge request for CI and agent automation, then links Jira via /rhdh-jira-link only when…
SkillAFreshness: A★ 18Claude Code +9 - 0.641score
rhdh-konflux-tasks
redhat-developer
Bumps Konflux Tekton task bundle digests in `.tekton` and `.tekton-templates`, applies each task's MIGRATION.md, regenerates PipelineRuns, and checks pins…
SkillAFreshness: A★ 18Claude Code +9 - 0.641score
rhdh-plugin-catalog-index-status-and-update-flow
redhat-developer
Reports Red Hat Developer Hub plugin catalog index status for a release branch or x.y.z and updates the downstream quay.io/rhdh/plugin-catalog-index after you…
SkillAFreshness: A★ 18Claude Code +9 - 0.641score
rhdh-jira-create
redhat-developer
Opens new work in RHDH Jira and decides what kind of work it is — Feature or Feature Request in RHDHPLAN, Epic, Story, Task, Spike or Vulnerability in RHIDP…
SkillAFreshness: A★ 18Claude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get mutation-gate running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
mutation-gate skill. Agent Mart. https://agentmart.dev/skills/redhat-developer-mutation-gate (last updated 2026-10-24)