Parse and understand an HTTP(S) URL or an authorized local document, audio, or video source through Cue Omni Reader when the Agent has the official Omni MCP tools.
60
75%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
Low
Low-risk findings worth noting
Fix and improve this skill with Tessl
tessl review fix ./builtin-skills/skills/cue-omni-reader/SKILL.mdUse the official Omni MCP tools to parse a source, then complete the user's original task. This Skill is orchestration guidance; the active tool schemas are authoritative.
CUE_API_KEY in chat or place it in command arguments, logs, Skill files, or
generated configuration. The user must set it through the Agent's secure environment or local
secret facility.file://, localhost workarounds, or a
public temporary upload service. Grant only the minimum required absolute directory, never a
home directory or filesystem root by default.For an HTTP(S) URL, an active service with parse, get_parse_status, and cancel_parse is
sufficient. For a local path, require direct evidence of the local Bridge, normally the additional
read_result, read_outline, discard_result, and save_result tools. A remote-only service
cannot read a local path: do not send the path to it and do not create a temporary public upload.
Do not reinstall, run update checks, or contact npm on every session.
If the tools required for the source type are unavailable, follow
references/setup.md. A local-source request with only the remote tool set
requires Bridge setup. Setup, credential configuration, MCP configuration changes, and allowed-root
expansion require explicit approval. After configuration, reconnect the MCP server and verify the
tool list before parsing.
Accept only an HTTP(S) string as a URL. Otherwise treat the source as a local path and verify it is inside the workspace or an explicitly authorized root.
Call parse once. Send exactly one of source or url, according to the active schema. Do not
pre-read or base64-encode local content. When the active schema exposes result_delivery, use
artifact for saving, section navigation, multiple documents, or strict context control; use
auto for an ordinary direct answer. If the schema exposes wait, use wait: false for long
media or large documents. Never send fields the active schema does not declare.
Prefer structuredContent. If only content[].text is present, parse its compact JSON. A
generic success response is not proof that parsing completed.
If the state is processing, preserve the returned operation_id and poll
get_parse_status at the returned timing or wait_ms. Do not race synchronous and asynchronous
submissions, and do not start a second parse to recover from a client timeout.
Consume the result according to the task:
Answer directly -> use inline content, otherwise read_result
Find one section -> read_outline, then read_result(cursor)
Read everything -> read_result until next_cursor is absent
Deliver a file -> save_resultFor result.kind=artifact, a preview is incomplete. Append only each result.text payload and
continue until next_cursor is absent. Keep independent operation IDs separate when processing
multiple sources with bounded concurrency.
Complete the user's original task from the full result. For a summary, do not summarize a
truncated preview. Keep artifacts only for the duration of the task, then call discard_result
unless the user asked to retain or save them. Claim deletion only after cleanup is confirmed.
| State | Required action |
|---|---|
processing | Continue the same operation and report authoritative progress. |
completed | Consume the complete inline or artifact result. |
cleanup_pending | Use the available result; do not claim deletion or resubmit. |
failed | Surface the structured error; retry only when retryable=true and state permits. |
canceled | Report confirmed cancellation, billing, and cleanup facts. |
expired | Explain expiration and obtain confirmation before new work. |
For an unknown state, preserve the operation and do not claim completion, cancellation, billing,
or cleanup. If the user asks to stop an active operation, call cancel_parse with the saved ID.
Discard is not cancellation.
parse, get_parse_status, and cancel_parse. The local Bridge adds
artifact tools. Do not offer tool names as user-facing modes; choose the continuation needed for
the task.OMNI_NOT_ENTITLED or HTTP 403 is an entitlement result. Do not relabel it as authentication or
parser failure.DIRECT_UPLOAD_DISABLED or DIRECT_UPLOAD_UNAVAILABLE means the direct-upload path is
unavailable, not that the account or text parsing is disabled.UNSUPPORTED_DETAIL is final for the requested representation. Do not retry unchanged.BRIDGE_UPGRADE_REQUIRED means the reviewed Bridge no longer satisfies server admission. Stop
and report that a new reviewed SkillHub package is required; do not install npm latest.7352597
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.