product-hero-scene-planner
Skill3 starsChanged 6 months agoMITView on GitHub
Generate a complete product-hero scene plan from non-Blender-user intent with explicit assumptions and gates.
In this repository49 other files it gives its agents.
- AGENTS.mdAGENTS.md
- acceptance-criteria-builderSkill
- asset-discoverySkill
- asset-fallback-strategySkill
- asset-library-planSkill
- asset-license-checkerSkill
- asset-style-checkSkill
- blender-brainstormingSkill
- blender-recipe-decomposerSkill
- blender-troubleshootingSkill
- blendops-helpSkill
- bridge-conflictsSkill
- camera-compositionSkill
- character-portraitSkill
- cli-appendix-job-outlineSkill
- color-management-decisionSkill
- composition-quality-checkerSkill
- cycles-vs-eevee-decisionSkill
- done-criteriaSkill
- environment-shotSkill
- glb-animation-handoffSkill
- glb-web-handoffSkill
- intent-to-3d-brief-writerSkill
- interior-sceneSkill
- lighting-material-planSkill
- lighting-quality-checkerSkill
- material-quality-checkerSkill
- mobile-glb-budgetSkill
- output-format-decisionSkill
- pack-prerequisite-checkerSkill
- path-one-host-outlineSkill
- plain-language-responseSkill
- polycount-budget-checkerSkill
- pre-handoff-verificationSkill
- preview-reportSkill
- product-grid-scene-plannerSkill
- r3f-component-planSkill
- recipe-fit-assessorSkill
- render-export-evidenceSkill
- resolution-aspect-decisionSkill
- runtime-attempt-reportSkill
- runtime-path-pickerSkill
- runtime-readinessSkill
- runtime-setupSkill
- scene-readinessSkill
- scope-guardSkill
- stage-gatesSkill
- <skill-name>Skill
- workflow-stage-routerSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
18 rules. About 0 are common, 6 are distinctive, and 12 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈6
Distinctive · estimate
This author's own choices. Worth a look.
12
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 23
keep runtime claims evidence-bound
- Distinctive: line 24
follow suggested next-skill handoff
- Very specific: line 35
when raw user intent still needs initial brief normalization → use ../intent-to-3d-brief-writer/SKILL.md (use intent-to-3d-brief-writer …
- Very specific: line 36
when planning a multi-item catalog or grid layout → use ../product-grid-scene-planner/SKILL.md (use product-grid-scene-planner)
- Very specific: line 37
when deep-diving camera/framing mechanics → use ../camera-composition/SKILL.md (use lighting-material-plan)
- Very specific: line 38
when writing measurable pass/fail acceptance tables → use ../acceptance-criteria-builder/SKILL.md (use scene-readiness) <!-- …
- Very specific: line 52
if a live scene already exists, read-only inspection data (get_objects_summary) provided so real dimensions replace assumptions
- Very specific: line 63
read-only live-scene summary (get_objects_summary) if an existing scene is being planned against
- Very specific: line 102
When a live scene exists, consume read-only inspection results (get_objects_summary) rather than assuming object dimensions, without …
- Distinctive: line 119
If output destination is unknown → pause and ask for destination first, or provide explicitly caveated options.
- Very specific: line 120
If a live scene exists → use read-only get_objects_summary data for object scale/counts instead of guessing.
- Distinctive: line 121
If any plan section cannot be completed → mark that section explicitly deferred with a caveat (never silently omit).
- Very specific: line 122
If constraints conflict (e.g., cinematic glass refractions vs strict mobile web budget) → present Option A / Option B trade-offs and route …
- Very specific: line 137
prefer read-only get_objects_summary facts over dimensional assumptions if a live scene exists
- Very specific: line 173
No source model available: log intake risk in assumptions register and route to asset-discovery or asset-fallback-strategy.
- Very specific: line 177
keep real-world object dimensions plausible.
- Distinctive: line 178
ensure every plan section is either complete or explicitly deferred with a caveat
- Distinctive: line 179
keep high-level scene planning modular so downstream planners and acceptance builders can consume it cleanly
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
product-hero-scene-planner
Purpose
Turn user intent or an upstream brief into a complete, plain-language product-hero scene plan (subject, composition, camera, lighting, material, environment, plus render, export, and web-handoff intent) before any runtime phase.
Canonical role: high-level scene-planning for single product-hero workflows in BlendOps. Keep role boundaries strict:
intent-to-3d-brief-writerwrites the upstream brief.- THIS skill (
product-hero-scene-planner) produces the complete product-hero scene plan and assumptions register. camera-compositiondeep-dives framing and lens setup.lighting-material-plandeep-dives lookdev and shader/light rigs.acceptance-criteria-builderwrites measurable acceptance rows.done-criteriapins the done condition.scene-readinessreviews scene readiness later.
Quick start
- confirm this skill fits your goal
- provide required inputs first
- keep runtime claims evidence-bound
- follow suggested next-skill handoff
When to use
- single product-hero scene planning from user intent or an
intent-to-3d-brief-writerbrief - pre-runtime structural planning across subject, camera, composition, lighting, material, environment, and delivery intent
- translating non-Blender product presentation goals into an assumption-tracked scene plan
When not to use
<!-- blendops:generated:start exclusions -->- to execute Blender commands, write Python, or claim generated artifacts → use
../intent-to-3d-brief-writer/SKILL.md(Delegates out-of-scope requests to intent-to-3d-brief-writer) - to skip unresolved critical ambiguity or hide missing inputs → use
../camera-composition/SKILL.md(Delegates out-of-scope requests to camera-composition) - when raw user intent still needs initial brief normalization → use
../intent-to-3d-brief-writer/SKILL.md(use intent-to-3d-brief-writer first) - when planning a multi-item catalog or grid layout → use
../product-grid-scene-planner/SKILL.md(use product-grid-scene-planner) - when deep-diving camera/framing mechanics → use
../camera-composition/SKILL.md(use lighting-material-plan) - when writing measurable pass/fail acceptance tables → use
../acceptance-criteria-builder/SKILL.md(use scene-readiness)
<!-- blendops:generated:end exclusions -->Trigger phrases
<!-- blendops:generated:start triggers -->- "plan a product hero scene"
- "turn this into a Blender plan"
- "prepare cyberpunk shoe scene plan"
<!-- blendops:generated:end triggers -->Prerequisites / readiness
- output destination clarified (web, app, game, or still/video render)
- upstream brief from
intent-to-3d-brief-writerprovided or user intent clear enough to extract constraints - runtime readiness optionally checked via
runtime-readiness(does not alter this skill's truth states: Runtime staysNot Run, Artifacts stayNot Produced) - if a live scene already exists, read-only inspection data (
get_objects_summary) provided so real dimensions replace assumptions
Input schema
Required inputs
- user prompt or upstream brief (from
intent-to-3d-brief-writer) - output destination (web/app/game/render)
Optional inputs
- style/mood references
- product constraints and plausible real-world object dimensions
- read-only live-scene summary (
get_objects_summary) if an existing scene is being planned against - performance constraints (e.g., target polycount or mobile web limits)
Assumptions to confirm
- source model availability and scale plausibility (if
get_objects_summaryis unavailable) - quality priority (realtime web vs marketing render)
- acceptable caveat level for deferred sections
Output schema
Primary output
- complete product-hero scene plan covering:
- Subject plan (primary product, context props, plausible real-world dimensions or
get_objects_summarymeasurements) - Composition plan (focal hierarchy, framing intent, negative space)
- Camera plan (angle, lens intent, depth-of-field strategy)
- Lighting plan (key/fill/rim roles, mood intent)
- Material plan (surface finish intent, portability caveats)
- Environment plan (backdrop, support surface, reflections/context)
- Render & export intent (format, resolution/aspect intent, engine direction)
- Web-handoff intent (GLB/realtime readiness notes, or explicit deferral if render-only)
- Subject plan (primary product, context props, plausible real-world dimensions or
Secondary output
- assumptions register (explicitly listing every unconfirmed input or dimensional assumption)
- targeted clarification questions (when critical inputs are missing or conflicting)
Evidence / caveat output
- explicit deferral log (every omitted or partial plan section must be marked deferred with a concrete caveat)
- fixed truth-state declaration:
Runtime: Not Run,Artifacts: Not Produced(downgrade-only, never upgrade)
Required laws
- ../../laws/official-runtime-only.md
- ../../laws/evidence-before-done.md
- ../../laws/non-blender-user-language.md
- ../../laws/no-arbitrary-python-interface.md
Official runtime boundary
Planning-only skill: no Blender execution, no Python scripts, and no artifact generation.
- Runtime truth state must remain
Not Run(from canonical statesNot Run | Attempted | Produced | Verified | Failed). - Artifact truth state must remain
Not Produced(downgrade-only, never upgrade). - When a live scene exists, consume read-only inspection results (
get_objects_summary) rather than assuming object dimensions, without executing scene mutations.
Operating procedure
- Restate user intent and desired outcome in plain, non-Blender language (or ingest the brief from
intent-to-3d-brief-writer). - Identify target audience and output destination profile (web, app, game, or render).
- Extract hard constraints (brand, style, real-world sizing, delivery platform).
- Generate targeted clarification questions if critical data is missing.
- Build subject plan: define primary hero object, support props, and plausible real-world dimensions (use read-only
get_objects_summarymeasurements instead of assumptions whenever a live scene exists). - Build high-level composition plan (focal hierarchy, framing, negative space) ready for deep-dive in
camera-composition. - Build high-level camera plan (angle, focal length intent, depth strategy) ready for deep-dive in
camera-composition. - Build high-level lighting plan (key/fill/rim roles and mood intent) ready for deep-dive in
lighting-material-plan. - Build high-level material plan (surface finish intent and export portability caveats) ready for deep-dive in
lighting-material-plan. - Build environment plan (backdrop, ground plane, ambient context).
- Define render/export intent and web-handoff intent (ensure every section in steps 5–11 is either present or explicitly deferred with a documented caveat).
- Populate the assumptions register, lock truth states (
Runtime: Not Run,Artifacts: Not Produced), and specify next-skill handoffs (acceptance-criteria-builderfor measurable acceptance rows,done-criteriafor done conditions, andscene-readinessfor post-build review).
Decision tree
- If output destination is unknown → pause and ask for destination first, or provide explicitly caveated options.
- If a live scene exists → use read-only
get_objects_summarydata for object scale/counts instead of guessing; otherwise record plausible real-world dimensions in the assumptions register. - If any plan section cannot be completed → mark that section explicitly deferred with a caveat (never silently omit).
- If constraints conflict (e.g., cinematic glass refractions vs strict mobile web budget) → present Option A / Option B trade-offs and route to
acceptance-criteria-builder. - Regardless of whether downstream runtime is ready, unknown, or blocked → keep planning-only mode with
Runtime: Not RunandArtifacts: Not Produced.
Playbooks
- Playbook A: Text-only planning path (no live scene; relies on plausible real-world sizing assumptions + full assumptions register;
Runtime: Not Run,Artifacts: Not Produced). - Playbook B: Live-scene-informed planning path (consumes read-only
get_objects_summaryto ground object dimensions; prepares handoffs to deep-dive planners;Runtime: Not Run,Artifacts: Not Produced). - Playbook C: Blocked-downstream path (delivers complete scene plan, assumptions register, and blocker caveats while keeping
Runtime: Not RunandArtifacts: Not Produced).
Mode handling
Text-only mode
- deliver complete scene plan and assumptions register using plausible real-world dimensions
- truth states stay
Runtime: Not RunandArtifacts: Not Produced
Runtime-ready mode
- prefer read-only
get_objects_summaryfacts over dimensional assumptions if a live scene exists - include structured handoff steps for downstream planners and checkers
- truth states stay
Runtime: Not RunandArtifacts: Not Produced(no upgrade in this skill)
Blocked runtime mode
- deliver complete scene plan, assumptions register, and blocker-aware next actions
- truth states stay
Runtime: Not RunandArtifacts: Not Produced
Validation checklist
- intent and output destination restated in plain language
- subject plan includes plausible real-world dimensions (or
get_objects_summarydata when a live scene exists) - composition, camera, lighting, material, and environment plans are all present (or explicitly deferred with a caveat)
- render/export intent and web-handoff intent are present (or explicitly deferred with a caveat)
- assumptions register is complete and explicit
- clarification questions included for any unresolved critical inputs
- truth states explicitly set to
Runtime: Not RunandArtifacts: Not Produced(no overclaims or upgrades) - no Python code or Blender execution commands included
- role boundaries respected with explicit handoffs to
camera-composition,lighting-material-plan,acceptance-criteria-builder,done-criteria, andscene-readiness
Pass / Warn / Fail rubric
| Category | Pass | Warn | Fail |
| Intent & sizing grounding | Intent clear; dimensions grounded via get_objects_summary or plausible real-world sizing | Minor non-critical ambiguity; sizing assumed with caveat | Core intent unclear or implausible/untracked object scale |
| Plan completeness | All 8 plan sections present or explicitly deferred with a caveat | Deferral caveats present but brief | Any plan section silently omitted or left vague without deferral caveat |
| Assumption transparency | Complete assumptions register + clear deferral caveats | Minor assumptions listed inline instead of register | Hidden assumptions or silent guesses |
| Evidence & role boundary | Runtime: Not Run, Artifacts: Not Produced; clean handoffs; no Python | Slightly verbose handoff boundary | Runtime/artifact state upgraded, Python included, or blurs into deep-dive/acceptance/checker roles |
Failure handling
- Missing critical inputs: block and ask targeted questions.
- Conflicting constraints: provide prioritized options with caveats.
- Unknown runtime readiness: continue in text-only planning mode.
Troubleshooting
- Prompt too broad or unstructured: hand off upstream to
intent-to-3d-brief-writerbefore finalizing the scene plan. - Web + cinematic conflict: flag trade-off in assumptions register and route to
cycles-vs-eevee-decisionormobile-glb-budget. - No source model available: log intake risk in assumptions register and route to
asset-discoveryorasset-fallback-strategy.
Best practices
- preserve non-Blender user language and explain visual trade-offs plainly
- keep real-world object dimensions plausible; when a live scene exists, always use read-only inspection (
get_objects_summary) rather than assumptions - ensure every plan section is either complete or explicitly deferred with a caveat
- keep high-level scene planning modular so downstream planners and acceptance builders can consume it cleanly
Good examples
“Complete product-hero plan covering subject (plausible 28 cm shoe length assumed; no live scene get_objects_summary available), composition, camera, lighting, material, environment, and render/export/web-handoff intent, with an explicit assumptions register and truth states locked at Runtime: Not Run and Artifacts: Not Produced.”
Bad examples
“Hero scene done.” (no structure, no caveats)
User-facing response template
- What you asked for: (plain-language goal and destination)
- Proposed product-hero scene plan: (subject & sizing, composition, camera, lighting, material, environment, render/export intent, web-handoff intent)
- Deferred sections & caveats: (any section deferred and why, or "None")
- Assumptions register: (explicit list of unverified inputs and sizing assumptions)
- Current status:
Runtime: Not Run|Artifacts: Not Produced - Next action / handoff: (recommended next skill from catalog)
Anti-patterns
- skipping required laws or runtime boundary statements
- claiming runtime/artifact success without evidence
- claiming runtime execution or upgrading truth states beyond
Runtime: Not RunandArtifacts: Not Produced - assigning
Not Runto artifacts instead of runtime (confusing runtime and artifact truth states) - silently omitting any plan section instead of marking it explicitly deferred with a caveat
- guessing object scale when a live scene exists and read-only
get_objects_summarycan be inspected - blurring roles by writing deep camera/light rigs, measurable acceptance tables, or stop conditions instead of handing off
- including Python code or Blender CLI/MCP execution commands in the plan
- producing Blender-jargon-heavy output without plain-language explanation
Cross-skill handoff
<!-- blendops:generated:start handoffs -->- [upstream_reference] Upstream input (if raw prompt needs structuring) →
../intent-to-3d-brief-writer/SKILL.md - [progression] Next (deep-dive framing & camera) →
../camera-composition/SKILL.md - [progression] Next (deep-dive lookdev & lighting) →
../lighting-material-plan/SKILL.md - [fallback] Then (measurable pass/fail rows) →
../acceptance-criteria-builder/SKILL.md - [upstream_reference] Then (pin done condition) →
../done-criteria/SKILL.md - [progression] Later (post-build readiness review) →
../scene-readiness/SKILL.md - [conditional] Delivery handoff (when web/render output is targeted) (glb-web-handoff) →
../glb-web-handoff/SKILL.md - [conditional] Delivery handoff (when web/render output is targeted) (render-export-evidence) →
../render-export-evidence/SKILL.md
<!-- blendops:generated:end handoffs -->Non-goals
- executing Blender commands, MCP mutations, or CLI jobs
- writing Python scripts
- claiming
Attempted,Produced, orVerifiedruntime/artifact states - replacing
intent-to-3d-brief-writer(upstream brief),camera-composition(deep framing),lighting-material-plan(deep lookdev),acceptance-criteria-builder(measurable acceptance rows),done-criteria(done conditions), orscene-readiness(readiness review)
References
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

