pstack-claude is a set of opinionated coding-agent skills and workflows ported from Cursor to Claude Code, Codex, Pi, and other agent harnesses. It guides agents toward concise, simple, and verified code by routing goals to suitable workflows and supporting subagent tools. The catalogue entries are the project's skills, agents, hook, and plugin implementations for these agent environments.
Getting it into your agent
This one installs as part of its plugin. Adding the marketplace and installing the plugin brings it with everything else the plugin ships.
/plugin marketplace add michael-denyer/pstack-claude/plugin install pstackWrote 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/michael-denyer/pstack-claude/recall)<a href="https://agentmods.dev/skills/michael-denyer/pstack-claude/recall"><img src="https://agentmods.dev/badge/skills/michael-denyer/pstack-claude/recall/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/michael-denyer/pstack-claude/recall"><img src="https://agentmods.dev/badge/skills/michael-denyer/pstack-claude/recall.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- Socket pass
- Snyk warn
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.00088 | $0.01457 |
| Opus 5.5 | $0.00035 | $0.00583 |
| Sonnet 5.5 | $0.00018 | $0.00291 |
| Haiku 4.5 | $0.00009 | $0.00146 |
Grade A, and why
recall 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 today.
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.
Copies of this mod
7 near-identical copies found in the catalogue:
How it starts
The opening of the file, as written. The whole thing — 40 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Recall
On GitHub Copilot, read the platform mapping, including its per-skill notes, before following this skill.
On Muse, read the platform mapping, including its per-skill notes, before following this skill.
Before you start or resume work, you rebuild the user's recent working context and hand back a tight capsule of where things stand now and what to do next.
Keep it tight and on-topic. Read only what the in-scope threads need, then stop.
Your context lives in two records. Your own chat history holds what you did and decided. The shared record holds everything that happened around the same code under other names: the symptoms users keep reporting, the fixes that shipped and got reverted, the errors still firing in prod. That second record is what the why skill searches, across source control, the issue tracker, chat and issue channels, long-form docs, and error tracking. A feature with a long bug tail keeps most of its story there, so don't reconstruct it from your transcripts alone.
Transcripts live at ${CLAUDE_CONFIG_DIR:-$HOME/.claude}/projects/<encoded-cwd>/<uuid>.jsonl. Every line is one chat message. Run node <plugin>/skills/reflect/scripts/claude-project-dir.mjs to print this session's directory rather than building <encoded-cwd> by hand. Claude Code turns each character other than an ASCII letter or digit into "-" (so /Users/you/my_app.web becomes -Users-you-my-app-web), shortens a name past 200 characters with a hash, and takes CLAUDE_CODE_PROJECT_DIR_NAME in its place when that is set with CLAUDE_CONFIG_DIR.
- Classify, then route. One specific prior chat to resume is the
session-pickupplaybook, not this. Turning habits into a durable skill isautomate-me. A human-readable summary of your work is a different task. Recall loads working context across recent chats before you act. If the user already gave you a full state capsule (paths, branch, the change), use it and skip the mining. - Lock the scope before searching. Pin the window ("recent" is a real range, default the last 7 days), the topic if named, and the workspace (default the active one. Never read another project's transcripts without being asked). State the scope back. Never quietly turn "all" into "recent N".
- Fan out across your chat history. Spawn parallel subagents on a fast, cheap model, each taking a slice of the corpus. Tell every subagent to order candidates by real modification time (
ls -t) and never by UUID name, grep the topic first and then read only the matching chats and only their relevant regions, and skip the current chat plus obvious noise (subagent, eval, and test chats). Each returns the same schema, one block per chat: topic, the user's goal, decisions, open threads, struggles and corrections, and artifacts (PRs, tickets, branches), each citing the chat UUID. For one or two chats, skip the fan-out and search directly. The raw transcripts stay in the subagents. The main thread gets only their findings. Pick each subagent's reasoning level for the job, per the Subagents section of the poteto-mode skill. - Sweep the shared record whenever the topic names a feature, file, subsystem, area, or bug. This is the default, not a judgment call, and "my work on X" does not exempt it. Hand it to the why skill's source investigators, but steer their question from "why was this built this way" to "what's the current state, what's been tried and didn't hold, and what are users still reporting". Reuse its per-source playbooks, run the investigators in parallel with the chat-history mining, and inherit its posture: one investigator per source, null results are findings, skip an unavailable MCP and say so. Fold what comes back into the brief. Also sweep every location the project's standing rules name for queued or recorded items (a memory directory, a decisions log, a
.planning/tree, a project CLAUDE.md pointer) before you report anything as never recorded. A search that skips a place the project's rules name is not exhausted. Skip this step only for pure activity recall with no named target ("what did I do this week"), where your own history and live state are the entire answer. - For claims about human rulings, apply Claims about human decisions. Preserve the attributable original wording and source when exact scope matters, separate agent interpretations, and treat copied summaries as one evidence chain.
- Verify against live state. Take the PRs, branches, and tickets that the mining and the sweep surfaced and check them with
gitandgh. When the answer hinges on what an agent actually did (the tools it ran, files it read, errors it hit), read the full transcript, not just a trimmed local copy. - Write the brief to the contract below. Group by thread. Stay on the named topic.
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.
- today Changed b18e825be080
- yesterday Changed · +2 lines 8b87e3cfe4e6
- 6d ago Changed ca491c230dd7
- 16d ago Changed · +2 lines c353b50d95dc
- 28d ago Changed 4d33fecb67e8
- 1mo ago Changed · +1 lines c03e732854a4
- 1mo ago Changed · -1 lines · +11 tokens per session a9af698765a6
- 1mo ago First seen · 36 lines · 77 tokens per session scan A 4c158b7e1f42
recall is a skill published in the GitHub repository michael-denyer/pstack-claude (3,246 stars, last pushed today), licensed MIT. It adds 88 tokens to every session and 1,457 once invoked, about $0.0004 per session on Opus 5.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.
Other skills, from other repositories
agents-skills-feedback-loop
Adds per-skill learnings loops for dated patterns, mistakes, and domain facts. Use when wiring skill memory, consolidation, or drift audits.
dev-context-multi-repo
Builds multi-repo context hubs and compiled markdown knowledge maps. Use when profiling repo portfolios or assembling LLM-ready cross-repo knowledge bases.
docs-notes-retrieval
Builds local-first note vault retrieval for Obsidian, markdown notebooks, and NotebookLM-adjacent exports. Use when packaging notes into LLM-ready context.
handoff
Create a structured session handoff when context is running low or work is pausing. Deep context mining, self-validation, multi-file splitting. Captures everything the next session needs.
continuum-memory
Configure and use Continuum's two-tier memory system — mem0+Qdrant/Milvus for long-term facts, Redis for short-term sessions, with multi-tenant scopes (USER / AGENT / SHARED / RUN / CONVERSATION). Invoke when the user asks about "remember", "user preferences", "long-term memory", "vector search over memories"…
ai-context-layer
Designs cross-session agent memory: point-in-time facts, consolidation, tenant isolation. Use when auditing user memory or Mem0/Zep. Not for repo context (dev-context-engineering).