文件历史

46 次代码提交

作者 SHA1 备注 提交日期
Saurav Panda 6d20866664 Merge pull request #314 from alexph-dev/docs/qbo-report-export-skill
docs: add QBO report export domain skill
2026-05-20 12:28:41 -07:00
MagMueller ad7f4f233c Remove Firecrawl mentions from Facebook skills 2026-05-19 16:55:56 -07:00
Saurav Panda 2fa1b1e1e2 Move HubSpot skill into agent workspace 2026-05-13 16:15:35 -07:00
alexph-dev 1583bd7c0b docs: add QBO report export domain skill 2026-05-06 17:55:26 +07:00
home 4339d5a37c add weread domain skill 2026-05-06 03:44:22 +08:00
Saurav Panda 30d54b7216 Merge pull request #303 from song-swivel/song-swivel-patch-1
Undo #302
2026-05-05 12:07:28 -07:00
Song Du 1a1aa3175d Delete agent-workspace/domain-skills/mrm/analytics-reports.md
Remove
2026-05-05 14:37:08 -04:00
Saurav Panda 5b07dde532 Merge pull request #302 from song-swivel/domain-skill-freewheel-mrm
Add FreeWheel MRM analytics report skill
2026-05-05 11:33:13 -07:00
Saurav Panda 3de7fe07eb cleanup-zombies: also catch URLError so transient network failures don't abort the loop
A DNS/timeout/socket error during PATCH /browsers/{id} was bubbling out
of the loop, leaving remaining zombies running and still billing.
HTTPError is a subclass of URLError, so the existing clause stays first
and the URLError catch handles only the transport-level failures.
2026-05-05 10:35:26 -07:00
Your Name 4b84df96c2 Add FreeWheel MRM analytics report skill 2026-05-05 12:22:28 -04:00
ComBba 84e7a2c0ae feat(domain-skills): add browser-use-cloud (REST + cleanup-zombies)
Adds an operator-facing skill for cloud.browser-use.com / api.browser-use.com,
covering the same REST surface that the harness's own admin.py already
uses (X-Browser-Use-API-Key header, /browsers, /profiles), plus a
companion script for the most common automation -- stopping zombie
sessions older than N minutes.

Live-tested on 2026-05-05 with a real BROWSER_USE_API_KEY:

  POST   /browsers              201 - shape verified incl. liveUrl on live.browser-use.com
  PATCH  /browsers/{id} stop    200 - returns final cost
  GET    /browsers              200 - paginated {items, totalItems, ...}
  GET    /profiles              200 - same envelope
  GET    /profiles/{id}         200 - cookieDomains=None on fresh profiles
  GET    /usage                 404 - no public endpoint, doc'd accordingly
  GET    /                      404 - no root metadata

The cleanup-zombies.py companion is the regression artefact; running it
in dry-run mode is the cheapest smoke test, and a full E2E loop
(spawn -> list -> stop -> re-list) was confirmed end-to-end during
authoring.

Notable wire gotchas surfaced and documented:

- Cost / proxy fields (proxyCost, browserCost, proxyUsedMb) are returned
  as JSON strings, not numbers; cast to float before arithmetic.
- liveUrl host is live.browser-use.com (different from cloud.browser-use.com),
  with the cdp WebSocket encoded as a ?wss= query parameter.
- cookieDomains can be null on a freshly-created profile despite
  list_cloud_profiles' docstring describing it as an array.
- GET /usage returns 404 -- per-session cost lives on each browser
  record; aggregate billing only on the dashboard.

Style follows the claude-ai/share-export (#267) pattern of
markdown-skill-with-companion-py, sized at 222 + 161 LOC. Discovery
under helpers.py:163's current logic would resolve cloud.browser-use.com
to "cloud/" rather than "browser-use-cloud/" -- the skill folder name
mirrors the convention used by claude-ai/, vercel/, and tasksquad-ai/
which are also not auto-discoverable today; PR #165 is the broader fix
for that.

Refs: PR #300 (run.py precedence fix in the same area), PR #267
(claude-ai companion-script pattern), PR #288 (vercel dashboard skill
header style).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-05 22:45:53 +09:00
Saurav Panda 27aed40c6b Merge pull request #288 from teedonk/domain-skill/vercel
feat(domain-skills): add Vercel dashboard skill
2026-05-04 16:27:32 -07:00
Saurav Panda b99f64d0b1 Merge pull request #281 from xajik/domain-skills/tasksquad.ai
feat: add tasksquad.ai domain skills
2026-05-04 15:23:22 -07:00
Saurav Panda 16c3729506 tasksquad domain skill: rename dir, replace fictional helper, fix compose snippet
- Move from top-level domain-skills/tasksquad.ai/ to the canonical
  agent-workspace/domain-skills/tasksquad-ai/ location, switching to
  kebab-case to match sibling dirs (booking-com, dev-to, archive-org).
