Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/nirecom/agents/session-closenpx skills add nirecom/agents --skill session-closegit clone --depth 1 https://github.com/nirecom/agentsWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00050 | $0.02746 |
| Opus 5 | $0.00025 | $0.01373 |
| Sonnet 5 | $0.00010 | $0.00549 |
| Haiku 4.5 | $0.00005 | $0.00275 |
Grade A, and why
session-close scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Runs shell commandslowCapability
Expected in a hook, worth knowing in a rule or an instructions file.
- `/issue-close-finalize` is invoked via the Skill tool only (never `bash`/`spawnSync`). How it starts
The opening of the file, as written. The whole thing — 199 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Session close orchestrator. Drives issue-close-finalize (when applicable),
collects the outcome JSON written by Step L, and emits the Final Report by
substituting the skeleton from hooks/lib/final-report-schema.renderSkeleton.
Replaces the legacy "Step 7" emit inside /worktree-end so the Final Report
reflects every terminal action.
Pre-flight
AGENTS_CONFIG_DIRmust be set.- Caller context (under
ENFORCE_WORKTREE=on):/worktree-endSteps 1–6i have already completed (worktree merged and removed;<PLANS_DIR>/<session-id>-final-report-env.jsonexists). - Caller context (under
ENFORCE_WORKTREE=off): the PR is merged. No worktree-end ran; the env file does not yet exist.
Step SC-0 — Resolve PLANS_DIR and session id
PLANS_DIR=$(bash "$AGENTS_CONFIG_DIR/bin/workflow-plans-dir" 2>/dev/null \
|| printf '%s\n' "${WORKFLOW_PLANS_DIR:-$HOME/.workflow-plans}")
printf 'PLANS_DIR=%s\n' "$PLANS_DIR"
Substitute the absolute path for <PLANS_DIR> in every subsequent step.
Resolve <session-id> from $CLAUDE_ENV_FILE (CLAUDE_SESSION_ID) with the
fallback chain used by --from-session. If unresolvable, abort:
session id unresolved — cannot render Final Report.
<PLANS_DIR> and <session-id> are LLM-substituted literals — shell variables
do not persist between Bash tool calls.
Step SC-1a — Detect WF-META session
Run: node "$AGENTS_CONFIG_DIR/bin/session-close-detect-wf-meta.js" ""
- stdout
yes→ WF-META session. RecordIS_WF_META=yesas an LLM-tracked state literal (not a shell variable — every Bash call is self-contained). Proceed to SC-2C. - stdout
no→ proceed to SC-1b (ENFORCE_WORKTREE detection).
Step SC-1b — Detect ENFORCE_WORKTREE mode
Check via Bash:
bash -c 'cd "$AGENTS_CONFIG_DIR" && bash "$AGENTS_CONFIG_DIR/bin/confirm-off" ENFORCE_WORKTREE on'
- stdout
ONorERROR→ worktree path (SC-2A). - stdout
OFF→ branch/main path (SC-2B).
Step SC-2A — Worktree path: reuse existing env JSON
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- yesterday First seen · 199 lines · 50 tokens per session scan A e5e76205660a
session-close is a skill published in the GitHub repository nirecom/agents (3 stars, last pushed 2d ago), licensed MIT. It adds 50 tokens to every session and 2,746 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 1 finding (runs shell commands). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
systematic-debugging
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.
next-cache-components-adoption
Turn on Cache Components in a Next.js app and resolve the blocking routes it surfaces. Use when the user wants to enable, adopt, or migrate to Cache Components, flip the cacheComponents flag, work through a flood of blocking-prerender / instant validation errors, run the cache-components-instant-false codemod, or…
babysit-pr
Babysit a GitHub pull request after creation by continuously polling review comments, CI checks/workflow runs, and mergeability state until the PR is merged/closed or user help is required. Diagnose failures, retry likely flaky failures up to 3 times, auto-fix/push branch-related issues when appropriate, and keep…
imagegen
Generate or edit raster images when the task benefits from AI-created bitmap visuals such as photos, illustrations, textures, sprites, mockups, or transparent-background cutouts. Use when Codex should create a brand-new image, transform an existing image, or derive visual variants from references, and the output…
cpu-profile-analysis
Analyze V8/Chrome CPU profiles (.cpuprofile) and DevTools trace files (Trace-.json). Use when: profiling performance, investigating slow functions, comparing code paths, finding bottlenecks, analyzing timeToRequest, understanding call trees from sampling profiler data, analyzing layout/paint/rendering, investigating…
next-cache-components-optimizer
Drive a Next.js route to instant navigation by setting up an agentic loop, under Cache Components / PPR, on initial load (hard navigation) and client-side navigation (soft navigation). Encode the goal as a failing @next/playwright instant() e2e and work it to green, one verified route at a time; the shipped test then…