prep-pr-close-keyword-auto-closes-issue SKILL.md skillA

prep-pr-close-keyword-auto-closes-issue from wan-huiyan/agent-traffic-control is an agent skill: a SKILL.md folder an AI agent loads when a task calls for it.

Install it, pinned
mdr add wan-huiyan/agent-traffic-control/prep-pr-close-keyword-auto-closes-issue@v1.2.0

Pins v1.2.0 in mdr.lock. Pin the fingerprint instead.

Audit grade
A, 17 of 17 checks passed
Kind
SKILL.md skill
Repository
wan-huiyan/agent-traffic-control
Path
plugins/agent-traffic-control/skills/prep-pr-close-keyword-auto-closes-issue/SKILL.md
Versions recorded
4
Latest version
v1.2.0, committed Aug 11, 2026
First version recorded
May 13, 2026
Size
20,607 bytes
Repository stars
3
License
MIT

Diagnose and prevent the trap where a scaffolding/prep/planning/handoff PR (one that ships a paste-ready prompt, an ADR, an implementation plan, or any docs-only artefact describing FUTURE work) contains a close-keyword like `closes #N` / `fixes #N` / `resolves #N` in its TITLE or BODY, which GitHub auto-applies at merge time — closing issue #N BEFORE the actual implementation work has been done. Use when: (1) `gh issue view <N>` reports the issue CLOSED but you know the work hasn't run, (2)…

Collected from public GitHub. Every version is saved exactly as it was and never changes. Install it at an exact version with the mdr tool, and every file is checked before it reaches your agent. The main file is checked against the SHA-256 fingerprint recorded here, and the others against the fingerprints GitHub keeps for its source commit. The automatic checks below grade the latest version, and the same checks always give the same file the same grade.

What the file says

# Prep PR close-keyword auto-closes issue prematurely

## Problem

You wrote a docs-only PR shipping a paste-ready prompt / implementation plan /
ADR proposal / scaffolding for future work on issue #N. The PR title looked
like:

> `docs(s171): next-session prompt — backfill historical sf_converted (closes #672)`

or the PR body opened with:

> Paste-ready S171 prompt for the historical `sf_converted` backfill that
> pre-empts Q3 2026 calibration retrain. Closes-ready for issue #672 (P1).

The PR squash-merged cleanly. Hours or days later, someone (you or the next
session) starts executing the prompt. They run `gh issue view 672` and find:

```json
{"closed":true,"closedAt":"2026-05-11T11:27:12Z","stateReason":"COMPLETED"}
```

But the work hasn't run yet. The issue closed because GitHub's keyword parser
treated `closes #672` in the prompt PR's title/body as a close-keyword and
fired at merge time — even though the merged diff was a docs-only handoff
file, not the implementation.

