Repository navigation
Sync Cursor Cloud Agent skills from dotfiles - #27
Conversation
Cursor's "Sync Skills for Cloud Agents" uploads skills from its own store, which it seeds once from ~/.cursor/skills. Pointing that path at this repo through a symlink left the store frozen at the first import: new skills like rwjblue-mode never reached Cloud Agents. Sync also skips symlinked skills, so the private ones from local-packages were never uploaded, and turning sync on trashes the folders it imports. The task mirrors packages/agents/skills into the store, copying symlink targets so private skills come along, and removes a ~/.cursor/skills symlink so sync can't trash this checkout. Cursor still reads the same skills locally from ~/.agents/skills and ~/.claude/skills. dot:install runs it after local setup.
The Cloud Agent GitHub token only covers the host repo's org, so a start script can't clone personal private repos such as the local dotfiles that hold work-specific skills. When CURSOR_PRIVATE_SKILLS_REPO and CURSOR_PRIVATE_SKILLS_TOKEN are set as Cloud Agent secrets, the bootstrap clones that repo with the token in a request header (never in .git/config) and links its skill directories next to the public ones.
The rule only pulled dotfiles when the ~/.cursor/skills symlink was missing, so a cached environment kept serving stale skills. It also relinked ~/.cursor/skills, which can clobber skills Cursor synced. Skill sync and the bootstrap script are now the primary paths. The rule tells the agent to use catalog copies when present, and otherwise to pull dotfiles on every run and read skills from that checkout.
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: cb58f044e7
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| --exclude .gitignore \ | ||
| --exclude .DS_Store \ | ||
| --exclude node_modules \ | ||
| "$src/" "$store/skills/" |
There was a problem hiding this comment.
Include the cloud rule referenced by the synced skills
For Cloud Agent launches that use synced catalog skills without running the bootstrap, this copies rwjblue-mode/SKILL.md but omits its dependency: line 73 instructs cloud agents to follow ../../cursor-cloud-user-rule.md, which lives outside the copied subtree. Running this task against a temporary store confirmed that the referenced file is absent. The updated fallback rule also explicitly skips fetching dotfiles when catalog skills exist, so that path no longer supplies the missing instructions either. Make the skill self-contained or package the referenced rule with it so synced agents can read the complete cloud-specific restrictions.
Useful? React with 👍 / 👎.
BLUF: Feed Cursor's Cloud Agent skill sync from this repo, including private skills.
Cursor's "Sync Skills for Cloud Agents" uploads from its own store, seeded once from
~/.cursor/skills. With that path symlinked here, the store froze at the first import:rwjblue-modeand later edits never reached Cloud Agents, and symlinked private skills fromlocal-packageswere skipped entirely. Turning sync on also trashes the folders it imports, which through a symlink means this checkout.Details
mise run cursor:skills-syncmirrorspackages/agents/skillsinto the store, copying symlink targets, and removes a~/.cursor/skillssymlink. Cursor still reads the same skills locally from~/.agents/skillsand~/.claude/skills.dot:installruns it after local setup; rerun it after editing skills.CURSOR_PRIVATE_SKILLS_REPO/CURSOR_PRIVATE_SKILLS_TOKENCloud Agent secrets, since the agent's GitHub token can't see personal private repos. The token goes in a request header, not.git/config.