Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/python-ide/pythonide-skills/pythonide-scenenpx skills add Python-IDE/pythonide-skills --skill pythonide-scenegit clone --depth 1 https://github.com/Python-IDE/pythonide-skillsWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00063 | $0.00883 |
| Opus 5 | $0.00032 | $0.00441 |
| Sonnet 5 | $0.00013 | $0.00177 |
| Haiku 4.5 | $0.00006 | $0.00088 |
Grade A, and why
pythonide-scene scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 108 lines — stays where its author put it; the contents beside it link to each section on GitHub.
PythonIDE Scene
Execution rulebook for scene and turtle runtimes.
Read Before Coding
- Scene module
- Scene API reference
- scene.pyi
- Turtle module for teaching graphics
Do not generate AppUI or widget code for a scene/game request.
Use When
- Continuous drawing, sprite movement, collisions, physics, touch loops, or shaders
- Existing code imports
sceneand needs repair - Turtle teaching demos
Do Not Use When
- The UI is a form, list, settings screen, or AppUI MiniApp
- The user wants imperative UIKit controls →
pythonide-automation(ui) - Static charts or business apps →
pythonide-appui
Workflow
- Subclass
scene.Scene - Create retained nodes in
setup()afterself.sizeis valid - Per-frame logic in
update(); immediate drawing only indraw() - Touch in
touch_began/touch_moved/touch_ended - End with exactly one
scene.run(MyScene(), ...) - Keep assets optional unless the user provides them
Correct Pattern
import scene
class Demo(scene.Scene):
def setup(self):
self.background_color = "#111827"
self.ball = scene.SpriteNode(
color="#2f80ed",
size=(44, 44),
position=(self.size.w / 2, self.size.h / 2),
parent=self,
)
self.label = scene.LabelNode(
"Tap to move",
font=("Helvetica", 18),
position=(self.size.w / 2, 80),
parent=self,
)
def touch_began(self, touch):
self.ball.run_action(
scene.Action.move_to(touch.location.x, touch.location.y, 0.25)
)
self.label.text = f"{touch.location.x:.0f}, {touch.location.y:.0f}"
scene.run(Demo(), show_fps=True)
Hard Stops
- No AppUI (
Button,VStack,NavigationStack, etc.) inside aScene - No blocking
while Trueanimation loops; useupdate()orAction - No
rect,fill,text, etc. outsidedraw() SpriteNode("red")treats"red"as a texture name — useSpriteNode(color="red", ...)- Do not omit
scene.run(...) image_quad/triangle_stripare not implemented
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- yesterday First seen · 108 lines · 63 tokens per session scan A c4912d856842
pythonide-scene is a skill published in the GitHub repository Python-IDE/pythonide-skills (6 stars, last pushed 1mo ago), licensed MIT. It adds 63 tokens to every session and 883 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
macos-swiftpm
Build, run, and test SwiftPM macOS packages and executables. Use when the repo is package-first or has no Xcode project.
firebase-messaging
Use when setting up Firebase Cloud Messaging, managing permissions and tokens, handling background/foreground notification taps, or dispatching messages server-side (HTTP v1).
curate-a-team-library
Use when building a managed team skills library for a real stack. Map work to shelves, browse before curating, write meaningful whyHere notes, and create a starter pack once the first pass is solid.
docs-workflows
Documentation and extension workflows derived from local slash commands (docs, explanation, issues, prototypes, tutorials, MCP design review).
editorial-illustrations
Generate meaning-carrying editorial data-illustrations in the monotykamary / Linear aesthetic (near-black grayscale, Inter display + mono labels, hairline framed figures) with a single coral accent. This is a GENERATIVE GUIDE, not a template gallery: it teaches the "claim -> geometry" method so any session can invent…
render-airdrop-carousel
Assemble a viral iOS "AirDrop" notification-carousel video ad (≈6–8s, 9:16) from a brand line plus 6–16 real product photos — a native AirDrop share-sheet card ("Brand would like to share a · Decline / Accept") springs up and its preview window CYCLES through the products, landing on a range/lineup payoff with an…