- Replace find_text_coords(...) with self-contained inline Python
  helpers (_coords_by_text, _coords_by_selector) that wrap querySelector
  + getBoundingClientRect. find_text_coords does not exist in the
  harness or agent_helpers — every call site was a NameError waiting to
  happen.
- Fix the compose-task snippet: drop the dead subject_input = js(...)
  line, focus the subject input via _coords_by_selector before typing,
  and add a placeholder click for the agent dropdown item.
- Fix the polling-interval contradiction: the inbox section now defers
  to the gotchas, and the gotchas list the Free (5s) / Pro (2s) cadence
  in one place.
2026-05-04 11:32:28 -07:00
Saurav Panda 4f4dba606f Merge pull request #282 from abhay-0055/twitter-skill
Add posting.md in the x.com domain skill
2026-05-04 10:56:11 -07:00
Saurav Panda 90d3992e0d x posting skill: rename dir, add null guards to selectors
- Move agent-workspace/domain-skills/x.com/ to .../x/ to match repo
  convention (siblings use bare platform names like 'tiktok' / 'youtube'
  or kebab-case like 'booking-com'; nothing else uses a literal dot in
  a dir name).
- Guard the compose-textarea and post-button querySelector lookups so
  the snippet raises a clear RuntimeError if the elements aren't there
  yet, instead of throwing a confusing JS TypeError on
  el.getBoundingClientRect().
2026-05-04 10:29:00 -07:00
teedonk a43f9387ba fix(domain-skills/vercel): correct build log limit guidance 2026-05-04 01:10:30 +01:00
teedonk 05f4b187c6 fix(domain-skills/vercel): raise build log limit and document N lines guidance 2026-05-04 01:03:21 +01:00
teedonk fa79282b76 feat(domain-skills): add Vercel dashboard skill 2026-05-04 00:58:49 +01:00
teedonk f44d1a60a4 feat(domain-skills): add Vercel dashboard skill 2026-05-04 00:27:28 +01:00
Stian Johansen 8c64430339 Add AgentList domain skill 2026-05-03 11:41:39 +01:00
abhay-0055 cbf2dc45db Add posting.md in the x.com domain skill 2026-05-03 11:49:02 +05:30
Saurav Panda 980dc948b3 Merge pull request #157 from bilaldaqqah/skill/aa-checkout
domain-skills/aa: full checkout flow
2026-05-02 17:50:00 -07:00
Saurav Panda 1346f82cdd move aa skill under agent-workspace/domain-skills/
Match the canonical location used by all other domain-skills. The
top-level domain-skills/ tree is not picked up by the harness's skill
loader.
2026-05-02 17:47:34 -07:00
Saurav Panda 17b30174d3 Merge pull request #158 from bilaldaqqah/skill/alaska-checkout
domain-skills/alaska: full checkout flow
2026-05-02 16:50:16 -07:00
Saurav Panda 2af85279af move alaska skill under agent-workspace/domain-skills/
Match the canonical location used by all other domain-skills. The
top-level domain-skills/ tree is not picked up by the harness's skill
loader.
2026-05-02 16:44:09 -07:00
Saurav Panda ec5bdfa8c8 Merge pull request #179 from muqsitnawaz/skill/manus-perplexity
domain-skills: manus + perplexity — task workflows
2026-05-02 16:35:57 -07:00
Saurav Panda 57a951bfa4 move manus + perplexity skills under agent-workspace/domain-skills/
Match the canonical location used by all other domain-skills. The
top-level domain-skills/ tree is not picked up by the harness's skill
loader.
2026-05-02 16:34:04 -07:00
Saurav Panda 93d6c84c85 Merge pull request #233 from NandiniMurali/domain-skill/flipkart-shopping
feat: add field-tested Flipkart shopping domain skill
2026-05-02 16:17:12 -07:00
Saurav Panda 4a2749081e move flipkart skill under agent-workspace/domain-skills/
Match the canonical location used by all other domain-skills. The
top-level domain-skills/ tree is not picked up by the harness's skill
loader.
2026-05-02 15:25:03 -07:00
Saurav Panda 02ca21fb07 Merge pull request #249 from teotoplak/add-bigbang-hr-skill
Add bigbang-hr domain skill (checkout flow)
2026-05-02 15:23:46 -07:00
Saurav Panda 681e7c645e seed window.dataLayer before patching push so the interceptor works pre-GTM
If an agent runs the interceptor snippet before GTM has initialized,
window.dataLayer is undefined and .push.bind throws. Seeding with [] is
safe — GTM picks up a pre-existing array on init.
2026-05-02 15:19:35 -07:00
Saurav Panda 56eb057456 Merge pull request #259 from zhanning68-stack/domain-skills/cn-hotels
domain-skills: add ly.com, ctrip, wehotel (Chinese hotel sites)
2026-05-02 12:20:09 -07:00
Saurav Panda 318e3f01cc address cubic feedback on cn-hotels skills
- ly-com: read Vue ref via stable .value with _rawValue fallback
  rather than the brittle internal _rawValue path.
