From f0ae6544718f74ada01687e99453e46923fea064 Mon Sep 17 00:00:00 2001 From: Zeeshan Adil Date: Wed, 15 Jul 2026 11:48:56 +0500 Subject: [PATCH] fix: prefix skill names with olostep- to avoid conflicts --- skills/answers/SKILL.md | 2 +- skills/batch/SKILL.md | 2 +- skills/crawl/SKILL.md | 2 +- skills/debug-error/SKILL.md | 2 +- skills/docs-to-code/SKILL.md | 2 +- skills/extract-schema/SKILL.md | 2 +- skills/integrate/SKILL.md | 2 +- skills/map/SKILL.md | 2 +- skills/migrate-code/SKILL.md | 2 +- skills/research/SKILL.md | 2 +- skills/scrape/SKILL.md | 2 +- skills/search/SKILL.md | 2 +- skills/setup/SKILL.md | 2 +- src/lib/skills.ts | 13 +++++++++---- 14 files changed, 22 insertions(+), 17 deletions(-) diff --git a/skills/answers/SKILL.md b/skills/answers/SKILL.md index 7019390..4393c37 100644 --- a/skills/answers/SKILL.md +++ b/skills/answers/SKILL.md @@ -1,5 +1,5 @@ --- -name: answers +name: olostep-answers category: usage description: Get AI-powered answers with citations from live web data using Olostep. Use when the user needs up-to-date facts, competitive intelligence, pricing comparisons, structured data from the web, or wants web-sourced answers in a specific JSON shape they can use directly in code or docs. --- diff --git a/skills/batch/SKILL.md b/skills/batch/SKILL.md index 623db1b..16a6037 100644 --- a/skills/batch/SKILL.md +++ b/skills/batch/SKILL.md @@ -1,5 +1,5 @@ --- -name: batch +name: olostep-batch category: usage description: Scrape up to 10,000 URLs in parallel using Olostep. Use when the user has a list of URLs to extract content from at once — product pages, job listings, pricing pages, changelogs, docs, or any set of known pages. Much faster than scraping one-by-one. --- diff --git a/skills/crawl/SKILL.md b/skills/crawl/SKILL.md index 525a3f7..45e7d48 100644 --- a/skills/crawl/SKILL.md +++ b/skills/crawl/SKILL.md @@ -1,5 +1,5 @@ --- -name: crawl +name: olostep-crawl category: usage description: Autonomously crawl an entire website by following links from a starting URL using Olostep. Use when the user wants to ingest an entire docs site, blog, knowledge base, or any multi-page site as context for coding, writing, analysis, or building a knowledge base. --- diff --git a/skills/debug-error/SKILL.md b/skills/debug-error/SKILL.md index 295f1f1..d63e8ba 100644 --- a/skills/debug-error/SKILL.md +++ b/skills/debug-error/SKILL.md @@ -1,5 +1,5 @@ --- -name: debug-error +name: olostep-debug-error category: workflow description: Search the web for a specific error message or bug using Olostep. Use when the user pastes an error stack trace, says their code is failing, or asks how to fix a bug that requires looking up recent GitHub issues, StackOverflow threads, or framework documentation. --- diff --git a/skills/docs-to-code/SKILL.md b/skills/docs-to-code/SKILL.md index d40a417..c566a24 100644 --- a/skills/docs-to-code/SKILL.md +++ b/skills/docs-to-code/SKILL.md @@ -1,5 +1,5 @@ --- -name: docs-to-code +name: olostep-docs-to-code category: workflow description: Scrape API documentation or library docs and use them to write working, up-to-date code. Use when the user wants to integrate a third-party API, learn a new library, generate SDK usage examples, write code based on a docs URL, or update code after a library version change. This is the flagship workflow — never hallucinate API parameters when you can scrape the real docs. --- diff --git a/skills/extract-schema/SKILL.md b/skills/extract-schema/SKILL.md index fc060b2..c7de844 100644 --- a/skills/extract-schema/SKILL.md +++ b/skills/extract-schema/SKILL.md @@ -1,5 +1,5 @@ --- -name: extract-schema +name: olostep-extract-schema category: workflow description: Scrape a webpage with Olostep and extract specific structured data matching a TypeScript interface, JSON schema, or database model. Use when the user wants to turn a website (like a product list, directory, or article) into clean, structured JSON or seed data. --- diff --git a/skills/integrate/SKILL.md b/skills/integrate/SKILL.md index 85a2328..665689a 100644 --- a/skills/integrate/SKILL.md +++ b/skills/integrate/SKILL.md @@ -1,5 +1,5 @@ --- -name: integrate +name: olostep-integrate category: build description: Automatically integrate the Olostep SDK into the user's codebase. Analyzes the project, detects the language and framework, chooses the right integration pattern, installs the SDK, writes all the code, and verifies it works — with minimal prompting. Use when the user wants to add Olostep web scraping, search, or AI answers to their project. argument-hint: "API-KEY" diff --git a/skills/map/SKILL.md b/skills/map/SKILL.md index 3662fc8..bea7a4a 100644 --- a/skills/map/SKILL.md +++ b/skills/map/SKILL.md @@ -1,5 +1,5 @@ --- -name: map +name: olostep-map category: usage description: Discover and list all URLs on a website using Olostep. Use when the user wants to see what pages exist on a site, find specific sections (docs, blog, API reference), audit a site's structure, or get a URL list to feed into batch or crawl. --- diff --git a/skills/migrate-code/SKILL.md b/skills/migrate-code/SKILL.md index 30fac45..6a1d26b 100644 --- a/skills/migrate-code/SKILL.md +++ b/skills/migrate-code/SKILL.md @@ -1,5 +1,5 @@ --- -name: migrate-code +name: olostep-migrate-code category: workflow description: Scrape a migration guide, changelog, or breaking changes document using Olostep and automatically update the user's local code. Use when the user is upgrading a framework, moving to a new API version, or says "help me migrate this code based on these docs". --- diff --git a/skills/research/SKILL.md b/skills/research/SKILL.md index a424e85..31d7a56 100644 --- a/skills/research/SKILL.md +++ b/skills/research/SKILL.md @@ -1,5 +1,5 @@ --- -name: research +name: olostep-research category: workflow description: Do thorough, cited web research to help the user make a decision. Compare tools, libraries, or services. Evaluate competitors. Research tech stacks, market data, or architecture patterns. Use when the user needs a well-sourced answer before making a technical, product, or business decision. --- diff --git a/skills/scrape/SKILL.md b/skills/scrape/SKILL.md index eadaaf0..d7f604c 100644 --- a/skills/scrape/SKILL.md +++ b/skills/scrape/SKILL.md @@ -1,5 +1,5 @@ --- -name: scrape +name: olostep-scrape category: usage description: Scrape a single webpage and extract its content as clean markdown, HTML, JSON, or text using Olostep. Use when the user shares a URL and wants to read it, extract content from it, understand its structure, use it as context for coding, or turn a page into data. Handles JavaScript-rendered pages, SPAs, and bot-protected sites automatically. --- diff --git a/skills/search/SKILL.md b/skills/search/SKILL.md index cb9ae78..046c845 100644 --- a/skills/search/SKILL.md +++ b/skills/search/SKILL.md @@ -1,5 +1,5 @@ --- -name: search +name: olostep-search category: usage description: Search the web using Olostep for live, up-to-date information. Three tools available — answers (AI-synthesised answers with citations), google_search (structured Google results), and get_website_urls (find pages within a specific site). Use when the user needs current data, comparisons, or facts the AI's training data may not have. --- diff --git a/skills/setup/SKILL.md b/skills/setup/SKILL.md index 7b6129f..6007fbe 100644 --- a/skills/setup/SKILL.md +++ b/skills/setup/SKILL.md @@ -1,5 +1,5 @@ --- -name: setup +name: olostep-setup category: build description: Configure the Olostep MCP server so all Olostep skills work correctly. Use when the user is setting up Olostep for the first time, has no MCP server configured, or is getting authentication errors. Supports both the hosted endpoint (recommended) and a local stdio install. --- diff --git a/src/lib/skills.ts b/src/lib/skills.ts index dd53d48..0d5bd3e 100644 --- a/src/lib/skills.ts +++ b/src/lib/skills.ts @@ -489,13 +489,18 @@ export function runInstall(opts: InstallOptions): InstallResult { const discovered = discoverSkills(source); - const include = new Set((opts.only ?? []).map((x) => sanitizeName(x))); - const exclude = new Set((opts.exclude ?? []).map((x) => sanitizeName(x))); + // Strip the olostep- prefix before comparing so both `--skill search` + // and `--skill olostep-search` resolve to the same entry. + const stripPrefix = (x: string) => + x.startsWith(SKILL_FOLDER_PREFIX) ? x.slice(SKILL_FOLDER_PREFIX.length) : x; + + const include = new Set((opts.only ?? []).map((x) => stripPrefix(sanitizeName(x)))); + const exclude = new Set((opts.exclude ?? []).map((x) => stripPrefix(sanitizeName(x)))); const category = opts.category as SkillCategory | undefined; const selected = discovered.filter((s) => { - if (include.size && !include.has(s.sanitizedName)) return false; - if (exclude.has(s.sanitizedName)) return false; + if (include.size && !include.has(stripPrefix(s.sanitizedName))) return false; + if (exclude.has(stripPrefix(s.sanitizedName))) return false; if (category && s.category !== category) return false; return true; });