openclaw-android-assistant / extensions
AGENTS.md556 starsChanged 34 days agoMITView on GitHub
This directory contains bundled plugins. Treat it as the same boundary that third-party plugins see. - Extension production code should import from openclaw/plugin-sdk/* and its own local barrels such as ./api.ts and ./runtime-api.ts. - Do not import core internals from src/**, src/channels/**, src/plugin-sdk-internal/**, or another extension's src/**. - Do not use relative imports that escape the current extension package root. - Keep plugin metadata accurate in openclaw.plugin.json and the package openclaw block so discovery and setup work without executing plugin…
2 other projects use a version of this.
Adopted by
Most recently taken up by
- molt-bot/clawdbotword for word, first seen Oct 8, 2026
- friuns2/openclaw-android-assistantword for word, first seen Oct 8, 2026
Other versions2 projects use a version of this.
Word for word · 2
- molt-bot/clawdbot★ 391k100% same
- friuns2/openclaw-android-assistant★ 573100% same
Edited · 0
None found.
Wrote their own version · 0
None found.
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
Where files are headingNew AGENTS.md files have more rules about keeping secrets out of the code, and fewer about code style.
Of the AGENTS.md files we read, the 31,843 first seen in the last six months, against the older ones: the kind of rule that gained most share, and the kind that lost most. About files like this in general, not this one, and an estimate, since a kind is a pattern in the words.
In this repository107 other files it gives its agents.
- AGENTS.mdAGENTS.md
- docs/AGENTS.mdAGENTS.md
- openclaw-android/AGENTS.mdAGENTS.md
- scripts/AGENTS.mdAGENTS.md
- test/AGENTS.mdAGENTS.md
- ui/AGENTS.mdAGENTS.md
- agent-transcriptSkill
- auto-qaSkill
- autoreviewSkill
- channel-message-flowsSkill
- clawdtributorSkill
- claw-scoreSkill
- clawsweeperSkill
- codex-app-paritySkill
- control-ui-e2eSkill
- crabboxSkill
- deslopSkill
- discord-clawdSkill
- discord-e2eSkill
- discord-user-postSkill
- discrawlSkill
- gitcrawlSkill
- graincrawlSkill
- notcrawlSkill
- openclaw-changelog-updateSkill
- openclaw-ci-limitsSkill
- openclaw-debuggingSkill
- openclaw-docker-e2e-authoringSkill
- openclaw-ghsa-maintainerSkill
- openclaw-live-updaterSkill
- openclaw-parallels-smokeSkill
- openclaw-pr-maintainerSkill
- openclaw-qa-testingSkill
- openclaw-refactor-docsSkill
- openclaw-release-validationSkill
- openclaw-repair-sweepSkill
- openclaw-secret-scanning-maintainerSkill
- openclaw-test-heap-leaksSkill
- openclaw-testingSkill
- openclaw-test-performanceSkill
- openclaw-updateSkill
- parallels-discord-roundtripSkill
- proof-videoSkill
- prototype-openclaw-tuiSkill
- release-openclaw-announcementSkill
- release-openclaw-ciSkill
- release-openclaw-macSkill
- release-openclaw-maintainerSkill
- release-openclaw-plugin-testingSkill
- security-triageSkill
- slack-e2eSkill
- slacrawlSkill
- tag-duplicate-prs-issuesSkill
- technical-documentationSkill
- telegram-e2e-userbotSkill
- test-auditSkill
- update-team-serverSkill
- verify-releaseSkill
- 1passwordSkill
- apple-notesSkill
- The first 60 shown.
The file
Show its rules and text
We split this AGENTS.md into the rules it gives an agent
16 rules. About 0 are common, 9 are distinctive, and 7 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈9
Distinctive · estimate
This author's own choices. Worth a look.
7
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 29
Do not import core internals from src/, src/channels/, src/plugin-sdk-internal/, or another extension's src/.
- Distinctive: line 31
Do not use relative imports that escape the current extension package root.
- Very specific: line 32
Keep plugin metadata accurate in openclaw.plugin.json and the package openclaw block so discovery and setup work without executing plugin …
- Very specific: line 38
Keep plugin dependency assertions in generic contracts (package-manifest.contract.test.ts, extension-runtime-dependencies.contract.test.ts) …
- Very specific: line 42
Treat files like src/, onboard.ts, and other local helpers as private unless you intentionally promote them through api.ts and, if needed, …
- Very specific: line 45
If core or core tests need a bundled plugin helper, export it from api.ts first instead of letting them deep-import extension internals.
- Very specific: line 50
Before adding a new provider-local wrapStreamFn, buildReplayPolicy, normalizeToolSchemas, inspectToolSchemas, or compat patch helper, check …
- Distinctive: line 54
If two bundled providers share the same replay policy shape, tool-schema compat rewrite, payload patch, or stream-wrapper chain, stop …
- Distinctive: line 58
Prefer named provider-family helpers over repeating raw option bags.
- Distinctive: line 62
Keep control-plane metadata separate from runtime logic.
- Distinctive: line 65
If setup truly requires runtime execution, make that explicit in the plugin's declared setup/runtime surface instead of letting metadata …
- Distinctive: line 71
Do not rely on eager global registry seeding or import-time side effects to make a plugin “available”.
- Very specific: line 74
When core needs plugin-owned static data on a hot path, expose a lightweight top-level artifact such as gateway-auth-api.ts, …
- Distinctive: line 81
If an extension needs a new seam, add or replace a typed Plugin SDK subpath instead of reaching into core.
- Distinctive: line 83
ALL bundled plugins must move to modern SDK seams in the same change.
- Distinctive: line 85
When intentionally expanding the contract, update the docs, exported subpath list, package exports, and API/contract checks in the same …
≈ “Common” is an estimate: at least 1 in 5 of the 40,246 AGENTS.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Extensions Boundary
This directory contains bundled plugins. Treat it as the same boundary that third-party plugins see.
Public Contracts
- Docs:
docs/plugins/building-plugins.mddocs/plugins/architecture.mddocs/plugins/sdk-overview.mddocs/plugins/sdk-entrypoints.mddocs/plugins/sdk-runtime.mddocs/plugins/sdk-channel-plugins.mddocs/plugins/sdk-provider-plugins.mddocs/plugins/manifest.md
- Definition files:
src/plugin-sdk/plugin-entry.tssrc/plugin-sdk/core.tssrc/plugin-sdk/provider-entry.tssrc/plugin-sdk/channel-contract.tsscripts/lib/plugin-sdk-entrypoints.jsonpackage.json
Boundary Rules
- Extension production code should import from
openclaw/plugin-sdk/*and its own local barrels such as./api.tsand./runtime-api.ts. - Do not import core internals from
src/**,src/channels/**,src/plugin-sdk-internal/**, or another extension'ssrc/**. - Do not use relative imports that escape the current extension package root.
- Keep plugin metadata accurate in
openclaw.plugin.jsonand the packageopenclawblock so discovery and setup work without executing plugin code. - Plugin runtime dependencies belong to the owning plugin package. If a plugin
dependency has a runtime peer, declare/provide it in that plugin's
package.json; do not move it to root unless root/package dist owns the import. Runtime never installs deps; install/update/doctor are repair points. - Keep plugin dependency assertions in generic contracts
(
package-manifest.contract.test.ts,extension-runtime-dependencies.contract.test.ts) rather than plugin e2e tests when they express package ownership. - Treat files like
src/**,onboard.ts, and other local helpers as private unless you intentionally promote them throughapi.tsand, if needed, a matchingsrc/plugin-sdk/<id>.tsfacade. - If core or core tests need a bundled plugin helper, export it from
api.tsfirst instead of letting them deep-import extension internals. - For provider plugins, keep auth, onboarding, catalog selection, and vendor-only product behavior local to the plugin. Do not move those into core just because two providers look similar.
- Before adding a new provider-local
wrapStreamFn,buildReplayPolicy,normalizeToolSchemas,inspectToolSchemas, or compat patch helper, check whether the same behavior already exists throughopenclaw/plugin-sdk/*. Reuse shared family helpers first. - If two bundled providers share the same replay policy shape, tool-schema compat rewrite, payload patch, or stream-wrapper chain, stop copying the logic. Extract one shared helper and migrate both call sites in the same change.
- Prefer named provider-family helpers over repeating raw option bags. If a provider needs OpenAI-style Anthropic tool payload compat, Gemini schema cleanup, or an XAI compat patch, use a named shared helper instead of inlining the policy knobs again.
- Keep control-plane metadata separate from runtime logic. Discovery, config validation, setup hints, onboarding hints, and activation planning should be expressible from manifest/descriptors whenever possible.
- If setup truly requires runtime execution, make that explicit in the plugin's declared setup/runtime surface instead of letting metadata flows import runtime code accidentally.
- Plugin work that can outlive its originating caller or turn must use an active service-owned capability. Never retain or extend caller-bound Gateway handles; revalidate the service generation at the effect boundary.
- Do not rely on eager global registry seeding or import-time side effects to make a plugin “available”. Plugin availability should come from manifest ownership plus targeted activation.
- When core needs plugin-owned static data on a hot path, expose a lightweight
top-level artifact such as
gateway-auth-api.ts,message-tool-api.ts, or a similarly narrow*-api.ts. Reuse the same local helper from the artifact and the full plugin so fast paths do not drift from runtime behavior.
Expanding The Boundary
- If an extension needs a new seam, add or replace a typed Plugin SDK subpath instead of reaching into core.
- ALL bundled plugins must move to modern SDK seams in the same change. Do not keep extension-local compat paths for internal callers.
- When intentionally expanding the contract, update the docs, exported subpath list, package exports, and API/contract checks in the same change.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

