跳到正文
FunCoding

搜索

搜索文档、Skill 和 MCP

ego-lite-simplify

Find and implement evidence-backed simplifications in the ego-lite repository. Use when reviewing the codebase for dead code, duplicated state or APIs, speculative abstractions, unnecessary compatibility layers, hand-written infrastructure, excessive tests or documentation, or when the user asks to reduce code size or maintenance complexity without hiding behavior changes.

浏览器自动化17k.github/dev-skills/ego-lite-simplify/SKILL.md

安装

把这段话发给 Claude Code、Codex 或 Cursor。智能体会先检查安全性,你确认后才安装。

读取 https://funcoding.ai/skills/citrolabs/ego-lite/ego-lite-simplify/install.md ,按里面的步骤帮我安装这个 Skill。

SKILL.md

Simplify ego-lite

Reduce concepts and maintenance surface, not just line count. Prefer a few well-proven deletions over a long list of guesses.

Establish the contract

  1. Read AGENTS.md and the design document that owns the affected behavior.
  2. Inspect git status and preserve unrelated user changes.
  3. Decide whether the request is an audit or an authorized implementation. Do not turn a cleanup into a product decision without making the behavior change explicit.
  4. Identify the relevant boundary before judging code:
    • globalThis.ego is supplied by the closed-source app; docs/native-bindings-api.md documents that external contract.
    • The runtime has direct CLI and embedded SDK startup paths.
    • Public agent APIs must stay aligned across implementation, tests, help(), and skills/ego-browser/SKILL.md.
    • Browser state can outlive the short Node.js process.

Find strong candidates

Start with production areas carrying the most state, branching, or public surface. Look for:

  • Exports, helpers, events, options, fallbacks, packages, or state fields with no production consumer.
  • Tests or documentation that are the only consumers of behavior that is no longer required.
  • Multiple representations of the same page, task-space, session, ref, lifecycle, or output state.
  • Pass-through layers that add vocabulary but no policy, isolation, or test seam.
  • Compatibility code that is unnecessary on an explicitly breaking branch.
  • Generality with no current product use, such as unsupported concurrency modes or unused extension points.
  • Special cases, rollback paths, or validation that exist only to protect a removable surface.
  • Hand-written parsers, queues, retry logic, or utilities that a Node.js built-in or healthy dependency can replace with less total code.

Do not count moving logic into a wrapper as simplification. Estimate the net result: implementation, tests, docs, public names, state transitions, and special cases removed minus new glue and dependencies added.

Prove each candidate

Use rg first. Search exact symbols, method forms, event names, configuration keys, error codes, protocol strings, and dynamic registration points. Read the callers rather than relying only on static-analysis output.

Classify evidence as:

  • Production: package/ego-browser/src, runtime scripts, build and loader paths, and shipped site learnings.
  • Contract: public JSDoc consumed by help(), skills/ego-browser/SKILL.md, architecture documents, and native binding behavior.
  • Non-production: tests, fixtures, snapshots, comments, and historical or draft documents.
  • Ambiguous: examples and development scripts; inspect how they are invoked before deciding.

Reject or downgrade a candidate when a real production caller exists, the native contract is uncertain, the change merely relocates complexity, or the deletion requires unrelated churn. A small local cleanup may be implemented directly; a behavior or API decision belongs in the owning design document first.

Report before broad removal

For an audit, present each worthwhile candidate with:

  • The surface to remove or fold.
  • Call-site and contract evidence.
  • The user-visible behavior change, or “none”.
  • What complexity disappears and what replacement remains.
  • Confidence, risks, and the smallest verification needed.

Call out candidates that require a user decision separately from behavior-preserving cleanups.

Implement safely

Follow spec-driven TDD when changing code:

  1. Update or add a characterization test when existing behavior must remain.
  2. Update the owning design or API contract before an intentional behavior change.
  3. Remove the implementation and its now-obsolete tests, fixtures, exports, JSDoc, help entries, and skill documentation together.
  4. Keep comments in English and explain only non-obvious constraints.
  5. Prefer deleting a state or transition over adding another abstraction around it.

Run the narrowest relevant checks first. From package/ego-browser/, use npm test for runtime changes, npm run e2e for real task-space/browser behavior, and npm run validate:site-skills for learning changes. Finish with git diff --check and report any verification that could not run.

Never edit generated build output as the source of a simplification. Never remove a defensive path until its trust or lifecycle boundary is understood.

相似的 Skill

webapp-testing
anthropics/skills180k

webapp-testing

Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.

浏览器自动化

browser-testing-with-devtools
addyosmani/agent-skills103k

browser-testing-with-devtools

Tests in real browsers via Chrome DevTools MCP. Use when building or debugging anything that runs in a browser. Use when you need to inspect the DOM, capture console errors, analyze network requests, profile performance, or verify visual output with real runtime data. Requires the chrome-devtools MCP server to be configured.

浏览器自动化

webapp-testing
ComposioHQ/awesome-claude-skills77k

webapp-testing

Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.

浏览器自动化

browser
code-yeongyu/oh-my-openagent70k

browser

Drives a real browser through the omowright library from the js eval kernel: sites the user is already signed into, forms and clicks, JS-rendered pages, screenshots, web QA, extension popups, a human handoff for login, CAPTCHA or OTP, and a browser you own for scraping, bot-scored targets, network capture and QA traces. Use for any interactive browser task; not for a plain search or an unblocked static fetch.

浏览器自动化

agent-browser
shanraisshan/claude-code-best-practice67k

agent-browser

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.

浏览器自动化

cherry-tool-guide
CherryHQ/cherry-studio52k

cherry-tool-guide

Cherry Studio first-party tool and bundled-shell routing for general agents. For straightforward local work in shell-capable sessions, run JS/TS with `bun <file>` and one-off JS tools with `bun x`; run Python with `uv run [--with <pkg>] python` and one-off Python CLIs with `uvx`; search with `rg`. Load this guide before changing project dependencies, deciding whether a tool should be ephemeral or reusable, reading or converting local Office/PDF files, coordinating or delegating across Agent Sessions, or using Cherry-owned web/browser, knowledge, persistent memory, schedules/notifications, IM channels, image generation, artifact reporting, managed CLI, skill, or MCP-server-registration capabilities—even if the user names no tool. Consult it before shell/file workarounds; live tool schemas are authoritative.

浏览器自动化