CtrlK
BlogDocsLog inGet started
Tessl Logo

dspy

DSPy: declarative LM programs, auto-optimize prompts, RAG.

49

Quality

56%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Critical

Do not install without reviewing

Fix and improve this skill with Tessl

tessl review fix ./optional-skills/mlops/research/dspy/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

60%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 content is a thorough, largely executable DSPy tutorial with strong actionability, clear sequencing, and real one-level-deep reference files. Its main weakness is conciseness: it over-explains familiar concepts and repeats boilerplate, inflating the token budget.

Suggestions

Cut concept explanations Claude already knows (e.g. 'Modules are reusable components...', the 'Comparison to Other Approaches' table) and consolidate the repeated dspy.settings.configure boilerplate into a single configuration snippet referenced once.

Move the detailed module and optimizer API content into the existing reference files and replace the inlined sections with brief overviews plus inline 'See references/modules.md' pointers at each point of use.

Fix the incomplete snippets (define search_tool's return value, define validate_answer before it is used in the RAG example) to push actionability toward fully copy-paste-ready.

DimensionReasoningScore

Conciseness

The body is noticeably verbose: it explains concepts Claude already knows ('Modules are reusable components...', 'Optimizers improve your modules automatically'), repeats dspy.settings.configure(lm=lm) across ~7 code blocks, and includes a 'Comparison to Other Approaches' table and 'Best Practices' that pad the token budget. Fits anchor 2; not 3 because the padding is more than incidental, and not 1 because executable code dominates rather than long prose explanations of basics.

2 / 5

Actionability

Provides many concrete, mostly copy-paste-ready code blocks spanning Predict, ChainOfThought, ReAct, BootstrapFewShot/MIPRO, RAG, and evaluation. Fits anchor 4; not 5 because a few snippets are incomplete (search_tool returns undefined 'results', validate_answer is referenced before definition, '# Your search implementation' placeholders).

4 / 5

Workflow Clarity

Sequences are clear and numbered (e.g. 'Start Simple, Iterate': Predict -> ChainOfThought -> optimize; MultiHopQA Stage 1/2/3 comments). Fits anchor 4; not 5 because there are no explicit validation steps or error-recovery feedback loops, and not 3 because the sequences are well defined rather than loosely listed.

4 / 5

Progressive Disclosure

Well sectioned with a 'See Also' pointing to real reference files (modules.md, optimizers.md, examples.md, all present in ./references/). Fits anchor 4; not 5 because the module/optimizer content is fully inlined in the body rather than deferred, and references are only signaled in a final section instead of inline at point of use.

4 / 5

Total

14

/

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 concisely names the tool and a few concrete capabilities but omits any explicit 'when to use' trigger guidance, which limits completeness and trigger-term quality. It is reasonably distinctive thanks to the named framework and methodology.

Suggestions

Add an explicit 'Use when...' clause with concrete trigger phrases, e.g. 'Use when building RAG systems, agents, or pipelines that need automatic prompt optimization.'

Broaden trigger terms with natural synonyms users actually say ('prompt engineering', 'agents', 'fine-tuning', 'LM pipelines') to improve keyword coverage.

Tighten the capability list into specific verbs ('compile declarative LM programs', 'auto-optimize prompts from training data', 'build RAG pipelines') to raise specificity.

DimensionReasoningScore

Specificity

Names the domain (DSPy/declarative LM programming) plus 2-3 concrete capabilities (declarative programs, auto-optimize prompts, RAG), but the fragments are terse and not comprehensive. Fits anchor 3; not 4 because it lacks several distinct concrete actions with verbs.

3 / 5

Completeness

Provides a clear 'what' (declarative LM programs, auto-optimize prompts, RAG) but no 'Use when...' or equivalent trigger guidance, which per the rubric caps completeness at 3. Fits anchor 3; not 4 because 'when' is entirely absent.

3 / 5

Trigger Term Quality

Contains some relevant natural keywords ('RAG', 'auto-optimize prompts') but leans on technical jargon and the skill name, missing common synonyms like 'prompt engineering', 'agents', or 'fine-tuning'. Fits anchor 3; not 4 because coverage is not yet good.

3 / 5

Distinctiveness Conflict Risk

Names a specific framework and methodology niche (DSPy, declarative LM programming, automatic prompt optimization) that is mostly distinct with only minor overlap risk against generic prompt-optimization or RAG skills. Fits anchor 4; not 5 because triggers are not concrete enough to fully minimize conflict.

4 / 5

Total

13

/

20

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.

Validation12 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (595 lines); consider splitting into references/ and linking

Warning

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

12

/

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.