effect

作者: browser-use

在此儲存庫中使用 Effect v4 / effect-smol TypeScript 程式碼

npx skills add https://github.com/browser-use/browsercode --skill effect

Effect

This codebase uses Effect for typed, composable TypeScript services, schemas, and workflows.

Source Of Truth

Use the current Effect v4 / effect-smol source, not memory or older Effect v2/v3 examples.

  1. If .opencode/references/effect-smol is missing, clone https://github.com/Effect-TS/effect-smol there. Do this in the project, not in the skill folder.
  2. Search .opencode/references/effect-smol for exact APIs, examples, tests, and naming patterns before answering or implementing Effect-specific code.
  3. Also inspect existing repo code for local house style before introducing new patterns.
  4. Prefer answers and implementations backed by specific source files or nearby repo examples.

Guidelines

  • Prefer current Effect v4 APIs and project-local patterns over old blog posts, examples, or package-memory guesses.
  • Use Effect.gen(function* () { ... }) for multi-step workflows.
  • Use Effect.fn("Name") or Effect.fnUntraced(...) for named effects when adding reusable service methods or important workflows.
  • Prefer Effect Schema for API and domain data shapes. Use branded schemas for IDs and Schema.TaggedErrorClass for typed domain errors when modeling new error surfaces.
  • Keep HTTP handlers thin: decode input, read request context, call services, and map transport errors. Put business rules in services.
  • In Effect service code, prefer Effect-aware platform abstractions and dependencies over ad hoc promises where the surrounding code already does so.
  • Keep layer composition explicit. Avoid broad hidden provisioning that makes missing dependencies hard to see.
  • In tests, prefer the repo's existing Effect test helpers and live tests for filesystem, git, child process, locks, or timing behavior.
  • Do not introduce any, non-null assertions, unchecked casts, or older Effect APIs just to satisfy types.
  • Do not answer from memory. Verify against .opencode/references/effect-smol or nearby code first.

Testing Patterns

  • Use testEffect(...) from packages/opencode/test/lib/effect.ts for tests that exercise Effect services, layers, runtime context, scoped resources, or platform integrations.
  • Use it.live(...) for filesystem, git repositories, HTTP servers, sockets, child processes, locks, real time, and other live platform behavior.
  • Run tests from package directories such as packages/opencode; never run package tests from the repo root.
  • Prefer explicit test layers over ad hoc managed runtimes. Keep dependency provisioning visible in the test file.
  • Use scoped fixtures and finalizers for resources that must be cleaned up, including temporary directories, flags, databases, fibers, servers, and global state.

來自 browser-use 的更多技能

browser-use
browser-use
自動化瀏覽器操作,用於網頁測試、表單填寫、螢幕截圖與資料擷取。當使用者需要瀏覽網站、與網頁互動、填寫表單、擷取螢幕畫面或從網頁中提取資訊時使用。
browser-automationofficial
browser-execute
browser-use
Use ONLY when calling the `browser_execute` tool or driving a real browser via the Chrome DevTools Protocol. Required reading before the first…
official
qa
browser-use
對網站或網頁應用程式進行QA測試,並回傳1-5分的品質評分(5分=完美無瑕,1分=嚴重損壞),附上相關證據。適用於使用者想要測試、QA、評估、評分或…
official
video-use
browser-use
透過對話編輯任何影片。轉錄、剪輯、調色、生成疊加動畫、燒錄字幕——適用於人物訪談、蒙太奇、教學、旅遊等場景。
official
qa
browser-use
對網站或網頁應用程式進行QA測試,並回傳1-5分的品質評分(5分=完美無瑕,1分=嚴重損壞),附上相關證據。適用於使用者想要測試、QA、評估、評分或…
official
cdp
browser-use
Drive Chrome via the DevTools Protocol from JavaScript. Run JS snippets through the `browser-harness-js` CLI — it auto-spawns a long-lived bun HTTP server…
official
browser
browser-use
透過 CDP 直接控制瀏覽器。當使用者想要自動化、抓取、測試或與網頁互動時使用。連接到使用者已執行的 Chrome。
official
browser-harness
browser-use
透過CDP直接控制瀏覽器。當使用者想要自動化、抓取、測試或與網頁互動時使用。連接到使用者已執行的Chrome。
official