CtrlK
BlogDocsLog inGet started
Tessl Logo

teams-meeting-pipeline

Teams meeting summaries, job replay, Graph subscriptions.

62

Quality

75%

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/productivity/teams-meeting-pipeline/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

96%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 an exemplary operator-facing skill: lean, fully executable, with a decision tree, a critical-pitfall recovery loop, and verification commands built into every workflow. The only structural improvement is moving the full command reference into a bundle file and consolidating the duplicated related-docs listings.

DimensionReasoningScore

Conciseness

Every section earns its tokens: commands carry inline comments, the decision tree maps asks to exact subcommands, and no space is spent explaining what Teams or Graph is. This matches 'Lean and efficient; assumes Claude's competence; every token earns its place'; there is no over-explanation to trim, ruling out level 4.

5 / 5

Actionability

The body is fully executable: complete `hermes teams-pipeline` commands with flags and placeholders (`--join-web-url "<url>"`, `--client-state "$MSGRAPH_WEBHOOK_CLIENT_STATE"`), a decision tree mapping common asks to concrete command sequences, and pitfalls naming exact config keys (`platforms.teams.extra.delivery_mode`). This matches 'Fully executable; copy-paste ready code or commands; specific examples cover the common cases'.

5 / 5

Workflow Clarity

The 'is setup working?' path sequences validate → token-health → subscriptions → test meeting → list, the failed-summary path branches on whether the job exists, and the expired-subscription recovery procedure is a numbered loop with verification at each step (check `subscriptions`, recreate, automate renewal). Built-in validation commands (`validate`, `token-health`, `fetch` dry-run, `--dry-run` on renewals) satisfy the feedback-loop requirement that would otherwise cap this dimension.

5 / 5

Progressive Disclosure

Sections are well-organized and deeper material (app registration, webhook listener setup, operator runbook) is pushed to clearly-signaled one-level-deep doc paths. Not level 5: there are no bundle files at all, the command reference sits inline in SKILL.md where a references/ file would keep the overview leaner, and the 'Related docs' list duplicates the frontmatter's related_docs entries.

4 / 5

Total

19

/

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 distinct, well-scoped domain, but it reads as a feature list rather than a trigger-capable description. It lacks a "Use when..." clause and natural user vocabulary (transcripts, meeting notes, action items, troubleshooting phrases), leaving both completeness and trigger quality at the mid anchor.

Suggestions

Add a 'Use when...' clause naming natural user triggers, e.g. 'Use when the user asks to summarize a Teams meeting, pull a transcript or meeting notes, check pipeline status, replay a failed meeting job, or manage Graph webhook subscriptions.'

Replace internal jargon with user-facing synonyms: pair 'job replay' with 're-run a failed meeting summary' and 'Graph subscriptions' with 'meeting webhook subscriptions', so natural phrasing like 'why didn't I get my meeting summary' can match.

Fold in the troubleshooting capability (failed summaries, ingestion stops) since it is a major part of the skill body but invisible in the description.

DimensionReasoningScore

Specificity

The description names its domain and three actions — "Teams meeting summaries, job replay, Graph subscriptions" — but as terse fragments it misses covered capabilities like transcripts, action items, troubleshooting, and subscription renewal. This matches the anchor 'Names domain and 1-2 concrete actions, but not comprehensive'; it is not level 4 because it does not list several specific actions with only minor gaps.

3 / 5

Completeness

The "what" is clear (meeting summaries, job replay, Graph subscription management) but there is no "Use when..." clause or equivalent trigger guidance, which caps completeness at 3 per the judging guidelines. It is not level 2 because the "what" is concrete rather than vague.

3 / 5

Trigger Term Quality

"Teams meeting summaries" is a natural phrase a user would say, but "job replay" and "Graph subscriptions" are internal jargon, and common user terms like "transcript", "meeting notes", "action items", or "recording" are absent. This sits at 'Some relevant keywords but missing common variations or synonyms', not level 4's 'good coverage with only a few natural terms missing'.

3 / 5

Distinctiveness Conflict Risk

The Teams/Graph webhook niche is fairly distinct and unlikely to fire for unrelated skills, though the terse fragment style with no explicit triggers leaves minor overlap risk with generic "meetings" or "summaries" skills. Not level 5 because the description does not articulate distinct trigger phrases that lock in the niche.

4 / 5

Total

13

/

20

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 — 13 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

metadata_field

'metadata' should map string keys to string values

Warning

frontmatter_unknown_keys

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

Warning

Total

13

/

16

Passed

Repository
NousResearch/hermes-agent
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.