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 turvodnik/pf-workflow --skill pf-autogit clone --depth 1 https://github.com/turvodnik/pf-workflowWrote 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/turvodnik/pf-workflow/pf-auto)<a href="https://agentmods.dev/skills/turvodnik/pf-workflow/pf-auto"><img src="https://agentmods.dev/badge/skills/turvodnik/pf-workflow/pf-auto.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.00118 | $0.01963 |
| Opus 5 | $0.00059 | $0.00981 |
| Sonnet 5 | $0.00024 | $0.00393 |
| Haiku 4.5 | $0.00012 | $0.00196 |
Grade B, and why
pf-auto scanned grade B 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 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.
Enumerates other installed skillsmediumAgent snooping
Other skills' SKILL.md files reveal prompts, capabilities and secrets that should be invisible to peers.
- **Codex pre-pass before the gate (code milestones only).** `<BASE>` is not pseudocode for a value to keep in your head — a bare `git rev-parse HEAD` recorded at step 3 lives only in this turn's context, and Bash tool c How it starts
The opening of the file, as written. The whole thing — 51 lines — stays where its author put it; the contents beside it link to each section on GitHub.
pf-auto — autopilot: from approved spec to done
Always communicate with the user in the user's language (Russian in the origin system). Registry, tickets, journal and report formats stay exactly as specified.
You are the orchestrator. You do NOT execute tickets yourself: you dispatch jobs to subagents, accept short summaries, verify through independent hands, and keep the registry. Your window is the most expensive resource: full results live in tickets and files, not in the chat.
Preconditions
- An approved SPEC.md and tickets in
.agents/runtime/tasks/. Missing — first the regular/pf-spec→ human's «ок» →/pf-tickets: the interview is not automatable, a human answers the questions. - An explicit human command (see description). Autopilot enabled silently is a §8 violation.
Parameters (defaults; the human may override in words at launch)
fix_rounds = 3 · parallel = 2 · batch = 1–3 tickets per job · gate = auto (by risk; alternatives in words: «гейт после каждого» / «гейт по вехам»).
Cycle
- Waves. Group tickets into jobs of 1–3 related ones (by
depends_onand volume: a job ≤ half the executor's window — §13 heuristic). A dependency must bedonebefore the job that needs it starts (pf-do step 1); the orchestrator may explicitly except a job onto a dependency still inreview, but only as a decision recorded in the wave registry (step 2, with a reason) — never silently. Build the wave order; in parallel — up toparalleljobs, and only with no shared files. Print the wave plan as one table for transparency and continue without waiting for a reply. - Registry before every wave: «задание → тикеты → субагент → статус» — in the HANDOFF (if the pf-handoff companion is installed, §13 rule) or in
.agents/runtime/autopilot-run.md(template —references/registry-template.md). Update on every event: summary accepted, review verdict, fix round, dependency exception (a job started on areview, not yetdone, dependency — record the reason). - Executor — a fresh subagent with a clean context (mechanics — Sonnet-class, integration/judgment — a senior model; state the model explicitly). Before launch record BASE (
git rev-parse HEAD). The prompt — perreferences/dispatch-templates.md: ticket paths + "work by the pf-do contract" + interfaces/decisions from earlier jobs that are not in the tickets + "full result into the tickets, reply with a summary ≤15 lines". Never paste session history into a prompt. - Gate — a fresh reviewer subagent (pf-reviewer role) gets the ticket paths + the BASE..HEAD diff as a file + the acceptance criteria. It re-verifies with proofs and does not trust the executor's «Результат». Clean → tickets
done(§9 authority), registry, next wave. When to place gates (gate = auto) — by risk, not mechanically:- after every job — when jobs build on each other or touch executables: code, configs, data schemas, scripts, infrastructure. An error here sinks into the foundation of the following jobs, and a late find costs a multiple of a reviewer;
- one gate per milestone (a group of jobs) — when jobs are independent and a fix is cheap: texts, documentation, separate pages/articles, markup. The reviewer gets all the milestone's diffs at once.
- Always mandatory, regardless of mode: a gate before a job that depends on the group's results; a gate before any external action; the final end-to-end review (step 7).
- Write the chosen mode and the reason into the registry in one line — the retro will show whether you guessed right.
- Codex pre-pass before the gate (code milestones only).
<BASE>is not pseudocode for a value to keep in your head — a baregit rev-parse HEADrecorded at step 3 lives only in this turn's context, and Bash tool calls do not share shell state with each other, so the SHA has to be spelled out as text in the command you run. Prefix it inline asPF_AUTO_BASE=<the recorded sha>(the registry from step 2 has it under "BASE волны N"). Run yourself (resolver — see pf-do step 5a), before spending a reviewer subagent:PF_AUTO_BASE="${PF_AUTO_BASE:-}"; if [ -z "$PF_AUTO_BASE" ]; then echo "no BASE recorded for this wave — set PF_AUTO_BASE to the wave's BASE sha (registry, step 2) before running this line"; else SC=$(ls ~/.claude/skills/pf-do/scripts/codex-review.sh ~/.codex/skills/pf-do/scripts/codex-review.sh ~/.gemini/skills/pf-do/scripts/codex-review.sh 2>/dev/null | head -1); if [ -n "$SC" ]; then bash "$SC" --base "$PF_AUTO_BASE" --deep; else echo "no script — skip this step"; fi; fi. It costs minutes and no context (a digest, not a review), and its findings go to the reviewer as an extra checklist — not as a verdict.SKIP:(no Codex, no consent, docs-only diff, or no BASE recorded) is the normal path: proceed to the gate unchanged.FAIL:= not reviewed, also proceed. It never replaces the gate: the reviewer subagent still runs, because Codex judges the diff, not the acceptance criteria.
- Fix cycle ≤
fix_rounds: rounds 1–2 — the same executor, remarks verbatim; round 3 — a fresh executor on a stronger model ("the previous one tried twice — here is its report and the open remarks"). After each round — a scoped re-review strictly against the remark list. Failure after round 3 → ticketsblocked, this branch of waves halts; independent branches continue; the report goes into the final report (or immediately if everything is halted). - Stops — the autopilot halts and asks the human:
- a question only a human can decide (batch them up unless the current wave is blocked);
- a ticket needs a secret (API key, password, token): subagents and headless runs usually cannot call
ai-secret. Do not push such tickets through the fix cycle — straight toblockedwith «нужна интерактивная сессия, scope <имя>» and into the report to the human. Visible in advance — pull them out of the waves at planning time; - a ticket contradicts the SPEC → a mini-report in the pf-replan spirit (impact class, options);
- an external irreversible action — publishing to a live site, deploy, mailing, DNS changes, spending money: prepare everything and stop. Commit and push to the private repo are allowed (pf-do rule);
- orchestrator window thresholds (§13): above 60% — launch no new waves, accept current ones, checkpoint; 90% — full handoff and a stop-point report.
- Final: an end-to-end review of the whole task diff against the SPEC — a fresh subagent on the strongest available model. Remarks → ONE fix pass (one subagent with the whole list, not a fixer-per-remark) + one scoped re-review. Leftovers: non-critical — park in the report with a "why acceptable" verdict; critical —
blockedto the human. Clean → final report to the human: done / proofs / deviations / parked / statistics (waves, subagents, fix rounds). Journal entry (§10).
What ships with it
2 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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 · 51 lines · 118 tokens per session scan B 2a533472c707
pf-auto is a skill published in the GitHub repository turvodnik/pf-workflow (3 stars, last pushed 22d ago), licensed MIT. It adds 118 tokens to every session and 1,963 once invoked, about $0.0006 per session on Opus 5. A static security scan graded it B with 1 finding (enumerates other installed skills). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
html-ppt-hermes-cyber-terminal
OpenDesign + BYOK: choosing and wiring your own model, hands-on — cost, quality, and the routing decision. Built as a decision-grade AI literacy deck for engineers, IT, applied-AI teams.
development
An index of programming guidance for Python, Go, Rust, TypeScript, Java, C++, and shell scripting.
tencent-docs
A Tencent Docs assistant for creating, reading, editing, organizing, importing, and exporting online documents, spreadsheets, presentations, diagrams, and forms.
post-build-flow
Handles workflow verification and setup after build-workflow succeeds, or when the message contains workflow-verification-follow-up or workflow-setup-required. Load after direct builds, when verificationReadiness requires action, or on orchestrator verify/setup follow-up turns.
wechat-article-pro
A WeChat public-account publishing assistant that searches for current topics, writes long-form articles, creates a cover image, and formats the result for publishing.
wechat-search
Search WeChat Official Account articles using OpenClaw's web search, Tavily API, and web fetch capabilities with compliance-focused design.