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 skills add The01Geek/prflow --skill retrospective-weeklygit 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-weekly)<a href="https://agentmods.dev/skills/the01geek/prflow/retrospective-weekly"><img src="https://agentmods.dev/badge/skills/the01geek/prflow/retrospective-weekly.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.00074 | $0.24511 |
| Opus 5 | $0.00037 | $0.12256 |
| Sonnet 5 | $0.00015 | $0.04902 |
| Haiku 4.5 | $0.00007 | $0.02451 |
Grade C, and why
retrospective-weekly scanned grade C 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 2d 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.
Recursive force deletehighDestructive command
rm -rf with a variable or a broad path is one typo away from removing the wrong tree.
rm -rf .prflow/tmp/retro-helper 2>/dev/null || true How it starts
The opening of the file, as written. The whole thing — 1,435 lines — stays where its author put it; the contents beside it link to each section on GitHub.
/prflow:retrospective-weekly — Weekly Orchestrator
This skill is the single entry point the maintainer invokes once a week (or
on demand). It is a conductor: it runs deterministic bash/jq scripts from
lib/ at every mechanical step and dispatches LLM subagents only at the two
genuine-judgment points — per-PR retrospective analysis (Stage A) and
per-pattern issue-spec drafting (Stage B). The loop proposes, it does not dispose:
each actionable pattern is filed as one GitHub issue for the normal
implement → review pipeline, not landed as an autonomous PR.
Subagent dispatch is user-requested here (injection-condition clause). Invoking /prflow:retrospective-weekly is the user's request for subagent dispatch at this loop's two judgment points — the Stage A per-PR retrospective subagents (Step 4) and the Stage B per-pattern issue-spec subagents (Step 8b) — thereby satisfying any injected "do not call the AgentTool unless the user requested it" condition there and nowhere else; every other step stays the deterministic scripts the conductor runs directly.
Helper-path form (textual). Every bundled-helper command in this skill is written inline with the full portable anchor — "${CLAUDE_SKILL_DIR:-<absolute skill base directory this runner reports in context>}"/../../scripts/<name> for a scripts/ helper and .../../lib/<name> for a lib/ helper — resolved per the Portable helper anchor note below. Never capture the anchor into a shell variable that a later statement reads: each Bash call is a fresh shell. The five retrospective libraries are no longer sourced into this skill's shell; their thirteen cloud-used functions are reached through the retro-helper.sh <subcommand> dispatcher, invoked as a bare granted path (vendored literal first, portable-anchor fallback for the local tier), which reads its inputs from and writes its outputs to fixed .prflow/tmp/retro-helper/… files.
Working-directory contract. This skill's lib//scripts/ helper paths are repo-relative literals resolving against the repository root; no fence emits a leading cd.
Every jq in this skill is invoked through the execution-verified wrapper
"${CLAUDE_SKILL_DIR:-<absolute skill base directory this runner reports in context>}"/../../scripts/run-jq.sh (the scripts/ dir beside
lib/), never bare jq — a shim-shadowed Windows/WSL host otherwise resolves an
unrunnable jq. DEVFLOW_JQ is not exported to agent shells, so invoke the wrapper by
path.
All scratch files live under .prflow/tmp/ (gitignored). Learnings files
(.prflow/learnings/) are tracked and committed via the state PR.
Writing standard (any text you compose that lands on a GitHub surface — issue/PR titles, the state-PR report comment, body content you assemble). Before composing such text, read the shared writing standard "${CLAUDE_SKILL_DIR:-<absolute skill base directory this runner reports in context>}"/../../lib/writing-standard.md and follow it. A failed load emits a breadcrumb naming the file and the failure kind, and you compose without it.
GitHub autolink hygiene (any text you compose that lands on a GitHub surface — issue/PR titles, the state-PR report comment, body content you assemble): never put a bare # immediately before a number unless it is a real issue or PR reference — GitHub renders #2 as a link to issue/PR 2, which misleads readers. For an ordinal, count, or list position, spell it out ("item 2", "step 3"), never #2. Genuine references like #123 stay as-is.
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.
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.
- 2d ago Changed · +62 lines 80d55abaa6d9
- 8d ago First seen · 1,373 lines · 74 tokens per session scan C 4c54441e7c5e
retrospective-weekly is a skill published in the GitHub repository The01Geek/prflow (115 stars, last pushed yesterday), licensed MIT. It adds 74 tokens to every session and 24,511 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it C with 1 finding (recursive force delete). 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-review
A pre-merge review guide for checking code changes, design decisions, tests, and documentation. A merge adds reviewed changes to the main code branch.
taiyi-plan
A TaiyiForge planning step that turns a README, product requirements document, or technical plan into a list of separate project changes. Each change includes a suggested work profile, dependencies, and priority.
taiyi-change
A TaiyiForge workflow stage for writing a change proposal in CHANGE.md, with checks for scope, risks, success criteria, and related project documents.
taiyi-integration
A project workflow skill for closing a TaiyiForge change and recording it in a CHANGELOG.md file. It checks review results, tests, and the state of the working tree before archiving the change.
taiyi-requirement
A requirements-analysis process that turns a proposed change into a REQUIREMENT.md document. It records user needs, acceptance checks, terminology, triggers, and dependencies, with different levels of detail for different project sizes.
taiyi-test
A project workflow skill for verifying an implementation and producing a TEST.md record. TDD means writing a failing test, implementing the change, and then making the test pass; this skill checks that process and other regression cases.