s32ct-pins-facade
Headless facade that fronts the Pins tool of NXP S32 Configuration Tools via `nxp_s32ct_execute_action(action_name="s32ct.configure_pins", params={...})`. Triggers when users ask to regenerate pin-mux
SKILL.mdskills/s32ct/s32ct-pins-facade/SKILL.md
GitHubS32CT Pins - Headless Facade
Thin per-tool facade over the generic s32ct-cli skill that exposes only the
flags relevant to the Pins tool of S32 Configuration Tools. This skill
fronts the nxp_s32ct_execute_action MCP tool with action_name="s32ct.configure_pins" (the
tool_name is pre-filled from the action). All shared launcher plumbing,
validation, and auto-retry behavior is inherited from s32ct-cli.
When to use
Use this skill when:
- You need to regenerate pin-mux source from a
.mex. - You need to import existing
.cpin definitions via-ImportCbefore regeneration. - You need to bootstrap Pins from
-EmptyConfig(requiresmcu+sdk_version). - You need to export Pins artifacts: source, CSV, HTML, registers, or MEX.
Migration note: The standalone pins MCP tool no longer exists - it
has been replaced by the standardized action surface: run it as s32ct.configure_pins through nxp_s32ct_execute_action. Existing inputs are unchanged.
Do not use this skill for:
- Cross-tool operations combining flags from multiple tools -> use
s32ct-cli(s32ct.configure_cli). - Clocks / Peripherals regeneration - use the matching facade.
Available Capabilities
| Type | Name | Invocation |
|---|---|---|
| MCP tool | nxp_s32ct_execute_action |
nxp_s32ct_execute_action(action_name="s32ct.configure_pins", params={...}) |
| Resource | skill://nxp_s32ct/s32ct-pins-facade |
Auto-loaded on trigger |
Quickstart
1. Load or bootstrap a .mex
Tool: nxp_s32ct_execute_action
Action: s32ct.configure_pins
Input: project_path="<path>.mex" # OR empty_config=True + mcu + sdk_version
Output: {exit_code, command, stdout_tail, stderr_tail, values, summary}
2. Apply Pins-specific modifications and export
nxp_s32ct_execute_action(
action_name="s32ct.configure_pins",
params={
"project_path": "<path>.mex",
"import_c": ["<a>.c", "<b>.c"], # -ImportC
"custom_copyright": "<header>.txt", # -CustomCopyright
"output_path_overrides": "<rules>.txt", # -OutputPathOverrides
"export_kind": "ExportSrc", # or ExportAll|ExportCSV|ExportHTML|
# ExportRegisters|ExportMEX
"output_dir": "<output-dir>",
},
)
3. Verify the export
Check that output_dir contains the expected artifacts and exit_code == 0.
Inputs
Mode (mutually exclusive)
project_path- existing.mexto load via-Load.empty_config- ifTrue,-EmptyConfig; requiresmcu+sdk_version.config_name--ConfigName <...>.
Tool-specific
import_c- paths to existing.cfiles imported via-ImportCbefore regeneration.custom_copyright- header file inserted via-CustomCopyright.output_path_overrides- rules file via-OutputPathOverrides.
Export
export_kindin {ExportAll, ExportSrc, ExportCSV, ExportHTML, ExportRegisters, ExportMEX}.output_dir- required whenexport_kindis set.
Launcher / plumbing (shared with s32ct-cli)
data_dir(-data <workspace>),extra_args,s32ct_launcher,launcher_ini,timeout_s(default 600).
Output
Same as s32ct-cli:
{ exit_code, command, stdout_tail, stderr_tail, values, summary }.
Guardrails
Scope
- Only drives the pins action of
nxp_s32ct_execute_action. For cross-tool workflows uses32ct-cli(s32ct.configure_cli) instead. - Does not modify hardware or program devices.
Destructive actions
- Exports overwrite files in
output_dir. Confirm the target directory is safe or empty before invoking withexport_kindset.
Refuse-and-escalate
- Missing
project_pathAND missingempty_config/mcu/sdk_versioncombination -> ask which mode. - Unknown
export_kindvalue -> list allowed values. - Retryable
IllegalStateException-> auto-retry once, then escalate.
Validation loop
exit_code == 0.output_dircontains the expected artifacts for the chosenexport_kind.- For source exports: files compile / parse cleanly in a follow-up step.
Out of scope
- Interactive GUI operations - use S32 Configuration Tools directly.
- Cross-tool operations combining multiple tools' flags - use
s32ct-cli. - Distribution portability handled transparently; see
s32ct-distributions.
See Also
s32ct-cli- generic dispatcher with the full ~50-parameter surface.s32ct-distributions- launcher selection.s32ct-clocks-facade,s32ct-peripherals-facade- sibling regeneration facades sharing thecustom_copyright/output_path_overridespattern.