CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

keyword-extractor

Extracts up to 50 highly relevant SEO keywords from text. Use when user wants to generate or extract keywords for given text.

Quality

73%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./plugins/AI-Agents-Safe-Coding-Skills/skills/keyword-extractor/SKILL.md

The canonical home for this skill is keyword-extractor in administrakt0r/AI-Agents-Safe-Coding-Skills

SKILL.md
Quality
Evals
Security

Quality

Content

73%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.

A well-structured, genuinely actionable instruction-only skill with a clear five-step workflow, explicit validation checklist, and a regenerate-on-failure loop. Its chief weakness is redundancy: the same output constraints are repeated across three sections, and near-duplicate handling is stated twice in Step 4, which costs tokens without adding information.

Suggestions

State the output constraints once (in CORE MANDATE) and have Step 4/5 reference that single checklist instead of restating lowercase/comma/≤50/≤4-word rules three times.

Merge the two consecutive near-duplicate bullets in Step 4 into one rule and add a one-line definition of "near-duplicate" (e.g., sharing the same head noun/concept) to make the check executable.

Pick one heading level per section rank (the body alternates # and ## for sibling sections) and drop the anchor-link QUICK START index, which mostly duplicates the section headings.

DimensionReasoningScore

Conciseness

The body never explains concepts Claude already knows, but the output rules are stated three times (CORE MANDATE, Step 4 Normalize, Step 5 Validate: "lowercase, comma separated, no duplicates", "≤50 keywords", "max 4 words"), Step 4 says the same near-duplicate rule twice back-to-back ("Remove near-duplicate keywords that represent the same concept" / "If two keywords represent the same concept, keep only the more common search phrase"), and the QUICK START anchor-link index adds navigation padding. Fits anchor 3 ("Mostly efficient but includes some unnecessary explanation or could be tightened"); not 2 because there is no conceptual fluff or tutorial-style padding, just internal repetition that could be collapsed.

3 / 5

Actionability

For an instruction-only skill the guidance is concrete: the exact output contract ("exactly one comma-separated line" with max-50, ordering, lowercase, no-period rules), a ranked list of five SEO importance signals, a worked example ("machine learning, neural networks, deep learning models, ai algorithms..."), and an explicit bad-keyword list ("important methods, different ideas, various techniques, things"). Matches anchor 4 ("Mostly executable guidance... with minor gaps") — gaps include only one worked example and no guidance on how to judge "near-duplicate" or "more common search phrase", which keeps it below 5.

4 / 5

Workflow Clarity

Steps 1-5 (Analyze, Generate, Rank, Normalize, Validate) are clearly sequenced, Step 5 is an explicit pre-return checklist, and it closes with a feedback loop: "If any rule fails regenerate the list." Failure handling for short text is also addressed ("infer likely topics and still generate keywords"). This matches anchor 5 ("Clear sequence with explicit validation steps; feedback loops for error recovery; checklists"); the task is non-destructive so no cap applies.

5 / 5

Progressive Disclosure

The skill is a single self-contained file with no bundle directories (verified: references/, scripts/, assets/ do not exist) and no nested references, so nothing is buried or multi-level-deep. Sections are well-labeled (CORE MANDATE, WHEN TO USE, QUALITY RULES, WORKFLOW, FAILURE HANDLING) with a quick-start index. This fits anchor 4 ("Good structure; most content is appropriately placed; minor organization gaps") — at ~150 lines with heavy rule repetition between sections it is slightly denser than the lean single-file ideal, and the mixed heading levels (# and ## alternating) slightly muddy the hierarchy.

4 / 5

Total

16

/

20

Passed

Description

62%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.

A solid description with an explicit what-and-when structure and a concrete, parameterized action statement. Its main weaknesses are a thin synonym set for triggers (no "tags" or "metadata") and a single-action framing that undersells the ranking and strict output-format behavior defined in the body.

Suggestions

Add natural synonyms to the trigger clause, e.g. "Use when the user wants keywords, tags, or metadata extracted or generated from text for SEO or search purposes."

Mention the deliverable format ("as one ranked comma-separated line") so the what-clause reflects the skill's strict output contract.

Add a distinguishing phrase such as "from user-supplied text" to reduce overlap with general keyword brainstorming requests.

DimensionReasoningScore

Specificity

"Extracts up to 50 highly relevant SEO keywords from text" names the domain and one concrete action with real parameters (count cap, SEO purpose), but does not cover the full capability set (e.g., ranking by relevance or the strict single-line output format the body mandates). Matches anchor 3 ("Names domain and 1-2 concrete actions, but not comprehensive") — above 2 because the action is concrete rather than generic, below 4 because only the extraction action is stated.

3 / 5

Completeness

Both parts are explicitly present: what = "Extracts up to 50 highly relevant SEO keywords from text"; when = "Use when user wants to generate or extract keywords for given text". Matches anchor 4 ("Has both 'what' and 'when'; 'when' could be more explicit or specific") — the when-clause is a single paraphrase of the what rather than a richer set of concrete trigger phrases like the anchor-5 example.

4 / 5

Trigger Term Quality

Trigger terms include "SEO keywords", "generate or extract keywords", "text" — relevant but missing common user variations like "tags", "metadata", or "search terms" that the body itself identifies as triggers. Fits anchor 3 ("Some relevant keywords but missing common variations or synonyms"); not 4 because the natural synonym set is thin for a task users commonly phrase as "give me tags for this".

3 / 5

Distinctiveness Conflict Risk

"SEO keywords" and "keyword extraction from text" define a clear niche distinct from summarization or general text analysis, matching anchor 4 ("Mostly distinct; minor overlap risk"). Not 5: the phrase "generate... keywords" could plausibly fire for open-ended brainstorming of search terms not tied to extracting from provided text, and the description omits the tags/metadata framing that would sharpen boundaries.

4 / 5

Total

14

/

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

administrakt0r/AI-Agents-Safe-Coding-Skills

Path

plugins/AI-Agents-Safe-Coding-Skills/skills/keyword-extractor/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.