CtrlK
BlogDocsLog inGet started
Tessl Logo

recipe-sync-contacts-to-sheet

Export Google Contacts directory to a Google Sheets spreadsheet.

57

Quality

66%

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/recipe-sync-contacts-to-sheet/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

80%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-structured with concrete commands, but the batch append workflow lacks any validation or verification checkpoint, capping workflow clarity despite the otherwise strong actionability and organization.

Suggestions

Add a validation checkpoint after the append loop, e.g. re-list the sheet range and confirm the row count matches the number of contacts exported.

Show the per-contact append as runnable looping code (or a single batch-append call) instead of prose so the guidance is fully copy-paste ready.

Add an explicit verify step (e.g. `gws sheets get --range 'Contacts'` to confirm headers and rows landed correctly) before declaring the recipe complete.

DimensionReasoningScore

Conciseness

The body is lean and efficient with no padding or explanation of concepts Claude already knows; every line (prerequisite, three numbered steps with inline commands) earns its place, matching the 5-level 'lean and efficient' anchor.

5 / 5

Actionability

Steps give concrete, executable `gws` commands with real params and an example row, but the per-contact loop is described in prose ("Append each contact row") rather than shown as runnable code, leaving a minor gap that fits 'mostly executable guidance' rather than the 5-level copy-paste-ready anchor.

4 / 5

Workflow Clarity

The three steps are clearly sequenced, but appending each contact row is a batch operation with no validation or verification checkpoint (e.g. confirm sheet creation, verify row count), so workflow_clarity is capped at 3 per the batch-operations guideline.

3 / 5

Progressive Disclosure

The skill is under 50 lines with no need for external bundle references, yet it is well organized into a prerequisite note and a clear Steps section, satisfying the simple-skill exception that allows a 5 on progressive disclosure for well-structured short skills.

5 / 5

Total

17

/

20

Passed

Description

53%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 concise and names a clear niche, but it only states the 'what' and omits any 'when to use it' trigger guidance, leaving it at a mid-range score across most dimensions.

Suggestions

Add a 'Use when...' clause, e.g. 'Use when exporting a Google Contacts directory to a Google Sheets spreadsheet or when the user asks to back up contacts to a sheet.'

Broaden trigger-term coverage with natural synonyms users say (e.g. 'contacts list', 'address book', 'contact backup to Sheets').

Mention a second concrete action (e.g. 'list, export, and append contacts') to lift specificity from a single action to a more comprehensive set.

DimensionReasoningScore

Specificity

The description names the domain ("Google Contacts directory", "Google Sheets spreadsheet") and one concrete action ("Export"), matching the anchor that names a domain with 1-2 concrete actions but is not comprehensive.

3 / 5

Completeness

It gives a clear 'what' (export contacts to a sheet) but provides no 'when' / 'Use when...' trigger clause, so completeness is capped at 3 per the rubric's missing-trigger-clause guideline.

3 / 5

Trigger Term Quality

It includes some natural terms a user might say ("export", "Google Contacts", "spreadsheet") but misses common variations and synonyms, fitting the 'some relevant keywords but missing common variations' anchor rather than the 4-level 'good coverage' anchor.

3 / 5

Distinctiveness Conflict Risk

"Export Google Contacts directory to a Google Sheets spreadsheet" carves a clear niche that would rarely trigger for the wrong skill; it fits 'mostly distinct; minor overlap risk' rather than the 5-level anchor that requires explicit distinct trigger phrases.

4 / 5

Total

13

/

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

metadata_field

'metadata' should map string keys to string values

Warning

Total

15

/

16

Passed

Repository
googleworkspace/cli
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.