CtrlK
BlogDocsLog inGet started
Tessl Logo

opencode

Monitor and manage your OpenCode tasks using helper scripts.

50

Quality

55%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

High

Do not use without reviewing

Fix and improve this skill with Tessl

tessl review fix ./bot/workspace/skills/opencode/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

62%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The body is admirably lean and well-sectioned with a genuinely useful safety constraint, but it stops at being a script catalog. It contains an outright error in one example command, omits key execution details (output format, obtaining a session_id), and never sequences the monitoring workflow the status legend implies.

Suggestions

Fix the erroneous example: `list_messages_of_session.py` should be invoked as "uv run python skills/opencode/list_messages_of_session.py {session_id}", not `list_sessions.py`.

Add a short monitoring workflow that uses the status legend, e.g. "1. Run list_sessions.py 2. For each WAITING (🟢) session, run list_messages_of_session.py with its session_id 3. Review the latest user message and respond — never kill the opencode process".

Fence the example commands as code blocks and state what each script outputs (e.g., the session_id field needed for the next command).

DimensionReasoningScore

Conciseness

Every line is operational: the invocation pattern ("uv run python skills/opencode/script_name.py"), per-script commands, the critical constraint ("Do not kill the opencode process"), and a compact status legend. There is no concept explanation or padding of any kind, matching anchor 5 ("lean and efficient; every token earns its place").

5 / 5

Actionability

Commands are concrete, but the example for `list_messages_of_session.py` actually invokes `list_sessions.py` ("uv run python skills/opencode/list_sessions.py {session_id}"), which misdirects execution, and key details are missing (script output format, how to obtain a session_id). This exceeds "minor gaps" (anchor 4) and fits anchor 3 ("concrete guidance but incomplete; missing key details").

3 / 5

Workflow Clarity

The implied monitor loop (list sessions, read status, inspect messages, act) is never sequenced — the body is a script catalog plus a status legend with no steps or checkpoints (e.g., what to do for WAITING vs WORKING sessions). It sits between anchor 1 (steps missing) and anchor 2 (rough sequence with many gaps), leaning 2 only because the status legend hints at the intended flow.

2 / 5

Progressive Disclosure

The skill is under 50 lines with no external files to reference, and sections (Helper Scripts / Scripts / Session Status Types) are clearly headed, qualifying for the simple-skill exception. Inconsistent formatting — unfenced example commands, sentence-fragment descriptions, trailing whitespace — keeps it just below anchor 5.

4 / 5

Total

14

/

20

Passed

Description

48%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

The description names its niche (OpenCode) but relies entirely on generic verbs ("monitor and manage") and offers no concrete capability list, no trigger guidance, and no "Use when" clause. The second-person phrasing further hurts specificity. It sits just below the midpoint of the scale.

Suggestions

Replace the generic verbs with the concrete operations the skill actually performs, e.g. "List OpenCode sessions, read session messages by session_id, and check agent status (WAITING/WORKING) using helper scripts."

Add an explicit trigger clause: "Use when the user asks to check, monitor, or respond to OpenCode sessions, or mentions OpenCode agents/tasks."

Drop the second-person "your" and write in third person ("Monitors and manages OpenCode tasks").

DimensionReasoningScore

Specificity

"Monitor and manage your OpenCode tasks" names the domain (OpenCode) but the actions are the generic verbs monitor/manage with no concrete operations listed, and the second-person "your ... tasks" triggers the rubric's -1 specificity penalty. It fits anchor 2 ("names the domain but actions are minimal or generic") rather than anchor 3, which requires 1-2 concrete named actions.

2 / 5

Completeness

The 'what' is present but generic ("Monitor and manage your OpenCode tasks using helper scripts"), and there is no 'Use when...' clause or any equivalent trigger guidance, which caps completeness at 3 per the judging guidelines. It is not a 2 because the 'what' is not purely vague.

3 / 5

Trigger Term Quality

"OpenCode" is the one strong natural keyword, but common user-side variations are absent ("sessions", "messages", "check my agent", file/tool synonyms). This matches anchor 3 ("some relevant keywords but missing common variations or synonyms"), not anchor 4, since keyword coverage is thin rather than merely missing a few terms.

3 / 5

Distinctiveness Conflict Risk

"OpenCode" carves a clear niche that is unlikely to trigger for unrelated skills, matching anchor 4 ("mostly distinct; minor overlap risk"). It is not a 5 because "monitor and manage tasks" could still overlap with other agent- or session-management skills and no distinct trigger phrases are given.

4 / 5

Total

12

/

20

Passed

Validation

87%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

metadata_field

'metadata' should map string keys to string values

Warning

Total

14

/

16

Passed

Repository
volcengine/OpenViking
Reviewed

Table of Contents

Is this your skill?

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.