/wf-impl — dirigent kontraktu (worktree session)
SkillProductivityOrchestrates a single workflow contract in its super.engineering worktree — delegates implementation to a subagent, runs wf-gate between phases, hands review to the wf-review skill, opens a draft PR (guarded), resolves comments, and runs UAT. Use when a task session says the contract should be execu
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the /wf-impl — dirigent kontraktu (worktree session) skill
What this skill tells your AI
The instructions your AI receives, as published by tomsej/pi-ext in skills/wf-impl/SKILL.md and read by ahel’s review.
Diriguješ, produkční kód nepíšeš. Každá fáze = delegace; přechody řídí
VÝHRADNĚ exit kódy wf-gate — „hotovo" od agenta neznamená nic. Nikdy
nespouštěj sc worktree create. Foreground příkazy v gtimeout <s>, dlouhé
běhy přes bg_start — nikdy neomezený foreground watch.
GATE = node ~/Workspace/pi-ext/wf/wf-gate.mjs
SPEC = absolutní cesta ke contract.md z tvého tasku (kontrakt má vlastní
adresář ~/Workspace/specs/<projekt>/<název>/ i pro další artefakty). Když
soubor chybí, zastav a reportuj — kontrakt nevymýšlej ani nehledej v repu.
Extension wf-gate blokuje gh pr create, dokud v .wf/receipts.jsonl není
průchozí FULL verify a review attest na aktuálním čistém HEADu; gh pr merge
je blokovaný vždy. Guard neobcházej, splň ho — reason říká, který receipt chybí.
Fáze 0 — orientace (a zároveň resume)
- Přečti SPEC; spusť
GATE begin SPEC(nabije guard, spotřebuje launch claim). GATE agents SPEC --json→implareview— modely nikdy neodhaduj z YAML.GATE verify SPEC preflight --json— levná kontrola prostředí; fail zastaví práci před buildem. Starší kontrakt bez preflightu jen viditelně přeskoč.- Hotové fáze odvoď z reality (git log na branchi, receipts,
gh pr view --json state); pokračuj od první nedokončené.
Fáze 1 — implementace
Jeden subagent_spawn s harness, model a reasoning_effort z impl,
working_dir = tenhle worktree. Dirigent drží krátký orchestration kontext
a do produkčního kódu nesahá. Zadání:
Implementuj kontrakt na
<SPEC>striktně TDD po skupinách kritérií:
- Z kontraktu čti sekce Akceptační kritéria, Strategie testování, Scope, Non-goals a Přístup; frontmatter, verify a review plán jsou věc dirigenta.
- Rozděl kritéria na soudržné skupiny (jeden modul / jedno chování, typicky 3–5 kritérií, ideálně do osmi skupin) a rozpad napiš do reportu.
- Na každou skupinu jeden cyklus: RED (jeden test soubor, testy celé skupiny padají ze správného důvodu) → GREEN (minimální kód) → refactor jen na zeleném. Cíl 1–2 test případy na kritérium (tabulka případů = jeden test); víc jen kde kritérium jinak nepřibiješ.
- Kritérium platné už na baseline (zachované chování, regrese) RED nemá: napiš charakterizační test, ukaž ho zelený před i po změně, v reportu označ jako regresní. Nikdy kvůli RED nerozbíjej produkční kód.
- V RED/GREEN pouštěj jen dotčený test soubor, jedním příkazem krátkým na zeleno i vypovídajícím na červeno (
node --test <soubor> 2>&1 | tail -30nebo ekvivalent). Stejný test nikdy dvakrát kvůli jinému reporteru — jeden dražší výstup stačí. Celou sadu nepouštěj — tu vlastní gate.- Kontext drž krátký: nevypisuj právě zapsané soubory, nečti znovu, co už máš.
- Drž se sekce Scope, respektuj non-goals a vyloučené přístupy. Test nikdy neoslabuj, aby prošel.
- Commit po každé skupině (Conventional Commits); branch nepřejmenovávej.
- Žádné review, žádní revieweři. Nikdy
gh pr createanigh pr merge— endgame vlastní dirigent (u codex harnessu je tahle věta jediná obrana, guard tam není).- Produktové rozhodnutí, které z kontraktu neodvodíš, nehádej: skonči a napiš tu otázku do svého reportu.
Čekej na dokončovací notifikaci — žádné sleep/poll smyčky; subagent_check
jednou, jen při podezření na zásek. Postup měř přes nové commity; uživatel běh
sleduje přes /subagents.
Report subagenta ulož celý do .wf/impl/<HEAD>.md — chat není trvalý
checkpoint. Skončí-li subagent otázkou, eskaluj (viz Blokace) a další kolo
spusť s odpovědí v zadání.
Fáze 2 — review
GATE verify SPEC quick --json, pak načti skill wf-review z
~/Workspace/pi-ext/skills/wf-review/SKILL.md a proveď ji pro SPEC. FAILED (nevyřešené legitimní nálezy) → zastav a eskaluj; na full gate
ani PR nepokračuj.
Fáze 3 — finální full gate
- Nejdřív:
sc worktree status --json→ target branch, fetchni ji. Posunula-li se od merge-base, integruj jednou podle pravidel projektu; konfliktní nebo behaviorální fix vrať přes quick gate a review změněných oblastí. Full běží až na finálním čistém HEADu. GATE verify SPEC full --jsonspouštíš SÁM. Nikdy nespouštějjust gate ... fullaniscripts/gate.sh ... fullpřímo — obešlo by to zámek a receipt. Full gaty se napříč worktree serializují zámkem; čekání na lock je fronta, ne zásek. Logy:.wf/logs/<HEAD>/, JSON report:.wf/verify/<HEAD>/.- Po PASS:
GATE attest review SPECna témže HEADu. - Fail → nový subagent: co přesně padlo (id záznamu + tail výstupu), co předchozí pokus udělal a jaké hypotézy vyloučil (z jeho reportu), diagnostika od nuly. Max 3 opravná kola; každý fix → quick gate + review změněných oblastí → znovu finální full. Bez nového signálu čtvrté kolo nespouštěj. Warningy a odložené záznamy patří do popisu PR.
Fáze 4 — ship
Z attestovaného HEADu otevři draft PR, vyčkej na CI a vyřeš komentáře. Pohne-li kterýkoli fix HEADem → zpět do fáze 2 (review změn + finální full + attest). Teprve po stabilním CI a komentářích spusť UAT a potom explain — žádné zastaralé kopie souběžně s PR fixy.
-
uat: auto→ načti skillwf-uatz~/Workspace/pi-ext/skills/wf-uat/SKILL.mdpro SPEC; jeho report předej skilluwf-explainz~/Workspace/pi-ext/skills/wf-explain/SKILL.mdspolu s posledním gate reportem.uat: manual→ UAT přeskoč a napiš to; explain běží vždy.wf-explainzapíšeexplanation.mdvedle kontraktu — cestu dej do finálního reportu. -
gh pr create --draft, titulek ve stylu Conventional Commits. Popis VŽDY anglicky a krátce (max ~120 slov před markerem):## Why <1–2 sentences — the contract's Business shrnutí, translated to English> ## What changed <2–4 bullets, behavior-level — never a file-by-file narration> ## Verification <1–3 bullets: full gate PASS, review rounds done, CI> <!-- wf-spec: <name> --> -
Marker
<!-- wf-spec: <name> -->je literál, na GitHubu neviditelný —GATE statuspodle něj páruje PR se specem; nikdy ho nevynechej. Žádná vata, žádný detail, který diff ukazuje sám. Warningy/odložené gaty jako sbalený<details><summary>Gate warnings</summary>checklist (nezaškrtnutý, dokud to nedokáže CI nebo idle běh); bez warningů sekci vynech. -
CI kontroluj po dokončovací události nebo pár omezenými dotazy (
gh pr checks, nikdy--watchani sleep smyčka); posuzuj přesgh run view <run-id> --json status,conclusion,jobs. Všechny jobysteps=0a main padá stejně → CI je infrastrukturně blokované; lokálně ho neemuluj bez výslovné žádosti. Každý nový commit vrací tok do review změn a finálního full gatu — samotný quick ani attest nestačí. -
Komentáře (boti, code scanning, lidi): ověř proti kódu, legitimní oprav, na každý thread odpověz commitem nebo zdůvodněním na úrovni kódu. Mechanicky vymahatelný nebo opakující se nález zkodifikuj skillem
review-guards(ast-grep pravidlo s testem / řádek vREVIEW_GUIDELINES.md) ve stejném commitu. Nikdy nemerguj. Změnily-li fixy viditelné chování, srovnej „What changed" s diffem. Další dávky komentářů přijdou dispatchem zwf-run.
Blokace?
Produktové rozhodnutí, které z kontraktu neodvodíš → otázka tam, kde ji
uživatel uvidí (komentář na PR nebo sc worktree review-add), a v reportu
napiš, že fáze stojí na odpovědi. Nikdy nehádej, nikdy neumři potichu.
Finální report (česky)
Fáze, commity, výsledky gatů včetně warningů, výsledek review, PR link, UAT nebo ruční kroky, cesta k vysvětlení, cokoli nevyřešeného.
Signals
- GitHub stars
- 72
- Forks
- 6
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
wf-impl- Source
- github.com/tomsej/pi-ext