Communitygithub.com

CleanExpo/Pi-Dev-Ops

Visual-design specialist for Remotion compositions. Sets layout grid, typography hierarchy, white-space, scene framing, and visual rhythm for a given composition + brand. Triggered after remotion-composition-builder for QA, or upfront when authoring a new composition type. Produces a layout spec consumed by remotion-composition-builder.

¿Qué es Pi-Dev-Ops?

Pi-Dev-Ops is a Claude Code agent skill that visual-design specialist for Remotion compositions. Sets layout grid, typography hierarchy, white-space, scene framing, and visual rhythm for a given composition + brand. Triggered after remotion-composition-builder for QA, or upfront when authoring a new composition type. Produces a layout spec consumed by remotion-composition-builder.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/CleanExpo/Pi-Dev-Ops/tree/HEAD/skills/remotion-designer

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

remotion-designer

Owns the look. Not the words (storyteller), not the moves (motion), not the build (composition-builder) — the look.

Triggers

  • remotion-orchestrator reaches wave 3 with a draft composition.
  • A new composition type is being authored (Intro, SocialAd, etc. for v1.1+).
  • A render fails design review (off-brand, illegible, cramped).

Inputs

  • brandSlug — to read both BrandConfig (runtime, via brands[slug]) and {slug}.design.md (visual tokens, via loadDesign(slug))
  • compositionId — Explainer | Intro | SocialAd | …
  • aspectRatio — 1920x1080 | 1080x1920 | 1080x1080
  • storyboard (optional) — to size text blocks
  • Existing composition file (if QA-ing an existing one)

Method

Apply these rules in order. Whenever a value comes from the brand's design system, reference the design.md token by name (e.g. {spacing.outer-margin-landscape}, {typography.display-xl}, {colors.primary}) rather than emitting a pixel literal — remotion-composition-builder will resolve at build time.

  1. Grid — 12-column. Outer margin: {spacing.outer-margin-landscape} for 1920×1080, {spacing.outer-margin-portrait} for 1080×1920. Safe area: {spacing.safe-area} (default 5%).
  2. Typography hierarchy — pick from the brand's design.md type scale. Roles map to scale rungs:
    • Hook / CTA hero → {typography.display-xl}
    • Body title → {typography.display-md} or {typography.headline}
    • Body → {typography.body-lg} or {typography.body-md}
    • Caption / kicker → {typography.caption}
    • Code / identifier → {typography.mono-md} or {typography.mono-lg} (if defined)
  3. Colour application — hero backgrounds: {colors.primary}. CTA fills: {colors.accent} for accent CTAs, {colors.secondary} for subordinate. Body text: pick on-{role} token (e.g. {colors.on-primary}) when text sits on a known surface; otherwise fall back to colour/readableOn() for WCAG-AA contrast.
  4. Component slots — when the layout uses a recognised component (CTA, card, mono-chip, signal-chip, price-tag, network-badge), emit {component: cta-primary} and let componentRecipe() resolve the full bag at build time. Do not invent ad-hoc styles when a recipe exists.
  5. White-space — every text block has at least 0.5 × font-size vertical breathing space above and below.
  6. Logo placement — top-left or bottom-right, never centred. Safe-area = BrandConfig.logo.safeAreaPx (stays in .ts, enforced by motion).

Output

Two artifacts:

  1. A layout spec JSON written to .research/design/{compositionId}-{brandSlug}.json whose values reference {slug}.design.md tokens by name (e.g. { "outer-margin": "{spacing.outer-margin-landscape}", "hook-type": "{typography.display-xl}" }) — no pixel literals or hex codes inline.
  2. Inline edits to the composition's TSX (if QA-ing).

After writing the layout spec, run npx --prefix Pi-Dev-Ops/remotion-studio design.md lint Synthex/packages/brand-config/src/brands/{slug}.design.md to confirm every token referenced in the layout exists in the brand's design.md. Block on lint errors; warnings are advisory.

5-D critique gate (mandatory before emitting layout spec)

Adopted from nexu-io/open-design (Apache-2.0). Spawn an Opus 4.7 subagent via the opus-adversary pattern to score the proposed layout across five orthogonal dimensions, each 0–10 with cited evidence. Write the verdict to .research/design/{compositionId}-{brandSlug}.critique.json alongside the layout spec.

Dimensions

  1. Philosophy consistency — does the layout argue for one direction (e.g. tech-utility, editorial-monocle) or three styles in a trench coat? Cite specific elements.
  2. Visual hierarchy — can a stranger figure out what to read first/second/third without being told? Cite the largest element vs. the most important element.
  3. Detail execution — alignment, leading, kerning at large sizes, image framing, edge-case spacing. Cite specific frames.
  4. Functionality — does it work for the intended channel? Vertical 9:16 hero readable on a phone? CTA inside the safe area? Cite frame numbers + measurements.
  5. Innovation — one unexpected move that's earned by the brief, or 100% generic? An accent that wasn't required but locks the identity? Cite the move.

