Source profileQuality 93/100

affaan-m/ECC/.kiro/skills/search-first/SKILL.md

search-first

Research-before-coding workflow. Search for existing tools, libraries, and patterns before writing custom code. Systematizes the "search for existing solutions before implementing" approach. Use when starting new features or adding functionality.

Source repository stars
234,327
Declared platforms
0
Static risk flags
1
Last source update
2026-07-27
Source checked
2026-07-28

Decision brief

What it does—and where it fits

Systematizes the "search for existing solutions before implementing" workflow.

Best for

  • Starting new features
  • Adding dependencies or integrations
  • Before writing utilities or helpers

Not for

  • Jumping to code: Writing a utility without checking if one exists
  • Ignoring MCP: Not checking if an MCP server already provides the capability

Compatibility matrix

Platform support, with evidence labels

PlatformStatusEvidenceWhat to check
CodexNot declaredNo explicit evidencePortability before use
Claude CodeNot declaredNo explicit evidencePortability before use
CursorNot declaredNo explicit evidencePortability before use
Gemini CLINot declaredNo explicit evidencePortability before use
Open the compatibility checker

Installation

Inspect first. Install second.

The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.

Source-detected install commandSource
npx skills add https://github.com/affaan-m/ECC --skill ".kiro/skills/search-first"
Safe inspection promptEditorial

Inspect the Agent Skill "search-first" from https://github.com/affaan-m/ECC/blob/4e973d3eaf92d97f8d2e2d8abb39d8bdc8711b38/.kiro/skills/search-first/SKILL.md at commit 4e973d3eaf92d97f8d2e2d8abb39d8bdc8711b38. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.

Workflow

What the source asks the agent to do

  1. 01

    Workflow

    Review the “Workflow” section in the pinned source before continuing.

    Review and apply the “Workflow” source section.
  2. 02

    How to Use

    Before writing a utility or adding functionality, mentally run through:

    Does this already exist in the repo? → Search through relevant modules/tests firstIs this a common problem? → Search npm/PyPIIs there an MCP for this? → Check MCP configuration and search
  3. 03

    Trigger

    Use this skill when: - Starting a new feature that likely has existing solutions - Adding a dependency or integration - The user asks "add X functionality" and you're about to write code - Before creating a new utility, helper, or abstraction

    Starting a new feature that likely has existing solutionsAdding a dependency or integrationThe user asks "add X functionality" and you're about to write code
  4. 04

    Scope and Approval Rules

    Default to read-only research: inspect the repo, package metadata, docs, and public examples before recommending a dependency or integration. Do not install packages, configure MCP servers, publish artifacts, open PRs, or make external write actions from this skill unless the us…

    Default to read-only research: inspect the repo, package metadata, docs, and public examples before recommending a dependency or integration. Do not install packages, configure MCP servers, publish artifacts, open PRs,…When a candidate requires credentials, paid services, network writes, or project-wide config changes, return a recommendation and approval checkpoint instead of applying it directly.
  5. 05

    Decision Matrix

    Review the “Decision Matrix” section in the pinned source before continuing.

    Review and apply the “Decision Matrix” source section.

Permission review

Static risk signals and limitations

Reads files

low · line 15

The documentation asks the agent to read local files, directories, or repositories.

Default to read-only research: inspect the repo, package metadata, docs, and public examples before recommending a dependency or integration. Do not install packages, configure MCP servers, publish artifacts, open PRs, or make external writ

Evidence record

Why each signal appears

EvidenceSourceComputedTestedEditorial
SignalValueEvidence typeMeaning
Quality score93/100ComputedDocumentation, specificity, maintenance, and trust rules
Repository stars234,327SourceRepository attention, not individual Skill quality
Compatibility0 platformsSourceDeclared in the catalog source record
Usage guideautomated source guideEditorialGenerated or reviewed according to the visible evidence level

Pinned source

Provenance and original SKILL.md

Repository
affaan-m/ECC
Skill path
.kiro/skills/search-first/SKILL.md
Commit
4e973d3eaf92d97f8d2e2d8abb39d8bdc8711b38
License
MIT
Collected
2026-07-28
Default branch
main
View the original SKILL.md

/search-first — Research Before You Code

Systematizes the "search for existing solutions before implementing" workflow.

Trigger

Use this skill when:

  • Starting a new feature that likely has existing solutions
  • Adding a dependency or integration
  • The user asks "add X functionality" and you're about to write code
  • Before creating a new utility, helper, or abstraction

Scope and Approval Rules

Default to read-only research: inspect the repo, package metadata, docs, and public examples before recommending a dependency or integration. Do not install packages, configure MCP servers, publish artifacts, open PRs, or make external write actions from this skill unless the user has explicitly approved that action in the current task.

When a candidate requires credentials, paid services, network writes, or project-wide config changes, return a recommendation and approval checkpoint instead of applying it directly.

Workflow

