a2ui
Make a reply easier to read and act on with rich blocks inside ordinary Markdown — a choice the user picks from, a form that…
Search the web and scrape pages into clean markdown with the Firecrawl API — query-based discovery, single-URL extraction including public PDFs, driven by curl with a vault-stored API key.
Claude Code
$ npx -y skills add Prism-Shadow/penguin-harness --skill firecrawl --agent claude-code
Codex
$ npx skills add Prism-Shadow/penguin-harness --skill firecrawl -a codex -y
Cursor
$ npx skills add Prism-Shadow/penguin-harness --skill firecrawl -a cursor -y
Gemini CLI
$ npx skills add Prism-Shadow/penguin-harness --skill firecrawl -a gemini-cli -y
GitHub Copilot
$ npx skills add Prism-Shadow/penguin-harness --skill firecrawl -a github-copilot -y
OpenCode
$ npx skills add Prism-Shadow/penguin-harness --skill firecrawl -a opencode -y
Windsurf
$ npx skills add Prism-Shadow/penguin-harness --skill firecrawl -a windsurf -y
name: firecrawl description: Search the web and scrape pages into clean markdown with the Firecrawl API — query-based discovery, single-URL extraction including public PDFs, driven by curl with a vault-stored API key. version: 2026.10.04.1
Firecrawl turns the live web into agent-ready markdown over a plain REST API (`https://api.firecrawl.dev/v2`, `Authorization: Bearer $FIRECRAWL_API_KEY`). Two calls cover most web work: `/search` to discover pages by query, `/scrape` to extract clean content from a URL you already have. Use it whenever a task needs current web information or the content of a specific page.
If the user's message only invokes this skill (e.g. "use firecrawl skill") without a concrete task, ask what they want to search or scrape. When the task is concrete, check the credential first:
[ -n "$FIRECRAWL_API_KEY" ] && echo ok || echo missing
If missing (also visible in your Vault Keys section), ask the user to add `FIRECRAWL_API_KEY` to this agent's **key vault** — gear icon on the agent card → settings → key vault tab; keys come from the Firecrawl dashboard (https://www.firecrawl.dev/signin). Vault values reach your shell environment on the next task. Only fall back to the keyless tier (below) when the user cannot provide a key right now.
curl -sS -X POST https://api.firecrawl.dev/v2/search \
-H "Authorization: Bearer $FIRECRAWL_API_KEY" -H "content-type: application/json" \
-d '{"query": "<what you are looking for>", "limit": 5}' \
| jq '[.data.web[] | {url, title, description}]'curl -sS -X POST https://api.firecrawl.dev/v2/scrape \
-H "Authorization: Bearer $FIRECRAWL_API_KEY" -H "content-type: application/json" \
-d '{"url": "<page url>"}' \
| jq -r '.data.markdown' > <topic>.mdSearch first for discovery, scrape once you have the URL. Never dump full page markdown into your context or reply: pipe it to a file (as above) and read the relevant parts with shell (`grep`/`sed`), then cite `metadata.sourceURL` for every claim you take from a page.
The keyless free tier only works through official Firecrawl clients and is rate-limited:
npx -y firecrawl-cli@latest search "<query>" npx -y firecrawl-cli@latest scrape <url> -o page.md
Use it as a stopgap and tell the user to add a real key to the vault — accounts unlock the full API and higher limits.
Make a reply easier to read and act on with rich blocks inside ordinary Markdown — a choice the user picks from, a form that…
Run ACE (Agentic Context Engineering, Zhang et al. 2025) on an agent the sequential offline way - a Reflector reads each training…
Run a PenguinHarness organization as its CEO — turn the mission into a ticket tree, hire HR and finance first, partition the…
The protocol every employee of a PenguinHarness organization follows — read the handbook first, act on [org_trigger] work runs,…
Run finance for a PenguinHarness organization — set and adjust monthly budgets along the reporting line, audit spend daily with…
Run HR for a PenguinHarness organization — guarantee every employee has an enabled calendar event, hire and offboard employees…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.