{
  "contentVersion": "2026.08.13+1",
  "_note": "targets.techniqueIds says WHAT THIS DRILL PREPARES FOR, not what the dancer performs while doing it. That is why drill.slow-releve-barre and drill.eccentric-heel-drops name tech.pointe-rise alongside tech.releve: the pre-pointe track exists to build the strength underneath the pointe rise, and naming it is the whole reason those drills are in the app. It is deliberate, it looks alarming, and it is not the bug it resembles. Nothing accrues from it — verified empirically, not argued: 120 days of ticking both drills plus 100 runs of every routine that names tech.pointe-rise leaves the mastery stage at 'none', every skill percentage, category count and unlock unchanged, progress.capabilities empty, readiness() null and nextUpScore() -1 on tl.pointe-rise.rad-g6, and prePointe() at weeksDone 0 with verdict null. Stripping tech.pointe-rise out of these two records changes NOTHING anywhere in the app, because plannable() (js/store/derive.js) drops the technique before any scorer sees it and the three routines credit it at routine level regardless. The rule that does matter is enforced by the validator: a drill that names high-risk or pre-pointe work may only target capabilities whose evidence.kind is 'attested' (js/data/validate.js, E019). Adding a derived-evidence capability here is the edit that would turn drill counts into a route to a pointe verdict — that, not the technique id, is the line.",
  "drills": [
    { "id": "drill.theraband-points", "name": "Theraband foot points", "detail": "Band round the ball of the foot, leg long on the floor. Four counts out, four counts back.", "note": "The slow return is the part that builds strength.", "reps": "3 × 12 each foot", "durationSec": 90, "equipment": ["theraband"], "targets": { "techniqueIds": ["tech.tendu"], "faultIds": ["fault.toe-curl"], "capabilityIds": ["cap.arch-strength"] }, "video": null, "status": "published" },
    { "id": "drill.doming", "name": "Doming", "detail": "Foot flat, draw the ball of the foot towards the heel without curling the toes. Small and slow.", "note": null, "reps": "2 × 15 each foot", "durationSec": 60, "equipment": [], "targets": { "techniqueIds": [], "faultIds": ["fault.toe-curl"], "capabilityIds": ["cap.arch-strength"] }, "video": null, "status": "published" },
    { "id": "drill.slow-releve-barre", "name": "Slow relevé at the barre", "detail": "Rise over four counts, hold two, lower over four. Weight over the first two toes.", "note": null, "reps": "3 × 8", "durationSec": 90, "equipment": ["barre"], "targets": { "techniqueIds": ["tech.releve", "tech.pointe-rise"], "faultIds": ["fault.rolling-out"], "capabilityIds": ["cap.releve-control"] }, "video": null, "status": "published" },
    { "id": "drill.eccentric-heel-drops", "name": "Eccentric heel drops", "detail": "Rise on two, lower on one, over four slow counts. Hold the barre lightly rather than hanging on it.", "note": "The lowering is the whole exercise.", "reps": "3 × 10 each side", "durationSec": 90, "equipment": ["barre"], "targets": { "techniqueIds": ["tech.releve", "tech.pointe-rise"], "faultIds": ["fault.loss-of-control"], "capabilityIds": ["cap.releve-control"] }, "video": null, "status": "published" },
    { "id": "drill.calf-arch-release", "name": "Calf and arch release", "detail": "Ball under the arch, slow roll. Then a gentle calf stretch each side.", "note": null, "reps": "60 seconds each", "durationSec": 60, "equipment": ["massage ball"], "targets": { "techniqueIds": [], "faultIds": ["fault.calf-grip"], "capabilityIds": [] }, "video": null, "status": "published" },
    { "id": "drill.ball-of-foot-placement", "name": "Ball-of-foot placement drill", "detail": "Mark the three transfers at half speed facing the barre, listening for three equal sounds. Then again with eyes closed.", "note": null, "reps": null, "durationSec": null, "equipment": ["barre"], "targets": { "techniqueIds": ["tech.pas-de-bourree-pique"], "faultIds": ["fault.flat-landing", "fault.uneven-transfer"], "capabilityIds": [] }, "video": null, "status": "published" },
    { "id": "drill.quarter-turn-spotting", "name": "Quarter-turn spotting drill", "detail": "Four quarter turns, finding the same spot each time, holding retiré for two counts on each stop. Both sides.", "note": null, "reps": null, "durationSec": null, "equipment": [], "targets": { "techniqueIds": ["tech.pirouette-en-dehors"], "faultIds": ["fault.lost-spot"], "capabilityIds": ["cap.spotting"] }, "video": null, "status": "published" },
    { "id": "drill.plie-depth-ladder", "name": "Plié depth ladder", "detail": "Sixteen small jumps in first, then eight bigger, keeping the same plié depth throughout. Height comes from the floor.", "note": null, "reps": null, "durationSec": null, "equipment": [], "targets": { "techniqueIds": ["tech.assemble"], "faultIds": ["fault.stiff-landing"], "capabilityIds": [] }, "video": null, "status": "published" },
    { "id": "drill.wall-kick-set", "name": "Wall-supported kick set", "detail": "Hand on the wall, 4 × 8 kicks at matched height, eyes forward and shoulders down.", "note": null, "reps": "4 × 8", "durationSec": null, "equipment": [], "targets": { "techniqueIds": ["tech.kick-line"], "faultIds": ["fault.leaning-back"], "capabilityIds": [] }, "video": null, "status": "published" },
    { "id": "drill.mirror-isolations", "name": "Mirror isolation set", "detail": "Shoulder, rib, hip — eight counts each, everything else frozen. Film it once and watch for cheating.", "note": null, "reps": null, "durationSec": null, "equipment": ["mirror"], "targets": { "techniqueIds": ["tech.fosse-isolations"], "faultIds": ["fault.diffuse-isolation"], "capabilityIds": [] }, "video": null, "status": "published" },
    { "id": "drill.rhythm-clap-through", "name": "Rhythm clap-through", "detail": "Clap the and-a-one rhythm four times, then dance it four times without watching your feet.", "note": null, "reps": null, "durationSec": null, "equipment": [], "targets": { "techniqueIds": ["tech.step-ball-change"], "faultIds": ["fault.rushing-tempo"], "capabilityIds": [] }, "video": null, "status": "published" },
    { "id": "drill.corner-travel", "name": "Corner-to-corner travel", "detail": "Four across the floor each side, marking where you finish with tape. Same spot every time.", "note": null, "reps": null, "durationSec": null, "equipment": ["floor tape"], "targets": { "techniqueIds": ["tech.chasse-pivot"], "faultIds": ["fault.travel-drift"], "capabilityIds": [] }, "video": null, "status": "published" },
    { "id": "drill.tape-square", "name": "Tape-square drill", "detail": "Tape a square on the floor and hit each corner for eight sets, then double time.", "note": null, "reps": null, "durationSec": null, "equipment": ["floor tape"], "targets": { "techniqueIds": ["tech.jazz-square"], "faultIds": ["fault.shape-collapse"], "capabilityIds": [] }, "video": null, "status": "published" },
    { "id": "drill.line-tape-chaines", "name": "Line-tape chaînés", "detail": "Tape a straight line, eight chaînés along it, stop and check your feet are still on the tape. Both directions.", "note": null, "reps": null, "durationSec": null, "equipment": ["floor tape"], "targets": { "techniqueIds": ["tech.chaines", "tech.chaines-ballet"], "faultIds": ["fault.travel-drift", "fault.lost-spot"], "capabilityIds": ["cap.spotting"] }, "video": null, "status": "published" },
    { "id": "drill.standing-leg-hold", "name": "Standing leg hold", "detail": "Hand on the barre, slow fan kicks, 3 × 8 each side, pausing at the top of the arc.", "note": null, "reps": "3 × 8 each side", "durationSec": null, "equipment": ["barre"], "targets": { "techniqueIds": ["tech.fan-kick"], "faultIds": ["fault.standing-side-collapse"], "capabilityIds": [] }, "video": null, "status": "published" },
    { "id": "drill.hipflexor-hamstring-set", "name": "Hip-flexor and hamstring set", "detail": "Slow retiré-to-extension holds, 6 each side, with a 20-second hamstring float between sides.", "note": null, "reps": "6 each side", "durationSec": null, "equipment": [], "targets": { "techniqueIds": ["tech.developpe-devant"], "faultIds": ["fault.hip-hike"], "capabilityIds": [] }, "video": null, "status": "published" },
    { "id": "drill.upper-back-holds", "name": "Upper-back extension holds", "detail": "Prone lifts, 3 × 8, then arabesque holds at the barre for 10 seconds each side.", "note": null, "reps": "3 × 8", "durationSec": null, "equipment": ["barre"], "targets": { "techniqueIds": ["tech.arabesque"], "faultIds": ["fault.standing-side-collapse"], "capabilityIds": ["cap.core-back-control"] }, "video": null, "status": "published" },
    { "id": "drill.core-back-prep", "name": "Core and back prep", "detail": "Hollow holds 3 × 20 seconds, then standing back bends with a hand on the barre.", "note": null, "reps": "3 × 20 seconds", "durationSec": null, "equipment": ["barre"], "targets": { "techniqueIds": ["tech.layout"], "faultIds": ["fault.lumbar-only-extension"], "capabilityIds": ["cap.core-back-control"] }, "video": null, "status": "published" },
    { "id": "drill.ankle-circles", "name": "Ankle circles", "detail": "Slow and full, leading with the toes. Both directions.", "note": null, "reps": "10 each way", "durationSec": 60, "equipment": [], "targets": { "techniqueIds": [], "faultIds": [], "capabilityIds": [] }, "video": null, "status": "published" },
    { "id": "drill.kneeling-arch-stretch", "name": "Kneeling arch stretch", "detail": "Sit back gently onto pointed feet. Stop well before pain.", "note": null, "reps": "3 × 20 seconds", "durationSec": 60, "equipment": [], "targets": { "techniqueIds": [], "faultIds": [], "capabilityIds": ["cap.arch-strength"] }, "video": null, "status": "published" },
    { "id": "drill.toe-fan-scrunch", "name": "Toe fan and scrunch", "detail": "Spread the toes wide, then draw them long — not curled.", "note": null, "reps": "2 × 12", "durationSec": 45, "equipment": [], "targets": { "techniqueIds": [], "faultIds": ["fault.toe-curl"], "capabilityIds": ["cap.arch-strength"] }, "video": null, "status": "published" },
    { "id": "drill.ball-of-foot-roll", "name": "Ball-of-foot roll", "detail": "Roll slowly from heel to toes, pausing anywhere that feels tight.", "note": null, "reps": "90 seconds each foot", "durationSec": 90, "equipment": ["massage ball"], "targets": { "techniqueIds": [], "faultIds": [], "capabilityIds": [] }, "video": null, "status": "published" },
    { "id": "drill.low-lunge", "name": "Low lunge", "detail": "Back knee down, hips square, chest lifted.", "note": null, "reps": "60 seconds each side", "durationSec": 60, "equipment": [], "targets": { "techniqueIds": ["tech.developpe-devant"], "faultIds": [], "capabilityIds": [] }, "video": null, "status": "published" },
    { "id": "drill.frog", "name": "Frog", "detail": "Knees wide, feet in line with knees. Breathe into it, don’t force it.", "note": null, "reps": "90 seconds", "durationSec": 90, "equipment": [], "targets": { "techniqueIds": [], "faultIds": [], "capabilityIds": [] }, "video": null, "status": "published" },
    { "id": "drill.butterfly-fold", "name": "Butterfly with fold", "detail": "Long spine first, then fold from the hip.", "note": null, "reps": "90 seconds", "durationSec": 90, "equipment": [], "targets": { "techniqueIds": [], "faultIds": [], "capabilityIds": [] }, "video": null, "status": "published" },
    { "id": "drill.ninety-ninety", "name": "90/90", "detail": "Both shins at right angles, rotate slowly side to side.", "note": null, "reps": "8 each way", "durationSec": 90, "equipment": [], "targets": { "techniqueIds": ["tech.developpe-devant"], "faultIds": [], "capabilityIds": [] }, "video": null, "status": "published" },
    { "id": "drill.dynamic-lunge", "name": "Dynamic lunge", "detail": "Rock gently in and out of the lunge — warm the tissue before you lengthen it.", "note": null, "reps": "10 each side", "durationSec": 60, "equipment": [], "targets": { "techniqueIds": [], "faultIds": [], "capabilityIds": [] }, "video": null, "status": "published" },
    { "id": "drill.hamstring-float", "name": "Hamstring float", "detail": "Leg long, foot flexed, hinge from the hip with a flat back.", "note": null, "reps": "45 seconds each side", "durationSec": 90, "equipment": [], "targets": { "techniqueIds": ["tech.developpe-devant"], "faultIds": [], "capabilityIds": [] }, "video": null, "status": "published" },
    { "id": "drill.front-split-hold", "name": "Front split hold", "detail": "Blocks or books under the front thigh. Square the hips, breathe out into it.", "note": null, "reps": "60 seconds each side", "durationSec": 120, "equipment": ["blocks"], "targets": { "techniqueIds": [], "faultIds": ["fault.hip-hike"], "capabilityIds": [] }, "video": null, "status": "published" },
    { "id": "drill.active-liftoff", "name": "Active lift-off", "detail": "In the split, lift the front leg a centimetre off the floor. Strength in the new range.", "note": null, "reps": "8 each side", "durationSec": 60, "equipment": [], "targets": { "techniqueIds": ["tech.developpe-devant"], "faultIds": [], "capabilityIds": [] }, "video": null, "status": "published" },
    { "id": "drill.roll-down", "name": "Roll down", "detail": "Chin to chest, roll down one vertebra at a time, then back up.", "note": null, "reps": "4 slow", "durationSec": 45, "equipment": [], "targets": { "techniqueIds": [], "faultIds": [], "capabilityIds": [] }, "video": null, "status": "published" },
    { "id": "drill.calf-stretch", "name": "Calf stretch", "detail": "Heel pressing back, knee soft.", "note": null, "reps": "40 seconds each", "durationSec": 80, "equipment": [], "targets": { "techniqueIds": [], "faultIds": ["fault.calf-grip"], "capabilityIds": [] }, "video": null, "status": "published" },
    { "id": "drill.quad-stretch", "name": "Quad stretch", "detail": "Knee under the hip, foot held gently.", "note": null, "reps": "40 seconds each", "durationSec": 80, "equipment": [], "targets": { "techniqueIds": [], "faultIds": [], "capabilityIds": [] }, "video": null, "status": "published" },
    { "id": "drill.breathing", "name": "Breathing", "detail": "Lying down, knees bent. Six long breaths and you are done.", "note": null, "reps": "90 seconds", "durationSec": 90, "equipment": [], "targets": { "techniqueIds": [], "faultIds": [], "capabilityIds": [] }, "video": null, "status": "published" },

    { "id": "drill.slow-plie-count", "name": "Four-count plié", "detail": "Facing the barre, demi-plié over four counts and up over four, in first, second and fifth. Watch the heels, not the knees.", "note": "Go only as deep as the heels will stay down. That depth is your real plié.", "reps": "4 in each position", "durationSec": 120, "equipment": ["barre"], "targets": { "techniqueIds": ["tech.plie"], "faultIds": ["fault.heel-lift", "fault.knee-track"], "capabilityIds": [] }, "video": null, "status": "published" },
    { "id": "drill.rdj-hip-check", "name": "Hands-on-hips rond de jambe", "detail": "Rond de jambe à terre with both hands resting on your own hipbones. Eight en dehors, eight en dedans, each side.", "note": "Stop the moment a hand feels a hip move, and make the circle smaller.", "reps": "8 each way, each side", "durationSec": 120, "equipment": ["barre"], "targets": { "techniqueIds": ["tech.rond-de-jambe-a-terre"], "faultIds": ["fault.hip-hike", "fault.turnout-loss"], "capabilityIds": [] }, "video": null, "status": "published" },
    { "id": "drill.fondu-both-knees", "name": "Two-knee fondu", "detail": "Facing the barre, fondu devant only, four counts down and four counts up, eight each side. Watch both knees in the mirror, never the foot.", "note": "If one knee finishes first, start again slower.", "reps": "8 each side", "durationSec": 120, "equipment": ["barre"], "targets": { "techniqueIds": ["tech.battement-fondu"], "faultIds": ["fault.loss-of-control", "fault.knee-track"], "capabilityIds": [] }, "video": null, "status": "published" },
    { "id": "drill.frappe-thigh-check", "name": "Hand-on-thigh frappé", "detail": "Rest a flat hand on the working thigh. Sixteen frappés devant at half speed, then sixteen at tempo.", "note": "The hand should feel nothing at all. When it does, the hip has joined in.", "reps": "2 × 16 each side", "durationSec": 90, "equipment": ["barre"], "targets": { "techniqueIds": ["tech.battement-frappe"], "faultIds": ["fault.sympathy-movement"], "capabilityIds": [] }, "video": null, "status": "published" },
    { "id": "drill.cou-de-pied-shape", "name": "Cou-de-pied holds", "detail": "Cou-de-pied devant, hold four counts, change to derrière, hold four. Ten changes each side, checking the heel side-on in the mirror.", "note": "Hold the shape when nothing is happening and it will survive when everything is.", "reps": "10 changes each side", "durationSec": 90, "equipment": ["barre", "mirror"], "targets": { "techniqueIds": ["tech.petit-battement", "tech.ballonne"], "faultIds": ["fault.sickling"], "capabilityIds": [] }, "video": null, "status": "published" },
    { "id": "drill.battement-brush-through", "name": "Brush-through grand battement", "detail": "Grand battement devant taking two counts up and four counts down, brushing through a full tendu in both directions. Eight each side.", "note": "The slow return is where the height for next month comes from.", "reps": "8 each side", "durationSec": 90, "equipment": ["barre"], "targets": { "techniqueIds": ["tech.grand-battement"], "faultIds": ["fault.loss-of-control", "fault.leaning-back"], "capabilityIds": [] }, "video": null, "status": "published" },
    { "id": "drill.echappe-one-sound", "name": "One-sound échappé", "detail": "Eight échappés relevés facing the barre with your eyes closed, listening for a single sound on each opening and each closing.", "note": "Two sounds means one foot is late. Slow down until there is one.", "reps": "2 × 8", "durationSec": 90, "equipment": ["barre"], "targets": { "techniqueIds": ["tech.echappe-releve"], "faultIds": ["fault.uneven-transfer", "fault.rolling-out"], "capabilityIds": ["cap.releve-control"] }, "video": null, "status": "published" },
    { "id": "drill.rdj-air-shelf", "name": "Shelf-hold rond de jambe en l’air", "detail": "At the barre, hold the working leg at 45 degrees with your free hand resting under the thigh. Eight ovals out, eight in, each side.", "note": "Stop the set the moment the hand feels the thigh drop.", "reps": "8 each way, each side", "durationSec": 90, "equipment": ["barre"], "targets": { "techniqueIds": ["tech.rond-de-jambe-en-lair"], "faultIds": ["fault.sympathy-movement", "fault.turnout-loss"], "capabilityIds": [] }, "video": null, "status": "published" },
    { "id": "drill.mirror-port-de-bras", "name": "Side-on port de bras", "detail": "Bras bas to first to second and back, eight counts in each position, standing side-on to the mirror.", "note": "Watch the elbow, not the hand. The hand always looks fine.", "reps": "4 full sequences", "durationSec": 90, "equipment": ["mirror"], "targets": { "techniqueIds": ["tech.port-de-bras"], "faultIds": ["fault.dropped-elbow", "fault.dropped-eyeline"], "capabilityIds": [] }, "video": null, "status": "published" },
    { "id": "drill.facing-changes", "name": "Facing changes", "detail": "Stand in fifth and change between croisé, effacé and écarté on eight counts each, moving nothing but the facing.", "note": "Do the last round facing away from the mirror.", "reps": "3 rounds", "durationSec": 90, "equipment": [], "targets": { "techniqueIds": ["tech.epaulement"], "faultIds": ["fault.flat-front", "fault.shoulder-twist"], "capabilityIds": [] }, "video": null, "status": "published" },
    { "id": "drill.weight-transfer-tape", "name": "Tape-mark transfer", "detail": "Tape two marks a full tendu apart. Eight transfers to the tape and back, forward and side, eyes up the whole time.", "note": "The tape is there because the step shrinks without you noticing.", "reps": "8 each direction", "durationSec": 90, "equipment": ["floor tape"], "targets": { "techniqueIds": ["tech.temps-lie", "tech.pas-de-basque"], "faultIds": ["fault.travel-drift", "fault.uneven-transfer"], "capabilityIds": [] }, "video": null, "status": "published" },
    { "id": "drill.balance-out-loud", "name": "Down-up-up balancé", "detail": "Eight balancés saying “down, up, up” out loud, then eight with the arms only while standing still.", "note": "The arms round is what makes it a waltz rather than three steps.", "reps": "2 × 8", "durationSec": 60, "equipment": [], "targets": { "techniqueIds": ["tech.balance"], "faultIds": ["fault.rushing-tempo", "fault.tone-mismatch"], "capabilityIds": [] }, "video": null, "status": "published" },
    { "id": "drill.retire-hold-check", "name": "Retiré hold and check", "detail": "Retiré at the barre held for eight counts each side, checking hip level and knee direction side-on in the mirror.", "note": "Lower the knee until the hips are level. That is your retiré for now.", "reps": "4 holds each side", "durationSec": 90, "equipment": ["barre", "mirror"], "targets": { "techniqueIds": ["tech.retire-passe"], "faultIds": ["fault.turnout-loss", "fault.hip-hike"], "capabilityIds": [] }, "video": null, "status": "published" },
    { "id": "drill.tight-fifth-hold", "name": "Tight-fifth relevé hold", "detail": "Cross to a tight fifth on relevé, hold four counts, lower with control. Ten each side.", "note": "Look for daylight between the ankles — that gap is where turns go wrong.", "reps": "10 each side", "durationSec": 90, "equipment": ["barre"], "targets": { "techniqueIds": ["tech.soutenu-en-tournant"], "faultIds": ["fault.loose-close"], "capabilityIds": ["cap.releve-control"] }, "video": null, "status": "published" },
    { "id": "drill.pose-line-walk", "name": "Posé line walk", "detail": "Walk the pattern along a taped line without turning — step, retiré, hold. Eight each side, then add a half turn to each step.", "note": "Learn where the leg arrives before you ask it to turn as well.", "reps": "2 × 8 each side", "durationSec": 120, "equipment": ["floor tape"], "targets": { "techniqueIds": ["tech.pose-turn"], "faultIds": ["fault.travel-drift", "fault.loss-of-control"], "capabilityIds": ["cap.spotting"] }, "video": null, "status": "published" },
    { "id": "drill.jump-on-the-mark", "name": "Land-on-the-mark jumps", "detail": "Tape a cross on the floor. Sixteen changements landing on it, then sixteen échappés sautés splitting evenly around it.", "note": "Stop the set the second time you miss the mark, and reset the plié.", "reps": "2 × 16", "durationSec": 90, "equipment": ["floor tape"], "targets": { "techniqueIds": ["tech.changement", "tech.echappe-saute"], "faultIds": ["fault.travelling-jump", "fault.stiff-landing"], "capabilityIds": [] }, "video": null, "status": "published" },
    { "id": "drill.glissade-reach", "name": "Glissade reach", "detail": "Facing the barre, slide the working foot out to a full tendu and hold two counts before the body follows. Eight each side, then eight at tempo.", "note": "Reach first. A glissade that shrinks takes the step after it down with it.", "reps": "2 × 8 each side", "durationSec": 90, "equipment": ["barre"], "targets": { "techniqueIds": ["tech.glissade"], "faultIds": ["fault.travel-drift", "fault.loose-close"], "capabilityIds": [] }, "video": null, "status": "published" },
    { "id": "drill.degage-height-check", "name": "Dégagé height check", "detail": "Facing the barre, put a book or a folded towel on the floor just in front of the working foot. Sixteen dégagés devant brushing out to just above it and closing through the floor, then sixteen derrière.", "note": "The marker is there so the height stops being a guess. If number twelve is higher than number one, the hip has started helping.", "reps": "2 × 16 each side", "durationSec": 90, "equipment": ["barre"], "targets": { "techniqueIds": ["tech.degage", "tech.tendu"], "faultIds": ["fault.hip-hike", "fault.borrowed-momentum"], "capabilityIds": [] }, "video": null, "status": "published" },
    { "id": "drill.chaines-tight-first", "name": "Tight-first chaînés", "detail": "Tape a line. Four half turns along it, stopping in a closed first on demi-pointe each time and holding two counts before the next. Then four more without stopping, then the same both directions.", "note": "Stop and look down every time. The gap between the ankles is the thing that steers you off the tape.", "reps": "2 × 8 each direction", "durationSec": 120, "equipment": ["floor tape"], "targets": { "techniqueIds": ["tech.chaines-ballet"], "faultIds": ["fault.loose-close", "fault.lost-spot"], "capabilityIds": ["cap.spotting"] }, "video": null, "status": "published" }
  ],
  "part": "drills"
}
