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
76%
Does it follow best practices?
Impact
—
No eval scenarios have been run
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.mdQuality
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.
This is a reasonably well-structured skill description with clear 'what' and 'when' clauses and good distinctiveness due to the Gamma-specific focus. Its main weakness is that the capabilities listed are somewhat abstract categories (typed wrappers, template factories) rather than concrete actions, and the trigger terms lean toward developer jargon rather than natural user language.
Suggestions
Replace abstract categories with concrete actions, e.g., 'Creates typed API client wrappers, generates presentations via REST calls, builds template factory functions, and implements retry/error handling for Gamma endpoints'.
Add more natural trigger terms users might say, such as 'gamma API', 'gamma presentation', 'gamma REST', 'call gamma endpoint', or 'gamma integration'.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Names the domain (Gamma REST API) and mentions some actions like 'typed wrappers, generation helpers, template factories, error handling', but these are somewhat abstract categories rather than concrete specific actions (e.g., doesn't say 'create presentations', 'list templates', 'handle rate limits'). | 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 best practices', 'gamma API helper', 'gamma code structure'. These are reasonable but somewhat niche and developer-oriented; missing more natural terms a user might say like 'gamma presentation', 'gamma API', or 'call gamma endpoint'. | 2 / 3 |
Distinctiveness Conflict Risk | Very clearly scoped to the Gamma REST API specifically, with distinct trigger terms all prefixed with 'gamma'. Unlikely to conflict with other API skills or general coding 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 complete, executable TypeScript patterns for wrapping the Gamma REST API. The workflow is well-sequenced with appropriate error handling and validation. The main weakness is length — the skill is quite long for a SKILL.md overview and would benefit from offloading the full implementations into bundle files, keeping only key snippets inline.
Suggestions
Move the full TypeScript implementations into bundle files (e.g., lib/gamma.ts, lib/poll.ts, lib/retry.ts) and keep only concise snippets or usage examples in SKILL.md to improve progressive disclosure.
Trim the GenerateRequest interface to show only the most common fields, with a comment pointing to the full type definition in a bundle file or the API docs.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill is mostly efficient with executable code, but is quite long (~200+ lines of TypeScript). Some interface definitions (like the full GenerateRequest with every optional field) could be trimmed, and the overview/prerequisites section includes some unnecessary framing ('production-grade patterns'). The error handling table at the end partially duplicates what's already clear from the code. | 2 / 3 |
Actionability | Fully executable TypeScript code throughout — complete client implementation, error class, polling helper, retry logic, and usage examples. Every pattern is copy-paste ready with file paths indicated, concrete types, and real API endpoints. | 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 composes the pieces with clear feedback (console.log of generation ID and results). | 3 / 3 |
Progressive Disclosure | The skill references external resources (Gamma docs) and a next-step skill (`gamma-core-workflow-a`), but all content is inline in one large file with no bundle files to offload detail into. The API reference table and error handling table at the end are good summaries, but the extensive inline TypeScript could benefit from being split into referenced files (e.g., a lib/ directory in a bundle). | 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.
Validation — 9 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
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 | |
3a2d27d
Table of Contents
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.