Borrowing it
Nothing to install: this file belongs to Pseudogiant-xr/Pseudolife-MCP. 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/Pseudogiant-xr/Pseudolife-MCP/master/.claude/skills/release-procedure/SKILL.mdgit clone --depth 1 https://github.com/Pseudogiant-xr/Pseudolife-MCPWrote 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/pseudogiant-xr/pseudolife-mcp/release-procedure)<a href="https://agentmods.dev/skills/pseudogiant-xr/pseudolife-mcp/release-procedure"><img src="https://agentmods.dev/badge/skills/pseudogiant-xr/pseudolife-mcp/release-procedure/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/pseudogiant-xr/pseudolife-mcp/release-procedure"><img src="https://agentmods.dev/badge/skills/pseudogiant-xr/pseudolife-mcp/release-procedure.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.00069 | $0.02772 |
| Opus 5.5 | $0.00028 | $0.01109 |
| Sonnet 5.5 | $0.00014 | $0.00554 |
| Haiku 4.5 | $0.00007 | $0.00277 |
Grade A, and why
release-procedure 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 4d 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 "https://registry.modelcontextprotocol.io/v0.1/servers?search=pseudolife"`. How it starts
The opening of the file, as written. The whole thing — 169 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Release / publish procedure (five public surfaces)
GitHub releases, PyPI, the MCP registry, the GHCR container images, and the
Claude Code plugin marketplace (.claude-plugin/marketplace.json +
plugin/ — served straight from master, no publish step; users pull via
/plugin marketplace update) all serve from this repo; a release touches
them in this order (first done 2026-07-16, v0.8.0; GHCR images added
2026-08-14).
-
Docs currency pass before the cut — three checks, and (a) is the one that gets skipped because nothing fails when you miss it.
(a) Absence — is the new behavior documented at all? List the behavior changes since the last tag (
git log vN.N.N..HEAD, the CHANGELOG's[Unreleased]plus the pendingchangelog.d/fragments) and ask of each: which user-facing page describes this? A capability with no guide entry contradicts nothing, so no guard test and no re-verify pass will ever surface it — only this question will. Schema v16–v18 shipped undocumented exactly this way, and 0.10.0's headline extraction change lived in the CHANGELOG alone until it was caught by hand at the release gate. A CHANGELOG entry is a record of a change, not documentation of a behavior. Corollary: never exclude a file from this pass on the strength of an earlier read that was looking for something else — a narrow check does not justify a broad exclusion.(b) Contradiction — do the existing claims still hold? The guard tests pin numbers (schema, identifiers), but framing drifts silently: the 2026-07-16 pass found 15 stale claims the guards can't see. Re-verify the drift-prone claim classes against code before any release: what's bundled/default (extractor model + size, embedding weights), the transport story (HTTP-first; shim = host-process only), lifecycle ownership (episodes are daemon-owned; briefing is the only hook), tool count/tiers and the hidden-tools-need-expand rule, shipped config defaults (surprise gate is permissive), image/install sizes, and any "can't / doesn't / no X" absolute — those age worst. Translated front doors (
docs/i18n/README.{zh,ja,ko,pt-br,es}.md): if the narrative or quickstart indocs/i18n/README.source.mdchanged, bump itsi18n-sourceversion and re-run the translation subagents — the guard (tests/test_i18n_readme.py) pins code blocks + sync markers but cannot read prose. Surfaces: README, docs/guide/*.md (the user-facing guide pages the 2026-07-16 restructure moved the README's deep material into — configuration, retrieval, dreaming, episodes, memory-model, benchmarks; they carry the same drift-prone claims the README used to), CONTRIBUTING, SECURITY, evals/README, examples/ (CLAUDE.memory.md is injected into user CLAUDE.md / AGENTS.md files — its tool surface must match exactly), docs/runbooks, ops/.env.example comments. The README is the PyPI description, so its fixes only reach PyPI at the next version.(c) Setup — does any change since the last tag leave the user a manual step? For each behavior change, ask what a user must do by hand after
pseudolife-mcp updateor a fresh install: a config edit, a login, a serve, a command to run once. If the answer is anything, the release waits until the installer or update does it (CLAUDE.md, "Install and update experience"). The 2026-10-04 passkey and test-login changes held the release after 0.16.1 this way. -
First fold the changelog fragments:
python ops/assemble_changelog.pymoves everychangelog.d/*.mdentry into## [Unreleased](newest first) and deletes the fragment files. Review the folded section, then commit it with the cut. Fragments landed since 2026-10-09 exist only there until this runs.Version cut touches seven files together: the CHANGELOG (
## [N.N.N]header over[Unreleased]— one fragile line; the tag↔section guard test exists because an adjacent edit once deleted it silently),pyproject.toml, the daemon image tag in both compose files (ops/docker-compose.ymland the packaged copypseudolife_memory/compose/docker-compose.yml), both version fields inserver.json,plugin/release.json(pinned to pyproject bytests/test_plugin_packaging.py; the release the hooks report for the version handshake.plugin/.claude-plugin/plugin.jsoncarries no version: Claude Code keys its cache by it, and the marketplace ships the plugin from every master commit), anddocs/atlas/atlas.jsonmeta(pinned bytests/test_atlas_currency.py; re-verify the map's claims, don't just renumber it — updatemeta.verifiedto the date you actually checked).server.json(both fields) and theops/docker-compose.ymldaemon image tag are also pinned locally bytests/test_plugin_packaging.py::test_server_json_versions_match_pyproject(issue #185) — run it as part of the cut, before tagging, so a missed field fails in the suite rather than mid-CI. Nothing pins the packaged compose copy's tag to the version: check it by hand.
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.
- 4d ago Changed · +4 lines b9ba847e69e1
- 7d ago Changed · +3 lines 908863a1079c
- 10d ago Changed · +20 lines 1342d1053e2d
- 18d ago Changed · +7 lines f92fcad49e7b
- 19d ago Changed · +13 lines 04360632591e
- 22d ago Changed · +8 lines c39f9d80525f
- 25d ago Changed 84bdf22b98d1
- 26d ago Changed · +2 lines 7a3714a81ece
- 1mo ago Changed bfedd561b93b
- 1mo ago First seen · 112 lines · 69 tokens per session scan A 619e2e353cad
release-procedure is a skill published in the GitHub repository Pseudogiant-xr/Pseudolife-MCP (6 stars, last pushed today), licensed Apache-2.0. It adds 69 tokens to every session and 2,772 once invoked, about $0.0003 per session on Opus 5.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
another-brain
Use the another-brain MCP tools (remember, search, recent, get, reinforce, forget) as shared long-term memory. Activates at the start of a task that may continue previous work, when recalling past decisions/fixes/preferences, when learning something worth remembering across sessions or agents, or after using a…
hypermnesic-memory
Use when Hermes needs durable project or personal memory through the local hypermnesic CLI: retrieve prior context, think through related notes, resolve entities, inspect writable folders, capture notes, or preview guarded writes.
agent-memory-discipline
Rules for when an agent should recall from long-term memory before acting and when it should save decisions, corrections and failures afterwards. Works with any memory backend.
computer-history
Answer questions about what the user recently did on their computer — who contacted them, what they were working on, where they left off — by reading the local Computer History summaries and raw event streams.
memanto-companion
Inspect and manage the cross-session engineering memory that Memanto maintains for your Claude Code skills. Use when the user asks what Memanto remembers, wants to see their engineering profile, manually recall context for a skill, or store a decision. The automatic lifecycle hooks handle capture/injection on their…
install-openviking-memory
Install and configure the OpenViking long-term memory plugin for OpenClaw via natural conversation. Once installed, the plugin automatically captures facts from chats and recalls relevant context before each reply (auto-capture + auto-recall, cross-session). Covers prerequisites, install through OpenClaw's plugin…