CtrlK
BlogDocsLog inGet started
Tessl Logo

ask-user

Reusable pattern for presenting the user with explicit choices and gating execution until they respond. Used by other skills when a decision point requires human input before proceeding. Platform-agnostic — works on Telegram (inline buttons), Discord, CLI, or any agent with a message tool.

59

Quality

69%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./skills/ask-user/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

67%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.

A clear, actionable pattern definition with concrete templates, good worked examples, and an explicit stop-and-wait workflow with response-handling recovery paths. Its main cost is redundancy — the same constraints are restated in up to four sections — which inflates token usage without adding guidance.

Suggestions

Merge Contract, Constraints, and Anti-Patterns into a single section: the 2-4-option limit, escape hatch, one-question-per-message, and self-explanatory-label rules each appear three times verbatim.

Consolidate the stop-the-turn instruction, which is currently restated in 'Contract', 'What This Is', 'How To Gate (CRITICAL)', and 'Output Format', into one authoritative section.

Move the three full worked examples (cold-start, filing, destructive) into an examples reference file, keeping one compact example inline to shorten the main body.

DimensionReasoningScore

Conciseness

The same rules repeat across sections: '2-4 options max', escape hatch, 'one question per message', and self-explanatory labels each appear in Contract, Constraints, and Anti-Patterns, and 'stop your turn' is restated in four places. Mostly efficient per section but could be consolidated from ~250 lines to ~150 — fits anchor 3 ('could be tightened') rather than anchor 4's 'minor instances'.

3 / 5

Actionability

Concrete output templates (numbered format, JSON buttons payload, clarify() call), an explicit label format ('Action verb — brief qualifier') with ✅/❌ examples, and three full worked examples. Below anchor 5 only because some guidance is directional rather than procedural (e.g., 'fuzzy match against option labels/values').

4 / 5

Workflow Clarity

The sequence is explicit and numbered — present choices, stop the turn, read the response, acknowledge briefly, branch — with error recovery paths ('If unclear, ask again', text-response mapping, 'Unrelated message → drop the gate'). Not a destructive/batch skill itself so the score-3 cap doesn't apply, but minor gaps (no guidance for multi-selection or no-response timeouts) keep it below anchor 5.

4 / 5

Progressive Disclosure

A single well-organized file with clear section headers, no nested or buried references, and appropriate overview-level content for a pattern definition. Not anchor 5: at ~235 lines it exceeds the under-50-line simple-skill case, and the three full examples plus formatting guidelines are borderline candidates for a separate references file.

4 / 5

Total

15

/

20

Passed

Description

71%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.

A well-scoped, third-person description with a clear what, an explicit when clause, and concrete platform coverage. Its main weakness is trigger-term coverage: it lacks the natural phrases a user would actually say when they need this skill.

Suggestions

Add user-voice trigger phrases to the description, e.g. 'Use when the user should ask me before proceeding, needs to pick between options, or says present options / which one' — the frontmatter triggers list has these but the description itself does not.

Mention that the skill handles the response side (reading the reply and branching), so the what-coverage in the description matches the pattern's full scope.

DimensionReasoningScore

Specificity

Names several concrete actions — 'presenting the user with explicit choices and gating execution until they respond' — plus concrete platform surfaces ('Telegram (inline buttons), Discord, CLI'). Above anchor 3 (only 1-2 actions), but below anchor 5 since it omits parts of the pattern like response handling and branching.

4 / 5

Completeness

Both 'what' (present choices, gate execution until response) and 'when' ('when a decision point requires human input before proceeding') are explicitly stated, so the score-3 cap for a missing when-clause does not apply. Not anchor 5 because the 'when' is framed for skill authors rather than as concrete user-facing trigger phrases.

4 / 5

Trigger Term Quality

Relevant keywords are present ('explicit choices', 'decision point', 'human input', 'gating execution') but common natural variations users would say ('ask me before', 'which option', 'wait for my answer') are missing. Fits anchor 3 ('some relevant keywords but missing common variations') rather than anchor 4's 'good keyword coverage with only a few missing'.

3 / 5

Distinctiveness Conflict Risk

Clear niche — user-choice gating at decision points — with distinct trigger concepts ('choice gate', 'user decision', 'present options') that no adjacent skill would claim. Minimal conflict risk; fits anchor 5.

5 / 5

Total

16

/

20

Passed

Validation

93%

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

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

15

/

16

Passed

Repository
garrytan/gbrain
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.