Agent skill

Scenario Blender Grease Pencil

by scenario-labs in scenario-labs/skills

A skill your agent uses when drawing or animating with Grease Pencil in Blender 5.x from Python: 2D or 2.5D illustration, frame-by-frame animation, a cutout or part-based 2D character, strokes with…

MITAuto-check passedMedia & Creative

Install Scenario Blender Grease Pencil

skills CLI
$ npx skills add scenario-labs/skills --skill scenario-blender-grease-pencil -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install scenario-labs/skills scenario-blender-grease-pencil --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/scenario-labs/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/dcc/blender/scenario-blender-grease-pencil .claude/skills/scenario-blender-grease-pencil && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
scenario-blender-grease-pencil
GitHub stars
946
Token cost
~4.5k tokens
SKILL.md length
1,800 words
Files
6 (incl. scripts, references)
Skills in repo
146
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when drawing or animating with Grease Pencil in Blender 5.x from Python: 2D or 2.5D illustration, frame-by-frame animation, a cutout or part-based 2D character, strokes with…

  • Works in 7 steps: Stage and layout. cam = G.scene_2d(res,… → Structure. G.new_object(name,… → Draw. Keys first: d = G.key(ob, "Lines",… → …
  • Animating with Grease Pencil in Blender 5.x from Python: 2D
  • SKILL.md covers Stance (the expert delta), Establish first, Workflow and Numbers, plus 4 more sections
  • Runs Python scripts from its folder; calls npx

What it does

Scenario Blender Grease Pencil is an agent skill from scenario-labs/skills. Use when drawing or animating with Grease Pencil in Blender 5.x from Python: 2D or 2.5D illustration, frame-by-frame animation, a cutout or part-based 2D character, strokes with pressure, filled shapes with holes, in-betweens and interpolation, onion skin, Line Art outlines, strokes on 3D meshes, NPR or hybrid motion graphics. Also when GP code fails (GPENCIL, frame.strokes, greasepencilmodifiers), fills do not show, colors render dark, or draw brushes will not run from a script.

Its SKILL.md is about 4.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 7 other files, including scripts and reference files (for example `references/critique.md`, `references/expert-notes.md` and `references/procedures.md`).

It sits in Media & Creative, covering Motion graphics. It works with Blender and Python. The repository describes itself as: Get production-ready images, video, audio, and 3D from any AI agent: skills that pick the right model, price before spending, and keep characters and brands consistent through… The licence is MIT.

When your agent uses it

  • Animating with Grease Pencil in Blender 5.x from Python: 2D
  • 2.5D illustration
  • Frame-by-frame animation
  • Part-based 2D character

Example prompts

  • “/scenario-blender-grease-pencil”

Requirements

  • Python 3
  • Node.js

Workflow steps

7 steps, taken from the first numbered list in SKILL.md.

  1. Stage and layout. cam = G.scene_2d(res, fps, frame_range, ortho_scale) (ortho camera at -Y, Standard, background). Plan the multiplane…
  2. Structure. G.new_object(name, layers=("Fills", "Shadow", "Lines")) per element (bottom to top, unlit), parent parts, place origins at…
  3. Draw. Keys first: d = G.key(ob, "Lines", frame). Lines: G.add_stroke(d, G.smooth_path(control_pts), radius, pressure=G.taper(n)…
  4. Color and shadow. Shadow layer: blend_mode='MULTIPLY', opacity lowered, use_masks=True, mask_layers.add(fills); paint the shadow shape…
  5. Animate. Replacement key G.key(..., mode="blank"), additive mode="copy", hold or cycle mode="instance" / G.cycle(...), end an exposure…
  6. 2.5D (optional). Outlines: G.lineart(source, radius=width_m) (the modifier radius is the line width). Strokes on meshes…
  7. Deliver. Render frames or video with the scene camera; keep the .blend editable (no applied procedural stage the animator still needs)…

What it can do on your machine

Read from SKILL.md and the folder at commit f6f8ab7. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • npx

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use npx, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Scenario Blender Grease Pencil loads about 4.5k tokens when it runs, and up to ~18k if it reads all its reference files. Until then it costs about 129 tokens; SKILL.md has 1,800 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~129
When it runs · the whole SKILL.md, loaded when a task matches
~4.5k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~18k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from scenario-labs/skills at commit f6f8ab7, republished under its MIT licence (© scenario-labs). 1,800 words, ~4,511 tokens.

Download SKILL.mdSave it as .claude/skills/scenario-blender-grease-pencil/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.
name
scenario-blender-grease-pencil
description
Use when drawing or animating with Grease Pencil in Blender 5.x from Python: 2D or 2.5D illustration, frame-by-frame animation, a cutout or part-based 2D character, strokes with pressure, filled shapes with holes, in-betweens and interpolation, onion skin, Line Art outlines, strokes on 3D meshes, NPR or hybrid motion graphics. Also when GP code fails (GPENCIL, frame.strokes, grease_pencil_modifiers), fills do not show, colors render dark, or draw brushes will not run from a script.
license
MIT

Grease Pencil (v3, Blender 5.2)

Expert Grease Pencil work keeps every drawing editable and redrawable, puts meaning in the structure (which object, which layer, which key) and judges the result in motion. The agent draws through the data API (drawings are curves with attributes), builds characters the way 2D studios rig them, and reviews rendered frames instead of a viewport it cannot flip. If a sibling skill named here is missing from your available skills, ask the user to install it (npx skills add scenario-labs/skills --skill <name>); unattended, proceed from tool schemas and flag the gap.

REQUIRED BACKGROUND: scenario-blender-expert (execution channel, review loop, 5.2 API changes). Shot planning, boards and animatics: scenario-blender-previs-storyboard. Mesh animation principles: scenario-blender-animation.

Toolkit: scripts/bx_gp.py (tested on 5.2.1). import sys; sys.path.append("<this skill>/scripts"); import bx_gp as G.

Stance (the expert delta)

  • Tom Viguier (Andarta, Ewilan's Quest): the rig must never block redrawing. One GP object per physical element (about 60 for a lead character), parented, mostly FK by object transforms; layers inside each element by graphic logic (line above color); sculpting as the deformer; no armature weight painting on drawings, because every redraw would need new weights.
  • Tom: interpolate only "sculpted" pairs. Two keys interpolate cleanly only with the same number, order and color of strokes and the same points. Otherwise redraw, or "clip" to the nearest drawing instead of accepting distortion. Native interpolation ignores object animation: key transforms separately.
  • Falk David (GP module lead): fill is geometry, not material. A stroke fills when fill_id != 0; strokes sharing an id fill together with even-odd holes; hide_stroke hides the outline. Material fill toggles are deprecated and holdout "eraser fills" (Grant Abbitt's 4.4 method) are obsolete.
  • Grant Abbitt: the layer stack carries meaning and materials are paint buckets. Lines on top, a shadow layer (Multiply, lowered opacity, masked by the fills) in between, fills at the bottom. Editing a material recolors every stroke using it. Lock what you are not editing: erasers and sculpt act on all unlocked layers.
  • Elijah Sheffield: predictable color first. Standard view transform, flat unlit shading, white world. Verified trap: new layers have use_lights=True, and lit layers take their ambient from World.color (default 0.05), not from the world node tree, so a flat palette renders at about a quarter of its value.
  • Tom: multiplane discipline and layout first. Every 2D element parallel to the camera, a camera that never changes axis, 3D only where it saves time; camera, cuts and parallax are settled in layout, not discovered in compositing. Between objects, depth decides who draws on top.
  • Michael Weigl: motion reveals the surface. A painterly still breaks once it moves; judge 2.5D as a sequence. Sort groups of strokes (mesh islands), never individual strokes, and bake procedural output back to editable strokes.
  • Pablo Fournier (Blender Studio): design the shadows. Replace blobby 3D shading with blocky, drawn light and shadow shapes (a light and a shadow material per part). Fills are flat: use many small fills on curved surfaces, not one big fill pushed forward.

Establish first

InputChangesDefault when silent
Deliverablestill, frame-by-frame shot, cutout rig, hybrid motion graphics, 2.5D over 3Dframe-by-frame shot
Formatresolution, fps, length1920 x 1080, 24 fps keyed on twos [added]; social motion graphics: 1080 x 1920, 12 fps, 60 frames (Elijah)
Lookflat or lit, line systemflat (unlit layers, Standard); ink line with pressure taper
Line systemPEN constant width (matches Line Art, Elijah) or INK_PEN pressure on radius (cartoony, Grant) or PENCIL (pressure on radius and opacity)INK_PEN
Palettematerial colorshex sRGB values, one material per paint bucket
Cameraortho multiplane or perspectiveortho, front view, drawing plane XZ
Who edits nexthow much stays procedurala human animator: everything bakes to editable strokes

Workflow

  1. Stage and layout. cam = G.scene_2d(res, fps, frame_range, ortho_scale) (ortho camera at -Y, Standard, background). Plan the multiplane: which elements are separate objects and their depth order. Compute px = G.px_size(); line width in pixels is 2 * radius / px. GATE: a test render shows the frame; planned line widths are at least 1.5 px [added].
  2. Structure. G.new_object(name, layers=("Fills", "Shadow", "Lines")) per element (bottom to top, unlit), parent parts, place origins at joints. G.material(ob, name, stroke=hex, fill=hex) once per bucket. GATE: [l.name for l in ob.data.layers] matches intent; G.draw_order(objs) lists front to back as designed.
  3. Draw. Keys first: d = G.key(ob, "Lines", frame). Lines: G.add_stroke(d, G.smooth_path(control_pts), radius, pressure=G.taper(n), brush="INK_PEN", material=i); overlap then trim rather than landing ends exactly (Grant). Fills: G.add_shape(d, outline, holes=[...], material=i) on the Fills layer, outline on Lines. Bulk: G.add_strokes(d, specs) (3000 strokes in 0.04 s). Fix shapes with G.grab, G.dissolve, G.edit_op(ob, "stroke_smooth", ...). GATE: G.verdict(G.report(ob)) is clean and a full-resolution G.render_frame shows no gaps, leaks or overhangs.
  4. Color and shadow. Shadow layer: blend_mode='MULTIPLY', opacity lowered, use_masks=True, mask_layers.add(fills); paint the shadow shape past the edge and let the mask clip it; design it blocky (Pablo). Lit look: use_lights=True plus World.color as ambient plus lamps (verified: a sun only scales value on a flat drawing, a point light gives a gradient). GATE: sampled pixels match the palette under Standard.
  5. Animate. Replacement key G.key(..., mode="blank"), additive mode="copy", hold or cycle mode="instance" / G.cycle(...), end an exposure with G.end_exposure. Every visible layer needs a key at or before frame_start (Elijah). Cutout motion: key object transforms (FK). In-betweens: check G.match(dA, dB), then G.interpolate(ob, layer, frame, step=2, type, easing) (native, segment around frame) or G.inbetween(ob, layer, a, b, frames, spacing=[...] or ease=...) for the animator's own spacing, clip=True when the pair is different. GATE: G.exposures(ob, layer) per layer, G.render_strip(path, frames) read left to right for timing and pops, G.onion(path, frame, before, after) for arcs and spacing.
  6. 2.5D (optional). Outlines: G.lineart(source, radius=width_m) (the modifier radius is the line width). Strokes on meshes: G.project_to_surface(pts, mesh) and discard strokes with missed or occluder-captured points (Pablo's failure modes). Relight: G.relight(ob, canvas, light_dir, shadow, light). Procedural strokes: Geometry Nodes Curves to Grease Pencil with Instances as Layers off and a fill_id attribute, then apply to bake (procedures P7). Depth reorder without changing the image: G.push_depth(ob, delta). GATE: a moving render (strip or playblast) where the surface does not read as 3D (Weigl) and fills do not poke through (Pablo).
  7. Deliver. Render frames or video with the scene camera; keep the .blend editable (no applied procedural stage the animator still needs). GATE: every object's verdict clean, strip and final frames looked at, list what was not verified.
Show full SKILL.md (740 more words)Show less

Numbers

ValueMeaningSource
radius = half line width (m)width px = 2 x radius / px_sizeverified
px_size = ortho_scale / max(res_x, res_y)ortho; perspective uses depth x 2 tan(fov/2) / resverified
0.01 mpoint radius while the radius attribute is absentverified
Line Art radius default 0.0025 mis the line WIDTH: points get radius/2verified
Elijah's Line Art thickness 60 (4.x)about 0.006 m width in 5.2[inferred]
use_lights True, World.color 0.05new layers render flat colors at about 25 % valueverified
set_uniform_thickness(thickness=t)sets radius t/2verified
~60 parts, ~100 rig versions, 2 weeks rig for a leadEwilan's Quest cutout scaleTom
12 fps, 60 frames, ortho scale 8, Subdivision 2 to 3 on shape mesheshybrid motion graphicsElijah
Stabilizer 40 px / 0.9 bundled, Elijah uses ~60 on demandonly for long curvesElijah, verified defaults
1 light bounceenough for stylized relightingWeigl
GP anti-aliasing aa_samples 8scene.grease_pencil_settingsverified

Quality gates

Measurable (per object, every stage):

python
for ob in gp_objects:
    print(ob.name, G.verdict(G.report(ob)))   # first key vs frame_start, lit-without-light,
                                             # invisible strokes, stray micro-strokes, sub-pixel lines,
                                             # fill/stroke alpha 0, empty masks; info: instances, unused materials
print(G.draw_order(gp_objects))               # front -> back vs the staging plan
print(G.match(dA, dB))                        # before any interpolation

Visual (open every image): G.render_frame(path, f) at full resolution for line quality, trims, fill gaps and palette; G.render_strip(path, range(a, b, 2)) for timing, holds and pops; G.onion(path, f, before, after) for spacing and arcs (it includes object motion and modifiers, which the viewport onion skin ignores, Falk and Rik); for 2.5D a sequence, never a still. Score against references/critique.md.

Common mistakes

MistakeLooks likeFix
Layers left at use_lights=True with no lampsflat palette renders dark brown or graylayer.use_lights=False, or raise World.color and add lamps
Fill expected from the materialshape outline onlystroke.fill_id=1, cyclic=True; holes share the id
hide_stroke=True with fill_id=0stroke vanishesgive it a fill id or show the stroke
attributes.new("radius") on a drawing with strokesexisting strokes disappear (radius 0)fill defaults first (G.add_strokes does)
First key after frame_startdrawing pops in, empty frames at the startkey at frame_start (Elijah)
Interpolating different drawingssmeared, twisted in-betweensG.match; redraw, resample, or clip (Tom)
Rigging drawings with armature weightsevery redraw breaks deformationobject-level cutout, sculpt as deformer (Tom)
Stroke-level depth sortingartist's layer order destroyedsort groups (objects or mesh islands) (Weigl)
One big fill on a curved surfacefill pokes through the meshmany small fills near the surface (Pablo)
Deleting stray pointsstroke splits in twoG.dissolve keeps it continuous (Pablo)
Line Art radius set like a stroke radiusoutline half the intended weightLine Art radius = width = 2 x stroke radius
Judging 2.5D on a stilllooks painterly, reads as 3D in motionrender the sequence (Weigl)
Calling draw brushes from a scriptInvalid operator call, nothing drawnwrite strokes as data; see 5.2 notes

Blender 5.2 notes

  • Types: object GREASEPENCIL, data bpy.data.grease_pencils; layer.frames.new(n).drawing.add_strokes([...]); old frame.strokes, point.co, pressure, strength, GPENCIL and object.grease_pencil_modifiers are gone. Modifiers are regular: ob.modifiers.new(n, 'GREASE_PENCIL_NOISE'), Line Art is 'LINEART'.
  • Stroke and point helpers are Python wrappers: re-fetch after adding or removing strokes, never cache them.
  • grease_pencil.brush_stroke and sculpt_paint have no exec: called with a stroke list in a live session they log "Invalid operator call" and draw nothing (verified GUI); replayed mouse events via event_simulate also drew nothing. Draw and sculpt strokes are data; headless edit operators (stroke_smooth, stroke_simplify, set_uniform_thickness, stroke_subdivide, outline, join_fills, set_curve_type) run in Edit mode through G.edit_op. In a live session G.gui_trim (lasso Trim), G.gui_erase_box and G.gui_reproject(type='SURFACE') work with a 3D-view override.
  • interpolate_sequence runs headless on the active object and layer, fills only the segment around the current frame and inserts BREAKDOWN keys; easing via type and easing.
  • frames.new or frames.copy onto an existing frame raises "Frame already exists"; get_frame_at(n) returns the key exposed at n (None before the first key).
  • layer.mask_layers.add(layer) is the 5.2 mask API; layer groups gp.layer_groups.new, gp.layers.move_to_layer_group; layers can parent to an object or bone (layer.parent, parent_bone) and carry their own transform.
  • Line Art objects made by object.grease_pencil_add(type='LINEART_OBJECT') have lit layers; objects hidden from render are ignored by Line Art; lineart_bake_strokes bakes the whole scene range.
  • GN Curves to Grease Pencil drops plain curves while Instances as Layers is on (default); Set Material alone no longer fills (5.1): store an INT fill_id on the curve domain.

References

  • references/expert-notes.md: each expert's principles, judgment and disagreements with timestamps; load when making a style or pipeline decision.
  • references/procedures.md: tested raw-bpy procedures (P1 to P8) and bx_gp recipes (cutout character, frame-by-frame, interpolation, 2.5D); load before writing GP code.
  • references/critique.md: the rubric for judging line, fill, staging, timing and 2.5D renders; load at every review gate.
  • references/sources.md: the five source videos, what each is best for, best timestamps.

© scenario-labs, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 5 other files (scripts, references) in skills/dcc/blender/scenario-blender-grease-pencil of scenario-labs/skills.

  • SKILL.md
  • references/critique.md
  • references/expert-notes.md
  • references/procedures.md
  • references/sources.md
  • scripts/bx_gp.py

Open the folder on GitHubat commit f6f8ab7

Compare with similar skills

Scenario Blender Grease Pencil next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Scenario Blender Grease Pencil compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Scenario Blender Grease Pencil this skillscenario-labs/skills946—~4.5kAutomated safety check: PassMIT
Blender Product Filmedenfunf/reelmimic1.9k—~2.6kAutomated safety check: PassMIT
Slack GIF Creatoranthropics/skills180k29 repos~2kAutomated safety check: PassApache-2.0
AnalyzeKumarSashank/motiscope122—~3.1kAutomated safety check: NotesMIT
Manim VideoHybridAIOne/hybridclaw159—~4.7kAutomated safety check: NotesMIT
Orbit Cardheygen-com/hyperframes60k1 repos~887Automated safety check: PassApache-2.0

Similar skills

  • Blender Product Film

    edenfunf/reelmimic

    Renders premium 3D product films in headless Blender from JSON shot specs, building the product from a photo or procedurally, then finishing titles, music and cuts.

    1.9k GitHub stars~2.6k tokensUpdated yesterday
    Media & CreativeAuto-check passed
  • Slack GIF Creator

    anthropics/skills

    Official

    Provides Slack size and frame limits, Python animation helpers and validators for building animated GIFs sized for emoji and messages.

    180k GitHub starsUsed in 29 repos~2k tokens
    Media & CreativeAuto-check passed
  • Analyze

    KumarSashank/motiscope

    Analyze a screen recording of an animation to characterize its motion — timing, easing, transforms, and sequencing — so it can be recreated as web code.

    122 GitHub stars~3.1k tokensUpdated 2 mo ago
    Media & CreativeAuto-check: notes
  • Manim Video

    HybridAIOne/hybridclaw

    Plan, script, render, and stitch Manim Community Edition videos in Python.

    159 GitHub stars~4.7k tokensUpdated today
    Media & CreativeAuto-check: notes
  • Orbit Card

    heygen-com/hyperframes

    HyperFrames block with one feature card that circles a dot sphere, driven by camera and card motion exported from an approved Blender rig.

    60k GitHub starsUsed in 1 repo~887 tokens
    Media & CreativeAuto-check passed
  • Logo Reveal

    ucsandman/marketing-studio

    A skill your agent uses when the user wants a logo reveal / logo animation / brand intro video for any product (e.g.

    251 GitHub stars~471 tokensUpdated 1 mo ago
    Media & CreativeAuto-check passed

More from scenario-labs/skills

All 146 skills in this repo
  • Scenario Blender Hair

    scenario-labs/skills

    A skill your agent uses when grooming hair or fur in Blender with hair curves, such as a character hairstyle, animal fur, procedural fur in geometry nodes, or hair cards and mesh hair for games.

    946 GitHub stars~4.7k tokensUpdated yesterday
    Auto-check passed
  • A skill your agent uses when lighting, rendering or compositing in Blender: light a character, product or hero shot, interior at dusk or night, three-point or motivated lighting, sun and sky, HDRI…

    946 GitHub stars~5k tokensUpdated yesterday
    Auto-check passed
  • Scenario Chatgpt Pet Create

    scenario-labs/skills

    A skill your agent uses when creating a ChatGPT pet or Codex pet with Scenario: hatching an animated companion from a text idea, a character, mascot or brand cue, or reference photos and art; making…

    946 GitHub stars~3.6k tokensUpdated yesterday
    Auto-check passed
  • Scenario Godot Animation

    scenario-labs/skills

    A skill your agent uses when animating characters or scenes in Godot 4.7: AnimationPlayer clips and RESET, AnimationTree state machines and blend spaces built in code, Mixamo or glTF import, loop…

    946 GitHub stars~4.7k tokensUpdated yesterday
    Auto-check passed
  • Scenario Godot Audio

    scenario-labs/skills

    A skill your agent uses when adding or fixing sound in Godot 4.7: audio buses and effects, volume sliders, 'too many sounds', combat audio with hundreds of enemies, sounds clipping or distorting, 3D…

    946 GitHub stars~4.7k tokensUpdated yesterday
    Auto-check passed
  • Scenario Godot Multiplayer

    scenario-labs/skills

    A skill your agent uses when a Godot 4 game goes online or co-op: host and join with ENet, WebSocket for a web build, RPCs (@rpc, rpcid, anypeer), MultiplayerSpawner and MultiplayerSynchronizer…

    946 GitHub stars~5.1k tokensUpdated yesterday
    Auto-check passed

Works with

Questions about Scenario Blender Grease Pencil

What does Scenario Blender Grease Pencil do?

A skill your agent uses when drawing or animating with Grease Pencil in Blender 5.x from Python: 2D or 2.5D illustration, frame-by-frame animation, a cutout or part-based 2D character, strokes with…. Scenario Blender Grease Pencil is an agent skill from scenario-labs/skills.5D illustration, frame-by-frame animation, a cutout or part-based 2D character, strokes with pressure, filled shapes with holes, in-betweens and interpolation, onion skin, Line Art outlines, strokes on 3D meshes, NPR or hybrid motion graphics.

When should I use Scenario Blender Grease Pencil?

Scenario Blender Grease Pencil fits situations like: animating with Grease Pencil in Blender 5.x from Python: 2D; 2.5D illustration; frame-by-frame animation; part-based 2D character.

How do I install Scenario Blender Grease Pencil in Claude Code?

Run `npx skills add scenario-labs/skills --skill scenario-blender-grease-pencil -a claude-code`. Or copy the skill folder (skills/dcc/blender/scenario-blender-grease-pencil in scenario-labs/skills) into .claude/skills/scenario-blender-grease-pencil in your project. Claude Code loads it when a task matches its description.

How do I install Scenario Blender Grease Pencil in Codex?

Run `npx skills add scenario-labs/skills --skill scenario-blender-grease-pencil -a codex`. Or copy the skill folder (skills/dcc/blender/scenario-blender-grease-pencil in scenario-labs/skills) into .agents/skills/scenario-blender-grease-pencil in your project. Codex loads it when a task matches its description.

Can I use Scenario Blender Grease Pencil in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add scenario-labs/skills --skill scenario-blender-grease-pencil -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/scenario-blender-grease-pencil, .gemini/skills/scenario-blender-grease-pencil, .github/skills/scenario-blender-grease-pencil and .opencode/skills/scenario-blender-grease-pencil in your project.

What does Scenario Blender Grease Pencil need to run?

Going by SKILL.md and its folder, Scenario Blender Grease Pencil needs Python for the scripts in its folder and the command-line tools its instructions call (npx). Our summary lists: Python 3; Node.js.

Does Scenario Blender Grease Pencil access the network?

SKILL.md contains no URLs. Its commands use npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Scenario Blender Grease Pencil safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Scenario Blender Grease Pencil use?

Scenario Blender Grease Pencil is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Scenario Blender Grease Pencil use?

About 4.5k tokens (SKILL.md is roughly 18k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 14k tokens, read only when the agent opens those files.

What are the alternatives to Scenario Blender Grease Pencil?

Skills that share tags, products or a category with Scenario Blender Grease Pencil: Blender Product Film (edenfunf/reelmimic, 1.9k stars), Slack GIF Creator (anthropics/skills, 180k stars), Analyze (KumarSashank/motiscope, 122 stars) and Manim Video (HybridAIOne/hybridclaw, 159 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Scenario Blender Grease Pencil?

scenario-labs (a GitHub organization) maintains it in scenario-labs/skills, which has 946 GitHub stars. The repository holds 146 skills in this directory. The repository was last updated on October 10, 2026.

Source: scenario-labs/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.