Bands

0–4 Broken · 5–6 Functional · 7–8 Strong · 9–10 Exceptional. Don't grade-inflate — overall mean above 8 is suspicious; double-check.

Pass / fail

  • Pass: every dimension ≥ 6, AND mean ≥ 7.
  • Fail: any dimension ≤ 5, OR mean < 7. Return to remotion-composition-builder with the per-dimension Keep/Fix/Quick-win lists for revision before re-running the gate.
  • Override: founder may force-pass via explicit message ("ship it anyway"). Override is logged to .research/design/{compositionId}-{brandSlug}.critique.json with timestamp and reason.

Reused pattern

Use the opus-adversary skill — same Opus 4.7 subagent spawn, same evidence-citation discipline. Do not write a parallel critique harness.

Boundaries

  • Never override BrandConfig values — propose changes via remotion-brand-codify.
  • Never use animation for layout (no scaling text on hover) — that's remotion-motion-language territory.
  • Never stack >3 colours per scene; the third is reserved for accent only.

Hands off to

remotion-composition-builder consumes the layout spec and applies it.

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

CleanExpo/Pi-Dev-Ops

Produce one or many consistent, on-brand faceless marketing videos from a topic: script, ElevenLabs voiceover with timestamps, one styled illustration per beat, ffmpeg stitch to 1080p, optional Unlisted YouTube upload. The look is a named style from styles.md (flat-line, hand-doodle, bold-kinetic, cinematic-photoreal, minimal-corporate, retro-print), so one command yields repeatable output per brand. The automated pipeline; distinct from faceless-video and video-director.

CleanExpo/Pi-Dev-Ops

Produce a faceless YouTube-style video (hand-drawn doodle / simple-illustration channels like Zen, Nick Invest) end-to-end from a single topic. ASKS FACT-vs-STORY mode first (non-fiction educational vs fiction storytelling) and branches the whole run — built to serve multiple clients/channels, not one fixed format. Reverse-engineers a proven reference video's script format, writes a new script in that format, generates an ElevenLabs voiceover with timestamps, creates one styled Artlist (AI Toolkit) image per timestamp, and stitches everything with FFmpeg — fully automated, no human recording. Use when the user says "faceless video", "/faceless-video", "doodle video", "make a YouTube short/long-form in the Zen style", or wants an organic faceless-channel content piece. Composes with video-distribution-strategist (channel/launch) and video-director (when motion/edit polish is wanted instead of stills).

CleanExpo/Pi-Dev-Ops

The 15+ year brand director extension of `brand-guardian` specifically for video — frame-by-frame audit of brand-mark integrity, Gun Metal `#1a1a1a` + Candy Red `#dc143c` consistency, NO AI slop, NO Lucide icons, custom geometric marks ONLY, real logos correctly placed. PASS / FAIL gate before any client-facing video ships. Use after `video-colorist` completes the grade pass.

CleanExpo/Pi-Dev-Ops

The 15+ year Director-of-Photography persona (Roger Deakins / Emmanuel Lubezki / Hoyte van Hoytema-tier) that owns shot composition, lens psychology, motion language, and the decision of which source (Remotion / Hyperframes / stock cinematic) each scene uses. Extends the existing `remotion-designer` + `remotion-motion-language` skills with a frame-by-frame shot-language framework. Use when the user says "cinematography", "shot list", "framing", "DoP", "lens choice", or invoked by `video-director` Phase 2.

CleanExpo/Pi-Dev-Ops

The 15+ year colorist persona (Light Iron / Company 3 / The Mill-tier) that applies per-brand LUT + grade pass to every Unite-Group video. Closes the "raw Remotion render colours" gap — today Remotion outputs whatever colours BrandConfig declares with zero cinematic grade. Use when the user says "colour", "grade", "LUT", "look", "cinematic finish", or invoked by `video-director` Phase 3 (post-production) after `video-sound-designer` mixes audio.

CleanExpo/Pi-Dev-Ops

The Creative Director persona that owns brief intake, composition selection and narrative POV for every Unite-Group video. ENTRY POINT for the Video Agency: use for any video creation brief (explainer, promo, social cut, demo reel, case study, testimonial, client video). Dispatches the full production team: script-writer, cinematographer, editor, sound designer, colorist, brand-guardian.

CleanExpo/Pi-Dev-Ops

The 15+ year platform-native distribution expert (early TikTok creator economy + YouTube algorithm + LinkedIn organic reach + IG Reels native specialist) that owns per-platform aspect ratio + duration cap + caption format + hook density + thumbnail composition. Extends `remotion-marketing-strategist` with platform-native specs locked per BrandConfig. Use when the user says "which platform", "distribution", "channel-fit", "thumbnail", "captions", or invoked by `video-director` Phase 4 (QA + Delivery) for per-platform cuts.

