CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

announcekit

AnnounceKit integration. Manage data, records, and automate workflows. Use when the user wants to interact with AnnounceKit data.

Quality

65%

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/announcekit/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

57%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 a strong, command-driven integration guide with concrete executable steps for install, auth, connection setup, action discovery, and API proxying, and its connection-state handling is genuinely thorough. Its weaknesses are the lack of any verification guidance around the destructive actions it advertises, a dangling 'Step 2' reference, and no progressive disclosure — the full actions catalog is inlined rather than split into a reference file. Some filler (the overview tree, marketing-style intro) wastes tokens.

Suggestions

Add explicit verification before destructive actions: instruct the agent to get the record first (e.g. membrane action run get-post) and confirm with the user before running delete-post, delete-roadmap-issue, or delete-label.

Fix the dangling navigation: 'skip to Step 2' has no labeled Step 2 — either number the sections (1. Connect, 2. Discover actions, 3. Run actions) or drop the step references.

Move the 19-row actions catalog into a references/actions.md and keep a short 'top actions' list inline; also trim the Overview tree ('Product/Story/Category, User') which carries no actionable information, and clarify how the table's Key maps to the actionId used by 'membrane action run'.

DimensionReasoningScore

Conciseness

The body is mostly efficient command-first documentation, but includes unnecessary padding: the vague overview tree ('Product/Story/Category, User' with 'Use action names and parameters as needed') conveys nothing actionable, and lines like 'so you can focus on the integration logic rather than auth plumbing' and the SaaS-marketing description of AnnounceKit could be tightened. This matches anchor 3 ('Mostly efficient but includes some unnecessary explanation or could be trimmed') rather than anchor 2, since the verbosity is limited to a few spots.

3 / 5

Actionability

Nearly everything is copy-paste ready: exact install, login, connection-ensure, action-list/run, and proxy commands with flags and an options table. Minor gaps keep it at anchor 4 rather than 5: the actions table lists 'Key' values (e.g. create-post) while the run command takes '<actionId>' without stating how to resolve a key to an id, and the only parameter example is the generic '{"key": "value"}' with no real AnnounceKit input (e.g. creating a post with actual fields).

4 / 5

Workflow Clarity

The connection flow is well sequenced with explicit state checks (READY/BUILDING/CLIENT_ACTION_REQUIRED) and a poll-after-action feedback loop, but the text says 'skip to Step 2' while no Step 2 is ever labeled, and the skill exposes destructive operations (Delete Post, Delete Roadmap Issue, Delete Label) with no verification or confirmation guidance. Per the rubric guideline, missing validation for destructive operations caps this at 3 even though the setup workflow is otherwise strong.

3 / 5

Progressive Disclosure

There are no bundle files at all; everything lives in a ~160-line SKILL.md with clear section headers, so navigation is adequate but there is no progressive disclosure structure. Bulk reference material — the 19-row popular-actions table and the proxy flag options — is inlined where anchor 4 expects 'bulk in separate file', matching anchor 3 ('content that should be separate is inline'). It is above anchor 2 because the content is well-sectioned and not a monolithic wall.

3 / 5

Total

13

/

20

Passed

Description

57%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 correctly anchors itself to the AnnounceKit product name and includes an explicit 'Use when' clause, but the capability statement is generic ('Manage data, records, and automate workflows') with no domain-specific actions or natural trigger synonyms like 'changelog', 'release notes', or 'announcements'. This limits its usefulness both for conveying what the skill does and for triggering when users describe AnnounceKit-adjacent work in their own words.

Suggestions

Replace 'Manage data, records, and automate workflows' with concrete AnnounceKit capabilities, e.g. 'Create and update announcements and posts, manage feeds and labels, work with roadmap issues, and collect user feedback via AnnounceKit.'

Broaden the trigger clause with natural user phrases: 'Use when the user mentions AnnounceKit, changelogs, release notes, product updates, or announcements.'

Use third-person, declarative verbs ('Creates posts', 'Lists feeds') consistent with the rest of the description instead of the generic 'Manage'/'automate' framing.

DimensionReasoningScore

Specificity

"Manage data, records, and automate workflows" names the AnnounceKit domain but the actions are entirely generic — no concrete AnnounceKit capabilities (posts, feeds, roadmap issues, feedback, labels) are listed. It matches anchor 2 ('Names the domain but actions are minimal or generic') better than anchor 3, which requires 1-2 concrete actions; 'manage data' and 'records' are not concrete.

2 / 5

Completeness

Both halves are present: the 'what' is 'AnnounceKit integration. Manage data, records, and automate workflows' and the 'when' is an explicit "Use when the user wants to interact with AnnounceKit data" clause. The 'when' could be more specific (it never mentions changelogs, posts, or announcements), matching anchor 4 rather than anchor 5's concrete trigger phrases; it is above anchor 3 because the 'when' is explicitly stated, not merely implied.

4 / 5

Trigger Term Quality

"AnnounceKit" and "AnnounceKit data" are the natural terms a user naming the product would say, but common synonyms and phrases users actually use — "changelog", "release notes", "product updates", "announcements" — are entirely missing. This fits anchor 3 ('Some relevant keywords but missing common variations or synonyms'); anchor 4 requires good keyword coverage which this lacks.

3 / 5

Distinctiveness Conflict Risk

Tying the trigger to the named product AnnounceKit gives it a clear niche with low risk of firing for unrelated skills, matching anchor 4. It falls short of anchor 5 because the trigger vocabulary is narrow: a user asking to 'update our changelog' or 'post a product announcement' without naming AnnounceKit would not match the description at all.

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

frontmatter_unknown_keys

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

Warning

Total

15

/

16

Passed

Repository

membranedev/application-skills

Path

skills/announcekit/SKILL.md

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.