agentsclimarketplace

Kickoff phase

Skill alicicek/tale-mode/plugins/tale-mode/skills/kickoff-phase

A discipline plugin for Claude Code + OpenAI Codex — plan first, verify against the real code, receipts on every decision, independent adversarial review, and a self-armed loop that keeps going until a real check passes. Built by Fable to make any Claude work like a careful senior engineer.

Install
npx -y skills add alicicek/tale-mode --skill kickoff-phase

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

What its author says it does

Copied from the file, not written here

Build ONE scoped phase of an existing multi-phase plan in a fresh session — re-verify the plan against the live code, interview the user sharply on real forks, then implement only that phase behind plan-mode approval with runnable verification and a fresh-eyes review. Invoke explicitly when starting a phase (the cross-platform form of /tale-mode:kickoff-phase; on Codex, name the plan-file + phase in your prompt). On Claude Code, use the /tale-mode:kickoff-phase command instead of this skill.

SKILL.md

6.5 KB, as published. Nobody here has run it

Kick off a phase

Cross-platform note. This is the skill form of the /tale-mode:kickoff-phase Claude Code command, for hosts where slash commands don't exist (e.g. Codex). The two are kept in sync — if you edit one, mirror the other. On Codex there is no $ARGUMENTS: take the plan-file path and the phase/chunk id from the user's prompt.

Arm the phase loop (skill-invoked hosts only). When this runs as a skill, the phase-marker hook may never see the kickoff (it matches the prompt text, which a prose invocation may not carry), so write the pending marker yourself — your first action once you're allowed to write (immediately, or right after plan approval if your host blocks writes in plan mode), run from the project root (the Stop hook only looks for it there):

[ -f .claude/tale-mode.phase.pending.json ] || printf '%s\n' \
  '{"session":"pending","rounds":0,"max_rounds":50,"needs_user":null}' \
  > .claude/tale-mode.phase.pending.json

The Stop hook claims that file for your session at the first turn-end and then enforces the committed .claude/tale-mode.json gates while the tree is dirty — IF the user has trusted that config's content-hash (inert otherwise; the trust skill has the commands — surface them, never run them). For a goal the committed gates don't cover, additionally write .claude/active-goal.json (the ad-hoc loop). On Claude Code the /tale-mode:kickoff-phase command arms this automatically — don't double-arm there.

If your host has a plan mode, enter it now and stay in it through the investigate-and-confirm steps below — no edits until the user approves. Recon prompt-hygiene (plan mode prompts on any shell it can't prove read-only): prefer the host's dedicated read tools over shell; keep shell recon to plain single-purpose read-only commands (on Claude Code, ls/cat/grep/git log and simple chains of them auto-approve via the bundled plan-mode hook); route loop-heavy sweeps through read-only sub-agents, so the user isn't walled with permission prompts. Read the named plan file (and any roadmap/README it points to) in full. Implement only the named chunk.

Before writing any code, interview the user — but interview SHARP. Re-verify the plan's claims for this chunk against the actual code (the code is ground truth; the plan is a snapshot), and confirm any external framework/SDK/CLI setup against current docs (Context7/web), not memory. Then split the open decisions and handle them differently:

  • Engineering calls → DECIDE and proceed (don't ask). Anything settle-able from the code + best practice: file/module placement, data shape, library choice, error handling, naming, API surface. Make the call a senior engineer shipping production would make — never an MVP/temp-workaround unless explicitly asked. State the decision + a one-line rationale and move on. When two options trade off, first check whether the best answer combines them. Escalate to a question only if it's genuinely hard to reverse and you're torn, or it secretly carries a product/cost choice.
  • Judgment calls → ASK (batched, one round). Only what needs the user's preference, priorities, or authority: product/UX behaviour, scope/priority trade-offs, cost/vendor choices, and steps only they can do (credentials, dashboards, go/no-go). Phrase every option outcome-first (the real-world result), then a one-line technical note in parens. Label each option's authority — "In plan" / "Engineering alternative" / "Out of scope" — and flag any shortcut as a shortcut.

Follow the plan; auto-defer (and record in the plan) any in-plan item that won't fit the session budget and regresses nothing — don't ask, just log it. Don't re-decide what the plan settled. If the plan's approach is wrong, say "recommend changing the plan" and cite the exact line. Batch every real question into one round.

Once the user answers: present the concrete approach — with an executor named per workstream (builder/codex/runner/main-loop, per the owner's CLAUDE.md roles table) — and get approval to start editing (exit plan mode). Only then implement, on a dedicated branch, routing each workstream to its named executor: the main loop DRIVES, delegates TYPE. Keep on the main loop only taste-carrying (UI/copy) or genuinely interdependent pieces, one-line justification each; announce every offload as you dispatch it. Not delegating a workstream the plan routed away is a plan deviation — say so out loud. The brief always feels more expensive than it is; typed code is re-read every turn forever. Approval authorizes EDITING, not committing — get explicit sign-off before EVERY commit and EVERY push (pause and summarize what you'd commit each time).

Then prove it by running it, not by reading the diff (Claude Code: /verify to confirm behavior, /run to boot/drive the live app, whenever runnable — Codex: run the test / drive the app yourself and observe). Review per the owner's CLAUDE.md review ladder — default ONE fresh-eyes pass; the full battery only for dangerous diffs.

A cross-model metered reviewer (Greptile / the CodeRabbit code-review skill) is the strongest §5 pass — but it is OWNER-TRIGGERED and credit-metered: do NOT auto-run it, comment @…, or push-loop it (every push to an open PR re-triggers it = real money). Surface that it's available; let the user decide. If they run it, fix every P0/P1, then ask before pushing (batch fixes into one push).

Before declaring done, emit a short DONE/MISSING line-up only for the checks the review ladder actually required. If a behavioral check can't run yet (needs external provisioning), record it as a named, owned deferral in the plan's progress and treat the chunk as not-done until discharged. Merge only on the user's go-ahead. When done, update the plan file's progress with a one-line outcome (commit hash + any drift). Don't start any later chunk. If new questions arise mid-build, pause and ask rather than guess.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.