Individual skill
platform-mcp-tool-widget-coordinate
Orchestrate object-based Lightning Type + HXL widget generation to render the output of a custom MCP server tool backed by an Apex Invocable Action. TRIGGER only when the prompt EXPLICITLY involves rendering an MCP tool result: user says 'MCP server', 'MCP tool', 'custom MCP server', references a tool 'output schema' / 'tool output' / 'outputValues' envelope, names an 'invocable action' backing an MCP tool, or asks to build a widget or rich UI rendition for the output of an Apex-invocable-backed MCP tool. DO NOT TRIGGER when: customizing an Apex-backed agent action output (use platform-lightning-type-widget-coordinate), authoring only a Custom Lightning Type (use platform-custom-lightning-type-generate), authoring only an Apex class (use platform-apex-generate), or building a standalone widget with no Lightning Type or MCP tool involved (use platform-widget-generate).
skills/platform-mcp-tool-widget-coordinate/SKILL.md
Source commit a8a18ce1e4ba12e69b4073eab98ce31bfbd8271e
What was checked
- Matches the observed repository HEAD
- Yes
- Scanner rules are current
- No
- Repository scan complete
- No
- Skill scan complete
- No
- Observed behavior
- Not checked yet
- Last checked
- Nov 4, 2026
These are observations at the recorded commit, not a guarantee of safety. Review the source before running it.
Install this skill
Choose an agent in your Stack or copy a command below. Commands fetch the pinned commit and copy only this skill directory. Existing destinations are refused. Copying a command does not install anything.
An install command is unavailable: current rules, complete repository and skill scans, an eligible behavior level and a permitted license are required.
Repository context
- Repository stars (not skill ratings)
- 1,151
- Repository last updated
- Nov 6, 2026
- License
- Apache-2.0
Observed agent integration: No specific integration evidence. Standard SKILL.md installation does not imply verified compatibility.
- design Derived category
- design-interface Derived category
Files and excerpt
File metadata and permitted, redacted excerpts come from the recorded scan. Source links are pinned to that commit.
Browse files
SKILL.mdcore · 24,466 bytesSKILL.mdcore · 24,466 bytesSKILL.mdcore · 24,466 bytesSKILL.mdcore · 24,466 bytesSKILL.mdcore · 24,466 bytesSKILL.mdcore · 24,466 bytesSKILL.mdcore · 24,466 bytesSKILL.mdcore · 24,466 bytesexamples/action-name-source-prompt.mddoc · 3,469 bytesexamples/apex-invocable-source-prompt.mddoc · 4,359 bytesexamples/nested-object-list-source-prompt.mddoc · 7,509 bytesexamples/nested-object-single-source-prompt.mddoc · 9,364 bytesexamples/pasted-tool-output-prompt.mddoc · 3,699 bytesreferences/build-plan-format.mddoc · 5,295 bytesreferences/mcp-tool-output-discovery.mddoc · 17,865 bytesreferences/two-clt-modeling.mddoc · 20,652 bytesreferences/validation-gates.mddoc · 17,322 bytes
Read excerpt
# Rendering a Custom MCP Tool Output With a Widget
Coordinate **two object-based Custom Lightning Types (CLTs)** and an **HXL widget** to render the output of a custom MCP server tool whose implementation is an Apex `@InvocableMethod`. This skill never authors content directly — it loads and invokes leaf skills in dependency order, gates progress on user approval, and runs validation gates before reporting completion.
**Ownership boundary** — this skill owns only:
1. the **MCP-tool use case** — resolving the tool's output shape and orchestrating the leaf skills in the right order; and
2. the **envelope CLT's default `renderer.json`** — the one artifact it authors inline, bridging the envelope to the widget.
The **CLTs** are authored by `platform-custom-lightning-type-generate`, and **all widget metadata** (schema + body + `.uiwidget-meta.xml`) is authored and validated by `platform-widget-generate`. This skill never writes widget metadata and never modifies the Apex class — it supplies each leaf skill its inputs and wires the result together.
## Scope
Custom MCP server tools backed by an Apex Invocable Action only. The MCP tool returns the platform's **invocable-action result envelope** — an object with `actionName`, `isSuccess`, and an `outputValues` node that carries the tool's real payload. To render this envelope with a widget, model it as **two object-based CLTs** (`lightning__objectType`) of equal standing — the only reason there are two is that one must reference the other by name (a CLT cannot reference itself), so they need distinct deployed names. Name and describe each by what it actually models — never by an invented role-label pair like "Payload CLT"/"Envelope CLT" or "Inner CLT"/"Outer CLT":