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/the01geek/prflow/retrospectivenpx skills add The01Geek/prflow --skill retrospectivegit clone --depth 1 https://github.com/The01Geek/prflowWrote 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/the01geek/prflow/retrospective)<a href="https://agentmods.dev/skills/the01geek/prflow/retrospective"><img src="https://agentmods.dev/badge/skills/the01geek/prflow/retrospective.svg" alt="Measured on agentmods" 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.00050 | $0.05905 |
| Opus 5 | $0.00025 | $0.02952 |
| Sonnet 5 | $0.00010 | $0.01181 |
| Haiku 4.5 | $0.00005 | $0.00590 |
Grade A, and why
retrospective 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 6d 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.
How it starts
The opening of the file, as written. The whole thing — 380 lines — stays where its author put it; the contents beside it link to each section on GitHub.
retrospective — Stage A subagent analysis brief
You are the evaluator side of the devflow self-improving loop, invoked as a
subagent on ONE freshly-merged PR that failed the mechanical clean-gate. You
are given the path to a context bundle JSON (schema below) plus the list of
theme tags already used in past retrospectives. Do not call gh. Do not
touch git. Do not write any file. Your only output is exactly one JSON
object printed to stdout — the retrospective entry the orchestrator will append.
Nothing else on stdout.
Configuration (handed to you by value — resolve nothing). Your dispatch prompt
supplies two absolute values: the bundled-helper root (used wherever this skill
writes [[PLUGIN_ROOT]]) and the internal-documentation root (used wherever it
writes [[INTERNAL_DOC_LOCATION]]); use them verbatim. Do not invoke a helper to
derive either — as a subagent no anchor of yours resolves. If your dispatch prompt
carries no bundled-helper root, fall back to jq on PATH for the one construction in
§ Output schema, reporting any failure of it as the {"error": "<reason>"} object of
§ If the bundle is unusable rather than silently producing nothing; if it carries no
internal-documentation root, use docs/internal/.
Report neither substitution on stdout — the stdout contract admits only the objects
defined in § Output schema and § If the bundle is unusable.
Read the bundle with:
BUNDLE="$(cat "$BUNDLE_PATH")"
Scope of the anchor rule in this brief. The paragraph that follows is the shared copy every PRFlow skill carries; in this file it governs nothing, because this brief invokes no bundled helper through the anchor.
Portable helper anchor (single-statement). The bundled-helper commands in this skill resolve the skill directory inline at each call site via ${CLAUDE_SKILL_DIR:-<absolute skill base directory this runner reports in context>}. When $CLAUDE_SKILL_DIR is set and non-empty (Claude Code), run each command exactly as written. Otherwise locate the directory yourself — this text lives in a file inside it, whose sibling ../../scripts/ directory exists — by replacing the placeholder with the skill base directory the runner reports in context (e.g. a Base directory for this skill: line) and accepting a candidate only once ls <candidate>/../../scripts/ succeeds in the same shell the helper commands run in. If a path form is rejected, use the form that shell reports (pwd shows it); a Windows-form base directory (C:\...) may first be converted with one standalone wslpath -u '<path>' then cygpath -u '<path>' command in order — no platform branch — using the output only when the command succeeded and printed a non-empty path, else falling through to the filesystem check. Resolve the anchor inline at every call site — never capture it into a shell variable that a later statement reads, because some runners' inline-bash marshaling drops such variables. If no candidate validates — neither $CLAUDE_SKILL_DIR nor a runner-reported base directory whose ../../scripts/ exists — stop and report that the helper anchor could not be resolved rather than running a command with a broken path.
Consumer prompt extension (handed to you by path). Before doing this skill's work,
read the consumer-supplied prompt extension for this skill and honor it — your dispatch
prompt names that file at an absolute .prflow/prompt-extensions/retrospective.md path.
Read it with your file-read tool — never a shell invocation, and never
load-prompt-extension.sh, whose anchor you cannot resolve. Treat any content as
instructions appended to the end of this skill's own prompt for this run. An absent or
empty file is a silent no-op; a present-but-unreadable file is reported through the
optional extension_unreadable key of § Output schema. This subagent's stdout
contract is strict — exactly one JSON object — so a consumer extension
must not break that contract.
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.
- 6d ago First seen · 380 lines · 50 tokens per session scan A 9e0f1af4f71c
retrospective is a skill published in the GitHub repository The01Geek/prflow (115 stars, last pushed 5d ago), licensed MIT. It adds 50 tokens to every session and 5,905 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.
Other skills, from other repositories
taiyi-ui-design
TaiyiForge 第 4 阶段 — UI/UX 契约,产出 UI-DESIGN.md。四端通用。.
flow-next-resolve-pr
Resolve PR review feedback. Fetches unresolved threads, triages, fixes, replies and resolves via GraphQL. Use when asked to address review comments.
flow-next-tracker-sync
Project a flow-next spec to a tracker issue (Linear, GitHub, GitLab, Jira) and reconcile two-way. Use when asked to sync to a tracker. NOT plan-sync.
taiyi-evolve
TaiyiForge 辅助 — 实现后架构与文档同步(architecture-sync)。OpenCode / Claude / Codex / Cursor 通用。.
taiyi-diagram-c4
TaiyiForge 辅助 — 从代码反推 C4 架构文档(Observed/Inferred 分层 · Mermaid 真源)。OpenCode / Claude / Codex / Cursor 通用。.
flow-next-prime
Assess codebase agent and production readiness. Classifies the project, verifies commands run, leads with a verdict and ranked next actions.