Project Release
swimmwatch/cloakbrowser-mcp
Prepare, publish, verify, or recover a cloakbrowser-mcp release only when the user explicitly requests release work.
Guide AI agents to generate complete PageObject pattern web scraper projects using Playwright and TypeScript with Docker deployment.
$ npx skills add jwynia/agent-skills --skill scraper-builder -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install jwynia/agent-skills scraper-builder --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/jwynia/agent-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/tech/development/tooling/scraper-builder .claude/skills/scraper-builder && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "scraper-builder" agent skill from https://github.com/jwynia/agent-skills/tree/main/skills/tech/development/tooling/scraper-builder into .claude/skills/scraper-builder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scraper-builder", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/jwynia/agent-skills/tree/main/skills/tech/development/tooling/scraper-builderType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add jwynia/agent-skills --skill scraper-builder -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install jwynia/agent-skills scraper-builder --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jwynia/agent-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/tech/development/tooling/scraper-builder .agents/skills/scraper-builder && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "scraper-builder" agent skill from https://github.com/jwynia/agent-skills/tree/main/skills/tech/development/tooling/scraper-builder into .agents/skills/scraper-builder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scraper-builder", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add jwynia/agent-skills --skill scraper-builder -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install jwynia/agent-skills scraper-builder --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jwynia/agent-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/tech/development/tooling/scraper-builder .cursor/skills/scraper-builder && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "scraper-builder" agent skill from https://github.com/jwynia/agent-skills/tree/main/skills/tech/development/tooling/scraper-builder into .cursor/skills/scraper-builder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scraper-builder", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/jwynia/agent-skills.git --path skills/tech/development/tooling/scraper-builder--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add jwynia/agent-skills --skill scraper-builder -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install jwynia/agent-skills scraper-builder --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jwynia/agent-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/tech/development/tooling/scraper-builder .gemini/skills/scraper-builder && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "scraper-builder" agent skill from https://github.com/jwynia/agent-skills/tree/main/skills/tech/development/tooling/scraper-builder into .gemini/skills/scraper-builder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scraper-builder", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install jwynia/agent-skills scraper-builderInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add jwynia/agent-skills --skill scraper-builder -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/jwynia/agent-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/tech/development/tooling/scraper-builder .github/skills/scraper-builder && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "scraper-builder" agent skill from https://github.com/jwynia/agent-skills/tree/main/skills/tech/development/tooling/scraper-builder into .github/skills/scraper-builder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scraper-builder", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add jwynia/agent-skills --skill scraper-builder -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install jwynia/agent-skills scraper-builder --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jwynia/agent-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/tech/development/tooling/scraper-builder .opencode/skills/scraper-builder && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "scraper-builder" agent skill from https://github.com/jwynia/agent-skills/tree/main/skills/tech/development/tooling/scraper-builder into .opencode/skills/scraper-builder/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scraper-builder", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
scraper-builderGuide AI agents to generate complete PageObject pattern web scraper projects using Playwright and TypeScript with Docker deployment.
Scraper Builder is an agent skill from jwynia/agent-skills. Guide AI agents to generate complete PageObject pattern web scraper projects using Playwright and TypeScript with Docker deployment. Supports agent-browser site analysis for automated selector discovery. Keywords: scraper, playwright, pageobject, web scraping, docker, typescript, data extraction, automation.
Its SKILL.md is about 4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 28 other files, including scripts, reference files and assets (for example `assets/configs/docker-compose.yml.md`, `assets/configs/dockerfile.md` and `assets/configs/package.json.md`). Compatibility notes: Requires Deno for generator scripts. Generated projects use Node.js with Playwright.
It sits in Data & Analytics, covering Web scraping, Browser automation and Containers. It works with Docker, Playwright and TypeScript. The licence is MIT.
11 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit e02ec7e. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 1 file in scripts/, which the agent can run.
Shell commands in SKILL.md call:
denonpxFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use npx, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Requires Deno for generator scripts. Generated projects use Node.js with Playwright.
From compatibility in the SKILL.md frontmatter.
Scraper Builder loads about 4k tokens when it runs, and up to ~12k if it reads all its reference files. Until then it costs about 81 tokens; SKILL.md has 1,366 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from jwynia/agent-skills at commit e02ec7e, republished under its MIT licence (© jwynia). 1,366 words, ~4,032 tokens.
.claude/skills/scraper-builder/SKILL.md (or your agent's skills folder). This skill also uses 23 other files; get the full folder from GitHub.Generate complete, runnable web scraper projects using the PageObject pattern with Playwright and TypeScript. This skill produces site-specific scrapers with typed data extraction, Docker deployment, and optional agent-browser integration for automated site analysis.
Use this skill when:
Do NOT use this skill when:
Each page on the target site maps to one PageObject class. Locators are defined in the constructor, and scraping logic lives in methods. Page objects never contain assertions or business logic — they extract and return data.
Prefer selectors in this order: data-testid > id > semantic HTML (role, aria-label) > structured CSS classes > text content. Avoid positional selectors (nth-child) and layout-dependent paths. See references/playwright-selectors.md for the full hierarchy.
Reusable UI patterns (pagination, data tables, search bars) are modeled as component classes that page objects compose via properties. Only BasePage uses inheritance — everything else composes.
All scraped data flows through Zod schemas for validation. This catches selector drift (when a site changes its markup) at extraction time rather than downstream. See assets/templates/data-schema.ts.md.
Generated projects include a Dockerfile using Microsoft's official Playwright images and a docker-compose.yml with volume mounts for output data and debug screenshots. This ensures consistent browser environments across machines.
Use agent-browser to navigate the target site, capture accessibility tree snapshots, and automatically discover selectors. This is the preferred mode when the agent has access to the agent-browser CLI.
Prerequisites: If agent-browser is not already installed, add it as a skill first:
npx skills add vercel-labs/agent-browserWorkflow:
# 1. Open the target page
agent-browser open https://example.com/products
# 2. Capture interactive snapshot with element references
agent-browser snapshot -i --json > snapshot.json
# 3. Capture scoped sections for focused analysis
agent-browser snapshot -i --json -s "main" > main-content.json
agent-browser snapshot -i --json -s "nav" > navigation.json
# 4. Test dynamic behavior (pagination, load-more)
agent-browser click @e3
agent-browser wait --load networkidle
agent-browser snapshot -i --json > after-click.json
# 5. Close when done
agent-browser closeWhat the agent does with snapshots:
@e1, @e2, etc.) and their rolesSee references/agent-browser-workflow.md for the complete workflow reference.
The user describes the target site's page structure and the agent maps it to page objects. The agent asks structured questions:
The agent then:
data/site-archetypes.jsonGenerate a complete runnable project in one operation using the scaffolder script:
deno run --allow-read --allow-write scripts/scaffold-scraper-project.ts \
--name "my-scraper" \
--url "https://example.com" \
--pages "ProductListing,ProductDetail" \
--fields "title,price,image_url,description"This produces a project with all source files, configuration, Docker setup, and an entry point ready to run. See the Scripts Reference section for full options.
| Category | Approach | Details |
|---|---|---|
| Framework | Playwright | playwright package, not @playwright/test |
| Language | TypeScript | Strict mode, ES2022 target |
| Pattern | PageObject | One class per page, compose components |
| Selectors | Resilient | data-testid > id > role > CSS class > text |
| Wait strategy | Auto-wait | Playwright built-in, plus networkidle for navigation |
| Validation | Zod | Schema per page object's output type |
| Output | JSON + CSV | Configurable via storage utility |
| Docker | Official image | mcr.microsoft.com/playwright:v1.48.0-jammy |
| Retry | Exponential backoff | 3 attempts default, configurable |
| Screenshots | On error | Saved to screenshots/ for debugging |
Follow this sequence when generating a scraper:
Ask the user for:
Use Mode 1 (agent-browser) or Mode 2 (manual description) to understand:
Create a plan listing:
Show the user the page object map before generating code. Include class names, field names, and the execution flow. Wait for confirmation.
Use the templates in assets/templates/ as the foundation:
base-page.ts.md — BasePage abstract classpage-object.ts.md — Site-specific page objectcomponent.ts.md — Reusable componentsscraper-runner.ts.md — Orchestratordata-schema.ts.md — Zod validation schemasProvide the complete project with:
assets/configs/Abstract class providing navigate(), waitForPageLoad(), screenshot(), and getText() helpers. All page objects extend this.
export abstract class BasePage {
constructor(protected readonly page: Page) {}
async navigate(url: string): Promise<void> { /* ... */ }
async screenshot(name: string): Promise<void> { /* ... */ }
}See: assets/templates/base-page.ts.md
Site-specific class with locators as readonly properties, scrape methods returning typed data, and navigation methods for multi-page flows.
export class ProductListingPage extends BasePage {
readonly productCards: Locator;
readonly nextButton: Locator;
async scrapeProducts(): Promise<Product[]> { /* ... */ }
async goToNextPage(): Promise<boolean> { /* ... */ }
}See: assets/templates/page-object.ts.md
Reusable UI pattern (Pagination, DataTable) that receives a parent locator scope and provides extraction methods.
export class Pagination {
constructor(private page: Page, private scope: Locator) {}
async hasNextPage(): Promise<boolean> { /* ... */ }
async goToNext(): Promise<void> { /* ... */ }
}See: assets/templates/component.ts.md
Orchestrator that launches the browser, creates page objects, iterates through pages, collects data, validates with schemas, and writes output.
export class SiteScraper {
async run(): Promise<void> {
const browser = await chromium.launch();
const page = await browser.newPage();
// navigate, scrape, validate, write
}
}See: assets/templates/scraper-runner.ts.md
Zod schemas that validate scraped records, catching selector drift and malformed data at extraction time.
export const ProductSchema = z.object({
title: z.string().min(1),
price: z.number().positive(),
});See: assets/templates/data-schema.ts.md
| Anti-Pattern | Problem | Solution |
|---|---|---|
| Monolith Scraper | All scraping logic in one file | Split into PageObject classes per page |
| Sleep Waiter | Using setTimeout/fixed delays | Use Playwright auto-wait and networkidle |
| Unvalidated Pipeline | No schema validation on output | Add Zod schemas for every data type |
| Selector Lottery | Fragile positional selectors | Use resilient selector hierarchy |
| Silent Failure | Swallowing errors without logging | Log failures and save debug screenshots |
| Unthrottled Crawler | No delay between requests | Add configurable request delays |
| Hardcoded Config | URLs and selectors in code | Use environment variables and config files |
| No Retry Logic | Single attempt per request | Implement exponential backoff |
See references/anti-patterns.md for the extended catalog with examples and fixes.
Generate a complete scraper project:
deno run --allow-read --allow-write scripts/scaffold-scraper-project.ts [options]
Options:
--name <name> Project name (required)
--path <path> Target directory (default: ./)
--url <url> Target site base URL
--pages <pages> Comma-separated page names (e.g., ProductListing,ProductDetail)
--fields <fields> Comma-separated data fields (e.g., title,price,rating)
--no-docker Skip Docker setup
--no-validation Skip Zod validation setup
--json Output as JSON
-h, --help Show help
Examples:
# Scaffold a product scraper
deno run --allow-read --allow-write scripts/scaffold-scraper-project.ts \
--name "shop-scraper" --url "https://shop.example.com" \
--pages "ProductListing,ProductDetail" --fields "title,price,image_url"
# Minimal scraper without Docker
deno run --allow-read --allow-write scripts/scaffold-scraper-project.ts \
--name "blog-scraper" --no-dockerGenerate a single PageObject class for an existing project:
deno run --allow-read --allow-write scripts/generate-page-object.ts [options]
Options:
--name <name> Class name (required)
--url <url> Page URL (for documentation comment)
--fields <fields> Comma-separated data fields
--selectors <json> JSON map of field to selector
--with-pagination Include pagination methods
--output <path> Output file path (default: stdout)
--json Output as JSON
-h, --help Show help
Examples:
# Generate a page object with known selectors
deno run --allow-read --allow-write scripts/generate-page-object.ts \
--name "ProductListing" --url "https://shop.example.com/products" \
--fields "title,price,rating" \
--selectors '{"title":".product-title","price":".product-price","rating":".star-rating"}' \
--with-pagination --output src/pages/ProductListingPage.ts
# Quick generation to stdout
deno run --allow-read scripts/generate-page-object.ts \
--name "SearchResults" --fields "title,url,snippet"| Template | Purpose |
|---|---|
base-page.ts.md | Abstract BasePage with navigation, screenshots, text helpers |
page-object.ts.md | Site-specific page object with locators and scrape methods |
component.ts.md | Reusable components: Pagination, DataTable |
scraper-runner.ts.md | Orchestrator: browser launch, iteration, collection, output |
data-schema.ts.md | Zod schemas for scraped data validation |
| Config | Purpose |
|---|---|
dockerfile.md | Multi-stage Dockerfile using official Playwright image |
docker-compose.yml.md | Service with data/screenshots volume mounts |
tsconfig.json.md | Strict TypeScript with ES2022 target |
package.json.md | playwright, zod, tsx dependencies |
playwright.config.ts.md | Scraper-focused Playwright configuration |
| Reference | Purpose |
|---|---|
pageobject-pattern.md | PageObject pattern adapted for scraping |
playwright-selectors.md | Selector strategies and resilience hierarchy |
docker-setup.md | Docker configuration and deployment |
agent-browser-workflow.md | Agent-browser analysis workflow |
anti-patterns.md | Extended anti-pattern catalog |
| Example | Purpose |
|---|---|
ecommerce-scraper.md | Complete multi-page product scraper walkthrough |
multi-page-pagination.md | Pagination handling strategies |
| File | Purpose |
|---|---|
selector-patterns.json | Common selectors organized by UI element type |
site-archetypes.json | Website structure archetypes with typical pages and fields |
User: "I need a scraper for an online bookstore. I want to get book titles, authors, prices, and ratings from the catalog pages."
Agent workflow:
site-archetypes.json — matches ecommerce archetypeBookListingPage — catalog with paginationBookDetailPage — individual book page (if detail scraping needed)Pagination component — shared pagination handlertitle → [itemprop="name"] or .book-titleauthor → [itemprop="author"] or .book-authorprice → [itemprop="price"] or .pricerating → .star-rating or [data-rating]Book typeThis skill connects to:
This skill does NOT:
© jwynia, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 23 other files (scripts, references, assets) in skills/tech/development/tooling/scraper-builder of jwynia/agent-skills.
Open the folder on GitHubat commit e02ec7e
Scraper Builder next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Scraper Builder this skilljwynia/agent-skills | 165 | — | ~4k | Automated safety check: Pass | MIT | |
| Project Releaseswimmwatch/cloakbrowser-mcp | 161 | — | ~1.9k | Automated safety check: Pass | MIT | |
| Project Docs Maintainerswimmwatch/cloakbrowser-mcp | 161 | — | ~569 | Automated safety check: Pass | MIT | |
| Apify Actor Developmentapify/agent-skills | 2.4k | — | ~2.9k | Automated safety check: Pass | None | |
| Project Pull Requestswimmwatch/cloakbrowser-mcp | 161 | — | ~1k | Automated safety check: Pass | MIT | |
| Camofox Browserredf0x1/camofox-browser | 410 | — | ~4.6k | Automated safety check: Pass | MIT |
swimmwatch/cloakbrowser-mcp
Prepare, publish, verify, or recover a cloakbrowser-mcp release only when the user explicitly requests release work.
swimmwatch/cloakbrowser-mcp
Maintain, organize, consolidate, or audit the cloakbrowser-mcp documentation set only when the user explicitly requests project documentation maintenance or an authorized public change requires it.
apify/agent-skills
Creates, changes, debugs and deploys Apify Actors, including their input and output schemas, using the Apify CLI.
swimmwatch/cloakbrowser-mcp
Create, update, prepare, or review a cloakbrowser-mcp GitHub Pull Request only when the user explicitly requests PR work.
redf0x1/camofox-browser
Anti-detection browser automation for AI agents. An agent skill from redf0x1/camofox-browser.
byungjunjang/web-crawler
URL과 수집 항목을 받아 사이트를 정찰하고 데이터를 수집하여 엑셀로 출력하는 범용 웹 크롤링 에이전트. An agent skill from byungjunjang/web-crawler.
jwynia/agent-skills
Diagnose devcontainer configuration problems and guide development environment setup.
jwynia/agent-skills
Create distinctive, production-grade frontend interfaces with high design quality.
jwynia/agent-skills
Orchestrate agile development workflows for Gitea repositories using the tea CLI.
jwynia/agent-skills
Generate game assets using AI image generation APIs (DALL-E, Replicate, fal.ai) and prepare them for Godot.
jwynia/agent-skills
Develop AI agents, tools, and workflows with Mastra v1 Beta and Hono servers.
jwynia/agent-skills
Create and manipulate PowerPoint PPTX files programmatically.
Works with
Guide AI agents to generate complete PageObject pattern web scraper projects using Playwright and TypeScript with Docker deployment. Scraper Builder is an agent skill from jwynia/agent-skills. Guide AI agents to generate complete PageObject pattern web scraper projects using Playwright and TypeScript with Docker deployment.
Scraper Builder fits situations like: tasks that involve Web scraping; tasks that involve Browser automation; tasks that involve Containers.
Run `npx skills add jwynia/agent-skills --skill scraper-builder -a claude-code`. Or copy the skill folder (skills/tech/development/tooling/scraper-builder in jwynia/agent-skills) into .claude/skills/scraper-builder in your project. Claude Code loads it when a task matches its description.
Run `npx skills add jwynia/agent-skills --skill scraper-builder -a codex`. Or copy the skill folder (skills/tech/development/tooling/scraper-builder in jwynia/agent-skills) into .agents/skills/scraper-builder in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add jwynia/agent-skills --skill scraper-builder -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/scraper-builder, .gemini/skills/scraper-builder, .github/skills/scraper-builder and .opencode/skills/scraper-builder in your project.
Going by SKILL.md and its folder, Scraper Builder needs the command-line tools its instructions call (deno and npx). Our summary lists: Node.js; Docker. Compatibility (from SKILL.md): Requires Deno for generator scripts. Generated projects use Node.js with Playwright..
SKILL.md contains no URLs. Its commands use npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Scraper Builder is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 4k tokens (SKILL.md is roughly 16k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 8.4k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Scraper Builder: Project Release (swimmwatch/cloakbrowser-mcp, 161 stars), Project Docs Maintainer (swimmwatch/cloakbrowser-mcp, 161 stars), Apify Actor Development (apify/agent-skills, 2.4k stars) and Project Pull Request (swimmwatch/cloakbrowser-mcp, 161 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
jwynia (a GitHub user) maintains it in jwynia/agent-skills, which has 165 GitHub stars. The repository holds 113 skills in this directory. The repository was last updated on February 24, 2026.
Source: jwynia/agent-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.