Skip to content
Back to skills

Modeling

ASecurity

"Build and validate Brian2 2.9.0 neuron populations, equations,

  • 247 stars
  • 0 votes
  • 0 copies
  • 5 views
  • Added September 8, 2026
businesspythonexpressapi

Works with

  • api

Security analysis

A100/100

Pro scans all 5 files and shows the line behind each finding

Scanned September 8, 2026

npx -y skills add VectorSpaceLab/AREX-Skill --skill modeling --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Modeling?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Modeling
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/vectorspacelab-modeling/badge)](https://www.skillsdirectory.com/skills/vectorspacelab-modeling)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: modeling
description: "Build and validate Brian2 2.9.0 neuron populations, equations,
  thresholds, resets, refractoriness, events, state initialization, subgroups,
  and shared or linked variables."
disable-model-invocation: true
metadata:
  disco-role: operating
license: NOASSERTION
---

# Modeling

Use this route when a task defines neuron state or neuron-local behavior in
Brian2 2.9.0: `NeuronGroup`, model equations, parameters and subexpressions,
threshold/reset/refractory behavior, custom events, initialization, subgroups,
`run_regularly`, shared variables, or linked variables. Start with the smallest
explicit `Network` and a NumPy run before adding connectivity, monitors, or a
device target.

## Route map

- Constructor arguments, equation flags, state views, events, and links: read
  [the API reference](references/api-reference.md).
- Construction recipes and validation gates: read
  [the workflows](references/workflows.md).
- Install/import, optional dependency, data/configuration, API misuse, and
  workflow recovery: read [troubleshooting](references/troubleshooting.md).
- Run a plotting-free heterogeneous LIF fixture with a custom event:
  `python scripts/model_smoke.py --help`, then
  `python scripts/model_smoke.py --target numpy`.

## Operating contract

1. Declare every heterogeneous parameter in the model (`tau : second`,
   `drive : 1`, etc.). A Python value outside the model is a scalar namespace
   value, not a per-neuron parameter. Assign state immediately after creating
   the group, with units unless the raw underscore view is intentional.
2. Make the model contract explicit: differential equations, compatible units,
   a boolean threshold, reset statements, and a refractory rule when repeated
   threshold crossings must be suppressed. A threshold with no reset is legal
   only when counting events or when the state naturally exits the condition.
3. Treat model strings and state-assignment strings as Brian abstract code, not
   arbitrary Python. Use Brian-supported functions and vectorizable statements;
   do not put imports, comprehensions, object methods, I/O, or general Python
   control flow in them. A user-defined function must have a Brian unit contract
   and an explicit namespace entry; target-specific implementations are a
   separate code-generation concern.
4. Use `Network(group, ...)` for validation and run it for `0*ms` before a tiny
   positive duration. Constructor success alone does not prove that namespace,
   units, parser, event, or code-generation checks will pass.
5. Subgroups are contiguous views, not copies. Assigning through `G[:k]`
   changes the parent. Their `i` is subgroup-relative; use parent state or an
   explicit parameter when an absolute identity is required.
6. `(shared)` means one scalar value for the complete group. `(linked)` means
   live reference storage and must be bound with `linked_var`; check dimensions,
   source/target sizes, and any integer mapping before running.
7. Keep external names reproducible: prefer a group `namespace={...}` or an
   explicit `Network.run(..., namespace={...})`. Do not rely on a coincidental
   caller local or leave competing definitions across namespaces.
8. Keep custom event conditions and side effects model-local. Event recording,
   synaptic pathways, physical-unit/parser depth, monitor details, execution or
   device selection belong to the routes named below.

## Boundaries

Route synaptic connectivity, pre/post code, delays, inputs, and plasticity to
[synapses-and-inputs](../synapses-and-inputs/SKILL.md); monitor selection and
monitor data to [recording](../recording/SKILL.md); and detailed unit/parser,
state-updater, or unit-aware function questions to
[units-and-equations](../units-and-equations/SKILL.md). Route network lifecycle,
cross-object scheduling, and multiple-run behavior to
[simulation-and-recording](../simulation-and-recording/SKILL.md); route devices,
compiler setup, and code-generation target selection to
[code-generation](../code-generation/SKILL.md). Keep only the neuron-local
construction contract here and follow the linked route rather than duplicating
those APIs.

Files in this skill

  • SKILL.md4.1 KB
  • references/api-reference.md10.8 KB
  • references/troubleshooting.md8.1 KB
  • references/workflows.md6.7 KB
  • scripts/model_smoke.py3 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.