Help us improve
Share bugs, ideas, or general feedback.
Generates a standalone bug report as a Markdown file with reproduction steps and environment details for handoff to another developer.
npx claudepluginhub matlab/simulink-agentic-toolkit --plugin model-based-design-coreHow this skill is triggered — by the user, by Claude, or both
Slash command
/model-based-design-core:filing-bug-reportsThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Generate a self-contained bug report as a Markdown file that gives a receiving developer everything needed to reproduce the issue — without prescribing root cause or solution.
Transforms error logs, screenshots, voice notes, and rough bug reports into structured GitHub issues with reproduction steps, impact, and evidence.
Captures user-reported bugs as durable GitHub issues using the project's own domain language. Avoids stale references like file paths.
Investigates bugs across code, config, cloud, and vault state in brain-os, then files a GitHub issue with a TDD-based fix plan.
Share bugs, ideas, or general feedback.
Generate a self-contained bug report as a Markdown file that gives a receiving developer everything needed to reproduce the issue — without prescribing root cause or solution.
code-review skill insteadissues/BUG-<NNN>-<slug>.md (next available number, kebab-case slug from title)issues/ directory if it doesn't existReconstruct from conversation context. You were present when the bug occurred — use your conversation history to extract:
Gather environment details programmatically. Don't ask the user for things you can look up:
Skill state vocabulary. The skill spec uses progressive disclosure: metadata (name + description) is always in context; the body loads only when triggered. These terms describe the observable states and are agent-agnostic — they hold for any host that implements the Agent Skills standard, not just Claude Code:
Registered — the skill appears in the host agent's available-skills list this session.
Described — registered AND has a non-empty description in metadata. (Default state, no glyph.)
Name-only (⊘) — registered with only a name; the description field is absent from the agent's registration entry. Record which skills are name-only and stop there. Do not read SKILL.md files on disk to verify whether descriptions exist — the available-skills listing is the only state the bug report records. Reading the source frontmatter is cause-investigation, which is out of scope.
Note: some host agents drop descriptions from the listing automatically when total skill text exceeds an internal budget — for example, Claude Code allocates a character budget that scales with context window size and strips descriptions from least-recently-invoked skills first when the budget is exceeded. Name-only is therefore often expected host behavior in a session with many skills loaded, not a SATK defect. Record the state, but don't frame the bug report as "SATK skill registration is broken" unless the same skill is name-only in a session where the budget clearly isn't exhausted (few skills present, or the host reports no truncation).
Invoked (▶) — the skill's body was read into the agent's context this session.
Unregistered SATK skill (✗) — a SKILL.md exists on disk under the toolkit's skills-catalog/ but is absent from the available-skills list. ✗ is scoped to SATK only — we don't track unregistered skills from other sources.
With those definitions:
reference/bug-report-template.md.model-based-design-core skills whose bodies are already in your context, and only if you noticed a conflict between them while doing the work that's plausibly related to this bug. Don't re-read skill bodies to hunt for conflicts; if nothing surfaced naturally, write N/A — <reason>.SATK-specific (when Simulink MCP tools are available):
VERSION file at the SATK root. If it doesn't exist and a .git/ folder is present, read the latest commit hash and note "development build ()". If neither exists, ask the user what version of Simulink Agentic Toolkit they are usingevaluate_matlab_code → disp(version); ver('simulink'); disp(pwd); disp(computer('arch'))satk_initialize.m status: evaluate_matlab_code → which('model_read') (empty = not run)evaluate_matlab_code → try; disp(connector.securePort); catch; disp('not running'); end.vscode/mcp.json for server mode and binary pathReproduce the bug. Re-run the failing operation to confirm it's reproducible and capture exact output. If it passes on retry, note it as intermittent and try to identify what differs.
Shrink to a minimal reproduction. Remove every step, file, and variable that isn't needed to trigger the bug. The goal is the smallest input that still fails.
Ask the user ONLY for what you cannot determine:
Write the report using the template in reference/bug-report-template.md. Fill every required section. Mark optional sections N/A if not applicable.
Review before saving. Verify:
[Area] — Action — Unexpected result<REDACTED>reference/bug-report-template.md — The output template (always use this structure)Copyright 2026 The MathWorks, Inc.