composition-quality-checker
Skill3 starsChanged 6 months agoMITView on GitHub
Validate camera framing, subject placement, headroom/lead-room, and visual hierarchy against the scene brief before render.
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
- 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
- product-hero-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
15 rules. About 0 are common, 13 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈13
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 12
read camera lens / FOV, position, and target description
- Distinctive: line 13
read framing intent and locked aspect ratio from the brief
- Distinctive: line 14
check rule of thirds, subject placement, and headroom/lead-room
- Distinctive: line 15
check negative space, visual hierarchy, depth cues, and lens/FOV plausibility
- Distinctive: line 20
after a camera change request
- Distinctive: line 22
when a render "feels off" but lighting and materials check out
- Very specific: line 100
Read camera setup, framing intent, subject identification, and upstream aspect lock (from resolution-aspect-decision).
- Distinctive: line 101
Check rule of thirds alignment against framing intent.
- Distinctive: line 102
Check subject placement per intent.
- Distinctive: line 103
Check headroom and lead-room balance.
- Distinctive: line 104
Check negative space balance and visual hierarchy.
- Very specific: line 105
Check depth cues (foreground/midground/background separation).
- Distinctive: line 106
Check lens / FOV plausibility for distortion or flattening against the brief.
- Distinctive: line 194
Treat negative space and depth cues as intentional design elements anchored to the brief.
- Distinctive: line 253
Run Blender or execute Python.
≈ “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
composition-quality-checker
Purpose
Run a focused per-row Pass/Warn/Fail check on the camera and framing setup against composition rules (rule of thirds, subject placement, headroom/lead-room, negative space, visual hierarchy, depth cues, and lens/FOV plausibility) — emitting per-row verdicts, a top-line status, and remediation hints only, without expanding into camera planning, aspect-ratio locking, material validation, or lighting validation.
Quick start
- read camera lens / FOV, position, and target description
- read framing intent and locked aspect ratio from the brief
- check rule of thirds, subject placement, and headroom/lead-room
- check negative space, visual hierarchy, depth cues, and lens/FOV plausibility
- emit per-row Pass/Warn/Fail verdicts, top-line status, and remediation hints (keep truth states separate and downgrade-only)
When to use
- before render
- after a camera change request
- as a sub-check during full quality review
- when a render "feels off" but lighting and materials check out
When not to use
<!-- blendops:generated:start exclusions -->- planning or editing camera framing → use
../camera-composition/SKILL.md(use camera-composition) - locking aspect ratio or resolution → use
../resolution-aspect-decision/SKILL.md(use resolution-aspect-decision) - material validation → use
../material-quality-checker/SKILL.md(use material-quality-checker) - lighting validation → use
../lighting-quality-checker/SKILL.md(use lighting-quality-checker) - broad scene Pass/Warn/Fail readiness review → use
../scene-readiness/SKILL.md(use scene-readiness) - classifying render or export artifact evidence → use
../render-export-evidence/SKILL.md(use render-export-evidence)
<!-- blendops:generated:end exclusions -->Trigger phrases
<!-- blendops:generated:start triggers -->- "is the framing okay"
- "check composition"
- "subject feels off-center"
- "too much negative space"
<!-- blendops:generated:end triggers -->Prerequisites / readiness
- camera setup known (FOV / focal length / position / target / lens)
- framing intent known (from brief)
- subject identified
Input schema
Required inputs
| Input | Why it is required |
| Camera setup | Anchors lens/FOV plausibility and framing checks |
| Framing intent | Determines applicable composition expectations (close-up vs hero card vs wide) |
| Subject identification | Determines what counts as the primary subject for placement and hierarchy rules |
| Aspect ratio lock | Provided upstream (via resolution-aspect-decision) to evaluate framing boundaries |
Optional inputs
| Input | Use |
| Reference image or preview | Allows visual cross-check of framing and depth cues |
Assumptions to confirm
- Render aspect ratio is known and stable.
- "Subject" is unambiguous in the brief.
- Camera is locked (or animated path is documented).
Output schema
Primary output
A composition verdict table covering: rule of thirds, subject placement, headroom/lead-room, negative space, visual hierarchy, depth cues, and lens/FOV plausibility — each with a Pass | Warn | Fail verdict and notes.
Secondary output
- top-line validation status (
Pass | Warn | Fail) - worst-offender highlighting
- remediation hints only (never camera edits or execution commands)
Evidence / caveat output
Validation verdicts (Pass | Warn | Fail) are separate from runtime and artifact truth states. Truth states are downgrade-only (never upgrade), and Artifact status defaults to Not Produced unless concrete output evidence exists (classified via render-export-evidence).
Runtime status: Not Run | Attempted | Produced | Verified | Failed
Artifact status: Not Produced | Produced | Verified | Failed
Evidence used: <links, paths, logs, or "none">
Limitations: <known gaps>Required laws
../../laws/evidence-before-done.md../../laws/non-blender-user-language.md../../laws/no-arbitrary-python-interface.md../../laws/official-runtime-only.md
Official runtime boundary
This skill validates camera plans or measured scene snapshots only. It never moves the camera, never runs Blender, and never executes Python. Artifacts stay Not Produced unless concrete output evidence exists (classified by render-export-evidence), and truth states are strictly downgrade-only.
Operating procedure
- Read camera setup, framing intent, subject identification, and upstream aspect lock (from
resolution-aspect-decision). - Check rule of thirds alignment against framing intent.
- Check subject placement per intent.
- Check headroom and lead-room balance.
- Check negative space balance and visual hierarchy.
- Check depth cues (foreground/midground/background separation).
- Check lens / FOV plausibility for distortion or flattening against the brief.
- Assign per-row
Pass | Warn | Failverdicts and remediation hints. - Compute top-line status and highlight worst offenders; record downgrade-only Runtime and Artifact truth states separately (defaulting Artifact status to
Not Produced). - Hand off to
scene-readiness(broad review),camera-composition(camera re-plan),resolution-aspect-decision(aspect/resolution changes), orrender-export-evidence(artifact evidence classification).
Decision tree
Subject dead-center in 16:9 hero card?
→ Pass for symmetric hero; Warn for documentary/editorial mood
Subject in dead corner?
→ Fail unless intentional asymmetry called out in brief
Headroom > 30% of frame for portrait?
→ Warn (too much empty space above)
Headroom 0% (subject's head touching top)?
→ Fail
Lead room missing for moving subject?
→ Fail (subject "pressed against" frame)
Negative space carrying intentional weight?
→ Pass; verify with brief
FOV < 18mm equivalent on a hero close-up?
→ Warn (likely distortion); verify intentPlaybooks
Playbook A: Product hero card 16:9
Subject ~60% width, centered horizontally or on right third; clear negative space on the opposite side for headline / CTA; soft horizon line; FOV 50–85mm equivalent.
Playbook B: Square 1:1 social
Subject centered; negative space minimal; tight crop OK if not cropping silhouette.
Playbook C: Portrait 9:16 mobile
Subject in upper third; lower third reserved for text overlay; full silhouette visible.
Playbook D: Cinematic 2.39:1
Wide negative space allowed; subject often off-center using rule of thirds; horizon at upper or lower third.
Mode handling
Text-only mode
Per-row Pass | Warn | Fail verdicts are based on the written camera plan/brief only. Runtime status stays Not Run and Artifact status stays Not Produced.
Runtime-ready mode
Per-row verdicts cross-check the measured scene snapshot or preview. Truth states remain separate from row verdicts, are downgrade-only, and require render-export-evidence before any artifact state above Not Produced is recorded.
Blocked runtime mode
Skip preview-dependent verification, flag limitations explicitly, keep Artifact status: Not Produced, and downgrade truth states accordingly.
Validation checklist
- Camera setup stated
- Framing intent stated
- Aspect ratio lock confirmed (from
resolution-aspect-decision) - Rule of thirds verdict
- Subject placement verdict
- Headroom / lead-room verdict
- Negative space verdict
- Visual hierarchy verdict
- Depth cues verdict
- Lens / FOV plausibility verdict
- Top-line status derived from rows (kept separate from Runtime/Artifact truth states)
Pass / Warn / Fail rubric
| Verdict | Criteria |
| Pass | All rows pass; framing matches brief; aspect ratio coherent. |
| Warn | One or two plausibility flags (centered when off-center expected, FOV at boundary); no hard violations. |
| Fail | Subject dead corner without justification; 0 or excessive headroom; lead-room missing for moving subject; FOV severely wrong (e.g. 8mm on hero close-up). |
Failure handling
- Camera path animated → flag every keyframe individually if possible, or mark as Warn for static-rule scope.
- "Negative space minimal" intent vs measured negative space wide → Fail, not Warn.
- Aspect ratio missing → Fail until provided.
Troubleshooting
| Problem | Remediation hint (do not execute) |
| Subject feels off-center or unbalanced | Hint: verify rule-of-thirds vs centered intent; route to camera-composition if camera re-aiming is needed. |
| Excessive or cramped headroom | Hint: adjust framing tightness or subject framing height in camera-composition. |
| Unintended close-up perspective distortion | Hint: increase camera distance and use a longer focal length / narrower FOV in camera-composition. |
| Flat staging with weak depth cues | Hint: increase foreground/background separation or staging depth in camera-composition. |
| Aspect ratio mismatch with target delivery | Hint: route to resolution-aspect-decision to lock the proper aspect ratio before re-planning framing. |
Best practices
- Confirm the upstream aspect-ratio lock from
resolution-aspect-decisionbefore judging framing margins. - Apply composition checks relative to framing intent, not as rigid universal formulas.
- Treat negative space and depth cues as intentional design elements anchored to the brief.
- Provide remediation hints only — leave camera edits to
camera-compositionand broad scene sign-off toscene-readiness.
Good examples
- "16:9 hero card; subject right-third 60% width; headroom 18%; lead room not applicable (static); negative space left for CTA; FOV 50mm equivalent. Verdict: Pass."
Bad examples
- "Composition looks fine." — no per-row analysis.
- "Verified" without preview cross-check.
User-facing response template
Aspect ratio lock: <from resolution-aspect-decision>
Framing intent: <hero card / portrait / wide / cinematic>
| Check | Verdict | Notes / Remediation Hint |
|---|---|---|
| Rule of thirds | Pass/Warn/Fail | |
| Subject placement | Pass/Warn/Fail | |
| Headroom / lead-room | Pass/Warn/Fail | |
| Negative space | Pass/Warn/Fail | |
| Visual hierarchy | Pass/Warn/Fail | |
| Depth cues | Pass/Warn/Fail | |
| Lens / FOV plausibility | Pass/Warn/Fail | |
Top-line verdict: <Pass / Warn / Fail>
Worst offenders: <list or "none">
Remediation hints: <hints only — no camera edits>
Runtime status: Not Run | Attempted | Produced | Verified | Failed
Artifact status: Not Produced | Produced | Verified | Failed (default: Not Produced)
Evidence used: <links, paths, logs, or "none">
Limitations: <gaps>
Next: scene-readiness | camera-composition | resolution-aspect-decision | render-export-evidenceAnti-patterns
- Editing the camera inside this skill.
- Inventing values.
- Marking Verified without preview.
- Mixing material / lighting checks here.
Cross-skill handoff
<!-- blendops:generated:start handoffs -->- [progression] Broad scene readiness review (consumes these rows) →
../scene-readiness/SKILL.md - [retry] Camera & framing re-plan →
../camera-composition/SKILL.md - [retry] Aspect ratio & resolution locks →
../resolution-aspect-decision/SKILL.md - [progression] Artifact evidence classification →
../render-export-evidence/SKILL.md - [upstream_reference] Material validation →
../material-quality-checker/SKILL.md - [upstream_reference] Lighting validation →
../lighting-quality-checker/SKILL.md
<!-- blendops:generated:end handoffs -->Non-goals
- Move or edit the camera (owned by
camera-composition). - Lock aspect ratio or resolution (owned by
resolution-aspect-decision). - Validate materials (
material-quality-checker) or lighting (lighting-quality-checker). - Replace broad scene review (
scene-readiness). - Classify render or export artifact evidence (
render-export-evidence). - Run Blender or execute Python.
References
references/composition-rules.mdreferences/headroom-leadroom-rules.mdreferences/aspect-ratio-rules.md../../laws/evidence-before-done.md../../docs/skill-system.md
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.

