clawdcursor-guides

May 14, 2026 · View on GitHub

Community-maintained app guides for clawdcursor, served at https://clawdcursor.com/app-guides.

What this is

clawdcursor is a desktop-control AI agent. For unfamiliar apps it figures things out from screenshots and accessibility trees — slow but always works. For popular apps where the keyboard shortcuts, workflow patterns, and failure modes are well-known, this repo provides app guides the agent fetches on demand. With a guide loaded, the agent operates an app 5–10× faster because it doesn't need to rediscover the layout each task.

A guide is a single JSON file at this repo's root, named <app>.json. The client fetches it from clawdcursor.com/app-guides/<app>.json, caches it locally for 7 days, and falls back gracefully when offline.

Browse guides

AppWorkflowsShortcutsTips
discord27
excel6122
figma116
gmail8126
mspaint711
olk (Outlook new)47
outlook8126
slack6155
spotify23
youtube193613

See index.json for machine-readable metadata (auto-generated nightly from this repo + vote-issue reactions).

Submitting

See CONTRIBUTING.md. Short version:

  1. Write <app>.json matching the schema in clawdcursor's AppGuide type.
  2. Run node scripts/lint-guide.mjs <app>.json locally.
  3. Open a PR. CI re-runs the linter; a maintainer reviews; once merged it goes live at clawdcursor.com/app-guides/<app>.json.

Voting

Every guide has a vote: <app> Issue. React with 👍 to upvote or 👎 to downvote. The nightly aggregator counts reactions and writes them into index.json. The client surfaces ratings in clawdcursor guides list.

Trust levels

Maintainers label merged PRs with one of:

  • trust:verified — curated, fetched by default
  • trust:community — vetted PR, fetched when opted in
  • trust:experimental — un-vetted, fetched by explicit name only

Schema

{
  "app": "youtube",                              // required, lowercase
  "name": "YouTube",                              // optional, display name
  "domainHints": ["youtube.com"],                 // optional
  "shortcuts": { "focus_search": "/" },           // optional
  "workflows": {                                   // optional
    "search_and_play": "Press / to focus..."     // prose OR structured steps
  },
  "layout": {                                      // optional
    "top_bar": "Logo on the left..."
  },
  "tips": [                                        // optional
    "YouTube IS a website. Use open_url(...)."
  ]
}

The full type lives in src/core/pipeline-types.ts. The linter in scripts/lint-guide.mjs is the source of truth for what's required and what gets rejected — every clawdcursor install runs the identical rule set client-side as defense-in-depth.

License

MIT