Borrowing it
Nothing to install: this file belongs to ndjordjevic/pinrag. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/ndjordjevic/pinrag/main/.cursor/skills/pinrag-release/SKILL.mdgit clone --depth 1 https://github.com/ndjordjevic/pinragWrote 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.
[](https://agentmods.dev/skills/ndjordjevic/pinrag/pinrag-release)<a href="https://agentmods.dev/skills/ndjordjevic/pinrag/pinrag-release"><img src="https://agentmods.dev/badge/skills/ndjordjevic/pinrag/pinrag-release/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.
<a href="https://agentmods.dev/skills/ndjordjevic/pinrag/pinrag-release"><img src="https://agentmods.dev/badge/skills/ndjordjevic/pinrag/pinrag-release.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00030 | $0.01095 |
| Opus 5 | $0.00015 | $0.00548 |
| Sonnet 5 | $0.00006 | $0.00219 |
| Haiku 4.5 | $0.00003 | $0.00110 |
Grade A, and why
pinrag-release 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 10d 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.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
curl -fsS "https://registry.modelcontextprotocol.io/v0.1/servers?search=io.github.ndjordjevic/pinrag" \ How it starts
The opening of the file, as written. The whole thing — 71 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Release pinrag
Scope: Use this skill only when the user is working in the pinrag repo (this skill lives at .cursor/skills/pinrag-release/).
Cut a new pinrag release: bump version, tag, push, and create a GitHub Release (which triggers PyPI publish).
Steps
-
Determine version — If the user provides a version (e.g.
0.7.0), use it. Otherwise readpyproject.tomland suggest the next patch (e.g.0.6.0→0.6.1) or ask the user. -
Bump version — Set
version = "X.Y.Z"inpyproject.tomland the sameX.Y.Zinserver.json: the top-level"version"field andpackages[0].version(MCP Registry metadata for the PyPI package). Keep them in lockstep on every release. -
Commit and push — Run:
git add pyproject.toml server.json && git commit -m "Bump version to X.Y.Z" && git push origin main -
Tag and push — Run:
git tag -a vX.Y.Z -m "Release vX.Y.Z" git push origin vX.Y.Z -
Create GitHub Release — Run:
gh release create vX.Y.Z --notes "Placeholder"Then edit with real notes:
gh release edit vX.Y.Z --notes "PASTE_NOTES_HERE"Or create with notes in one step if the user provides them.
-
Release notes format — Match existing releases. Scan all commits and changes from the previous release to draft notes:
- Title:
# vX.Y.Z — Short subtitle - Summary: One line describing the release.
- Sections:
## Section name(e.g. Configuration, Evaluation, Docs). - Bullets:
- **Topic** — Detail. - To draft from diff:
git log vPREV..vX.Y.Z --onelineandgit diff vPREV..vX.Y.Z --stat
- Title:
Notes
- Publishing the GitHub Release runs the workflow and publishes to PyPI. Tag push alone does not publish.
- If
ghis not available or the user prefers manual PyPI:uv build && uv publish(use PyPI API token when prompted). - Ensure you are on
mainand have no uncommitted changes before starting.
MCP Registry (mcp-publisher)
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.
- 10d ago First seen · 71 lines · 0 tokens per session scan A d55a670f21a5
pinrag-release is a skill published in the GitHub repository ndjordjevic/pinrag (2 stars, last pushed 5mo ago), licensed MIT. It adds 30 tokens to every session and 1,095 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
deploy-checklist
Generate deployment checklist for a feature before merge. Use after PR is approved, before merge, or when the user says "deploy checklist", "checklist deploy", "pre-deploy", "ready to merge?", "checklist de deploy", "posso mergear?", "pronto pra deploy?", "can I merge?", "deploy readiness". Do NOT use for CI pipeline…
git-workflow-and-versioning
Structures git workflow practices. Use when making any code change. Use when committing, branching, resolving conflicts, splitting uncommitted work in a messy working tree into clean atomic commits, opening or reviewing a pull request (PR), pushing to a remote, or when you need to organize work across multiple…
release-jetbrains
Use when releasing the Kilo JetBrains plugin -- resolve a version ("next rc" or explicit), run the prepare workflow, edit and commit a filtered human-readable changelog on the release PR, then watch publish to completion.
finishing-a-development-branch
A process for finishing a completed development branch. A branch is a separate line of code changes that can later be merged or submitted as a pull request.
skillshare-changelog
Generate CHANGELOG.md entry from recent commits in conventional format. Also syncs the website changelog page. Use this skill whenever the user asks to: generate a changelog, document what changed between tags, or create a new CHANGELOG entry. If you see requests like "write the changelog for v0.17", "what changed…
skillshare-release
End-to-end release workflow for skillshare. Runs tests, generates changelog (via /changelog), optionally writes local RELEASENOTES, updates version numbers, commits, and drafts announcements. Use when the user says "release", "prepare release", "cut a release", "release v0.19", or any request to publish a new version.…