A local development setup for Claude Code with bundled skills (DuckDuckGo search, YouTube transcript extraction) and installation/configuration scripts
Single tool (ddg_search) with minimal schema and description. Tool name lacks action verb prefix (should be 'search_web' or 'web_search'). Description is adequate (127 chars, within 10-1024 range) but parameter lacks type annotation in visible schema. Input schema shows only 'query' as string with basic description, no validation constraints, enums, or format specifications. No output schema documented. No error handling guidance. No pagination support despite search results being inherently paginated. Tool definition appears complete but lacks production-grade rigor.
Search the web using DuckDuckGo and return a formatted summary of results. Use this tool whenever you need current information, specific facts, venue details, event listings, opening hours, or anything that benefits from a live web search.
Tool name 'ddg_search' does not start with action verb. Should be 'search_web' or 'web_search' to match LLM intent inference patterns.
No output schema documented. LLM cannot predict response structure, fields, or data types. Must document what fields are returned (e.g., results[], title, url, snippet, source).
Query parameter lacks validation constraints. No length limits, no guidance on format (natural language vs. operators), no examples of good queries. LLMs will pass arbitrary strings.
No pagination support (limit, offset, page parameters). Search results are inherently large; returning all results will exhaust context window. Must cap results and offer pagination.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 45 | 2026-07-28+ | v2 |
No error handling guidance. Tool description does not explain what happens on network failure, rate limiting, or invalid query. LLM has no recovery path.