Build Google Chat bots and webhooks with Cards v2, interactive forms, and Cloudflare Workers. Covers Spaces/Members/Reactions APIs, bearer token verification, and dialog patterns. Use when: creating Chat bots, workflow automation, interactive forms. Troubleshoot: bearer token 401, rate limit 429, card schema validation, webhook failures.
Install with Tessl CLI
npx tessl i github:jezweb/claude-skills --skill google-chat-api87
Does it follow best practices?
If you maintain this skill, you can automatically optimize it using the tessl CLI to improve its score:
npx tessl skill review --optimize ./path/to/skillValidation for skill structure
Discovery
100%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 strong skill description that excels across all dimensions. It provides specific technical capabilities, includes natural trigger terms for both creation and troubleshooting scenarios, has an explicit 'Use when' clause, and is clearly scoped to Google Chat specifically rather than generic chat/bot functionality.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Lists multiple specific concrete actions: 'Build Google Chat bots and webhooks with Cards v2, interactive forms, and Cloudflare Workers' plus specific APIs (Spaces/Members/Reactions), bearer token verification, and dialog patterns. | 3 / 3 |
Completeness | Clearly answers both what (build bots/webhooks with specific technologies) AND when with explicit 'Use when:' clause covering creation scenarios and troubleshooting triggers. | 3 / 3 |
Trigger Term Quality | Excellent coverage of natural terms users would say: 'Chat bots', 'webhooks', 'interactive forms', 'workflow automation', plus specific troubleshooting terms like 'bearer token 401', 'rate limit 429', 'webhook failures' that users would naturally mention. | 3 / 3 |
Distinctiveness Conflict Risk | Highly distinctive with clear niche: specifically Google Chat (not generic chat), Cards v2, Cloudflare Workers deployment, and Google-specific APIs. Unlikely to conflict with other bot or webhook skills. | 3 / 3 |
Total | 12 / 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 highly actionable skill with excellent executable code examples covering webhooks, interactive bots, Cards v2, and multiple APIs. The workflow clarity is strong with explicit setup steps and a verification checklist. However, the document is verbose with explanatory 'Why this matters' sections and could benefit from splitting advanced API sections into separate reference files to improve token efficiency.
Suggestions
Remove 'Why this matters' explanatory sections - Claude understands the value of security, simplicity, and Markdown support without explanation
Move Spaces API, Members API, and Reactions API sections to separate reference files (e.g., references/spaces-api.md) and link from main skill
Consolidate the 'Known Issues Prevention' section with the 'Troubleshooting' section to avoid duplication
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill is comprehensive but includes some unnecessary explanations (e.g., 'Why this matters' sections explaining obvious benefits, verbose setup instructions). The content could be tightened significantly while preserving all actionable information. | 2 / 3 |
Actionability | Excellent executable code examples throughout - webhook handlers, card builders, API calls for Spaces/Members/Reactions, rate limit handling with exponential backoff. All code is copy-paste ready TypeScript with proper types. | 3 / 3 |
Workflow Clarity | Clear 3-step setup process with explicit decision points (webhook vs HTTP endpoint), validation checkpoints mentioned throughout, and a comprehensive setup checklist at the end. The troubleshooting section provides clear error-to-solution mappings. | 3 / 3 |
Progressive Disclosure | References templates and reference files appropriately, but the main document is quite long (~700 lines) with content that could be split out (e.g., Spaces/Members/Reactions APIs could be separate references). The 'When to load these' guidance for templates is helpful. | 2 / 3 |
Total | 10 / 12 Passed |
Validation
75%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 12 / 16 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
skill_md_line_count | SKILL.md is long (943 lines); consider splitting into references/ and linking | Warning |
metadata_version | 'metadata' field is not a dictionary | Warning |
license_field | 'license' field is missing | Warning |
frontmatter_unknown_keys | Unknown frontmatter key(s) found; consider removing or moving to metadata | Warning |
Total | 12 / 16 Passed | |
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.