CtrlK
BlogDocsLog inGet started
Tessl Logo

gamma-sdk-patterns

Reusable patterns for the Gamma REST API (no SDK exists). Use when building typed wrappers, generation helpers, template factories, or error handling for Gamma. Trigger: "gamma patterns", "gamma client wrapper", "gamma best practices", "gamma API helper", "gamma code structure".

79

Quality

76%

Does it follow best practices?

Impact

Pending

No eval scenarios have been run

SecuritybySnyk

Advisory

Suggest reviewing before use

Optimize this skill with Tessl

npx tessl skill review --optimize ./plugins/saas-packs/gamma-pack/skills/gamma-sdk-patterns/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Discovery

75%

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 well-structured with explicit 'Use when' and 'Trigger' clauses, making it complete and distinctive. However, the capabilities listed are somewhat abstract (e.g., 'generation helpers', 'template factories') rather than concrete actions, and the trigger terms lean toward developer jargon rather than natural user language. It would benefit from more specific action descriptions and broader natural-language trigger coverage.

Suggestions

Replace abstract categories like 'generation helpers' and 'template factories' with concrete actions such as 'generate presentations via API', 'list and apply templates', 'handle pagination and rate limits'.

Add more natural trigger terms users might say, such as 'gamma API', 'gamma integration', 'create gamma presentation', 'gamma REST', or 'call gamma endpoint'.

DimensionReasoningScore

Specificity

Names the domain (Gamma REST API) and some actions ('typed wrappers, generation helpers, template factories, error handling'), but these are somewhat abstract categories rather than concrete specific actions like 'create presentation' or 'send API request with retry logic'.

2 / 3

Completeness

Clearly answers both 'what' (reusable patterns for Gamma REST API including typed wrappers, generation helpers, template factories, error handling) and 'when' (explicit 'Use when' clause and a 'Trigger' list with specific phrases).

3 / 3

Trigger Term Quality

Includes explicit trigger terms like 'gamma patterns', 'gamma client wrapper', 'gamma API helper', which are relevant but somewhat niche. Missing more natural user phrases like 'gamma API', 'gamma integration', 'gamma presentation API', or 'create gamma presentation'. The listed triggers feel more like developer jargon than natural user queries.

2 / 3

Distinctiveness Conflict Risk

Very distinct niche — specifically targets the Gamma REST API with no SDK. The trigger terms are all Gamma-specific, making it highly unlikely to conflict with other skills.

3 / 3

Total

10

/

12

Passed

Implementation

77%

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

This is a strong, highly actionable skill with production-ready TypeScript patterns for a REST API that lacks an SDK. The workflow is well-sequenced with proper error handling and polling validation. The main weakness is length — the full inline code makes it token-heavy, and some content could be split into referenced files for better progressive disclosure.

Suggestions

Consider moving the full client implementation code into a referenced file (e.g., `gamma-client-reference.ts`) and keeping only a condensed usage example in the SKILL.md body to improve conciseness.

Split detailed type definitions (GenerateRequest, TemplateRequest) into a separate types reference file, keeping only the most essential interfaces inline.

DimensionReasoningScore

Conciseness

The skill provides substantial executable code which is valuable since no SDK exists, but it's quite long (~200+ lines of code). Some type definitions (like the full GenerateRequest interface) could be trimmed, and the step-by-step structure adds overhead. The overview paragraph explaining what the skill provides is slightly redundant given the content speaks for itself.

2 / 3

Actionability

Fully executable TypeScript code throughout — complete client singleton, error class, polling helper, retry logic, and template generation are all copy-paste ready with file path comments. Usage examples are concrete with realistic parameters.

3 / 3

Workflow Clarity

The steps are clearly sequenced (client → errors → polling → generate-and-wait → templates → retry), building on each other logically. The polling helper includes timeout-based validation, the retry logic explicitly skips non-retryable errors, and the generate-and-wait pattern provides a clear feedback loop for the async generation workflow.

3 / 3

Progressive Disclosure

The skill references external resources and a next-step skill (`gamma-core-workflow-a`), and uses a summary API reference table. However, the inline code is quite extensive — the typed client, error class, polling, retry, and template patterns could be split into referenced files rather than all living in the SKILL.md body. The endpoint and error handling summary tables at the end are good but the body is monolithic.

2 / 3

Total

10

/

12

Passed

Validation

81%

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

Validation9 / 11 Passed

Validation for skill structure

CriteriaDescriptionResult

allowed_tools_field

'allowed-tools' contains unusual tool name(s)

Warning

frontmatter_unknown_keys

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

Warning

Total

9

/

11

Passed

Repository
jeremylongshore/claude-code-plugins-plus-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.