The front that can be rigged
The front of every character, drawn as one T-pose SVG in GroundSlate before anyone cuts a puppet. Each front is written from a brief that copies its visual idiom from the show's style kit and describes the character part by part. It is drawn with a named group for every movable part and shown to you as the face, the figure and the flat-black silhouette. One character per run. A front from any model that returns SVG is checked rather than redrawn. This is the drawing step of the cast.
Use /groundslate-front: write the front of ONE character of <<SHOW NAME>> in GroundSlate profile <<PROFILE ID OR NAME>>, drawn to the show's style kit <<KIT NAME>> (stop and make the kit first if there is none). The character is <<NAME AND ONE LINE, OR "the next character in notes/CAST.md in project prj_0a1b2c3d4e">>. Write a front brief whose Visual Idiom is copied from the kit and whose CHARACTER section is that person part by part (palette of three colours, head shape and ratio, face with eye size and eye line, hair, neck, torso with its ratios as numbers, shoulders, arms, hands, legs, feet, the flat-black silhouette, the one contradiction that makes them funny). Show me the brief before you draw. Then draw one T-pose front SVG with a named group for every movable part, or if I hand you an SVG another model drew from that brief, check it against the brief's three checklists with evidence and redraw only what fails. Show me the front on an HTML sheet (the face at three times size, the whole figure, the flat-black silhouette, and each limb turned 30 degrees on its joint). Do not cut anyone into a puppet and do not start another character in this run. Tell me what did not resolve.
Works with
- Your agent's own skills
- Research, analysis and writing. GroundSlate renders web pages itself now, capture_page for stills and record_page for footage, so the pictures come from the app; the reading, the judgement and any account that needs a sign-in still arrive through your agent.
A cast goes wrong at the first drawing, not at the rig. puppet_doctor will pass a rectangle with eyes. A generated turn sheet gives you a costume to trace. A name and a sentence give you the same figure three times with different captions. None of those is a character you would put on television, and once ten of them exist the whole show needs redrawing.
This skill is the first half of the cast step of The Animated Series. It does not build puppets, mouths, voices or avatars. It writes one front brief per character from the show's style kit, draws one T-pose front SVG with a named group for every movable part, and shows you that front before starting the next character. The cast that reads at a glance cuts those fronts into puppets.
It needs a style kit. If the show has none yet, it stops and makes one, so every front is drawn in the show's own look.
Everything in <<double brackets>> is yours. Fill it in before you paste. Run it once per character; the second character is a second run with the first front open beside it.
Install it
Copy or download SKILL.md above.
For Claude Code, save it as ~/.claude/skills/groundslate-front/SKILL.md.
For claude.ai and the Claude desktop app, put it in a folder named groundslate-front, zip the folder, and upload it under Settings, Capabilities, Skills.
The skill
---
name: groundslate-front
description: Draw the front of every character of a 2D animated show as one T-pose SVG in GroundSlate before anyone cuts a puppet. Write each front from a brief whose visual idiom is copied from the show's style kit and whose character section is that person part by part, with a named group for every movable part, and show the face, the figure and the flat-black silhouette on an HTML sheet. One character per run. A front from any model that returns SVG is accepted and checked. The drawing gate of the cast step.
---
# The front that can be rigged
A puppet cut from a vague description is garbage with pivots. The drawing you approve is one T-pose front SVG per character, written from a brief the style kit fills and the bible specifies, with a named group for every part that will later move. You do not build the puppet in this skill. You do not draw three-quarter, profile or back. You do not invent an idiom. You write the brief, you draw the front, you show it, you start the next character only when this one would sit in the show.
Everything you make lives in the episode project: the brief as `notes/fronts/<slug>.md`, the SVG as `work/fronts/<slug>/front.svg`, the sheet you show as `work/fronts/<slug>/sheet.html`. The next skill reads those paths.
## Before you start
`get_context`, confirm the profile, pass `profile=` on every call. Confirm the two built-in kits exist with `get_kit("draw kit")` and `get_kit("puppet engine")`; without them this skill cannot run, say so and stop.
Find the show's style kit: `list_kit_collections` for a collection of kind `style_kit`, `get_kit` on the kit so you have `kit.json` in front of you, `style_kit_doctor` to confirm it is clean, `style_kit_sheet` for `swatches` so you have looked at the line, the palette and the shared faces. If there is no kit, ask for reference frames first, read the idiom off them, build the kit from the show's bible and that reading with `style_kit_scaffold`, run its doctor, show the human the swatches beside the reference, and stop until it is approved. A front drawn before the kit exists is a front drawn twice.
Check `line.stroke_policy` against how the fronts will be drawn. `filled-outline` means every contour is a closed filled path and the puppet doctor refuses any SVG `stroke` attribute; `stroke` means outlines are stroked paths at the kit's weight. A front that carries strokes, which is what a model returning SVG produces and what most hand-drawn vectors carry, needs `stroke` in the kit before it is drawn, or the puppet is refused at the cut. Set the policy in `kit.json` once, rerun the doctor, and never convert a drawing to suit a policy the kit could have declared.
Read the cast notes. `notes/CAST.md` in the episode project, or the list the human gave you. If a character has only a name, write the entry before the brief: silhouette in one sentence, what they want, how they talk, their signature detail, what makes them funny, which shapes they are made of. Then the brief. The name is not the brief.
Read the cast palette table if the kit step wrote one: one row per character, one saturated hue that is theirs, their clothing colour against it, their own darkest value. Three colours do the talking. Do not dress everyone from the kit's twelve swatches.
## Ask first
One message, before any brief:
- Do they have reference frames for the look, if the kit is not settled yet? Two or three frames of the show the look sits next to, and what to read off each: outline weight against head size, even or tapered line, eye construction and how much the lids do, palette saturation and count, shading or none. That reading becomes the kit's Visual Idiom, shown as swatches beside the frame. And for this character, a look-at: a photo, a frame, a sketch of who they resemble. A look-at is read for silhouette, costume and who this is. It is never traced.
- Do they already have vector drawings of this character? A T-pose front with named groups is the front, whoever drew it: a person, or another model handed this brief. Still write the brief so the next character has a comparable spec, then check the drawing against the three checklists with evidence and redraw only what fails. A bitmap, a frame of a show, a sketch or a generated turn sheet is a look-at. You never trace it, convert it, or lift paths from it.
- Which character is this run? One. If they hand you a list, take the first they name, say the rest are their own runs, and stop after this front. The two that appear most go first, unless they say otherwise; those two calibrate the show.
- What do they want to see? Offer one review per front: the brief, then the sheet with the face at three times size, the whole figure, and the flat-black silhouette. Some people want only the sheets.
Write the answers into the cast notes.
## One character per run
This skill draws one character and stops. A run handed a cast spends its attention across the cast and every front comes back the same figure with a different caption; a run handed one character spends all of it on that face. The second character is a second run, with the first front's sheet open as a picture, so the second brief is written against the first front and the show keeps one style. Do not write the briefs in a batch. Do not draw a second front in this run.
### Write the brief, then stop
`notes/fronts/<slug>.md` is a complete drawing prompt, not a paragraph of vibes. It has six sections, in this order, every time. Show it to the human before you draw. A brief they have not seen is a brief you will redraw.
**1. Visual Idiom.** Copied from the kit and the bible, never invented. Open `kit.json` and the look paragraph of `notes/SHOW_BIBLE.md` and write:
- The bible's look sentence, and the show or style it stands next to.
- 2D only. Flat vector artwork. No 3D elements.
- The kit's line rule, in the kit's numbers: `stroke_policy`, outline weight at 1080p, interior weight, taper profile, ink hex. If the policy is filled outline, say that every contour is a closed filled path from the draw kit's taper helper and that SVG `stroke` attributes are forbidden. If the taper is `even`, say the line is one weight. Do not write "4 px black" unless that is what the kit says.
- The kit's shading decision. Many shows have none. A cel shadow the kit did not name is the fastest way to look wrong. No gradients unless the kit names one.
- The kit's proportions: heads range, `eye_to_head`, the silhouette rule.
- The kit's shape rules, verbatim.
- Interior details are shapes, not strokes, used only to define a layered element, completely contained inside that element, never overlapping its outline.
A Visual Idiom that could be reused on a different show is wrong. The kit is the idiom.
**2. SVG File Delivery.** The shared rigging contract, copied as-is:
- The SVG is built so the character can be fully rigged and animated as a puppet.
- Separate, clearly named groups for every movable body part and visual element.
- Clean, pivot-friendly overlaps at every articulated joint.
- Every facial feature independent so it can move on its own.
- Arms, legs, hands, fingers, head, facial features, clothing and accessories as layers that can be repositioned without repainting.
- Each element drawn completely, including the portions hidden under overlaps.
- Delivered in a T-pose.
- Before delivery, inspect position and stacking of every group: each element where it belongs, nothing overlapping what it should not, joints clean, no doubled outline where parts meet.
**3. CHARACTER.** Written from this person, never from a type. A name and a job produces a schematic. This section is what the front is drawn from:
- Name, age, role, and the one sentence that makes them funny.
- Palette: three colours that do the talking, with hex from the cast row, plus skin, hair, and the darkest value that is theirs. Name what each colour paints.
- Head: the shape and a ratio, not "round". Where the cheeks are fullest. What the hair does to the silhouette.
- Face: eye size as a share of head width, the gap between them, where the eye line sits as a share of head height, what the lids are doing at rest, the brows, the nose as one shape, the mouth and where it lives, any facial hair as its own mass with an edge. A mustache that covers the upper lip is a group of its own, because the mouth lives beneath it and the mustache lifts when they talk.
- Hair: masses and edges, including sideburns, a quiff, a parting. Drawn as masses, not as a texture.
- Neck: length and thickness, what the collar does.
- Torso: the silhouette ratios as numbers (belly to shoulder, crotch as a share of height). What the clothes do when the body pushes them.
- Shoulders, arms, hands: length and thickness, what the sleeves do, the hands as a palm, four fingers and a thumb, big enough for what this person holds. A tattoo, a watch, a rolled cuff: each is a group.
- Legs and feet: length under the torso, what the trousers or skirt do, the shoes.
- Silhouette: the whole figure in one sentence as a flat-black shape, including the bumps that must read (a quiff, a mustache, a belly, a hat).
- Personality: how they stand and look when nothing is happening.
- The strongest visual idea: the contradiction that makes them funny before they speak.
- The design is not symmetrical. Say where it leans.
If any of those lines is missing, the brief is not done. "A middle aged man" is not a torso. "Big eyes" is not an eye size.
**4. Final Rigging and Quality Check.** Copied as-is, then answered against the SVG before you show it:
- Clean T-pose.
- Every movable component in a named SVG group.
- Left and right body parts clearly identified.
- Facial elements independently movable.
- Facial hair that talks (mustache, beard, snout) movable independently of the mouth and nose.
- Hands contain a palm, four fingers and a thumb.
- Limbs have hidden overlap beneath joints so they can rotate.
- No gaps when elbows, knees, wrists, shoulders or hips rotate.
- Outlines do not double at joints.
- Clothing boundaries do not create a second outline on top of the body.
- Accessories separated where they must move.
- Subtle asymmetry; the figure does not feel mirrored.
**5. Line Consistency Check.** Rewritten to the kit's line rule, then answered against every visible element:
- Every primary outline uses the kit's outline weight at 1080p, in the kit's ink, by the kit's policy (filled path or not).
- No element has inherited a thinner or thicker line.
- Facial features, hair, clothing, limbs, hands, shoes, accessories, tattoos and interior details follow the same line language.
- Line weight stays visually consistent under transform, scale or group hierarchy.
- Interior details may be simpler, but their weight is deliberate.
- Joints do not look heavier because two outlines overlap.
- Shared boundaries between adjacent shapes do not double.
- No element is missing its outline, and none has an extra one.
- Caps and joins match throughout.
- The front holds its line when viewed at scene size and at the face's three-times size.
**6. Layer and Position Check.** Copied as-is:
- Inspect every group for position, scale, stacking order, joint relationship, pivot-friendly overlap, line weight, line behaviour at intersections, clothing boundaries and hidden articulation geometry.
- Remove accidental overlap, clipping, misplaced artwork, doubled outlines, inconsistent weights, exposed hidden geometry and gaps between articulated parts.
- Do not deliver the SVG until every visible element has been checked.
**The checks are answered with evidence, not affirmed.** Beside the sheet, write `work/fronts/<slug>/CHECKS.md` with: every distinct stroke width or outline weight the file contains (one value expected); the full list of group ids; the count of gradients, `<text>` elements and transforms (zero, zero, and only the ones you can name); the 64 pixel silhouette as a file; and the joint sheet with each limb turned 30 degrees. A checklist item with no measurement beside it is unanswered.
### A front from another model
The brief is portable. The same six sections, pasted into any model that returns SVG, produce a front, and a good one is worth more than a redraw. When the human hands you such a file: save it as `work/fronts/<slug>/front.svg`, run the three checklists against it with the evidence above, fix only what fails (a doubled outline at a joint, a missing hidden overlap, a group that should be two), map its group names to the engine's, and show it on the sheet like any front. Check the kit's stroke policy first; a stroked front under a filled-outline kit is refused at the cut, and the fix is the policy, not the drawing.
### Draw the front
One SVG. Front view. T-pose. Full body. The brief is the drawing; you are executing it.
Draw however you draw best to the kit's line: the draw kit's helpers (`blob`, `bean`, `egg`, `wedge`, the taper helper) are there for the shapes they make well, and writing SVG paths directly is just as valid. The checklists are the contract, not the helpers; a front built only from helper primitives is the one that comes back as a rectangle with eyes. That size is the drawing. A generated turn sheet, if you made one to look at, is too small and too generated to be the parts. You never trace it.
Name every group with the puppet engine's own joint names so the cast skill cuts without a map: `head`, `hair`, `brow_l`, `brow_r`, `eye_l`, `eye_r`, `nose`, `mustache` (if any), `mouth`, `neck`, `torso`, `collar`, `arm_l`, `forearm_l`, `hand_l`, `arm_r`, `forearm_r`, `hand_r`, `pelvis`, `thigh_l`, `shin_l`, `foot_l`, `thigh_r`, `shin_r`, `foot_r`, plus every accessory and every clothing piece that must move, named for what it is. Left and right are the character's left and right. A front from another model will arrive with names like `left_forearm` or `left-forearm`; the cast skill maps those, so do not rename a good drawing, but do not produce them yourself.
Hands on the front are drawn complete (palm, four fingers, thumb) so the silhouette is right. The cast skill may later swap hand states. Do not leave a mitten because "the puppet will fix it".
Write `work/fronts/<slug>/front.svg`. Build `work/fronts/<slug>/sheet.html` that shows, on one page:
- The face cropped at about three times its scene size. This is where eyes, lids, nose and mouth are judged.
- The whole figure at scene scale.
- The same figure as a flat-black silhouette, three-quarter-head tall at least, and again at 64 pixels tall.
- Each limb turned 30 degrees on its joint (shoulder, elbow, wrist, hip, knee), drawn by rotating the group on the sheet, so a gap or a doubled outline at a joint is a picture and not a claim.
`preview_frame` after every change. `preview_html` on the sheet before anyone else sees it.
### Rules a cut-out front keeps
Four rules a cut-out front keeps. A limb segment's hidden end is unstroked, so a bent knee or elbow shows no seam: the thigh's lower end and the shin's upper end are open, and the same at the elbow, the shoulder and the waist. Arms are drawn in front of the torso with the upper arm's inner end open, so a raised arm carries no line across the shoulder. A part that spins, a blade or a wheel or a propeller, is its own group pivoted at its own centre, so it can turn in place on its own joint instead of swinging on the arm. And the one saturated hue in the brief is on the figure at a size the 64-pixel silhouette can carry; a character whose colour is only a collar is a brown figure.
### The silhouette, on that same front
If you cannot name the character from the 64-pixel black shape, the front is redesigned, not shaded. Do not move to colour fixes on a silhouette that fails.
### The review
One review per front, if the human chose that gate: `request_review` on the sheet. The ask names the brief's path so they can read the description beside the picture. Read `review_status` when the notes arrive, fix every note in one pass, reply beside each mark with `review_reply`, and re-render the sheet. A note about the hairline means the hairline changes. A note that contradicts the kit is a question back to the human about which wins, and the kit gets the answer so the next front inherits it.
Do not start the next character until this front is one you would put on television.
## Notes for the next agent
Update `notes/CAST.md` with the path of each brief and each front, the three-shape sentence as it landed, the three colours, and the notes the human gave. `add_project_note` pointing at the fronts folder. The cast skill starts from these files. If they are missing, that skill will have to write them, which is this skill run late.
## Deliver
Report this character with the brief path, the SVG path, the sheet path, the checks path, and whether the human approved the front. Then what did not resolve: a face that still misses, a silhouette that only works in colour, a kit rule the figure had to break. Say that the next character is the next run and the puppets are the next skill, and stop. Do not import a puppet kit. Do not build an avatar. Do not draw another view.