skills/project-skill-bootstrap/SKILL.md
Create project-local OpenCode skills populated with actual project data, stack-specific conventions, downstream model operating guidance, and domain-specific procedures. Use after scaffolding to replace generic skill placeholders with real project-aware guidance that helps agents work effectively in this specific repo.
npx skillsauth add merceralex397-collab/scafforge project-skill-bootstrapInstall 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.
Use this skill to create the repo-local .opencode/skills/ layer with actual project content.
scaffold-kickoff during greenfield generation, use the full greenfield pass. Do not split baseline population and synthesis into separate revisits..opencode/skills/, do not start here. Run ../opencode-team-bootstrap/SKILL.md first so the local skill layer exists before you rewrite it.The base scaffold generates generic skill templates. You must populate them with actual project data.
Read docs/spec/CANONICAL-BRIEF.md for project facts, stack decisions, and constraints.
For each baseline skill in .opencode/skills/, rewrite the SKILL.md with actual project content:
project-context — Replace generic reading order with actual project-specific context:
repo-navigation — Replace generic paths with actual project structure:
stack-standards — Replace the __STACK_LABEL__ placeholder with REAL rules:
pnpm test")model-operating-profile — Write model-profile-specific operating guidance:
ticket-execution — Keep the standard lifecycle but add project-specific notes:
planning -> plan_review -> implementation -> review -> qa -> smoke-test -> closeoutticket_lookup.transition_guidance before calling ticket_updateticket_lookup.bootstrap.status is not ready, the next required action is environment_bootstrap, then a fresh ticket_lookupticket_claim and ticket_release, while specialists write only inside the already-active leasesmoke_test is the only legal producer of smoke-test artifactsuv, pytest, rg, git identity, or service binaries are blockers that must be classified explicitly instead of worked aroundFailure recovery paths section covering review, QA, and smoke-test FAIL / REJECT / BLOCKED / unclear-verdict routingticket_lookup.transition_guidance.recovery_action is present, agents must follow that recovery path instead of the normal happy-path transitionsmoke_test is the only stage that may produce passing smoke evidence and that agents must not fabricate expected-results-as-PASS artifactsfinding_source, rerun the original failing check before closeout, and refuse closure when the finding-specific check still failsreview-audit-bridge — Keep this generated skill repo-local and advisory-only, then add project-specific review and QA expectations:
finding_sourcediagnosis/ or the generated repo's chosen review-log path when workflow misuse or weak implementation quality needs to be explaineddocs-and-handoff — Add project-specific doc paths and conventions
workflow-observability — Keep as-is (generic is fine for observability)
research-delegation — Keep as-is (generic is fine for research patterns)
local-git-specialist — Add project-specific branch conventions if specified in brief
isolation-guidance — Keep as-is unless brief specifies isolation requirements
From the canonical brief, generated repo structure, and local references, identify whether the project needs additional stack- or domain-specific skills beyond the baseline pack.
When the canonical brief includes a Product Finish Contract (section 13) that forbids placeholder output in the final product, identify whether a finish-pipeline skill is warranted. This skill should encode:
Do not synthesize a finish-pipeline skill when the finish contract explicitly allows placeholder or procedural output as final output.
When .opencode/meta/asset-pipeline-bootstrap.json exists, treat it as the canonical machine-readable summary of the repo's seeded asset routes and asset-truth surfaces. Use it to decide whether the repo needs synthesized skills such as:
asset-descriptionblender-mcp-workflowThose synthesized skills must reference the actual seeded repo surfaces (assets/requirements.json, assets/pipeline.json, assets/manifest.json, assets/workflows/, assets/qa/, assets/PROVENANCE.md, assets/briefs/) instead of re-describing a hypothetical directory layout.
When the metadata's required_skills includes one of these synthesized skills, that skill is mandatory output for the current generation or repair pass.
When the metadata's suggested_skills includes one of these synthesized skills, treat it as required output unless newer repo evidence proves the route no longer applies.
../../references/skill-evolution-policy.md instead.When synthesizing blender-mcp-workflow for repos that route assets through blender-agent, treat Scafforge/skills/asset-pipeline/SKILL.md and Scafforge/skills/asset-pipeline/agents/blender-asset-creator.md as the authoritative operating contract. The generated local skill must:
output_blend on every mutating call and require the next mutating call to reuse the returned persistence.saved_blend as input_blendoutput_blend, or returns no persistence.saved_blendproject_initialize must save a .blend, the next mutating call must reuse that saved path as input_blend, and .blender-mcp/audit/*.jsonl must show non-null input_blend / output_blend on the recorded job_startassets/briefs/, assets/models/, assets/workflows/, assets/manifest.json, assets/qa/, assets/PROVENANCE.md) and the actual MCP tool names present in the repoblender_agent MCP entry from opencode.jsonc rather than inventing an ad hoc launch command when the managed MCP surface already existsenvironment_probe or current config evidence shows it is enabledblender_session_* tools unless those tools are actually present and documented in the repoUse project documentation, framework documentation, package references, and other external research as reference material only. Review patterns that match the selected stack and workflow, then synthesize repo-specific procedure from that evidence.
Do not install external skills directly. Use external material as reference only. Do not copy external skill bodies verbatim into repo-local output; distill the useful concept into repo-specific guidance.
Create only the synthesized skills the project actually needs.
Examples:
component-patterns with the repo's component conventionsapi-contracts with the repo's schema format and validation rulesmigration-safety with the repo's DB engine specificstest-patterns with the repo's test runner and fixture conventionsdeploy-safety with the repo's deployment pathblender-mcp-workflow skills must preserve the stateless persistence contract exactly; a session-oriented Blender skill that omits input_blend / output_blend chaining is invalidWrite each updated skill to .opencode/skills/<name>/SKILL.md.
Each skill MUST have YAML frontmatter with name and description.
If review-audit-bridge needs heavier examples or review policy detail, place that material in .opencode/skills/review-audit-bridge/references/ rather than bloating the skill body.
Before leaving this skill, confirm all of these are true:
.opencode/skills/ and no baseline skill still contains scaffold placeholder text.opencode/skills/model-operating-profile/SKILL.md exists and matches the selected downstream model profile.opencode/skills/ticket-execution/SKILL.md matches the current lifecycle contract, lease ownership rules, bootstrap-first routing, repeated-contradiction stop rules, failure recovery paths, smoke ownership rules, and blocker behavior.opencode/meta/asset-pipeline-bootstrap.json or equivalent repo evidence exists and has been refreshed for the current repair/generation passWhen this skill runs as a scafforge-repair follow-on regeneration pass, read .opencode/meta/repair-follow-on-state.json and, after the repo-local skill pack is actually refreshed for the current repair cycle, write:
.opencode/state/artifacts/history/repair/project-skill-bootstrap-completion.mdUse this minimal shape so the public repair runner can auto-recognize project-skill-bootstrap completion for the current repair cycle on the next run:
# Repair Follow-On Completion
- completed_stage: project-skill-bootstrap
- cycle_id: <cycle_id from .opencode/meta/repair-follow-on-state.json>
- completed_by: project-skill-bootstrap
## Summary
- Regenerated the repo-local skill pack and removed scaffold placeholder or model drift for the current repair cycle.
Do not emit this artifact speculatively. Only write it once the repo-local skill regeneration work is actually complete for the current repair cycle.
When package-managed skill evolution triggered the pass, the Summary must say whether the repo-local work was synthesized, repaired, or refreshed and name the repo-local evidence or repair-cycle input that caused it.
Continue to ../opencode-team-bootstrap/SKILL.md as directed by scaffold-kickoff.
.opencode/ has been added or repaired../agent-prompt-engineering/SKILL.md rules to avoid anti-patternsreferences/local-skill-catalog.md for the baseline skill list../../references/skill-evolution-policy.md for the package-versus-repo skill boundary../../references/external-source-evaluation-rubric.md for external-source distillation rulesassets/templates/SKILL.template.md for the skill file templatereferences/blender-mcp-workflow-reference.md when a repo needs synthesized Blender-MCP asset guidancetesting
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.