issue-reconcile
Backfill docs/history.md for issues that were closed outside the /issue-close-stage + /issue-close-finalize path (web UI, mobile, another shell).
Skill by nirecom
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/nirecom-issue-reconcile
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: design
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
- Shell scripts
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/issue-reconcile
What's inside
- Skill name
issue-reconcile- Description
- Backfill docs/history.md for issues that were closed outside the /issue-close-stage + /issue-close-finalize path (web UI, mobile, another shell). Best-effort scan + interactive confirmation.
- License
- MIT
- Instructions
- 75 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Files (3)
- SKILL.md
- append-one.sh · scripts/
- backfill-batch.sh · scripts/
SKILL.md (first lines)
`/issue-close-stage` + `/issue-close-finalize` is the sanctioned close path
inside Claude Code, but the `enforce-issue-close.js` hook only covers Claude
Code's Bash tool. Issues closed elsewhere have no
`<!-- issue-close-sentinel: appended -->` comment
and never trigger `doc-append`. This skill walks closed issues, detects
missing sentinels, and backfills entries.
Usage: `/issue-reconcile`
## Pre-flight
- `AGENTS_MAIN_ROOT` must be set.
- Read `rules/github-issues.md` — on-demand-only, never auto-injected.
## IRC-1: pre-resolve
Resolve in main: `<OWNER_REPO>` — read it from the stdout of the standalone call `gh repo view --json owner,name --jq '.owner.login + "/" + .name'` — plus `<HISTORY_MD_PATH>` (absolute path to `docs/history.md`) and `<HISTORY_DIR_PATH>` (absolute path to `docs/history/`).
## IRC-2: scan via worker
Dispatch the `issue-reconcile` worker per `skills/_shared/worker-dispatch.md`. Payload: `owner_repo`, `history_md_path`, `history_dir_path`, `artifact_dir` (the `PLANS_DIR` from WD-1), `limit` (omit for the 1000-issue default).
On `status: failed`: stop and report. A `scan truncated at <N>` summary means the closed-issue scan hit `limit` — re-dispatch with a higher `limit` rather than acting on the partial result. On `status: complete`: read the JSONL artifact — issues with `classification: needs-reconcile` feed IRC-3.
## IRC-3: prompt and append
For each non-clean issue, show the user:
- Issue number, title, closedAt
- Classification (sentinel-only / unappended)
- The Background/Changes (or Cause/Fix) the entry would carry
Ask whether to **append**, **skip**, or **stop**.
On "append":
Run one standalone call per issue: `bash "$AGENTS_MAIN_ROOT/skills/issue-reconcile/scripts/append-one.sh" "<NUM>"`. It stages the current `docs/history.md`, appends the entry with `--allow-backdate`, and PUTs the result back through the Contents API.
The script is internally idempotent — running it on `history-only` does
nothing harmful — but skip those in IRC-2 anyway to avoid unnecessary
GitHub API calls.
## IRC-3b: batch backfill
When more than a handful of issues are pending, do not run IRC-3 per issue —
70 issues would mean 70 commits. Create a linked worktree, write the issue
numbers one per line, and run `skills/issue-reconcile/scripts/backfill-batch.sh
--repo-dir <worktree> --numbers-file <path>`. It appends every entry, sorts and
rotates once, and lists the appended issues in `<worktree>/.backfill-appended.txt`
for the sentinel step. Commit and PR the result as one change.
After a successful append, post the `appended` sentinel so future runs
classify the issue as clean. The `gh issue comment` call is gated by
`enforce-issue-close.js`; the bare-prefix `ISSUE_CLOSE_SKILL=1` bypass is
out of scope for #672 and remains in place pending a follow-up:
<!-- Note: `gh issue comment` is Group A (classify → "read") in bash-write-patterns.js; ISSUE_CLOSE_SKILL=1 is for enforce-issue-close.js, not enforce-worktree.js. -->
```bash
ISSUE_CLOSE_SKILL=1 gh issue comment "$NUM" \
--body "<!-- issue-close-sentinel: appended -->"
```
## IRC-4: optional persistence
Record the last reconcile timestamp at
`<git-common-dir>/info/issue-reconcile.last`, where `<git-common-dir>` is what
`git rev-parse --git-common-dir` prints. The skill is
otherwise stateless — every run is a fresh scan.
## End
Report: how many issues were scanned, how many were appended, how many
skipped, and the path to any warnings.From nirecom/agents, MIT.
More from nirecom/agents
- 0.606score
issue-close-migrated
nirecom
Close an issue as status:migrated or status:cancelled with --reason "not planned".
SkillAFreshness: A★ 3Claude Code +9 - 0.606score
issue-close-stage
nirecom
Phase 1 of the 2-phase issue-close split.
SkillAFreshness: A★ 3Claude Code +9 - 0.606score
issue-create
nirecom
Create a task GitHub Issue with the type:task label and add it to Projects v2, after surveying existing issues for duplicates, parents, and siblings.
SkillAFreshness: A★ 3Claude Code +9 - 0.606score
clarify-intent
nirecom
Conduct a decision-tree interview with the user to lock in requirements, motivation, scope, and non-goals before planning.
SkillAFreshness: A★ 3Claude Code +9 - 0.606score
issue-close-finalize
nirecom
Phase 2 of the 2-phase issue-close split.
SkillAFreshness: A★ 3Claude Code +9 - 0.603score
get-release-approval
nirecom
Run the release preflight, then obtain the user release approval (the single issuer of WORKFLOW_USER_VERIFIED)
SkillAFreshness: A★ 3Claude Code +9 - 0.601score
deep-research
nirecom
Research external information (APIs, libraries, best practices, existing solutions) via web search before planning or implementation.
SkillAFreshness: A★ 3Claude Code +9 - 0.598score
aws-scan
nirecom
Orchestrate a full AWS infrastructure scan across resources, security, cost, and applications.
SkillAFreshness: A★ 3Claude Code +9 - 0.598score
aws-scan-apps
nirecom
Map application-layer AWS resources (ECS, Lambda, ALB, API Gateway) and write a topology to AWS_STATE_DIR.
SkillAFreshness: A★ 3Claude Code +9 - 0.598score
aws-scan-cost
nirecom
Query current AWS billing data and identify top cost drivers using Cost Explorer.
SkillAFreshness: A★ 3Claude Code +9 - 0.598score
aws-scan-resources
nirecom
Enumerate AWS compute, storage, network, and IAM resources and write a structured inventory to AWS_STATE_DIR.
SkillAFreshness: A★ 3Claude Code +9 - 0.598score
commit-push
nirecom
Commit and push the branch, then create or reuse a PR (no merge)
SkillAFreshness: A★ 3Claude Code +9
Signals
- Stars
- 3
- Forks
- 0
- Open issues
- 608
- Last commit (this folder)
- Oct 11, 2026 (18 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/nirecom/agents
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from nirecom
- 0.606score
clarify-intent
nirecom
Conduct a decision-tree interview with the user to lock in requirements, motivation, scope, and non-goals before planning.
SkillAFreshness: A★ 3Claude Code +9 - 0.606score
issue-close-finalize
nirecom
Phase 2 of the 2-phase issue-close split.
SkillAFreshness: A★ 3Claude Code +9 - 0.606score
issue-create
nirecom
Create a task GitHub Issue with the type:task label and add it to Projects v2, after surveying existing issues for duplicates, parents, and siblings.
SkillAFreshness: A★ 3Claude Code +9 - 0.606score
issue-close-migrated
nirecom
Close an issue as status:migrated or status:cancelled with --reason "not planned".
SkillAFreshness: A★ 3Claude Code +9 - 0.606score
issue-close-stage
nirecom
Phase 1 of the 2-phase issue-close split.
SkillAFreshness: A★ 3Claude Code +9 - 0.603score
get-release-approval
nirecom
Run the release preflight, then obtain the user release approval (the single issuer of WORKFLOW_USER_VERIFIED)
SkillAFreshness: A★ 3Claude Code +9
Cite this page
issue-reconcile skill. Agent Mart. https://agentmart.dev/skills/nirecom-issue-reconcile (last updated 2026-10-24)