Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Official-source-led manual for the TUI `custom` template.
.claude/skills/lingtai-ai-preset-skill-custom/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 27% | 0% |
| case-02 | ✗→✓ | ▲ Improved | -35% | 0% |
| case-03 | ✗→✓ | ▲ Improved | -24% | 0% |
| case-07 | ✗→✓ | ▲ Improved | -57% | 0% |
| case-09 | ✗→✓ | ▲ Improved | -46% | 0% |
customcustomPreset() in tui/internal/preset/preset.go is a user-supplied OpenAI-compatible template: model is empty until configured, the key slot is LLM_API_KEY, and the endpoint is user-supplied. Its vision capability inherits the configured LLM endpoint.
Whether images work is therefore unknown until the actual provider, model, protocol, and endpoint are identified. The vision tool still tries the current OpenAI-compatible endpoint, model, and credential by default instead of treating that uncertainty as setup-time manual-only.
Read the configured endpoint’s official documentation on demand. Useful protocol references are the OpenAI Chat API, Anthropic Messages API, or Gemini API, as applicable; none is a claim about an unspecified endpoint. No plan-level vision MCP can be asserted.
If direct vision fails, report the endpoint-specific limitation and let the agent choose an explicit skill. Do not guess credentials, switch providers, or auto-load/invoke an MCP. Verify all inherited fields in TUI source and inspect the saved manifest for the user’s actual configuration.
For provider: "custom" with api_compat: "openai", selecting the explicit wire_api: "responses" path reveals a separate Responses transport choice:
http is the default and is omitted from the saved manifest.websocket writes responses_transport: "websocket" and opts intoResponses WebSocket v2.
The selector appears only in that exact scope. Changing provider, api_compat, or wire_api removes a stale responses_transport value before save. Selecting WebSocket does not claim that an arbitrary compatible endpoint supports it: a matching Kernel version performs the actual handshake and reports that the configured upstream does not support or rejected Responses WebSocket v2. It does not silently fall back to HTTP; choose http explicitly when the upstream lacks WebSocket support.
For provider: "custom" with api_compat: "openai", selecting the explicit wire_api: "responses" path reveals a reasoning-effort choice:
default removes thinking from the saved manifest and preserves theKernel's existing custom-provider default of high.
none, minimal, low, medium, high, and xhigh write the selectedvalue to thinking.
The selector appears only in that exact scope. Changing provider, api_compat, or wire_api removes a stale custom Responses thinking value before save. The Codex provider keeps its existing effort choices and its existing xhigh default.
For base URL/API-compat/model/capability declaration shape versus credentials, see reference/operations/endpoint-capabilities/SKILL.md.
Other measured skills in the registry, with their headline benchmark lift.