Agent skill
search-first
Research-before-coding workflow — search for existing tools, libraries, and patterns before writing custom code. Use before writing custom utilities or adding new dependencies.
Install this agent skill to your Project
npx add-skill https://github.com/xbklairith/kisune/tree/main/dev-workflow/skills/search-first
SKILL.md
Search First — Research Before You Code
Systematizes the "search for existing solutions before implementing" workflow.
When to Activate
- Starting a feature that likely has existing solutions
- Adding a dependency or integration
- Before creating a new utility, helper, or abstraction
- User asks "add X functionality" and you're about to write code
Workflow
1. NEED ANALYSIS
Define functionality needed + language/framework constraints
2. PARALLEL SEARCH
- Package registries (npm, PyPI, crates.io)
- Existing codebase (grep for similar patterns)
- GitHub / web search
- MCP servers and Claude Code skills
3. EVALUATE
Score: functionality, maintenance, community, docs, license, deps
4. DECIDE
Adopt | Extend/Wrap | Build Custom
5. IMPLEMENT
Install package / Configure / Write minimal custom code
Decision Matrix
| Signal | Action |
|---|---|
| Exact match, well-maintained, MIT/Apache | Adopt — install and use |
| Partial match, good foundation | Extend — install + thin wrapper |
| Multiple weak matches | Compose — combine 2-3 packages |
| Nothing suitable | Build — write custom, informed by research |
Quick Checklist
Before writing a utility:
- Does this already exist in the repo? (
rgthrough modules) - Is this a common problem? (search npm/PyPI)
- Is there a GitHub implementation? (code search)
- Is there an MCP server for this?
- Is there a Claude Code skill for this?
Common Shortcuts
Development Tooling
- Linting:
eslint,ruff,golangci-lint - Formatting:
prettier,black,gofmt - Testing:
jest,pytest,go test - Pre-commit:
husky,lint-staged
Data & APIs
- HTTP:
httpx(Python),ky/got(Node) - Validation:
zod(TS),pydantic(Python) - DB: Check for ORM/query builder first
AI/LLM Integration
- Claude SDK for latest API patterns
- Document processing:
pdfplumber,mammoth
Anti-Patterns
- Jumping to code without checking if solution exists
- Over-customizing — wrapping a library so heavily it loses benefits
- Dependency bloat — installing massive package for one small feature
- Ignoring internal code — not checking if repo already has the utility
Examples
"Add dead link checking"
Need: Check markdown for broken links
Found: textlint-rule-no-dead-link
Action: ADOPT
Result: Zero custom code
"Add HTTP client with retries"
Need: Resilient HTTP with retries + timeouts
Found: got (Node) with retry plugin
Action: ADOPT with config
Result: Zero custom code
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
e2e-testing
Playwright E2E testing — Page Object Model, configuration, flaky test strategies, and CI/CD integration. Use when writing, debugging, or configuring E2E tests.
brainstorming
Collaborative refinement of rough ideas into clear requirements/designs through systematic questioning. Use when requirements are vague or exploring architectural options.
agentic-engineering
Operate as an agentic engineer — eval-first execution, task decomposition, cost-aware model routing (Haiku/Sonnet/Opus). Use when setting up AI-assisted workflows or optimizing model routing.
test-driven-development
Strict RED-GREEN-REFACTOR enforcement with no exceptions. Use when implementing features or fixing bugs. No production code without a failing test first.
api-design
REST API design patterns — resource naming, status codes, pagination, filtering, error responses, versioning, and rate limiting. Use when designing, reviewing, or documenting API endpoints.
spec-driven-planning
MANDATORY planning — creates specs in docx/features/ with EARS requirements and technical design. MUST activate instead of ad-hoc planning for any new feature.
Didn't find tool you were looking for?