skills/scaffold-kickoff/SKILL.md
Orchestrate the full Scafforge kickoff flow for greenfield, retrofit, pivot, managed-repair, or diagnosis/review work. Use when asked to scaffold a new repo, add the OpenCode operating layer to an existing repo, apply a midstream feature or design change, repair a Scafforge-managed workflow contract, or diagnose an in-progress project. This is the single public entrypoint and routes to the correct downstream skills automatically.
npx skillsauth add merceralex397-collab/scafforge scaffold-kickoffInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This is the default public entrypoint. When a user asks you to scaffold, retrofit, repair, refresh, or diagnose a Scafforge-managed project, start here and route internally.
Before starting, classify the run type:
spec-pack-normalizer first if the project lacks a canonical brief, route to opencode-team-bootstrap to add or repair .opencode/, then run project-skill-bootstrap, continue through ticket repair as needed, finish with scafforge-audit, and publish the restart surface with handoff-brief.scafforge-pivot, let it continue through only the affected downstream refresh steps, and finish with handoff-brief.scafforge-repair, let it continue through any required project-specific regeneration or ticket follow-up, and finish with handoff-brief.scafforge-audit.If the repo state and the user's request do not make the run type clear, ask the user before proceeding. Do not silently choose between greenfield, retrofit, pivot, managed repair, and diagnosis/review when that choice would materially change scope.
Follow these steps in order. Each step references a sibling skill. Read it at the relative path shown.
Greenfield generation has no further user-selectable submodes. After the blocking-decision round is resolved, you must complete every downstream generation skill in the same session. Do not route the initial generation pass into scafforge-audit or scafforge-repair.
Read ../spec-pack-normalizer/SKILL.md and follow its procedure.
If the starting input is an already-approved spec-factory bundle, it is only eligible when the persisted bundle includes the approved brief, approval metadata, decision residue, attachment index, and provenance. scaffold-kickoff still routes through spec-pack-normalizer for validator-alignment before generation continues.
Do not let the spec factory itself become the generation trigger. The runtime invocation that hands an approved bundle to scaffold-kickoff belongs to the later orchestration layer, not to the intake factory.
That adjacent orchestration layer owns job envelopes, PR automation, and pause or resume state, but it must not bypass the package-owned greenfield sequence or mutate generated canonical repo truth directly.
Scan the workspace for project inputs:
*.md files, docs/, specs/, plans/, requirements/, notes/, design/ directoriesProduce a canonical brief at docs/spec/CANONICAL-BRIEF.md with the required schema.
If spec-pack-normalizer rejects an approved factory bundle as malformed or incomplete, route that rejection back to the spec factory instead of mutating factory approval state inside Scafforge.
For consumer-facing repos (mobile apps, games, distributed software products), the finish contract (section 13 of the brief schema) is a required intake artifact, not optional polish. If the source material does not resolve whether placeholder or procedural output is acceptable as final output, add that to the blocking decision packet before generation continues.
Before proceeding, present the user with a batched decision packet for blocking ambiguities:
Do not guess at blocking choices. Do not proceed until they are resolved.
Read ../repo-scaffold-factory/SKILL.md and follow its procedure.
This has two phases:
Record the selected model_tier during this step. It tunes prompt density only; it does not permit skipping bootstrap, verification, or handoff proof.
Before you continue into local-skill generation, run the early greenfield proof layer across the freshly rendered scaffold:
environment_bootstrap inside the generated repo and confirm it returns zero unresolved blockers.python3 ../repo-scaffold-factory/scripts/verify_generated_scaffold.py <repo-root> --verification-kind bootstrap-lane --format both
This early gate is narrower than the final handoff gate. It must prove:
environment_bootstrapenvironment_bootstrap runsDo not continue into project-specific specialization if this bootstrap-lane proof fails.
If the verifier reports is_user_action: true, stop and surface the prerequisite gap to the operator. If it reports is_user_action: false, repair the generated repo automatically and rerun the proof before moving on.
Read ../project-skill-bootstrap/SKILL.md and follow its greenfield procedure.
Populate the repo-local skill pack in one pass:
Read ../opencode-team-bootstrap/SKILL.md and follow its procedure.
The scaffold creates generic agent templates. You must now customize them:
Read ../agent-prompt-engineering/SKILL.md and follow its procedure.
This is a required same-session hardening pass in the standard greenfield scaffold flow.
Read ../ticket-pack-builder/SKILL.md and follow its procedure in bootstrap mode.
Create implementation-ready tickets only after local skills, team topology, and prompt hardening are finalized:
Before you begin the handoff step, run one same-session immediate-continuation verification gate across the generated workflow surfaces:
python3 ../repo-scaffold-factory/scripts/verify_generated_scaffold.py <repo-root> --format both
docs/process/workflow.mddocs/process/tooling.mdtickets/README.md.opencode/tools/ticket_lookup.ts.opencode/tools/ticket_update.ts.opencode/tools/smoke_test.ts.opencode/tools/handoff_publish.ts.opencode/skills/ticket-execution/SKILL.mdConfirm that they agree on:
plan_review before implementation and smoke-test before closeoutticket_lookup.transition_guidance as the canonical next-step explainersmoke_test as the only producer of smoke-test artifactsenvironment_bootstrap, then a fresh ticket_lookupVERIFY010 critical execution failuresVERIFY011 broken canonical referencestickets/manifest.json and .opencode/state/workflow-state.json, using PR-based phases only after this gate clearsIf these surfaces disagree, fix the contract before handing off the repo.
If continuation verification fails with is_user_action: true, surface the blocker to the user instead of continuing. If the verifier returns is_user_action: false, fix the generated repo and rerun verification before handoff.
This gate is the only package-owned basis for an adjacent orchestration service to call the repo scaffold-verified. Do not let downstream phase, branch, or PR work start from a successful render alone.
Read ../handoff-brief/SKILL.md and follow its procedure.
Generate START-HERE.md with actual project state so the repo can be resumed by another agent or session.
The scaffold is complete when all of these exist:
docs/spec/CANONICAL-BRIEF.md with real project contenttickets/manifest.json with implementation-ready ticketstickets/BOARD.md showing the work queue.opencode/agents/ with project-specific agent prompts.opencode/tools/, .opencode/plugins/, .opencode/commands/.opencode/skills/ with project-specific local skillsSTART-HERE.md with current project stateWhen the task is diagnosis or review of an existing project:
../scafforge-audit/SKILL.md../scafforge-repair/SKILL.md only after the required package changes exist and the audit still recommends repair../handoff-brief/SKILL.md when a restart surface or closeout is neededWhen the task is a midstream feature, design, architecture, or workflow change:
../scafforge-pivot/SKILL.md../scafforge-repair/SKILL.md only when managed workflow surfaces also drifted../handoff-brief/SKILL.md after post-pivot verificationBefore scaffold-kickoff is considered complete, the run must leave all of these behind:
docs/spec/CANONICAL-BRIEF.md with resolved blocking decisions and backlog-readiness signal.opencode/ layer required by the selected run typetickets/manifest.json, tickets/BOARD.md, and .opencode/state/workflow-state.json aligned on the same foreground ticketSTART-HERE.md that is valid for immediate continuation without requiring a later audit or repair passscaffold-kickoff as the human entrypoint even when the repo already exists; route internally to opencode-team-bootstrap, scafforge-audit, scafforge-repair, or another downstream skill instead of asking the user to pick the lower-level entry.scafforge-pivot instead of hiding them inside generic ticket refinement or repair.scafforge-repair and let it escalate only intent-changing decisions.ticket-pack-builder fabricate implementation detail for unresolved major decisions.agent-prompt-engineering during the standard greenfield flow.handoff-brief completes.scafforge-audit or scafforge-repair.Leave implementation review and QA procedure to the generated repo-local skills and review lanes after the scaffold is complete.
testing
Use when validating Android feature flows in an emulator with adb-driven launch, input, UI-tree inspection, screenshots, and logcat capture.
development
Best practices for Remotion - Video creation in React
development
Set browser-game architecture before implementation. Use when the user needs engine choice, simulation and render boundaries, input model, asset organization, or save/debug/performance strategy.
development
Prepare and optimize browser-game 3D assets. Use when the user asks for GLB or glTF shipping work, including Blender cleanup and export, collision or LOD setup, compression, texture packaging, and runtime validation.