cli-appendix-job-outline
Skill3 starsChanged 6 months agoMITView on GitHub
Plan headless blender --background export or render jobs when MCP chat control is a poor fit; cite upstream Blender CLI docs only.
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
- 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
- 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
We split this skill into the rules it gives an agent
8 rules. About 0 are common, 0 are distinctive, and 8 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈0
Distinctive · estimate
This author's own choices. Worth a look.
8
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 92
Verify runtime-path-picker confirmed MCP is ill-fit.
- Very specific: line 93
Verify target formats are settled via output-format-decision.
- Very specific: line 96
Keep truth states at Not Run (Runtime) and Not Produced (Artifact).
- Very specific: line 172
If the user asks for a copy-paste Python script or raw bpy batch code, refuse the code dump per laws/no-arbitrary-python-interface.md and …
- Very specific: line 173
If the user wants live interactive viewport adjustments through the CLI appendix, stop and route back to runtime-path-picker or …
- Very specific: line 174
If a prior CLI run failed silently (for example, flags placed after the scene filename were ignored before load), keep Runtime status: …
- Very specific: line 175
Never promote the CLI fallback appendix to a peer MCP runtime path when no in-repo CLI evaluation record exists under docs/evals/.
- Very specific: line 187
Always label blender --background workflows as the CLI fallback appendix — documented upstream as a first-class Blender CLI surface, while …
≈ “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
cli-appendix-job-outline
Purpose
Structure CLI fallback appendix jobs (batch render, batch export, scripted scene setup) using Blender's documented command-line interface — without presenting arbitrary Python as the user-facing product surface.
Quick start
- classify job type via
references/job-type-matrix.md - capture ordering cautions
references/flag-order-reminders.md - state limitations
references/stateless-limitations.md - point user to upstream CLI manual for exact flags
When to use
- CI / render farm / repeatable exports
- MCP unavailable or disallowed by policy
- deterministic batch operations vs exploratory modeling
When not to use
<!-- blendops:generated:start exclusions -->- interactive viewport iteration primary goal → use
../runtime-path-picker/SKILL.md(Delegates out-of-scope requests to runtime-path-picker) - user expects Connector chat loop → use
../path-one-host-outline/SKILL.md(Delegates out-of-scope requests to path-one-host-outline)
<!-- blendops:generated:end exclusions -->Trigger phrases
<!-- blendops:generated:start triggers -->- "headless blender"
- "batch render CLI"
- "blender --background"
- "render farm outline"
<!-- blendops:generated:end triggers -->Prerequisites / readiness
- user accepts stateless job model
- Blender executable accessible to shell running job
Input schema
Required inputs
| Input | Why it is required |
| Job intent (batch render vs batch export vs scripted job) | Chooses matrix row (routeMCP vs CLI selection to runtime-path-picker first) |
| Output artifact expectations | Drives validation hooks (route format selection to output-format-decision) |
Optional inputs
| Input | Use |
| GPU availability | Device flags category note |
| Mixture of Windows/Linux paths | Quote escaping caution |
Output schema
Primary output
- Phased job outline: startup, load, process, save
- Flag categories to look up in the upstream Blender manual (plain language only; no copy-paste Python dumps, no execution)
- Validation and logging hooks (stdout tail, expected output paths)
Evidence / caveat output
Runtime status: Not Run | Attempted | Produced | Verified | Failed
Artifact status: Not Produced | Produced | Verified | Failed (default: Not Produced)
Rule: Downgrade-only, never upgrade. Outlining a job never executes Blender (Runtime remains Not Run; Artifact remains Not Produced).
Blockers: <separate line>
Evidence used: <none during outlining; route actual CLI logs/outputs to render-export-evidence>
Limitations: Stateless execution, no interactive viewportRequired 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
Planning outline only — BlendOps never executes Blender and never presents arbitrary Python as the product surface. This CLI workflow is an appendix only, never a peer path without an eval record, and BlendOps has no in-repo CLI evidence file yet. Point users to the upstream Blender manual for exact CLI flags.
Operating procedure
- Verify
runtime-path-pickerconfirmed MCP is ill-fit; if interactive MCP is needed, hand off topath-one-host-outline. - Verify target formats are settled via
output-format-decision. - Select the job-type matrix row and outline phases (
blender --backgroundstartup, load, process, save), flag categories, and validation/logging hooks in plain language without Python dumps. - Direct the user to verify exact flags against the upstream Blender manual.
- Keep truth states at
Not Run(Runtime) andNot Produced(Artifact); hand off actual CLI execution logs and outputs torender-export-evidence.
Decision tree
Does the user need interactive viewport look-dev or live chat steering?
Yes → do NOT use CLI appendix; route to runtime-path-picker or path-one-host-outline
No → continue
Has MCP vs CLI path selection already been decided?
No → route to runtime-path-picker first to confirm CLI appendix fits constraints
Yes → continue
Are target output formats and resolutions settled?
No → route to output-format-decision / resolution-aspect-decision before outlining batch stages
Yes → continue
Which batch job pattern applies (`references/job-type-matrix.md`)?
Batch still render → outline startup, .blend load, engine/camera/output flag categories, and render log hooks
Batch GLB export → outline startup, .blend load, collection visibility/export check categories, and GLB size/validator hooks
Scripted scene hygiene / prep → outline factory-startup caution, `--python` ordering reminder, and file diff/hash hooks
Did the operator already run the CLI job and produce logs or files?
Yes → route logs to runtime-attempt-report and output files to render-export-evidence
No → emit planning outline with Runtime status: Not Run and Artifact status: Not ProducedPlaybooks
Playbook A: CI or render-farm headless still render outline
- Select the Batch still render row from
references/job-type-matrix.md. - Structure the 4 phases (background startup, scene file load, render execution flags category, output verification hooks) and attach flag-ordering cautions from
references/flag-order-reminders.md. - Direct the operator to the upstream Blender CLI manual for exact version-matched flags and keep
Runtime status: Not RunandArtifact status: Not Produced.
Playbook B: Nightly headless GLB batch export outline
- Select the Batch GLB export row from
references/job-type-matrix.mdafter confirming format rules viaoutput-format-decision. - Highlight stateless limitations (
references/stateless-limitations.md), extension/add-on enablement differences under factory startup profiles, and argument-separator (--) cautions. - Specify downstream evidence hooks for
render-export-evidenceandglb-web-handoff.
Playbook C: Restricted IT environment where MCP ports are blocked
- Acknowledge the policy blocker on a separate
Blockers:line when MCP bridges (port9876) are disallowed. - Frame the
blender --backgroundworkflow strictly as the CLI fallback appendix (documented upstream as a first-class Blender CLI surface, with no in-repo BlendOps eval record yet). - Provide the phased job outline and logging hooks without pasting executable Python scripts.
Mode handling
Text-only mode
Provide the phased CLI job outline, flag categories, and stateless limitations. Runtime is Not Run; Artifact is Not Produced.
Runtime-ready mode
Specify validation and logging hooks (where logs and output files should land), then hand off post-run verification to render-export-evidence and runtime-attempt-report. Outlining never upgrades truth states.
Blocked runtime mode
Outline the intended phased job structure and record blockers on a separate line with Runtime Not Run and Artifact Not Produced.
Validation checklist
- Framed strictly as an appendix, never a peer path without an eval record
- Stateless, no-viewport limitations acknowledged
- Upstream Blender CLI manual cited for exact flags
- No copy-paste Python dumps and no implication that BlendOps executes Blender
- Truth states respect downgrade-only rule (default
Not Producedfor artifacts; outlining never runs anything) - Role boundaries preserved with
runtime-path-picker,output-format-decision, andrender-export-evidence
Pass / Warn / Fail rubric
| Verdict | Criteria |
| Pass | Coherent phased outline + flag categories + validation/logging hooks + accurate downgrade-only truth states |
| Warn | GPU or OS path environment uncertain — dual-branch caution noted |
| Fail | Includes copy-paste Python dumps, treats CLI as a peer path, blurs roles with path/format/evidence skills, or upgrades truth states without verified evidence |
Failure handling
- If the user asks for a copy-paste Python script or raw
bpybatch code, refuse the code dump perlaws/no-arbitrary-python-interface.mdand provide a plain-language phased job outline plus upstream manual pointers instead. - If the user wants live interactive viewport adjustments through the CLI appendix, stop and route back to
runtime-path-pickerorpath-one-host-outline. - If a prior CLI run failed silently (for example, flags placed after the scene filename were ignored before load), keep
Runtime status: Failed(orAttempted), keepArtifact status: Not Produced, and route the log capture toruntime-attempt-report. - Never promote the CLI fallback appendix to a peer MCP runtime path when no in-repo CLI evaluation record exists under
docs/evals/.
Troubleshooting
| Symptom | Cause | Safe resolution |
| CLI job renders default cube or wrong settings | Flag order error in blender --background (settings placed after render trigger or scene file) | Review references/flag-order-reminders.md and verify exact flag ordering in the upstream Blender command-line manual for the installed Blender version. |
| Custom script arguments disappear in headless run | Missing -- argument separator after --python script path | Note the argument-separator check prompt from references/flag-order-reminders.md and consult upstream CLI docs. |
| Export add-on or GPU device missing on CI runner | Factory startup or headless runner profile differs from artist workstation | Flag the environment gap under Limitations (references/stateless-limitations.md) and require stdout/stderr device capture in runtime-attempt-report. |
Best practices
- Always label
blender --backgroundworkflows as the CLI fallback appendix — documented upstream as a first-class Blender CLI surface, while noting BlendOps has no in-repo CLI evidence file yet. - Express job steps as phased operational checkpoints (
Startup → Load → Process → Save & Verify) rather than raw shell one-liners or Python code blocks. - Remind operators that argument order in Blender's CLI is positional and must be verified against the exact Blender manual version running on the host.
- Pair every CLI outline with explicit stdout/stderr log paths and output file checks consumed by
render-export-evidence.
Good examples
- "CLI appendix job outline (Batch GLB export): Phase 1 Background startup (headless mode, verify extension profile) → Phase 2 Load
.blendsource → Phase 3 Trigger GLB export step with--argument boundary checked against upstream Blender CLI manual → Phase 4 Capture exit code, stdout/stderr log path, and exported.glbbyte size forrender-export-evidence. Runtime status: Not Run. Artifact status: Not Produced." - "Because interactive viewport look-dev is required,
cli-appendix-job-outlineis not the right surface (references/stateless-limitations.md); hand off toruntime-path-pickerto evaluate Path 1 (Blender 5.1+ Lab MCP) or Path 2 (mcp-for-blender)."
Bad examples
- "Run this 120-line Python script with
blender -b scene.blend -P export_all.pyand your GLBs are Verified." — violateslaws/no-arbitrary-python-interface.mdandlaws/evidence-before-done.md. - "Path 3 (Blender CLI) is a verified peer runtime in BlendOps." — misrepresents the CLI appendix as a peer path and fabricates in-repo eval evidence.
- " Blender 5.1+ is required to run
blender --background." — falsely applies Path 1's Lab MCP add-on version floor to the CLI appendix.
User-facing response template
Job classification: <Batch still render | Batch GLB export | Scripted scene prep | Hygiene pass> (CLI fallback appendix — not a peer MCP path; no in-repo BlendOps CLI evidence file yet)
Upstream reference: Verify exact positional flags in the official Blender Command Line Manual for your Blender version.
Phased job outline:
1. Startup: <headless background mode + startup profile checks>
2. Load: <target .blend input + path quoting cautions>
3. Process: <render/export/script flag category + ordering reminders>
4. Save & logging hooks: <expected output path + stdout/stderr log capture>
Stateless limitations: <no interactive viewport; factory-startup/GPU caveats>
Blockers: <none or specific environment/policy blockers>
Runtime status: Not Run
Artifact status: Not Produced
Evidence used: <none during outlining>
Next skill: <render-export-evidence | runtime-attempt-report | output-format-decision>Anti-patterns
- Dumping copy-paste Python (
bpy) scripts or claiming BlendOps ships a CLI wrapper binary. - Presenting the CLI fallback appendix as a peer path to Path 1 / Path 2 without an in-repo evaluation record under
docs/evals/. - Applying the Path 1 Blender 5.1+ floor (
blender_version_min = "5.1.0") toblender --backgroundCLI jobs. - Writing
Artifact status: Not Runor upgradingRuntime status/Artifact statusmerely from outlining a batch job. - Skipping
output-format-decisionorrender-export-evidencewhen planning deliverable verification.
Cross-skill handoff
<!-- blendops:generated:start handoffs -->- [upstream_reference] Pick MCP vs CLI →
../runtime-path-picker/SKILL.md - [upstream_reference] Interactive MCP host outline →
../path-one-host-outline/SKILL.md - [progression] Export format choices →
../output-format-decision/SKILL.md - [progression] Actual CLI output evidence recording →
../render-export-evidence/SKILL.md - [progression] Runtime attempt reporting →
../runtime-attempt-report/SKILL.md
<!-- blendops:generated:end handoffs -->Non-goals
- Generating or debugging user-facing Python (
bpy) scripts. - Executing
blender --backgroundjobs or inspecting output files directly. - Selecting between MCP Path 1, Path 2, and CLI (owned by
runtime-path-picker). - Certifying rendered frames or exported GLBs (owned by
render-export-evidence).
References
references/job-type-matrix.mdreferences/flag-order-reminders.mdreferences/stateless-limitations.md../../docs/runtime-stack-strategy.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.

