advisor
Advisor mode. Consult a stronger (or different) model at key checkpoints: before major decisions, when stuck on an error, and…
Apply when concurrent actors might write to the same file, branch, key, or state object. Eliminate the sharing first; serialize structurally only when one shared writer is a real invariant.
Claude Code
$ npx -y skills add cursor/plugins --skill principle-separate-before-serializing-shared-state --agent claude-code
Codex
$ npx skills add cursor/plugins --skill principle-separate-before-serializing-shared-state -a codex -y
Cursor
$ npx skills add cursor/plugins --skill principle-separate-before-serializing-shared-state -a cursor -y
Gemini CLI
$ npx skills add cursor/plugins --skill principle-separate-before-serializing-shared-state -a gemini-cli -y
GitHub Copilot
$ npx skills add cursor/plugins --skill principle-separate-before-serializing-shared-state -a github-copilot -y
OpenCode
$ npx skills add cursor/plugins --skill principle-separate-before-serializing-shared-state -a opencode -y
Windsurf
$ npx skills add cursor/plugins --skill principle-separate-before-serializing-shared-state -a windsurf -y
name: principle-separate-before-serializing-shared-state description: "Apply when concurrent actors might write to the same file, branch, key, or state object. Eliminate the sharing first; serialize structurally only when one shared writer is a real invariant." disable-model-invocation: true
When concurrent actors might share mutable state, first ask whether they need the same mutable object. If not, eliminate the sharing. When sharing is real, enforce serialization structurally: lockfiles, sequential phases, exclusive ownership. Instructions and conventions are not concurrency control.
**Why:** Concurrent writes to shared state create race conditions that are intermittent, hard to reproduce, and expensive to debug.
**Pattern:** 1. **Identify shared mutable state** (files both read and write, branches both push to, APIs both define and consume). 2. **Default: eliminate the shared write target.** Ask: do these actors need one canonical object, or are they publishing independent facts? Give each actor its own owned file, key, branch, or state directory, and merge only at the read/reporting boundary. Two workers writing their own `lastX` field into one `state.json` is still shared mutation. `indexer-state.json` + `metrics-state.json` is not. 3. **Only when one shared write target is a real invariant, serialize access structurally** (lockfiles, sequential phases, single-writer actor, or atomic compare-and-swap). Treat "we need a lock" as a design smell to check, not as the default answer.
Official Cursor plugins for popular developer tools, frameworks, and SaaS products. Each plugin is a standalone directory at the repository root with its own .cursor-plugin/plugin.json manifest.
Advisor mode. Consult a stronger (or different) model at key checkpoints: before major decisions, when stuck on an error, and…
Run the full repository compatibility pass: scanner score, startup path, validation loop, and docs reliability.
Designs or reviews CLIs so coding agents can run them reliably: non-interactive flags, layered --help with examples,…
Orchestrate continual learning by delegating transcript mining and AGENTS.md updates to `agents-memory-updater`.
Create a new Cursor plugin scaffold with a valid manifest, component directories, and marketplace wiring. Use when starting a new…
Audit a Cursor plugin for marketplace readiness. Use when validating manifests, component metadata, discovery paths, and…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.