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 skills add mc3545dada/mspm0-skill --skill mspm0-ccsgit clone --depth 1 https://github.com/mc3545dada/mspm0-skillWrote 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.
[](https://agentmods.dev/skills/mc3545dada/mspm0-skill/mspm0-ccs)<a href="https://agentmods.dev/skills/mc3545dada/mspm0-skill/mspm0-ccs"><img src="https://agentmods.dev/badge/skills/mc3545dada/mspm0-skill/mspm0-ccs.svg" alt="Measured on agentmods" height="20"></a>- Socket pass
- Snyk pass
- NVIDIA SkillSpector pass
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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00101 | $0.04133 |
| Opus 5 | $0.00051 | $0.02067 |
| Sonnet 5 | $0.00020 | $0.00827 |
| Haiku 4.5 | $0.00010 | $0.00413 |
Grade A, and why
mspm0-ccs 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 8d ago.
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 — 183 lines — stays where its author put it; the contents beside it link to each section on GitHub.
MSPM0 Agent Skill
Use this skill for TI MSPM0 firmware projects that use SysConfig and DriverLib through CCS / CCS Theia, Keil/uVision, or CMake + Arm GNU Toolchain + OpenOCD workflows. It is intended for Claude Code, OpenCode, OpenClaw, Continue, Cursor, Codex, and similar CLI/editor agents.
Default Workflow
- Locate the project
.syscfgorsystem.syscfg, editable source files, generatedti_msp_dl_config.h, and the active project entrypoint:targetConfigs/*.ccxmlfor CCS,*.uvprojxplus scatter file for Keil/uVision, orCMakeLists.txtplus OpenOCD.cfgfiles for CMake/GCC/OpenOCD. - Run
python scripts/check_syscfg.py <project-dir>when this skill is available. - Read
.syscfgmetadata: device, package, SDK product, SysConfig version, modules, instances, pins, clocks, and interrupts. - Inspect generated
ti_msp_dl_config.hfor macro names, IRQ names, instance names, and the exact SysConfig init function spelling. - Before adding unfamiliar SysConfig fields, inspect the user's existing
.syscfg,examples/*/manifest.json, TI SDK examples, orsource/ti/driverlib/.meta/*.syscfg.js. - Modify the smallest relevant
.syscfgand application-code surface. - By default, make the smallest evidence-based
.syscfgedit and runpython scripts/run_sysconfig.py <project-dir>before rebuilding. Use CCS SysConfig MCP only when the user explicitly requests it or the current session already exposes a confirmed SysConfig MCP tool. - If flashing or debugging, run
python scripts/detect_probe.pyorpython scripts/check_syscfg.py <project-dir> --probebefore selecting a backend. Confirm the configured probe matches the connected hardware and prefer a System Reset after programming.
Core Rules
- Treat
.syscfgas the source of truth for pinmux, peripheral setup, clocks, interrupts, DMA ownership, and generated initialization. - Prefer SysConfig + DriverLib for GPIO, UART, PWM, Timer, ADC, I2C, SPI, DMA, and clock setup.
- Do not hand-edit generated outputs such as
Debug/ti_msp_dl_config.c,Debug/ti_msp_dl_config.h, the project-rootti_msp_dl_config.c/ti_msp_dl_config.hpair in Keil layouts,device_linker.cmd,Objects/,Listings/, object files, maps, or.outfiles. - Preserve
.syscfgmetadata such as@cliArgs,@v2CliArgs,@versions,--device,--package, and--product. - Do not guess generated names. Read
ti_msp_dl_config.hand use the local macros and the local init function spelling, such asSYSCFG_DL_init(). - Do not invent SysConfig fields, enum values, device metadata, board names, package names, or tool versions. Validate against local examples, SDK metadata, or SysConfig CLI.
- New SysConfig releases may explicitly recommend the CCS SysConfig MCP. This skill does not probe for or require that unverified backend by default: use it only when the user asks for MCP or the current session already exposes a confirmed SysConfig MCP tool. Otherwise use a minimal manual edit followed immediately by standalone CLI validation, and state that this does not provide the MCP's interactive mutation feedback.
- Preserve unrelated user code, comments, copyright headers, project layout, and existing
.syscfgsettings. If a requested feature requires a larger rewrite, explain why before making it when possible. - Do not change device, package, SDK, compiler, CCS version, board, or debug probe without user confirmation.
- If the user asks only to "flash" or "debug", do not silently assume J-Link, XDS110, CMSIS-DAP/DAPLink, or ST-Link. Detect the connected probe first. If detection is unknown, multiple probes are connected, or the project configuration conflicts with the physical probe, stop and ask the user which backend to use.
- Treat an empty probe-detector result as inconclusive, not proof that no probe is connected. Some DAPLink/CMSIS-DAP and XDS110 devices appear only as Windows
USBDevice,HIDClass, orPortschildren. Inspect OS USB/PnP devices and serial ports (python scripts/serial_console.py --liston Windows), then try the intended backend's read-only probe/list command or ask the user before concluding the probe is absent. - If SysConfig emits warnings, report them separately from build/flash success. Do not call a warning-producing generation "clean".
- If hardware behavior is not verified on a connected board, say that validation stopped at source, SysConfig, or build level.
What ships with it
45 files 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.
- assets/snippets/clock_80mhz_mfclk.syscfg.md 1.9 KB
- assets/snippets/gpio_output_led.syscfg.md 2.1 KB
- assets/snippets/mspm0g3507_lqfp64_empty_scaffold.syscfg.md 1.2 KB
- assets/snippets/timer_irq_1ms_pb22.syscfg.md 1.5 KB
- assets/snippets/uart0_blocking_tx.syscfg.md 1.1 KB
- assets/snippets/uart0_dma_tx_irq_rx.syscfg.md 3.2 KB
- examples/empty_project/empty.syscfg 720 B
- examples/empty_project/manifest.json 708 B
- examples/empty_project/README.md 1.1 KB
- examples/empty_project/src/empty.c 1.7 KB
- examples/led_blink/example.syscfg 1.1 KB
- examples/led_blink/manifest.json 733 B
- examples/led_blink/README.md 1.5 KB
- examples/led_blink/src/main.c 267 B
- examples/pwm_breath_led/example.syscfg 2.5 KB
- examples/pwm_breath_led/manifest.json 921 B
- examples/pwm_breath_led/README.md 2.9 KB
- examples/pwm_breath_led/src/main.c 2.3 KB
- examples/timer_irq_led/example.syscfg 2.3 KB
- examples/timer_irq_led/manifest.json 1.0 KB
- examples/timer_irq_led/README.md 1.7 KB
- examples/timer_irq_led/src/main.c 2.1 KB
- examples/uart_blocking_tx/example.syscfg 2.5 KB
- examples/uart_blocking_tx/manifest.json 861 B
- examples/uart_blocking_tx/README.md 2.0 KB
- examples/uart_blocking_tx/src/main.c 858 B
- examples/uart_dma_tx_irq_rx/example.syscfg 4.0 KB
- examples/uart_dma_tx_irq_rx/manifest.json 1.9 KB
- examples/uart_dma_tx_irq_rx/README.md 5.0 KB
- examples/uart_dma_tx_irq_rx/src/BSP/UART.c 9.1 KB
- examples/uart_dma_tx_irq_rx/src/BSP/UART.h 1.9 KB
- examples/uart_dma_tx_irq_rx/src/empty.c 1.5 KB
- references/debug_backends.md 18 KB
- references/driverlib_runtime_rules.md 4.2 KB
- references/hardware_validation_notes.md 5.9 KB
- references/project_workflows.md 12 KB
- scripts/capture_example.py 12 KB runs code
- scripts/ccs_dss_debug.py 20 KB runs code
- scripts/check_syscfg.py 33 KB runs code
- scripts/detect_probe.py 13 KB runs code
- scripts/index_syscfg_examples.py 7.0 KB runs code
- scripts/list_examples.py 2.8 KB runs code
- scripts/openocd_debug.py 23 KB runs code
- scripts/run_sysconfig.py 37 KB runs code
- scripts/serial_console.py 7.1 KB runs code
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.
- 8d ago First seen · 183 lines · 101 tokens per session scan A 5ce6c256c17c
mspm0-ccs is a skill published in the GitHub repository mc3545dada/mspm0-skill (358 stars, last pushed 1mo ago), licensed MIT. It adds 101 tokens to every session and 4,133 once invoked, about $0.0005 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-30.
Other skills, from other repositories
mspm0-skill
Tool-neutral CLI agent rules for TI MSPM0 development with SysConfig, DriverLib, CCS, Keil/uVision, CMake/GCC/OpenOCD, and supported board references. Use when an agent needs to inspect or modify MSPM0 projects, validate SysConfig output, package examples, or work on NUEDC embedded firmware.
mspm0-ccs
Tool-neutral CLI agent rules for TI MSPM0 development with Code Composer Studio, Keil/uVision, CMake/GCC/OpenOCD, SysConfig, and DriverLib. Use when an agent needs to inspect or modify MSPM0 projects, edit .syscfg configuration, avoid generated SysConfig/build files, use DriverLib APIs, validate SysConfig output…
ioc-edit
A tool for editing STM32CubeMX .ioc files, which store the hardware and project settings for STM32 microcontrollers.
firmware-scaffold
A tool for generating the starting structure of control firmware for MSPM0 or STM32 hardware, with optional K230 vision communication. Firmware is the software that runs directly on a device or microcontroller.
plan-solution
A skill for choosing electronic components from an event’s approved parts list based on a robot’s documented technical requirements and producing a bill of materials, or BOM.
select-parts
A component-selection workflow for choosing electronic parts from an organiser’s parts list and producing a bill of materials, or BOM—a structured list of parts needed to build a device.