$npx -y skills add luongnv89/asm --skill find-me-skillsFind Agent Skills for a goal the user cannot name yet, then export an installable bundle. Use when they ask which skills fit a project. Don't use for installing named skills, authoring skills, or catalog maintenance.
| 1 | # Find Me Skills |
| 2 | |
| 3 | Help a user who has a **goal but not a skill list** find the right Agent Skills, |
| 4 | explain what each one does, lay out an order to run them in, and — if they |
| 5 | approve — hand them a single installable bundle file. |
| 6 | |
| 7 | The user's defining trait is that they **don't know what to ask for**. Someone |
| 8 | who already knows they want `frontend-design` should just run |
| 9 | `asm install …`. This skill is for "I'm building an app and want to do marketing |
| 10 | from scratch, but I don't know marketing or which skills exist." Meet them there: |
| 11 | draw out the goal, confirm you understood it, then map it onto real, installable |
| 12 | skills from the live catalog. |
| 13 | |
| 14 | ## The loop |
| 15 | |
| 16 | 1. **Collect intent** — conversationally draw out what the user is trying to achieve. |
| 17 | 2. **Confirm understanding** — play back your read of their situation; let them correct it before you search. |
| 18 | 3. **Discover** — query the live `asm` catalog for candidate skills (never guess skill names). |
| 19 | 4. **Curate** — dedupe, group by step, and explain each skill in one plain sentence. |
| 20 | 5. **Sequence** — give a step-by-step path with the input and output of each step. |
| 21 | 6. **Export** — on approval, write a bundle file and give the one-line install command. |
| 22 | |
| 23 | Identify where the user already is and start there. If they open with a rich |
| 24 | goal ("I need SEO, a landing page, and launch copy for my SaaS"), you can confirm |
| 25 | quickly and move to discovery. If they're vague ("help me market my app"), spend |
| 26 | more time in steps 1–2. Don't skip step 2 — confirming understanding before |
| 27 | searching is what keeps recommendations relevant and is an explicit requirement. |
| 28 | |
| 29 | ## Prerequisite (check once, up front) |
| 30 | |
| 31 | This skill drives the `asm` CLI for discovery and produces a file it installs. |
| 32 | Verify `asm` is available before promising recommendations: |
| 33 | |
| 34 | ```bash |
| 35 | command -v asm || echo "MISSING" |
| 36 | ``` |
| 37 | |
| 38 | If `asm` is missing, tell the user the skill needs the Agent Skill Manager CLI |
| 39 | installed and on PATH, point them at `npm install -g agent-skill-manager` (or |
| 40 | the project's documented install), and stop. Everything downstream depends on it. |
| 41 | |
| 42 | ## Step 1 — Collect intent |
| 43 | |
| 44 | Ask open questions, one or two at a time, until you can state the user's goal in |
| 45 | a sentence. Useful prompts: |
| 46 | |
| 47 | - What are you building or working on right now? |
| 48 | - What outcome do you want — a launched product, a written artifact, a faster workflow? |
| 49 | - What part feels hardest or most unfamiliar? (This is often where skills help most.) |
| 50 | - Is this a one-off task or something you'll repeat? |
| 51 | |
| 52 | Match your vocabulary to theirs. A non-marketer asking for "marketing" may |
| 53 | actually need positioning, a landing page, and launch copy — surface those as |
| 54 | options, don't assume. Avoid jargon ("ICP", "ASO") unless they use it first. |
| 55 | |
| 56 | ## Step 2 — Confirm understanding (do not skip) |
| 57 | |
| 58 | Before searching, play back what you heard and get an explicit confirmation: |
| 59 | |
| 60 | > Here's what I understand: you're building **{project}**, and you want to |
| 61 | > **{goal}**. The pieces you're unsure about are **{gaps}**. Did I get that right? |
| 62 | |
| 63 | If they correct you, fold it in and confirm again. Only move on once they agree. |
| 64 | This step is an acceptance criterion of this skill — confirming the situation is |
| 65 | what prevents a confidently-wrong skill list. |
| 66 | |
| 67 | ## Step 3 — Discover candidates from the live catalog |
| 68 | |
| 69 | **Never invent skill names or install URLs.** The catalog changes constantly; |
| 70 | the only trustworthy source at runtime is the `asm` CLI on the user's machine. |
| 71 | Derive 2–5 search terms from the confirmed goal and query each: |
| 72 | |
| 73 | ```bash |
| 74 | asm search "<term>" --available --json |
| 75 | ``` |
| 76 | |
| 77 | Run a separate search per term — broad terms ("marketing", "seo", "landing page", "launch") surface different skills. Read `references/catalog-discovery.md` when you need the JSON shape, installed-vs-available rules, or empty-result handling; keep this detail out of the main context budget until Step 3 needs it. |
| 78 | |
| 79 | Read each candidate's `description` to judge relevance; the description's own "Use when…" / "Don't use for…" text tells you whether it fits the user's goal. Also run `asm search "<term>" --json` without `--available` to detect installed skills: mention installed matches in the plan, but exclude them from the bundle. Only `available` skills with an `installCommand` go in. |
| 80 | |
| 81 | ## Step 4 — Curate: dedupe and explain |
| 82 | |
| 83 | From the union of search hits, build the recommendation set: |
| 84 | |
| 85 | - **Deduplicate by skill `name`.** The same skill surfaces under multiple search |
| 86 | terms and sometimes from multiple repos. Keep one entry per name. If two repos |
| 87 | offer the same name, prefer the one whose description best matches the goal |
| 88 | (note th |