Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion skills/answers/SKILL.md
Original file line number Diff line number Diff line change
@@ -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.
---
Expand Down
2 changes: 1 addition & 1 deletion skills/batch/SKILL.md
Original file line number Diff line number Diff line change
@@ -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.
---
Expand Down
2 changes: 1 addition & 1 deletion skills/crawl/SKILL.md
Original file line number Diff line number Diff line change
@@ -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.
---
Expand Down
2 changes: 1 addition & 1 deletion skills/debug-error/SKILL.md
Original file line number Diff line number Diff line change
@@ -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.
---
Expand Down
2 changes: 1 addition & 1 deletion skills/docs-to-code/SKILL.md
Original file line number Diff line number Diff line change
@@ -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.
---
Expand Down
2 changes: 1 addition & 1 deletion skills/extract-schema/SKILL.md
Original file line number Diff line number Diff line change
@@ -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.
---
Expand Down
2 changes: 1 addition & 1 deletion skills/integrate/SKILL.md
Original file line number Diff line number Diff line change
@@ -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"
Expand Down
2 changes: 1 addition & 1 deletion skills/map/SKILL.md
Original file line number Diff line number Diff line change
@@ -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.
---
Expand Down
2 changes: 1 addition & 1 deletion skills/migrate-code/SKILL.md
Original file line number Diff line number Diff line change
@@ -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".
---
Expand Down
2 changes: 1 addition & 1 deletion skills/research/SKILL.md
Original file line number Diff line number Diff line change
@@ -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.
---
Expand Down
2 changes: 1 addition & 1 deletion skills/scrape/SKILL.md
Original file line number Diff line number Diff line change
@@ -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.
---
Expand Down
2 changes: 1 addition & 1 deletion skills/search/SKILL.md
Original file line number Diff line number Diff line change
@@ -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.
---
Expand Down
2 changes: 1 addition & 1 deletion skills/setup/SKILL.md
Original file line number Diff line number Diff line change
@@ -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.
---
Expand Down
13 changes: 9 additions & 4 deletions src/lib/skills.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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;
});
Expand Down
Loading