{
  "markdown": "# Turbocharge\n\nYou found a plugin that makes your coding agent actually good. One thing bothers you. So you fork it and change it.\n\nThree weeks later, upstream ships a release with fixes you want. Now you have a choice: manually hunt through the diff to reapply your changes, or leave your fork to rot.\n\nTurbocharge is a set of three skills that manage this cycle for you. Fork freely. Customize intentionally. Sync automatically.\n\nAgent-agnostic. The skills are plain Markdown — anything that can read and execute a SKILL.md (Claude Code, Cursor, or any other harness that runs skills) can drive them.\n\n---\n\n## Install\n\nClone the repo somewhere stable:\n\n```bash\ngit clone git@github.com:aguerlain-lr/turbocharge.git ~/dev/turbocharge\n```\n\nThen point your agent at the `skills/` directory. Examples below — adapt for whichever harness you use.\n\n### Claude Code\n\n```bash\nclaude plugin marketplace add ~/dev/turbocharge\nclaude plugin install turbocharge@turbocharge-dev\n```\n\nTo pick up updates:\n\n```bash\ncd ~/dev/turbocharge && git pull\nclaude plugin update turbocharge@turbocharge-dev\n```\n\n### Cursor\n\n```bash\ngit clone git@github.com:aguerlain-lr/turbocharge.git ~/.cursor/plugins/local/turbocharge\n```\n\nRestart Cursor. To update: `cd ~/.cursor/plugins/local/turbocharge && git pull` and restart.\n\n### Other agents\n\nAny agent that loads skills from a directory works. Point it at `~/dev/turbocharge/skills/` (or wherever you cloned it) and the three skills become available by name.\n\n---\n\n## What You Get\n\n**`setup-plugin-customization`** — Run once per target repo. Asks for the upstream plugin URL and the local path to your fork, clones upstream to a local cache, and writes `.turbocharge/settings.json` into the fork. Commits and pushes.\n\n**`customize-plugin`** — Describe a change in plain language. The skill reads the upstream original and your fork's current state, applies the change, records your intent in `.turbocharge/intent.md`, regenerates the fork's `README.md` to reflect customizations, then commits and pushes. The recorded intent is what makes sync work later.\n\n**`sync-plugin-customizations`** — Checks upstream for new tagged releases. If one exists, merges it into your fork. Skill conflicts get dispatched to subagents — each either resolves cleanly or writes a kickstart file describing the conflict for human review. Commits the result either way.\n\n---\n\n## How It Works\n\nTwo files live inside your fork at `<fork>/.turbocharge/`:\n\n- **`settings.json`** — tracks the upstream URL and the last successfully synced tag. Updated by sync. Committed to the fork.\n- **`intent.md`** — one section per customized skill describing what the fork does differently from upstream and why. Written by `customize-plugin`. Committed to the fork.\n\nThe upstream source is cloned locally to `~/.turbocharge/<repo-name>/` for reference. This clone is read-only — skills never modify it, only `git pull` it. Kickstart files for unresolved conflicts also land under `~/.turbocharge/<repo-name>/conflicts/` and are local-only (not tracked by git).\n\nBecause the config lives inside the fork, anyone who clones your fork can run sync without first running setup. The intent travels with the code.\n\n---\n\n## Typical Workflow\n\n**First time.** Run `setup-plugin-customization`. It asks for the upstream URL and your fork path, clones upstream to `~/.turbocharge/<repo-name>/`, writes `<fork>/.turbocharge/settings.json`, then commits and pushes.\n\n**Making a change.** Tell your agent: \"use `customize-plugin` to make skill X do Y.\" The skill reads the upstream version and your fork's current state, applies the edit, appends a new section to `.turbocharge/intent.md`, regenerates the fork's `README.md` so the `## Customizations` block reflects current intent, then commits and pushes.\n\n**Staying current.** Run `sync-plugin-customizations` — manually, or on a scheduled task. It fetches upstream tags, compares to `lastSyncedTag`, and if there's a newer release, merges it. Clean merges auto-commit. Conflicts get the resolution flow below.\n\n---\n\n## Conflict Resolution\n\nWhen sync hits a merge conflict in a customized skill, it dispatches one subagent per conflicted `SKILL.md`. Each subagent reads the intent entry, the original customization diff, and the new upstream content, then decides:\n\n- **Can resolve cleanly** — writes the merged file, sync continues, single commit lands.\n- **Cannot resolve** — leaves the conflict markers in place, writes a kickstart file to `~/.turbocharge/<repo-name>/conflicts/<skill-name>-conflict.md` containing the original intent, the original diff, and the full new upstream content. Injects a warning at the top of the conflicted file pointing to the kickstart.\n\nIf any kickstart was generated, sync aborts the merge, commits the warning-injected files, and sets `syncStatus: \"failed\"` in `settings.json`.\n\nTo resolve, run a planning/brainstorming skill, such as `/superpowers:brainstorming` (from the [Superpowers plugin](https://github.com/obra/superpowers)), with the kickstart file(s) as context to design the new customization, then apply it with `customize-plugin`. Delete the kickstart, remove `syncStatus` and `failedTag` from `settings.json`, and you're unblocked.\n\n---\n\n## Privacy\n\nSee [PRIVACY.md](PRIVACY.md). Short version: turbocharge runs locally, talks to git remotes you already use, and stores nothing beyond what's in your fork and the local cache.\n\n---\n\n## License\n\nMIT — see [LICENSE](LICENSE).\n",
  "bytes": 5454,
  "sha": "7482c179ab7f5d8120f725e18c3aae82dd7e326b199362ea46d96cf94123c8f6",
  "repo_slug": "aguerlain-lr/turbocharge",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/plg_aguerlain_lr_turbocharge_turbocharge_2665ada9/readme"
}