CtrlK
BlogDocsLog inGet started
Tessl Logo

restaurant-booking

Book restaurant reservations via browser automation. Use when asked to make dinner reservations, book a table, or find availability at restaurants. Supports OpenTable, Resy, and direct restaurant booking sites.

60

Quality

76%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Low

Low-risk findings worth noting

Fix and improve this skill with Tessl

tessl review fix ./skills/research-tools/capabilities/restaurant-booking/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

56%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 delivers a genuinely useful, sequenced booking walkthrough with a verification step, but its flagship curl commands are malformed (`--body` is not a curl option and the JSON is split across two arguments), so none of them run as written. Heavy repetition of identical request scaffolding and the absence of any reference files for the Resy flow and selector details further dilute efficiency and structure.

Suggestions

Fix the curl commands: merge the payload into a single `-d` JSON body that includes the `body` field, and remove the invalid `--body` flag so every example is copy-paste executable.

Factor the repeated curl scaffolding (URL, auth header, content type) into one stated pattern and show only the differing JSON per step, eliminating the ~10x duplication and the CLI/API Method overlap.

Move the Resy alternative flow and the per-platform selector tables into separate reference files (e.g., references/resy.md, references/selectors.md) and add error-recovery guidance for failed time-slot clicks or captchas.

DimensionReasoningScore

Conciseness

Ten near-identical curl invocations repeat the same URL and header lines with only the body differing, the API Method section duplicates the CLI Method pattern, and the Key Selectors table restates selectors already shown inline. Content is mostly lean but systematically could be tightened, matching anchor 3 rather than anchor 4's "minor instances of over-explanation".

3 / 5

Actionability

The commands look concrete but are not executable as written: `--body` is not a curl flag, and the JSON payload is split between `-d` (which lacks the body) and the invalid `--body` argument, so every request would fail. This fits anchor 3 (concrete guidance but incomplete / not actually executable) rather than anchor 4 (executable with minor gaps).

3 / 5

Workflow Clarity

The 8-step sequence is clearly ordered with a final verification step ("Look for 'confirmed' in the response"), matching anchor 4. It falls short of anchor 5 because there are no feedback loops for common failures (slot unavailable, captcha not solved, missing form field, selector mismatch).

4 / 5

Progressive Disclosure

The body is a single ~215-line file with no bundle files at all; the Resy alternative flow and per-platform selector details are inlined where separate reference files would naturally live. Section headers provide real structure (above anchor 2), but nothing is split out and no references exist, capping it at anchor 3.

3 / 5

Total

13

/

20

Passed

Description

87%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 is strong: third-person voice, a clear capability statement, explicit "Use when" triggers with natural phrasings, and named platforms that sharpen distinctiveness. Its only weakness is slightly incomplete action and trigger coverage (no cancel/modify, no "reserve a table" variant).

DimensionReasoningScore

Specificity

The description names a concrete action ("Book restaurant reservations via browser automation") plus supporting capabilities and platform coverage ("find availability at restaurants", "Supports OpenTable, Resy, and direct restaurant booking sites"). It stops short of anchor 5 because it omits related actions like modifying or cancelling reservations.

4 / 5

Completeness

It explicitly answers both what ("Book restaurant reservations via browser automation" with named platforms) and when ("Use when asked to make dinner reservations, book a table, or find availability at restaurants") with concrete trigger phrases, matching the anchor 5 example structure.

5 / 5

Trigger Term Quality

The triggers "make dinner reservations, book a table, or find availability at restaurants" are natural user phrasings with good synonym coverage. A few common variants (e.g., "reserve a table", "restaurant booking") are missing, so it does not reach anchor 5's comprehensive coverage.

4 / 5

Distinctiveness Conflict Risk

Restaurant reservation booking is a clear niche with distinct triggers and named platforms (OpenTable, Resy), giving minimal overlap risk with other skills — a direct match for anchor 5.

5 / 5

Total

18

/

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
gooseworks-ai/goose-skills
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.