wigglystuff: Instructions file for Codex

AGENTS.md

wigglystuff AGENTS.md is an instructions file for Codex, OpenCode from koaning/wigglystuff. It costs 5,280 tokens per session, scanned A, original, MIT.

A repository guide for a Python package release. It covers version changes, changelog entries, and updating documentation and navigation for new widgets.

In plain words
What is it for?
Use it to prepare a wigglystuff release, including version bumps, changelog updates, reference pages, navigation, galleries, and the README.
Why use it?
It provides a checklist for release work so package metadata, change notes, and widget documentation stay aligned.

Instructions file for CodexOpenCode

Written for Codex and OpenCode: the file is AGENTS.md.

This is koaning/wigglystuff's own configuration. It tells Codex and OpenCode how to work on wigglystuff itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything wigglystuff configures →

Reuse

Borrowing it

Nothing to install: this file belongs to koaning/wigglystuff. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/koaning/wigglystuff/main/AGENTS.md
Clone the repo
git clone --depth 1 https://github.com/koaning/wigglystuff

Made for: Codex, OpenCode.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for wigglystuff AGENTS.md

README.md
[![agentmods](https://agentmods.dev/badge/instructions/koaning/wigglystuff/agents-md/github.svg)](https://agentmods.dev/instructions/koaning/wigglystuff/agents-md)
Your own site
<a href="https://agentmods.dev/instructions/koaning/wigglystuff/agents-md"><img src="https://agentmods.dev/badge/instructions/koaning/wigglystuff/agents-md/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for wigglystuff AGENTS.md

Your own site · 80×15
<a href="https://agentmods.dev/instructions/koaning/wigglystuff/agents-md"><img src="https://agentmods.dev/badge/instructions/koaning/wigglystuff/agents-md.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 5,280 This file is loaded in full into every session.
When invoked 5,280 The same file — it is already loaded in full.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What 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.

ModelPer sessionOnce invoked
Fable 5.1 $0.05280 $0.05280
Opus 5.5 $0.02112 $0.02112
Sonnet 5.5 $0.01056 $0.01056
Haiku 4.5 $0.00528 $0.00528

Measured yesterday against content hash 55236df1ea61, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

wigglystuff AGENTS.md 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.

AGENTS.md · 169 lines

How it starts

The opening of the file, as written. The whole thing — 169 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Setup

This repo uses a conductor.json setup script (make install) that runs automatically when a Conductor workspace is created. It installs all dependencies so the environment is ready to use immediately.

Agents

wigglystuff ships a small roster of AnyWidget "agents" that surface different input modalities (sliders, speech, paint, etc.) across notebook runtimes. This page is a quick lookup so you can see what exists and which traitlets each agent syncs back to Python.

Quick reference

Agent Module/Class Core traitlets One-liner
AltairWidget wigglystuff.altair_widget.AltairWidget spec, width, height Flicker-free Altair chart with smooth data updates
ScatterLog wigglystuff.scatter_log.ScatterLog spec, width, height Accumulate reactive values into a live, optionally multi-series scatter plot
AnnotationWidget wigglystuff.annotation.AnnotationWidget action, action_timestamp, note, listening, actions, keyboard_mapping, gamepad_mapping, debounce_ms, width Annotation input surface with buttons, keyboard, gamepad, and speech-to-text
ApiDoc wigglystuff.api_doc.ApiDoc doc, width, show_private Renders API docs for Python classes/functions
Slider2D wigglystuff.slider2d.Slider2D x, y, x_bounds, y_bounds, width, height 2D pointer for coupled parameters
Knob wigglystuff.knob.Knob value, min_value, max_value, step, start_angle, end_angle, ticks, steps, size, label, show_value, color, midi, midi_cc, midi_channel, midi_device, midi_key, midi_scope Audio-panel rotary knob with configurable sweep, detents, and Web MIDI learn
Fader wigglystuff.fader.Fader value, min_value, max_value, step, ticks, steps, orientation, length, label, show_value, color, midi, midi_cc, midi_channel, midi_device, midi_key, midi_scope Mixing-console fader with a configurable tick scale, detents, and Web MIDI learn
MidiButton wigglystuff.midi_button.MidiButton value, press_timestamp, velocity, label, icon, mode, size, color, midi, midi_note, midi_channel, midi_device, midi_key, midi_scope Momentary/toggle pad with icon or text faces and Web MIDI note learn
Pip wigglystuff.pip.Pip child, width, height, floating Wraps a widget and floats it in a picture-in-picture window above other windows
FloatingPanel wigglystuff.floating_panel.FloatingPanel child, corner, width, collapsed, title (not an AnyWidget — a marimo display helper) Pins any marimo content in a draggable in-page panel that stays visible while the notebook scrolls and minimizes to its header; portals to document.body to beat cell hover z-index; works in iframes/molab unlike Pip
BezierCurve wigglystuff.bezier_curve.BezierCurve points, samples, x, y, t, closed, playing, loop, interval_ms, duration_ms, sync_throttle_ms, show_axes, n_samples, x_bounds, y_bounds, width, height Arbitrary-degree Bezier curve editor with draggable control points, playback, and optional axis ticks
CurveEditor wigglystuff.curve_editor.CurveEditor points, samples, x, y, t, curve, closed, playing, loop, tension, alpha, selected_index, show_axes, n_samples, x_bounds, y_bounds, width, height Chart-space curve editor with D3 line interpolators, path progress, and optional axis ticks
ChartPuck wigglystuff.chart_puck.ChartPuck x, y, x_bounds, y_bounds, axes_pixel_bounds, width, height, chart_base64, puck_radius, puck_color, throttle Draggable puck overlay for matplotlib charts
ChartMultiSelect wigglystuff.chart_multi_select.ChartMultiSelect selections, active_class, n_classes, selected_index, mode, modes, x_bounds, y_bounds, axes_pixel_bounds, width, height, chart_base64, selection_opacity Multi-region class-labeled selection on matplotlib charts
ChartSelect wigglystuff.chart_select.ChartSelect mode, selection, has_selection, x_bounds, y_bounds, axes_pixel_bounds, width, height, chart_base64, selection_color, selection_opacity Box/lasso selection on matplotlib charts
Matrix wigglystuff.matrix.Matrix matrix, rows, cols, min_value, max_value, step, mirror Spreadsheet-like numeric editor
TangleSlider wigglystuff.tangle.TangleSlider amount, min_value, max_value, step, steps, pixels_per_step Inline slider ala Bret Victor
TangleChoice wigglystuff.tangle.TangleChoice choice, choices Inline toggle among labels
TangleSelect wigglystuff.tangle.TangleSelect choice, choices Dropdown version of the above
TangleLatex wigglystuff.tangle_latex.TangleLatex latex, parameters, values, display_mode, editor, reveal_all_on_drag, theme, error LaTeX formula with draggable \tangle{name} numbers/symbols
TangleDistribution wigglystuff.tangle.TangleDistribution distribution, params, live_params, dragging, bounds, steps, pixels_per_step, template, digits, sync_throttle_ms Inline tangle number holding a whole distribution: drag ↔/↕ for its two scipy-named parameters with a floating shape preview; 14 families (norm, lognorm, gamma, expon, weibull_min, uniform, laplace, logistic, beta, poisson, binom, nbinom, geom, randint); built-in cdf/ppf/pdf/pmf/sample (maths in wigglystuff/_distributions.py, no scipy)
TangleFunction wigglystuff.tangle_function.TangleFunction fn_name, parameters, param_order, values, theme, width, error Introspects a typed function into an editable call expression: drag numbers, click-cycle Literal/Enum/bool, edit strings; reads annotated_types/pydantic Field bounds; unbounded scrubbers by default; syncs values to splat into the function
FormulaAnimation wigglystuff.formula_animation.FormulaAnimation steps, title, spotlight, step, height, theme, error Step through a LaTeX derivation one line at a time (prev/next buttons, opt-in arrow keys, reactive step); KaTeX-rendered with an optional final spotlight frame
SortableList wigglystuff.sortable_list.SortableList value, addable, removable, editable, label Drag-and-drop ordering with optional CRUD
CopyToClipboard wigglystuff.copy_to_clipboard.CopyToClipboard text_to_copy Copies the payload into the OS clipboard
ColorPicker wigglystuff.color_picker.ColorPicker color Native color input with rgb helper
EdgeDraw wigglystuff.edge_draw.EdgeDraw names, links, directed, width, height Sketch node/link diagrams and query adjacency
GridDraw wigglystuff.grid_draw.GridDraw dots, lines, rows, cols, line_width, dot_radius, theme, width, height Draw dots on grid intersections and orthogonal line segments between them
HeatmapSelect wigglystuff.heatmap_select.HeatmapSelect pinned_cell, pinned_row, pinned_col, hover_cell, hover_row, hover_col, image_base64, n_rows, n_cols, x_range, y_range, cell_width, cell_height, row_color, col_color, throttle Bret Victor style parameter-space grid; pin a cell plus a whole row/column off either axis
GraphWidget wigglystuff.graph_widget.GraphWidget nodes, edges, directed, width, height, selected_nodes, selected_edges Programmatic force-directed graph visualization
Paint wigglystuff.paint.Paint base64, width, height, store_background, rainbow_brush, brush, marker, eraser, color_picker, color MS-Paint-style canvas with PIL helpers and a configurable toolbar
Excalidraw wigglystuff.excalidraw.Excalidraw scene, image_base64, theme, height, sync_throttle_ms Embedded Excalidraw whiteboard (loads from CDN); get_pil/save/from_file helpers (save() remembers the path)
ParallelCoordinates wigglystuff.parallel_coords.ParallelCoordinates data, color_by, height, filtered_indices, selected_indices, brush_extents, selections HiPlot-powered parallel coordinates with brush filtering and axis reordering
ThreeWidget wigglystuff.three_widget.ThreeWidget data, width, height, show_grid, show_axes, dark_mode, axis_labels, animate_updates, animation_duration_ms 3D scatter plot for point clouds
WebcamCapture wigglystuff.webcam_capture.WebcamCapture image_base64, capturing, interval_ms, facing_mode Webcam preview with snapshot capture
GamepadWidget wigglystuff.gamepad.GamepadWidget axes, current_button_press, dpad_*, current_timestamp Streams browser Gamepad API events
HoverZoom wigglystuff.hover_zoom.HoverZoom image, zoom_factor, width, height, _crop Image hover zoom with magnified side panel
KeystrokeWidget wigglystuff.keystroke.KeystrokeWidget last_key Captures the latest keypress w/ modifiers
LiveEdit wigglystuff.live_edit.LiveEdit code, trace, annotations, error, editable, theme, width, height, float_precision, visible_columns Source-linked loop trace for inspecting one Python function run; click numeric column headers to chart them
ManimWeb wigglystuff.manim_web.ManimWeb code, width, height, version, error Runs a manim-web (browser Manim) scene from a JS string, local file, or URL
ObservablePlot wigglystuff.observable_plot.ObservablePlot code, variables, width, height, version, error Runs Observable Plot JS from a string, local file, or URL, injecting Python variables by name
EsmWidget wigglystuff.esm_widget.EsmWidget code, css, data, width, height, error Renders an inline ES module (any CDN library, e.g. motion.dev or Observable Plot) with a two-way data bridge; change:data fires without re-running render
AsyncFlow wigglystuff.async_flow.AsyncFlow events, now_ms, running, width Live swimlane timeline of one async run (await AsyncFlow.trace(main())); one lane per task, running vs suspended-at-await, nested by parent; needs Python 3.12+
WebkitSpeechToTextWidget wigglystuff.talk.WebkitSpeechToTextWidget transcript, listening, trigger_listen WebKit speech recognition bridge
DriverTour wigglystuff.driver_tour.DriverTour steps, auto_start, show_progress, active, current_step Guided product tours via Driver.js
CellTour wigglystuff.cell_tour.CellTour steps, auto_start, show_progress, active, current_step Simplified cell-based tours for marimo
TextCompare wigglystuff.text_compare.TextCompare text_a, text_b, matches, selected_match, min_match_words Side-by-side text diff with match highlighting
EnvConfig wigglystuff.env_config.EnvConfig variables, all_valid Environment variable config with validation
ModuleTreeWidget wigglystuff.module_tree.ModuleTreeWidget tree, initial_expand_depth Interactive tree viewer for PyTorch nn.Module
Neo4jWidget wigglystuff.neo4j_widget.Neo4jWidget nodes, relationships, schema, error, query_running, selected_nodes, selected_relationships, width, height Interactive Neo4j graph explorer with Cypher query input
SplineDraw wigglystuff.spline_draw.SplineDraw data, curve, curve_error, brushsize, n_classes, width, height Draw scatter points with Python-computed spline curve fitting
ScatterWidget re-exported from drawdata data, brushsize, width, height, n_classes Paint multi-class 2D scatter data with brush
PlaySlider wigglystuff.play_slider.PlaySlider value, min_value, max_value, step, interval_ms, playing, loop, width Slider with play/pause button for auto-advancing values
FramePlayer wigglystuff.frame_player.FramePlayer frames, value, interval_ms, playing, loop, width, show_index Play a sequence of images (PIL/paths/URLs/figures) as an inline looping "video"
CircularSlider wigglystuff.circular_slider.CircularSlider value, start, stop, step, size, thickness, show_value, color, label Circular dial slider for picking a single value
CircularRangeSlider wigglystuff.circular_slider.CircularRangeSlider value ((low, high)), start, stop, step, size, thickness, show_value, color, label Circular dial slider for picking a span of values (wraps the seam)
HoverSlider wigglystuff.hover_slider.HoverSlider value, hover_value, hovering, start, stop, step, steps, sync_throttle_ms, show_value, label, color, width Slider that emits both the committed value and the live value under the pointer
RidgelineChart wigglystuff.ridgeline_chart.RidgelineChart data, x_values, width, height, overlap, stroke_width, fill_opacity, peak_scale, x_label, y_label, selected_index, selected_row Stacked waveform "Joy Division" visualization with clickable rows
Treemap wigglystuff.treemap.Treemap data, width, height, max_depth, value_col, selected_path, clicked_path, hovered_path Zoomable hierarchical treemap with breadcrumbs
WidgetDAG wigglystuff.widget_dag.WidgetDAG nodes, edges, layout (not an AnyWidget — a marimo display helper) Arrange live widgets/images as a DAG (columns by edge-depth) and draw the connecting arrows; WidgetDAG.from_widgets([...]) derives the edges from marimo's dataflow graph (one node per cell)
Hint wigglystuff.hint.Hint target, note, side, color, gap (not an AnyWidget — a marimo display helper) Wrap a widget and curve an arrow from an explanatory note to its edge; the note is any marimo content, and hints compose into stacks, WidgetDAG nodes, and each other

Read the full file on GitHub · 169 lines

Changes

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.

  1. yesterday First seen · 169 lines · 5,280 tokens per session scan A 55236df1ea61

Subscribe to this mod's changes

wigglystuff AGENTS.md is an instructions file published in the GitHub repository koaning/wigglystuff (450 stars, last pushed yesterday), licensed MIT. It adds 5,280 tokens to every session, about $0.0211 per session on Opus 5.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-10-14.

Related

Other instructions, from other repositories

vscode buildNext.instructions.md

Working notes and architecture documentation for the new esbuild-based build system in build/next. Use when making changes to the new build pipeline (transpile/bundle commands, NLS plugin, source-map handling, resource copying, or self-hosting watch tasks).

microsoft/vscode · 9,649 tokens

next.js AGENTS.md

AGENTS.md instructions for vercel/next.js, covering next.js development guide, codebase structure, monorepo overview, core package: packages/next and other important packages.

vercel/next.js · 7,257 tokens

vscode oss-third-party-notices.instructions.md

Instructions for microsoft/vscode, covering vs code oss third-party-notices pipeline, architecture, pipeline flow in ci, cache eligibility and rollout and applying the notice (cutover).

microsoft/vscode · 5,262 tokens

langchain AGENTS.md

AGENTS.md instructions for langchain-ai/langchain, covering global development guidelines for the langchain monorepo, corridor security analysis, project architecture and context, monorepo structure and development tools & commands.

langchain-ai/langchain · 4,680 tokens

deepseek-harness AGENTS.md

AGENTS.md instructions for deepseek-ai/deepseek-harness, covering agents.md, pre-stable apis and released session data, repository layout, commands and host sandbox failures.

deepseek-ai/deepseek-harness · 4,159 tokens

vscode copilot-instructions.md

Copilot instructions for microsoft/vscode, covering vs code copilot instructions, project overview, root folders, core architecture (src/ folder) and built-in extensions (extensions/ folder).

microsoft/vscode · 2,731 tokens