Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add mshadmanrahman/pm-pilot --skill search-firstgit clone --depth 1 https://github.com/mshadmanrahman/pm-pilotWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/mshadmanrahman/pm-pilot/search-first)<a href="https://agentmods.dev/skills/mshadmanrahman/pm-pilot/search-first"><img src="https://agentmods.dev/badge/skills/mshadmanrahman/pm-pilot/search-first.svg" alt="Measured on agentmods" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00010 | $0.00554 |
| Opus 5 | $0.00005 | $0.00277 |
| Sonnet 5 | $0.00002 | $0.00111 |
| Haiku 4.5 | $0.00001 | $0.00055 |
Grade A, and why
search-first scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 8d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 91 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Search First
Mandatory research before writing any new code. Reuse beats reinvention.
When to Use
- Before implementing any new feature
- Before writing a utility function
- Before adding a new dependency
- Before building infrastructure (CI, deploy, tooling)
Procedure
Step 1: GitHub Code Search
# Search for existing implementations
gh search repos "{feature keywords}" --limit 5
gh search code "{function signature or pattern}" --limit 10
Look for:
- Battle-tested implementations with stars and activity
- Patterns that solve 80%+ of the problem
- Forkable/portable code with compatible licenses
Step 2: Package Registry Search
Check the relevant registry:
- npm:
npm search {keywords} - PyPI:
pip index versions {package}or web search - crates.io:
cargo search {keywords} - Go:
pkg.go.devsearch
Evaluate packages on:
- Download count and trend
- Last publish date (stale = risk)
- Dependency count (fewer = better)
- License compatibility
Step 3: Library Documentation
- Read official docs for candidate libraries
- Check API matches the use case
- Verify version compatibility with project
Step 4: Decision
Output one of:
REUSE: {package/repo} - {why it fits}
ADAPT: {package/repo} - {what needs modification}
BUILD: No suitable existing solution - {why}
Output Format
Search: {what was needed}
GitHub: 3 repos found, 1 strong match
- github.com/user/repo (2.1k stars, MIT, active)
Registry: 2 packages evaluated
- package-name (50k weekly downloads, v3.2.1)
Decision: REUSE package-name
Rationale: Covers all requirements, well-maintained, MIT license
Install: npm install package-name
Rules
- NEVER skip this step for non-trivial implementations
- Spending 5 minutes searching saves hours of coding
- A 90% solution from a library beats a 100% custom solution
- If BUILD is the decision, document why alternatives were rejected
- For trivial utilities (< 10 lines), skip registry search
- Always check license compatibility before adopting
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 8d ago First seen · 91 lines · 10 tokens per session scan A 648f955cd55a
search-first is a skill published in the GitHub repository mshadmanrahman/pm-pilot (20 stars, last pushed 2d ago), licensed MIT. It adds 10 tokens to every session and 554 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
build-implementation
Generate context-aware implementation prompts for a selected growth loop. Use when the user says "build", "implement", "generate code", "create prompt", or "how do I build this".
analyze-codebase
Run comprehensive PLG analysis on a codebase to detect tech stack, existing growth features, and revenue opportunities. Use when the user says "analyze", "scan", "audit codebase", or "find growth opportunities".
deploy-telemetry
Set up analytics and tracking infrastructure for growth loops. Use when the user says "deploy telemetry", "set up analytics", "tracking", "events", "push to supabase", or "skene push".
plan-growth-loop
Generate prioritized growth loops with implementation roadmaps based on codebase analysis. Use when the user says "plan", "growth loops", "prioritize", "what should I build", or "roadmap".
validate-loop
Check if growth loop requirements are actually implemented in the codebase. Use when the user says "validate", "check status", "skene status", "is it done", or "verify implementation".
initialize-config
Set up Skene configuration for a project. Use when starting a new PLG analysis, when .skene.config is missing, or when the user says "skene init", "set up skene", or "configure skene".