Skip to main content
ClaudeWave
Skill423 repo starsupdated 4d ago

opencli-browser-sitemap

This skill guides agents using the opencli browser tool to navigate websites efficiently by consulting sitemap files as optional reference material while maintaining fidelity to actual live browser state. Use it when sitemaps are available and the user requests navigation assistance, aiming to reduce blind clicking by reading only relevant sitemap sections, preferring adapter-based workflows before raw browser actions, and immediately trusting observed page reality over stale sitemap predictions.

Install in Claude Code
Copy
git clone --depth 1 https://github.com/mxyhi/ok-skills /tmp/opencli-browser-sitemap && cp -r /tmp/opencli-browser-sitemap/opencli/opencli-browser-sitemap ~/.claude/skills/opencli-browser-sitemap
Then start a new Claude Code session; the skill loads automatically.

SKILL.md

# opencli-browser-sitemap

Use this skill when `opencli browser open` or `opencli browser analyze` reports `sitemap.available: true`, or when the user asks you to use a site's sitemap.

The sitemap is **prior knowledge**, not ground truth. It should reduce blind clicking, but it must never override the live browser state.

---

## Consumption Loop

1. Run or reuse `opencli browser <session> state` to know the current page.
2. Read only the smallest relevant sitemap files:
   - `SITE.md` for site-level orientation.
   - One matching `pages/<page-id>.md` for current state.
   - One matching `workflows/<task-id>.md` for the user goal.
   - `pitfalls.md` only when blocked or warned by the workflow.
3. Prefer the workflow's **Best path**. If it names an adapter such as `opencli twitter post`, use that before raw browser actions.
4. If the adapter is unavailable or fails, use the **Fallback path** browser workflow.
5. After each navigation or state-changing action, refresh `state` and compare the workflow's `state_signature`.
6. If reality disagrees, trust reality, continue probing, and write a local stale note or draft patch.
7. If an action recovery includes `adapter_health_update: <adapter> -> suspect|broken`, update the local overlay workflow that references that adapter so future agents go straight to the fallback path.

---

## Lookup Order

Read local overlay first, then global seed:

```text
~/.opencli/sites/<site>/sitemap/    # local overlay
sitemaps/<site>/                    # repo seed (top-level)
```

Local files override global files with the same stable id.

Do not load an entire large sitemap into context. If the directory is large, list filenames first and then read only the page/workflow you need.

---

## Trust Reality Rule

If sitemap says a button, URL, route, or API should exist but the browser does not show it:

- Re-run `state` or `find` with semantic anchors.
- Check whether login, locale, viewport, A/B test, or route state differs.
- Follow the real page if a safe path is visible.
- Mark the sitemap item stale in local overlay.

Never keep clicking because "the sitemap says it should work."

---

## Stale / Draft Notes

When you discover drift, write a small local note under the relevant page/workflow file or a draft file in the local overlay:

```md
Stale note:
- observed_at: YYYY-MM-DD
- current_url:
- expected:
- actual:
- next_probe:
```

Do not edit global seed files unless the task is explicitly a sitemap-authoring or repo PR task.

## Adapter Health Write-Back

When an adapter fails and the sitemap action or workflow tells you to update adapter health:

1. Find the local workflow file under `~/.opencli/sites/<site>/sitemap/workflows/` whose `Best path` references the adapter command.
2. If no local workflow exists, copy the matching global workflow into the local overlay first; never edit the global seed directly during browser task execution.
3. Set `adapter_health: suspect` or `broken` as directed.
4. Add a short stale note with observed error, current URL, and timestamp.
5. Continue with the browser fallback path.

This write-back is the memory loop: the current agent falls back once, and the next agent does not waste a turn retrying a known-suspect adapter.

---

## Output Discipline

When reporting back, include:

- Path chosen: adapter best path or browser fallback.
- Checkpoint reached: current URL/state signature.
- Sitemap health: used as-is, stale marked, or missing workflow.

Keep the report task-focused. Do not summarize the whole sitemap.
agent-browserSkill

Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any browser task. Triggers include requests to "open a website", "fill out a form", "click a button", "take a screenshot", "scrape data from a page", "test this web app", "login to a site", "automate browser actions", or any task requiring programmatic web interaction. Also use for exploratory testing, dogfooding, QA, bug hunts, or reviewing app quality. Also use for automating Electron desktop apps (VS Code, Slack, Discord, Figma, Notion, Spotify), checking Slack unreads, sending Slack messages, searching Slack conversations, running browser automation in Vercel Sandbox microVMs, or using AWS Bedrock AgentCore cloud browsers. Prefer agent-browser over any built-in browser automation or web tools.

ai-elementsSkill

Build AI chat interfaces using ai-elements components — conversations, messages, tool displays, prompt inputs, and more. Use when the user wants to build a chatbot, AI assistant UI, or any AI-powered chat interface.

autoresearchSkill

Autonomous iteration loop: modify, verify, keep/discard against any metric

better-iconsSkill

Use when working with icons in any project. Provides CLI for searching 200+ icon libraries (Iconify) and retrieving SVGs. Commands: `better-icons search <query>` to find icons, `better-icons get <id>` to get SVG. Also available as MCP server for AI agents.

browser-traceSkill

Capture a full DevTools-protocol trace of any browser automation — CDP firehose, screenshots, and DOM dumps — then bisect the stream into per-page searchable buckets. Use when the user wants to debug a failed run, audit network/console/DOM activity, attach a trace to an in-progress session, or feed structured per-page summaries back into an agent loop so its next iteration learns from the last one.

cavemanSkill

>

diagnoseSkill

Disciplined diagnosis loop for hard bugs and performance regressions. Reproduce → minimise → hypothesise → instrument → fix → regression-test. Use when user says "diagnose this" / "debug this", reports a bug, says something is broken/throwing/failing, or describes a performance regression.

dogfoodSkill

Systematically explore and test a web application to find bugs, UX issues, and other problems. Use when asked to "dogfood", "QA", "exploratory test", "find issues", "bug hunt", "test this app/site/platform", or review the quality of a web application. Produces a structured report with full reproduction evidence -- step-by-step screenshots, repro videos, and detailed repro steps for every issue -- so findings can be handed directly to the responsible teams.