Summary
When a local Codex skill generates a user-facing report through a tool/formatter,
the assistant can leave the useful artifact only in tool output instead of
copying the final artifact into the normal assistant response.
This creates a poor terminal UX: the user may see intermediate construction data
or collapsed/alternate-colored tool output, while the actual report is not
presented as the default visible answer.
Example Pattern
- User invokes a skill that builds a fixed-width report.
- Assistant constructs intermediate data and runs a formatter.
- The formatter output appears as tool output.
- The final assistant response does not directly include the formatted report,
so the user must expand/navigate tool output to see it.
Expected Behavior
For skills that produce user-facing artifacts, the model should treat formatter
or command output as intermediate unless the user explicitly asked for a file.
The final assistant response should include the final artifact directly in
normal chat-visible output, without exposing intermediate JSON or requiring the
user to inspect tool panes.
Why This Matters
Skills can currently say how to render an artifact, but the model may still
optimize for "ran the formatter" rather than "presented the artifact." This is
especially noticeable for audit/reporting skills where the whole requested
deliverable is the rendered text.
Local Mitigation
I updated the local skill instructions to explicitly say:
By default, paste the final fixed-width table directly in the assistant response
inside a text fenced code block. Do not expose the input JSON in chat, and do
not rely on raw tool output as the user's only view of the report.
It would be helpful if the product/runtime guidance reinforced this pattern
generally for skill-authored user-facing output.
Summary
When a local Codex skill generates a user-facing report through a tool/formatter,
the assistant can leave the useful artifact only in tool output instead of
copying the final artifact into the normal assistant response.
This creates a poor terminal UX: the user may see intermediate construction data
or collapsed/alternate-colored tool output, while the actual report is not
presented as the default visible answer.
Example Pattern
so the user must expand/navigate tool output to see it.
Expected Behavior
For skills that produce user-facing artifacts, the model should treat formatter
or command output as intermediate unless the user explicitly asked for a file.
The final assistant response should include the final artifact directly in
normal chat-visible output, without exposing intermediate JSON or requiring the
user to inspect tool panes.
Why This Matters
Skills can currently say how to render an artifact, but the model may still
optimize for "ran the formatter" rather than "presented the artifact." This is
especially noticeable for audit/reporting skills where the whole requested
deliverable is the rendered text.
Local Mitigation
I updated the local skill instructions to explicitly say:
It would be helpful if the product/runtime guidance reinforced this pattern
generally for skill-authored user-facing output.