This silently misrepresents repo state. Stakeholders asking "what's left?"
get a falsely-clean issue list. Future audits ("we shipped #672 — where's
the postmortem?") chase ghosts.
…

Read the whole file at its exact version.

How to install

The exact contents, by fingerprint
mdr add wan-huiyan/agent-traffic-control/prep-pr-close-keyword-auto-closes-issue@sha256:7e62d0464be39bc6

The line at the top of this page pins the label v1.2.0, which is what most people want. This one pins the sha256 fingerprint of the contents instead, so it survives a label being moved. Either way the exact version is written to mdr.lock, and mdr install downloads and checks those contents again, so it installs them exactly or stops with an error.

Badge

mdr badge

[![mdr](https://markdownregistry.com/badge/art_cguo25imdtclgchd.svg)](https://markdownregistry.com/a/art_cguo25imdtclgchd)

2 badge image fetches in 30 days. What the badge shows.

Versions

The registry has recorded 4 versions of this file, between May 13, 2026 and Aug 11, 2026, about one every 30 days.

versioncommittedcommitsizeaudit
v1.2.0 latest2026-08-11 f274e4b 20,607 BA view · diff
v1.2.02026-07-08 f1254dd 20,603 BA view · diff
v1.2.02026-05-29 be514e4 20,572 BA view · diff
v1.1.02026-05-13 07472bf 17,245 BA view

Audit of the latest version

A  17 of 17 checks passed. Fixed automatic checks with no AI involved, so the same checks give the same answer every run.
  • pass: Frontmatter block present
  • pass: Frontmatter declares a name
  • pass: Frontmatter declares a description
  • pass: Size between 200 bytes and 200 KB (20607 bytes)
  • pass: No zero-width or bidi control characters
  • pass: No instruction hidden inside an HTML comment
  • pass: No link to an exfiltration or paste host
  • pass: No credential-shaped string
  • pass: No instruction to send local credentials anywhere
  • pass: No text hidden with inline styles
  • pass: No prompt-injection phrasing
  • pass: No curl or wget piped into a shell
  • pass: No recursive delete of root, home or parent
  • pass: No instruction to read or print local credentials
  • pass: No base64 blob over 200 characters
  • pass: No link to a raw IP address
  • pass: No script tag

Source

GitHub

wan-huiyan/agent-traffic-control · 3 stars · license MIT · pushed 2026-09-22 · branch main

API

GET https://markdownregistry.com/api/v1/artifacts/art_cguo25imdtclgchd
GET https://markdownregistry.com/api/v1/resolve?ref=wan-huiyan/agent-traffic-control/prep-pr-close-keyword-auto-closes-issue
GET https://markdownregistry.com/api/v1/blob/7e62d0464be39bc6ff5f95d748dbaccd0c933d5e2d9df2f0f2c2ec48399ba4b4

Your AI assistant does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.

Guides: the SKILL.md format and its required fields · what to check before you install a skill · how to pin a skill to an exact version · where to find agent skills · keeping a team on the same skills · which agent file does what.

More from wan-huiyan/agent-traffic-control

DESIGN.md@plugins/agent-traffic-control/hooks/resume-gate DESIGN.md file
wan-huiyan/agent-traffic-control · plugins/agent-traffic-control/hooks/resume-gate/DESIGN.md
git:20260812.d9a22d6 · audit A · 3 stars
agent-refusal-with-evidence-beats-literal-compliance SKILL.md skill
wan-huiyan/agent-traffic-control · plugins/agent-traffic-control/skills/agent-refusal-with-evidence-beats-literal-compliance/SKILL.md · A dispatched agent that does exactly what you asked can ship a defect you would have stopped yourself, because it can…
v1.0.0 · audit A · 3 stars
async-doc-hook-autodocs-worktree-locks-branch-checkout SKILL.md skill
wan-huiyan/agent-traffic-control · plugins/agent-traffic-control/skills/async-doc-hook-autodocs-worktree-locks-branch-checkout/SKILL.md · Fix for `git checkout <branch>` failing with `fatal: '<branch>' is already used by worktree at '.../autodocs-<name>'`…
v1.0.0 · audit A · 3 stars
async-post-commit-hook-commit-orphaned-by-squash-merge SKILL.md skill
wan-huiyan/agent-traffic-control · plugins/agent-traffic-control/skills/async-post-commit-hook-commit-orphaned-by-squash-merge/SKILL.md · In a repo with an ASYNC/background post-commit hook (one that fires after a commit and creates its OWN follow-up commit…
v1.0.0 · audit A · 3 stars
auto-merge-rearms-while-agent-live-kill-then-disarm-verify SKILL.md skill
wan-huiyan/agent-traffic-control · plugins/agent-traffic-control/skills/auto-merge-rearms-while-agent-live-kill-then-disarm-verify/SKILL.md · Disarming auto-merge on a PR whose agent is still running does not hold it — the agent re-arms within minutes and the…
v1.0.0 · audit A · 3 stars
batch-member-cites-a-path-only-a-non-member-adds SKILL.md skill
wan-huiyan/agent-traffic-control · plugins/agent-traffic-control/skills/batch-member-cites-a-path-only-a-non-member-adds/SKILL.md · You wrote something correct that the default reader cannot reach: a batch member citing a path only a NON-member adds…
v1.1.0 · audit A · 3 stars
batch-merge-subject-is-not-evidence-a-member-landed SKILL.md skill
wan-huiyan/agent-traffic-control · plugins/agent-traffic-control/skills/batch-merge-subject-is-not-evidence-a-member-landed/SKILL.md · You are about to close, delete the branch of, or mark as landed a pull request because a batch, roll-up or merge-train…
v1.0.0 · audit A · 3 stars
ci-leg-skipping-moves-minutes-it-does-not-remove-them SKILL.md skill
wan-huiyan/agent-traffic-control · plugins/agent-traffic-control/skills/ci-leg-skipping-moves-minutes-it-does-not-remove-them/SKILL.md · You are about to propose, price or approve a CI cost saving that works by making a job or matrix leg SKIP on pull…
v1.0.0 · audit A · 3 stars
cjk-structured-llm-output-truncates-json-needs-2x-tokens SKILL.md skill
wan-huiyan/agent-traffic-control · plugins/agent-traffic-control/skills/cjk-structured-llm-output-truncates-json-needs-2x-tokens/SKILL.md · When generating LONG Chinese/Japanese/Korean (CJK) STRUCTURED output (a big JSON report, a multi-section document) from…
v1.0.0 · audit A · 3 stars
claude-code-projects-jsonl-worktree-fanout SKILL.md skill
wan-huiyan/agent-traffic-control · plugins/agent-traffic-control/skills/claude-code-projects-jsonl-worktree-fanout/SKILL.md · Find a prior session's transcript that `~/.claude/projects/<project>/` does not hold: each git worktree gets its own…
v1.0.0 · audit A · 3 stars
clean-merge-lands-line-guard-on-a-value-neither-branch-predicted SKILL.md skill
wan-huiyan/agent-traffic-control · plugins/agent-traffic-control/skills/clean-merge-lands-line-guard-on-a-value-neither-branch-predicted/SKILL.md · Two branches each contain a guard, test or document that pins a line NUMBER in a third file, each side correctly…
v1.0.0 · audit A · 3 stars
code-review-subagent-fabricates-specifics-to-inflate-severity SKILL.md skill
wan-huiyan/agent-traffic-control · plugins/agent-traffic-control/skills/code-review-subagent-fabricates-specifics-to-inflate-severity/SKILL.md · When a code-review subagent (voltagent-qa-sec, opus-tier reviewer, code-reviewer, etc.) reports a HIGH or BLOCKING…
v1.0.0 · audit A · 3 stars

Every file in wan-huiyan/agent-traffic-control

Browse by kind, by grade A, or by owner.