Use when performing a Petrova control-plane action against a registered repo - opening a decision doc, adding/updating/deferring a milestone, opening or closing a phase, recording a verification round
Use to audit capability boundaries — every place this repo has scripts, agents, or CI workflows writing to sensitive surfaces (.github/workflows/, *.env, secrets/, deploy/credentials/, IAM, the databa
Use to record any non-trivial architectural call, scope change or supersession in this repo's decision ledger — absolute ISO date, one quotable decision sentence, at least two genuinely considered alt
Use when something feels off, or liberally as a cheap read-only sweep — reports projection drift (CLAUDE.md and derived docs against their sources, per claim), intent drift (recent merged work against
Use to audit any repo against the full meta-rule set (MR-1 through MR-17) — the cross-cutting invariants. Read-only; never modifies files. Produces a single PASS/WARN/FAIL table with per-rule evidence
Use when a repo is unregistered or has no contract.yaml — produces the ordered admission sequence naming, per step, which repo the command runs from and which repo the PR lands in, plus the proposed r
Use to close the currently open phase once its verification round is merged — checks four preconditions (round merged, every item classified, every gate PASS or waived, every deferred item targeted),
DEPRECATED as of 2026-08-13 — this skill merged phase open, verification round and phase close into one session, which the golden prompts forbid. Do not invoke it. Use petrova-phase-open, petrova-veri
Use to open the next phase in a governed repo — reads the current phase from decision-doc history, proves the predecessor is CLOSED, evidences every entry criterion, and carries the predecessor round'
Use before any feature or refactor of size inside a governed repo — runs a reuse-first scan of this repo and the estate, an intent check, and a phase-fit check, then sequences the work into tasks each
Use when this repo's work has drifted from its north-star intent — recent commits land features outside scope, the backlog has eaten the focus, or load-bearing infrastructure is being neglected for su
Use when a verb returned failed or an apply errored — diagnoses the exact error code against the published table, names the write-path stage it failed at, and rules REFUSAL (system worked, invocation
Use when the user wants a read-only view of Petrova-line repos - cross-repo status dashboard ("what's open across my projects?"), single-repo diagnose ("what's the state of kahn-hq?"), or MR/conventio
Use when a phase's acceptance gates appear met, before any close — runs the mandatory verification round as a friction probe, evaluates every gate PASS/FAIL on cited evidence, surfaces friction, and c
Close an open phase. Requires a paired verification_round decision doc and explicit friction classification for every surfaced item. Marks the phase's decision doc status=closed via supersession-style edit (only permitted edit to a closed-side doc per MR-7 is adding the back-reference).
Operationalises SPEC-07 distribution-pipeline steps 3-5. Given a PUBLISHED Daedalus journal entry (gated:false AND artifact_shipped:true) and a shipped artifact_ref, derives the voice-routed social post-pack (Bluesky primary; X/LinkedIn opt-in via channels) from daedalus/contracts/marketing-engine.yaml, and appends one distribution event to daedalus/content/arc.yaml. target_repo MUST be devarno-cloud. Emits a PR; never auto-posts.
Ratify a new petrova baseline version (v2, v3, …) as a decision doc in petrova-codes. The verb's pre-flight runs the full server-side audit and refuses to proceed if any MR check is `fail` — declaration is a real verification, not a paper claim. Emits `docs/decisions/<date>-petrova-baseline-v<N>.md` populated from the operator-supplied scope + roster.
Read-only collection of cross-cutting context across a target repo: current phase, open milestones, recent decisions, recent findings, failing CI checks. Returns a structured report consumable by other verbs (notably propose_fix) or by humans/agents directly.
Write an emitted execution's bundle into the target repo's .panto/ store, unpacked. Composes request_review under the hood, but adds a hard binding to an execution_id (recorded by `petrova record-execution` from panto-cloud's `build.js --check-run --json`) instead of a diagnosis, per docs/decisions/0009-materialiser-verb-and-store.md in panto-cloud.
Open a new dated decision doc in the target repo's docs/decisions/. Creates a PR adding a single file conforming to the repo's decision-doc template. The doc is opened in 'open' status with sign-off block awaiting human countersign.
Remove a consumer entry from registry.yaml. Opens a PR against petrova-codes:main deleting repos[slug] and co-emits an ADR recording the deregistration rationale. Refuses unless an explicit confirm_slug matches the slug being removed. target_repo MUST be petrova-codes.
Reconcile a drifted consumer registry entry. Given a slug whose state-sweep reports contract_drift=true, opens a PR against petrova-codes:main bumping registry.yaml > repos[slug].contract_sha to match the consumer's current .petrova/contract.yaml SHA. Co-emits a docs/decisions/<date>-petrova_act_reconcile_drift-<slug>.md ADR recording the realignment. target_repo MUST be petrova-codes (control-plane self-edit).
Register a new consumer repo in registry.yaml. Reads the new repo's .petrova/contract.yaml on its default branch, derives slug + url + default_branch + contract_sha + fleets_allowed + integrations + registered_at, and opens a PR adding repos[<slug>] = <derived>. Co-emits an ADR recording the registration. target_repo MUST be petrova-codes.
Generic registry-mutation substrate. Applies a list of structured ops (set/add/remove against dotted paths under repos[<slug>].*) to registry.yaml and opens a PR with the diff plus a co-emitted ADR. Ops outside repos[<slug>].* are rejected — this verb cannot edit top-level registry fields. target_repo MUST be petrova-codes.
Deposit the petrova playbook (META-RULES.md, 00-bootstrap.md, mr-preamble.xml, progress-signal.xml, airlock-rules.xml, progress.schema.json) into a consumer repo's `.petrova/playbook/` directory. Cross-references remain Fleet-MCP fetch directives (petrova.prompts.get <slug>); they are NOT rewritten to local filesystem paths (consumers carry only .petrova/playbook/). This is Step 0 of the bare-bones-to-baselined journey; petrova_onboard depends on it for path resolution.
Initialise a registered repo's mechanical petrova floor: write `.petrova/contract.yaml` with default integration declarations + install `.github/workflows/docs-invariants.yml` if missing. Narrow compliance verb — does NOT generate CLAUDE.md / MILESTONES.md / AGENTS.xml / north-star (those stay prose-driven via `00-bootstrap.md`). The verb's job is to make the mechanical floor harder to skip.
Draft a fix PR grounded in a preceding diagnose run. Composes request_review under the hood, but adds a hard binding to a diagnosis_id and requires explicit MR-12 grounding for the proposed change. The verb fleets reach for when implementing fixes.
Open a PR (same surface as request_review) AND mark it for auto-merge once branch protection / CI gates pass. Profile-restricted: only permitted on registry profile=permissive, or profile=standard with explicit fleet allow. Never permitted on profile=strict — those repos require human merge.
Generic write surface: open a PR with arbitrary file changes and request review. The lower-level primitive other write verbs may compose. Does NOT mark auto-merge — human approval gates the merge.
Open a new phase. Composes open_decision (writes phase-N-open.md) plus update_milestone seeding for declared sub-milestones. Predecessor phase must be closed.
Add a new milestone or transition an existing one in the target repo's MILESTONES.md. State transitions are restricted: planned → active → complete | deferred | retired. Marking complete requires evidence_path resolving to docs/verification/.
Record the output of a phase-close verification round. Creates a dated decision doc capturing surfaced items prior to classification (close_phase consumes this doc and applies the classifications). Mandatory at every phase close per MR-10, even when no friction surfaces.
Flip a registered consumer repo's `.petrova/contract.yaml` integration block from `pending` (or `failing`) to `wired`, with a validated evidence object. Generic over integration: ARES, TRACEO, CRUMB, ROCKY, EVA. The evidence schema is enforced per integration (mirrors contracts/contract.schema.json's integration_<name> sub-schemas). Refuses to wire an integration that is already `wired` (use a new verb for re-wiring or evidence updates). Requires a ratifying decision doc at the cited path; that ADR is the human accountability anchor.