Research-before-coding workflow. Search for existing tools, libraries, and patterns before writing custom code. Invokes the researcher agent.
44
46%
Does it follow best practices?
Impact
—
No eval scenarios have been run
Advisory
Suggest reviewing before use
Optimize this skill with Tessl
npx tessl skill review --optimize ./.claude/skills/search-first/SKILL.mdQuality
Discovery
50%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 communicates the core concept of a research-first coding workflow but lacks explicit trigger guidance ('Use when...') and comprehensive natural language trigger terms. It would benefit from listing specific scenarios that should invoke this skill and including more user-facing keywords that people naturally use when looking for existing solutions before coding.
Suggestions
Add an explicit 'Use when...' clause, e.g., 'Use when the user asks to find existing libraries, check for packages, research solutions before implementing, or wants to avoid reinventing the wheel.'
Include more natural trigger terms users would say, such as 'find a library', 'existing package', 'npm/pip/crate', 'look up', 'is there already a', 'don't reinvent the wheel', 'dependency research'.
Remove or de-emphasize the implementation detail 'Invokes the researcher agent' and replace with user-facing capability descriptions like 'Evaluates library options, checks documentation, and recommends best-fit dependencies.'
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Names the domain (research-before-coding) and some actions (search for existing tools, libraries, and patterns), but doesn't list multiple concrete actions beyond searching. 'Invokes the researcher agent' is an implementation detail rather than a user-facing capability. | 2 / 3 |
Completeness | The 'what' is partially covered (search for existing tools/libraries/patterns before writing code), but there is no explicit 'Use when...' clause. The 'when' is only implied by the workflow description rather than stated as explicit trigger guidance. | 2 / 3 |
Trigger Term Quality | Includes some relevant terms like 'tools', 'libraries', 'patterns', and 'research', but misses common user phrases like 'find a library', 'is there an existing package', 'look up', 'check if there's already', 'npm package', 'dependency', etc. | 2 / 3 |
Distinctiveness Conflict Risk | The research-before-coding concept is somewhat distinctive, but 'search for existing tools, libraries, and patterns' could overlap with general coding assistance or documentation lookup skills. The mention of 'researcher agent' adds some distinctiveness but is an implementation detail. | 2 / 3 |
Total | 8 / 12 Passed |
Implementation
42%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
The skill provides a reasonable conceptual framework for research-before-coding but suffers from verbosity (ASCII diagrams, lists of well-known tools) and lacks truly actionable, executable guidance. The workflow is clear at a high level but missing validation checkpoints, and all content is crammed into a single file without progressive disclosure. The subagent prompt template and decision matrix are the strongest elements.
Suggestions
Split the search shortcuts, integration points, and detailed examples into separate referenced files to improve progressive disclosure and reduce the main file's token footprint.
Remove the search shortcuts section entirely — Claude already knows about eslint, prettier, pytest, etc. — or replace it with actual search command templates (e.g., specific npm/PyPI search queries or MCP lookup commands).
Add explicit validation checkpoints: after finding a candidate, verify it installs cleanly, check license compatibility, and test basic functionality before committing to the decision.
Make the 'Quick Mode' more actionable with specific commands rather than 'mentally run through' — e.g., provide exact rg patterns, npm search commands, or file paths to check.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill includes useful content but is verbose in places — the ASCII workflow diagram, the search shortcuts section (listing well-known tools Claude already knows like eslint, prettier, pytest), and the integration points section add bulk without proportional value. The anti-patterns section states obvious things. | 2 / 3 |
Actionability | The subagent Task invocation template is concrete and useful, and the decision matrix provides clear guidance. However, much of the content is descriptive rather than executable — the 'Quick Mode' is described as 'mentally run through' steps, the examples show outcomes but not actual commands to run, and the search shortcuts are just lists of known tools rather than actionable search commands. | 2 / 3 |
Workflow Clarity | The 5-step workflow is clearly sequenced and the decision matrix adds useful branching logic. However, there are no validation checkpoints — no step to verify the chosen package actually works, no feedback loop for when a candidate fails evaluation, and no guidance on what to do if the researcher agent returns poor results. | 2 / 3 |
Progressive Disclosure | All content is in a single monolithic file with no references to supporting files. The search shortcuts, integration points, and examples sections could be split into separate reference files. With no bundle files provided and no external references, everything is inlined in one long document. | 1 / 3 |
Total | 7 / 12 Passed |
Validation
90%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 10 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
frontmatter_unknown_keys | Unknown frontmatter key(s) found; consider removing or moving to metadata | Warning |
Total | 10 / 11 Passed | |
b09913f
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.