CleanExpo/Pi-Dev-Ops

The 15+ year screenwriter persona (Pixar / Apple keynote / Nike spot tier) that engineers hooks (0-3s), retention beats (7-15s), narrative tension curves, and CTA placement. Extends the existing `remotion-screen-storyteller` skill with a structural framework lifted from Pixar's 22 Rules + Apple keynote architecture. Use when the user says "script", "voiceover", "narration", "hook", "story arc", or invoked by `video-director` Phase 2.

CleanExpo/Pi-Dev-Ops

The 15+ year sound designer persona (Skywalker Sound / Sound Lounge / Audio Network-tier) that mixes ElevenLabs voiceover with music bed, sound effects, ambient texture, and audio polish. Closes the single biggest gap in the existing Remotion pipeline — today voiceover is the ONLY audio; this skill adds music + SFX + mix. Use when the user says "sound design", "audio mix", "music bed", "SFX", "score this", or invoked by `video-director` Phase 3 (post-production).

CleanExpo/Pi-Dev-Ops

Converts a BrandResearch dossier into THREE artifacts — (1) typed BrandConfig TypeScript at Synthex/packages/brand-config/src/brands/{slug}.ts (runtime/behaviour — voice, voiceover, motion, audience, channel, forbiddenWords); (2) spec-conformant {slug}.design.md at Synthex/packages/brand-config/src/brands/{slug}.design.md (visual tokens — colour, typography, spacing, components, layout, elevation); (3) human-readable 9-section .md projection at Pi-Dev-Ops/remotion-studio/src/brands/{slug}.md derived from BOTH. Boundary contract at Pi-Dev-Ops/remotion-studio/src/brands/CONTRACT.md. Triggered after remotion-brand-research, or when the user pastes brand assets and says "codify". PRs are auto-merge:false — a human reviews before merge.

CleanExpo/Pi-Dev-Ops

Researches a portfolio company's visual identity from public sources (homepage, about page, marketing copy, GitHub README) and produces a structured BrandResearch dossier. Triggered when `Synthex/packages/brand-config/src/brands/{slug}.ts` (canonical home per RA-1985 / Synthex SYN-897) is missing, older than 90 days, or the user explicitly says "refresh brand for {brand}". Output feeds remotion-brand-codify.

CleanExpo/Pi-Dev-Ops

Generates a complete, accessible palette (primary, secondary, accent, 4-step neutral, semantic, and dark variant) from one to three hex anchors plus a colour-family classification. Validates WCAG-AA contrast for all text-on-background pairs. Triggered when a BrandConfig has fewer than 5 defined colours or contrast fails.

CleanExpo/Pi-Dev-Ops

Authors or extends a Remotion composition (.tsx) wired to BrandConfig + Storyboard + layout spec + motion. The actual builder skill — runs as a Sonnet-tier worker. Triggered after brand, storyboard, designer, and motion-language outputs are ready. Produces the file under remotion-studio/src/compositions/ and registers it in src/Root.tsx.

CleanExpo/Pi-Dev-Ops

Use when a Remotion video needs creative direction — hook, visual sequence, scene purpose, motion restraint, and CTA direction before render.

CleanExpo/Pi-Dev-Ops

Use when a Remotion video has timing, sync, transition, caption, pacing, or audio-fit risk and needs editing discipline before render.

CleanExpo/Pi-Dev-Ops

Use when /remotion-video needs existing Synthex ElevenLabs, brand-config, Remotion, output storage, Claude, or Hermes integration without adding vendors.

CleanExpo/Pi-Dev-Ops

Tunes a video's format and message for the target channel — LinkedIn, YouTube, Instagram Reel, internal training. Sets aspect ratio, total duration, hook timing, CTA timing, and pacing. Triggered when the brief mentions a specific channel or campaign goal. Output feeds remotion-screen-storyteller and remotion-composition-builder.

CleanExpo/Pi-Dev-Ops

Designs a brand-specific motion vocabulary — easing curves, default scene durations, signature entry/exit, transition frames. Each brand gets one signature move (rise / sweep / pulse / iris / whip) that recurs across compositions to build motion-recognition. Triggered when BrandConfig.motion is empty.

CleanExpo/Pi-Dev-Ops

/remotion-video one-shot Remotion command skill and ENTRY POINT for the Remotion Skills Package. Use for video, explainer, ad, promo, reel, intro, social cut, marketing, training, or launch videos. Reads the brief, classifies intent, enforces one single Synthex ElevenLabs voice, emits a production/wave plan, and dispatches the right sub-skills in topological order. Always invoked first.

CleanExpo/Pi-Dev-Ops

Use when a Remotion video job needs production gates, render evidence, output discipline, and pass/fail validation before it can be called shippable.

Skills relacionados