┌─────────────────────────────────────────────┐
│  1. NEED ANALYSIS                           │
│     Define what functionality is needed      │
│     Identify language/framework constraints  │
├─────────────────────────────────────────────┤
│  2. PARALLEL SEARCH (researcher agent)      │
│     ┌──────────┐ ┌──────────┐ ┌──────────┐  │
│     │  npm /   │ │  MCP /   │ │  GitHub / │  │
│     │  PyPI    │ │  Skills  │ │  Web      │  │
│     └──────────┘ └──────────┘ └──────────┘  │
├─────────────────────────────────────────────┤
│  3. EVALUATE                                │
│     Score candidates (functionality, maint, │
│     community, docs, license, deps)         │
├─────────────────────────────────────────────┤
│  4. DECIDE                                  │
│     ┌─────────┐  ┌──────────┐  ┌─────────┐  │
│     │  Adopt  │  │  Extend  │  │  Build   │  │
│     │ as-is   │  │  /Wrap   │  │  Custom  │  │
│     └─────────┘  └──────────┘  └─────────┘  │
├─────────────────────────────────────────────┤
│  5. APPROVAL CHECKPOINT / IMPLEMENT         │
│     Recommend package / MCP / custom code   │
│     Apply only after explicit approval      │
└─────────────────────────────────────────────┘

Decision Matrix

SignalAction
Exact match, well-maintained, MIT/ApacheAdopt — recommend the package and request approval before install or config changes
Partial match, good foundationExtend — recommend the package plus a thin wrapper, then wait for approval before applying
Multiple weak matchesCompose — propose 2-3 small packages and the integration plan before installing anything
Nothing suitable foundBuild — explain why custom code is warranted, then implement only within the approved task scope

How to Use

Quick Mode (inline)

Before writing a utility or adding functionality, mentally run through:

  1. Does this already exist in the repo? → Search through relevant modules/tests first
  2. Is this a common problem? → Search npm/PyPI
  3. Is there an MCP for this? → Check MCP configuration and search
  4. Is there a skill for this? → Check available skills
  5. Is there a GitHub implementation/template? → Run GitHub code search for maintained OSS before writing net-new code

Full Mode (subagent)

For non-trivial functionality, delegate to a research-focused subagent:

Invoke subagent with prompt:
  "Research existing tools for: [DESCRIPTION]
   Language/framework: [LANG]
   Constraints: [ANY]

   Search: npm/PyPI, MCP servers, skills, GitHub
   Return: Structured comparison with recommendation"

Search Shortcuts by Category

Development Tooling

  • Linting → eslint, ruff, textlint, markdownlint
  • Formatting → prettier, black, gofmt
  • Testing → jest, pytest, go test
  • Pre-commit → husky, lint-staged, pre-commit

AI/LLM Integration

  • Claude SDK → Check for latest docs
  • Prompt management → Check MCP servers
  • Document processing → unstructured, pdfplumber, mammoth

Data & APIs

  • HTTP clients → httpx (Python), ky/got (Node)
  • Validation → zod (TS), pydantic (Python)
  • Database → Check for MCP servers first

Content & Publishing

  • Markdown processing → remark, unified, markdown-it
  • Image optimization → sharp, imagemin

Integration Points

With planner agent

The planner should invoke researcher before Phase 1 (Architecture Review):

  • Researcher identifies available tools
  • Planner incorporates them into the implementation plan
  • Avoids "reinventing the wheel" in the plan

With architect agent

The architect should consult researcher for:

  • Technology stack decisions
  • Integration pattern discovery
  • Existing reference architectures

With iterative-retrieval skill

Combine for progressive discovery:

  • Cycle 1: Broad search (npm, PyPI, MCP)
  • Cycle 2: Evaluate top candidates in detail
  • Cycle 3: Test compatibility with project constraints

Examples

Example 1: "Add dead link checking"

Need: Check markdown files for broken links
Search: npm "markdown dead link checker"
Found: textlint-rule-no-dead-link (score: 9/10)
Action: ADOPT — recommend `textlint-rule-no-dead-link` and ask before installing it
Result: Zero custom code if approved, battle-tested solution

Example 2: "Add HTTP client wrapper"

Need: Resilient HTTP client with retries and timeout handling
Search: npm "http client retry", PyPI "httpx retry"
Found: got (Node) with retry plugin, httpx (Python) with built-in retry
Action: ADOPT — recommend `got`/`httpx` directly with retry config and ask before changing dependencies
Result: Zero custom code if approved, production-proven libraries

Example 3: "Add config file linter"

Need: Validate project config files against a schema
Search: npm "config linter schema", "json schema validator cli"
Found: ajv-cli (score: 8/10)
Action: ADOPT + EXTEND — recommend `ajv-cli` plus a project-specific schema, then wait for approval before install/write
Result: 1 package + 1 schema file if approved, no custom validation logic

Anti-Patterns

  • Jumping to code: Writing a utility without checking if one exists
  • Ignoring MCP: Not checking if an MCP server already provides the capability
  • Over-customizing: Wrapping a library so heavily it loses its benefits
  • Dependency bloat: Installing a massive package for one small feature

When to Use This Skill

  • Starting new features
  • Adding dependencies or integrations
  • Before writing utilities or helpers
  • When evaluating technology choices
  • Planning architecture decisions

Alternatives

Compare before choosing