PuPu: Skill for Claude Code

.claude/skills/release-close-sprint/SKILL.md

release-close-sprint is a skill for Claude Code from haoxiang-xu/PuPu. It costs 70 tokens per session (1,043 once invoked), scanned A, original, Apache-2.0.

A release-closing procedure for a PuPu version in GitHub Projects. It checks one release issue and its direct sub-issues, then records whether the release evidence is complete.

In plain words
What is it for?
Use it to roll-call release tickets, verify their GitHub and project statuses, check required feature-audit evidence, and record blockers or completion evidence.
Why use it?
It helps prevent a release from being closed while child work is still open, incorrectly classified, or missing required audit or waiver records.

Skill for Claude Code

Written for Claude Code: installed under .claude/. Also seen: reads .claude/ paths.

This is haoxiang-xu/PuPu's own configuration. It tells Claude Code how to work on PuPu itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything PuPu configures →

Reuse

Borrowing it

Nothing to install: this file belongs to haoxiang-xu/PuPu. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/haoxiang-xu/PuPu/main/.claude/skills/release-close-sprint/SKILL.md
Clone the repo
git clone --depth 1 https://github.com/haoxiang-xu/PuPu

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for release-close-sprint

README.md
[![agentmods](https://agentmods.dev/badge/skills/haoxiang-xu/pupu/release-close-sprint/github.svg)](https://agentmods.dev/skills/haoxiang-xu/pupu/release-close-sprint)
Your own site
<a href="https://agentmods.dev/skills/haoxiang-xu/pupu/release-close-sprint"><img src="https://agentmods.dev/badge/skills/haoxiang-xu/pupu/release-close-sprint/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for release-close-sprint

Your own site · 80×15
<a href="https://agentmods.dev/skills/haoxiang-xu/pupu/release-close-sprint"><img src="https://agentmods.dev/badge/skills/haoxiang-xu/pupu/release-close-sprint.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 70 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,043 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • NVIDIA SkillSpector pass 7 Sept 2026
How audits are shown
Origin original No closer match found in the catalogue.
Token cost

What 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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00070 $0.01043
Opus 5 $0.00035 $0.00522
Sonnet 5 $0.00014 $0.00209
Haiku 4.5 $0.00007 $0.00104

Measured 11d ago against content hash 4d1861d73aa7, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-11, from the pricing page.

Security

Grade A, and why

release-close-sprint scanned grade A with 0 findings 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 11d ago.

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.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.claude/skills/release-close-sprint/SKILL.md · 90 lines

How it starts

The opening of the file, as written. The whole thing — 90 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Release: Close

Administrative wrap-up, not deep QA or a substitute for release certification. The only scope is one Size=Release parent and its direct sub-issues in PUPU Project. Do not read or update a sprint document.

Plumbing: follow .claude/skills/release-open-sprint/board-api.md. All decisions, test evidence, waivers, and growth baseline live in GitHub comments on the Release parent or relevant child issue.

Acts

Act 1 — resolve and roll-call. Resolve the explicit open Release parent; zero or multiple matches requires the project owner's choice. Keep it In Progress while you paginate its direct sub-issues. For each child, verify both GitHub issue state=closed and Project Status=Done. A ticket labelled new feature also needs a fresh release-feature-audit:v2 comment naming this parent, Overall=PASS, and a Candidate digest equal to its delivered candidate; a waiver instead needs the full release-audit-waiver:v2 record on both child and parent. Do not accept free-text comments as evidence. A child without a work-type label blocks the roll-call until the project owner classifies it. Do not deep-review implementation here.

For any open child, the project owner chooses one disposition:

  • Must ship: keep it attached; the Release cannot close.
  • Defer: comment ticket, reason, destination, and project owner decision on the parent first; then remove it or attach it to a named future Release.
  • Cancel: record the project owner's decision, remove the child from this Release, and, if requested, close it as not planned. Never use Project Status=Done to represent canceled work.

Never close a parent while it still owns an open child. Only after required scope is complete may the parent move to In Review. A must-ship child or a new must-fix child keeps or returns the parent to In Progress before any scope change.

Act 2 — smoke via real app. Use the test-api skill with a real LLM (convention: openai:gpt-4.1, never local ollama). Cover chat lifecycle, message send, model/toolkit switch, and one probe through every affected area. Delete probe sessions. If Python changed, restart the sidecar before testing.

Read the full file on GitHub · 90 lines

Changes

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.

  1. 11d ago First seen · 90 lines · 70 tokens per session scan A 4d1861d73aa7

Subscribe to this mod's changes

release-close-sprint is a skill published in the GitHub repository haoxiang-xu/PuPu (36 stars, last pushed today), licensed Apache-2.0. It adds 70 tokens to every session and 1,043 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.