- wehotel: ancestor walk now identifies the hotel-name anchor by
  identity/innerText instead of an href-based negation against text
  (查看详情 lives on the link body, not in href), which previously
  let the loop stop on the detail anchor itself.
- ctrip: raise an explicit error when the destination input or 搜索
  button isn't found, instead of dereferencing None and crashing
  with a confusing TypeError.
2026-05-02 12:03:44 -07:00
Saurav Panda 059407785c Merge pull request #267 from jamster/domain-skills/claude-ai-share-export
domain-skills: add claude-ai/share-export
2026-05-02 12:01:25 -07:00
Saurav Panda 9ce945026d fix utf-8 encoding and document source_url in json schema
- write_text calls now pin encoding="utf-8" so non-ASCII transcripts
  don't depend on the locale default.
- share-export.md schema now lists source_url, matching what the script
  actually emits.
2026-05-02 11:40:04 -07:00
Saurav Panda 756fa93a5c Merge pull request #268 from vedantggwp/domain-skills/articulate-rise-code-blocks
domain-skills: articulate-rise — code blocks
2026-05-02 11:36:21 -07:00
Saurav Panda 2b88cf40cb move articulate-rise skill under agent-workspace/domain-skills/
Match the canonical location used by all other domain-skills.
2026-05-02 11:32:13 -07:00
MAX0MAX d7986fdb97 domain-skills: add bilibili navigation and structure skill (#270)
* domain-skills: add bilibili navigation and structure skill

Covers site architecture, URL patterns, content channels, video
interaction features (三连/投币/弹幕), and navigation quirks for
the Chinese video platform.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* domain-skills: fix PR review — correct history URL and ranking tab count

- Fix history URL from bilibili.com/history to https://www.bilibili.com/account/history
- Remove incorrect "also contains 稍后再看 tab" note (watch later is a separate SPA)
- Fix ranking category tab count from 23 to 24

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-02 11:30:19 -07:00
MAX0MAX de55c38e90 domain-skills: add BOSS直聘 (zhipin.com) navigation, job search, and chat skills (#271)
* domain-skills: add BOSS直聘 (zhipin.com) navigation and job search skills

Verified content only — navigation structure and job card extraction
confirmed via browser CDP.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* domain-skills: verify zhipin job search with API-first approach

Browser-verified: the /wapi/zpgeek/pc/recommend/job/list.json API
returns real salary numbers ("18-22K") unlike the DOM which uses
font-encoded PUA characters. Added full API reference for job list,
job detail, and filter conditions endpoints.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* domain-skills: verify zhipin chat with WebSocket + REST API

Browser-verified: conversation list loads via WebSocket (ws6.zhipin.com),
message history via /wapi/zpchat/geek/historyMsg API. Documented message
body types (text=1, job card=8, system=16), DOM selectors, pagination,
and bossId extraction.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* domain-skills: add zhipin chat filter tabs with clickable UI control

Browser-verified: 全部/未读/新招呼/更多/有交换/有面试/不感兴趣/AI筛选
filters with click_filter() and click_more_filter() functions.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* domain-skills: browser-verify job-search.md and fix API field names

Verified all functions against live zhipin.com. Fixed brandInfo→brandComInfo
with correct sub-fields (brandName/logo/industryName), corrected city codes
(101280100=Guangzhou not Shenzhen), documented page-based pagination as
unreliable, added encryptExpectId default params, and noted anti-bot timing.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* domain-skills: fix PR review — add API response validation, narrow bossId extraction, clarify city slug

- Guard all d.zpData accesses with d.code !== 0 checks across job-search.md and chat.md
- Filter bossId extraction to /wapi/zpchat/geek/historyMsg URLs only
- Correct "Chinese" to "pinyin" for city slug and add API code cross-reference

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-02 11:28:54 -07:00
Jason Amster 7740c2e42d domain-skills: add claude-ai/share-export
Captures durable selectors and gotchas for exporting transcripts from
claude.ai/share/<uuid> URLs:

- [data-testid=user-message] for user turns, .font-claude-response for
  assistant turns, [data-testid=page-header] for the chat title
- Container-walk pattern (no semantic wrapper — turns are alternating
  siblings of a common ancestor)
- The H2.sr-only "Claude responded:" trap that pollutes innerText if you
  select the outer turn div instead of .font-claude-response
- Auth requirement: share pages render the conversation only for
  signed-in viewers; logged-out sessions get an empty app shell

Includes a working extract-share-transcript.py that emits both JSON and
LLM-friendly Markdown ({Human|Assistant} headers).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-30 18:53:12 -04:00
alex e1eabc4584 fix: move shopify-admin skills to agent-workspace/domain-skills/
PR #247 added these under domain-skills/ at the repo root, but the
canonical location for domain skills is agent-workspace/domain-skills/
(referenced in README.md, SKILL.md, and helpers.py).
2026-04-29 23:39:22 -07:00
zhanning eb8b708f49 domain-skills: add ly.com, ctrip, wehotel (Chinese hotel sites)
Field-tested 2026-04-29. First batch covering Chinese hotel-booking sites:

- ly-com (同程旅行): hotels.md — prices gated behind login; Nuxt SSR
  state holds metadata. Documents the ¥? placeholder pattern, Nuxt data
  key randomization, login flow via passport.ly.com.
- ctrip (携程): hotels.md — anonymous price extraction works *only*
  with the canonical 6-param URL schema. Documents the schema gate,
  homepage-form fallback, phantom-¥ regex trap, no-href-on-cards
  reality.
- wehotel (锦江): hotels.md — fully anonymous; covers all Jin Jiang
  sub-brands (J酒店/锦江/维也纳/7天/IU etc). Documents the
  inconsistent checkinDate vs checkInDate capitalization between list
  and detail URLs.

All three include URL patterns, list/detail extraction JS, traps, and
quick-start snippets per the SKILL.md "durable site map" guidance.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-30 13:55:02 +08:00
FuLin 1c5a5681bb domain-skills: add Xiaohongshu scraping skill (web search, sorting, and note-opening) (#246)
* Add Xiaohongshu search and note-opening skill

* Clarify Xiaohongshu search URL encoding
2026-04-29 11:46:32 -07:00
Teo Toplak f0e2883072 Add bigbang-hr domain skill for checkout flow
Agent-generated skill covering Big Bang (bigbang.hr) checkout:
Vue/Nuxt form filling quirks, jQuery UI location autocomplete,
GTM dataLayer event patterns, and payment step selectors.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-29 13:26:53 +02:00
Sarath S Menon fb1a51dd9b refactor: move to src layout, agent-workspace, and fix SKILL.md invocation format (#229)
* refactor(tests): reorganize into tests/unit and tests/integration

Moves all root-level test_*.py files into a structured tests/ directory:
- tests/unit/ — admin, helpers (was test_screenshot), run
- tests/integration/ — js expression tests
- tests/conftest.py — shared fake_png pytest fixture, eliminating duplication

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* refactor: move to src layout, agent-workspace, and fix SKILL.md invocation format

- Move package to src/browser_harness/ and domain-skills/interaction-skills to agent-workspace/
- Fix all browser-harness <<'PY' heredoc examples in SKILL.md and run.py HELP string to use the correct -c '...' flag format (heredoc was never supported by the CLI)
- Update SKILL.md path references from domain-skills/ to agent-workspace/domain-skills/

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-28 15:38:11 +05:30