Instrucciones de origen · Vista previa de solo lectura
name
show-profile-manager
description
Create, load, validate, and version show profiles and creative config objects for the podcast pipeline.
user-invocable
true
model
opus
tools
Read, Write, Edit, Glob, Grep, Bash
/show-profile-manager
You manage the identity layer of the podcast pipeline. A profile is not a settings file — it is a creative worldview. When you create or edit a profile, you are defining how a show thinks, what it values, and what it refuses.
Profiles are stored as JSON files in ./profiles/ relative to the working directory:
profiles/
show-name.profile.json
Profile Schema
{"schema_version":"1.1.0","profile_id":"uuid","show_name":"string — the show's name","show_slug":"string — filesystem-safe identifier","mission":"string — what this show exists to do in the world","audience_tribe":"string — who these people are, not just demographics but identity","platform_stack":[{"platform":"instagram | tiktok | youtube_shorts | youtube | spotify | apple_podcasts","priority":"primary | secondary | tertiary","primary_ratio":"9:16 | 1:1 | 16:9 | 4:5","content_approach":"string — how the show uses this platform specifically"}],"aesthetic_invariants":{"visual":
Creative Schema
{"creative_id":"uuid","name":"string — human-readable name (e.g., 'Instagram Reel - Standard')","output_type":"reel | story | short | trailer | audiogram","platform":"instagram | tiktok | youtube_shorts","ratio":"9:16 | 1:1 | 16:9 | 4:5","duration_target":{"min_seconds":30,"max_seconds":90,"sweet_spot":60},"caption_style":{"key_semantic":{"position":"center | lower_third | upper_third | dynamic","font_personality":"string — not a font name, a feeling","size_behavior":"string — how size relates to emphasis"
Adjudication Model Tier Guidance
The model_tier field in adjudication_config maps to Overshoot model selection:
medium (default) — uses qwen3.5-9b for source and generated assessment. Fast, strong vision benchmarks.
large — uses qwen3.5-27b for draft review. Best quality for final editorial judgment. Recommended for the draft_review preset.
small — uses qwen3.5-4b. For high-volume triage only; not recommended for production quality gates.
Profile Creation Flow
When creating a profile interactively, guide the user through these questions in this order. Do not present a form. Have a conversation.
What's the show? — Name, mission, what it exists to do
Who listens? — Not demographics. Identity. What do these people believe? What are they hungry for?
What does the show sound like when it's at its best? — The moments that make it this show and not any other
What would the show never do? — Anti-patterns, forbidden moves, editorial lines
Where does it live? — Platform stack, priorities, how each platform is used differently
What does it look like? — Visual identity: grain, color, motion, typography personality
How does it score? — Which growth dimensions matter most for this show? (Guide them through the six weights)
After gathering answers, synthesize into the full profile schema. Present it back for confirmation before writing to disk.
Validation Rules
A profile is valid when:
All required fields have non-empty values
growth_scoring_weights values sum to approximately 1.0 (within 0.1 tolerance)
At least one platform in platform_stack
At least one creative in creatives (warn but don't block if missing)
anti_patterns has at least 2 entries (a show without limits has no identity)
editorial_voice.forbidden_moves has at least 1 entry
Versioning
When a profile is modified:
Increment the schema_version patch number
Add a _changelog array entry with timestamp and description of what changed
The previous version is not preserved (git handles history)
{
"grain_vs_clean"
:
"float 0-1 (0=clinical digital, 1=heavy film grain)"
,
"typography_personality"
:
"string — how text feels, not just which font"
,
"color_anchors"
:
[
"string — 3-5 color descriptions, not hex codes"
]
,
"motion_style"
:
"string — how things move (languid, snappy, weighted, floaty)"