A Claude Code plugin: an end-to-end system for launching profitable Chrome Web Store browser extensions as micro-products.
It is a gstack-style set of skills — six pipeline-stage skills, an orchestrator, plus a ring of companion skills for QA, recall, recovery, adversarial review, and antidetect operations.
/plugin marketplace add tacticlaunch/cws-studio
/plugin install cws-studio@cws-studio
Or from a local clone:
/plugin marketplace add ~/Projects/orgs/TacticLaunch/cws-studio
/plugin install cws-studio@cws-studio
Then invoke a stage directly (/cws-idea, /cws-package, …) or run the whole
launch with /cws-sprint. The skills also trigger automatically from natural
requests ("is this a good extension idea", "write my extension description",
"publish to Chrome Web Store", etc.).
/cws-init → /cws-idea ─┬─→ /cws-package ─┐
│ ├─→ /cws-launch → /cws-promote → /cws-monetize
└─→ /cws-build ───┘
routing & autopilot: /cws-sprint (router) · /cws-autoplan (full auto) · /cws-help (catalog)
per-stage guardrails: /cws-challenge (adversarial) · /cws-careful (irreversible gates)
recovery & memory: /cws-resync (mid-launch changes) · /cws-retro (snapshots) · /cws-learn (lessons)
antidetect ops: /cws-dolphin (proxies + profiles)
LOC + D-brief counts are read straight from each SKILL.md. "D-briefs" =
AskUserQuestion decision points the skill is prepared to surface.
| Skill | Stage | Purpose | LOC | D-briefs |
|---|---|---|---|---|
cws-init |
0 | Scaffold ./.cws/ (state + per-stage artifact stubs) on a fresh project. |
809 | 3 |
cws-idea |
0–1 | CWS account setup + gstack-style idea validation (forcing questions, 3-hypothesis generation, premise challenge). | 1913 | 10 |
cws-package |
2a | Listing copy — name, short/full description, SEO, spam check. | 1088 | 7 |
cws-build |
2b | Build the minimal Manifest V3 extension; types; donor cloning. | 941 | 4 |
cws-launch |
3 | Banners, icons, Welcome Page, 50+ translations, publishing & moderation. | 1669 | 6 |
cws-promote |
4 | Paid install campaigns (FB / Google / Yandex), UTM, analytics, reviews. | 1266 | 5 |
cws-monetize |
5 | Uninstall Page, monetization models, host permissions, selling the asset. | 1041 | 7 |
| Skill | Role | Purpose | LOC | D-briefs |
|---|---|---|---|---|
cws-sprint |
Router | Conducts a full launch end-to-end; locates you in the pipeline and hands off to the right stage skill. | 650 | 3 |
cws-autoplan |
Autopilot | Runs the sprint as autonomously as possible — only taste decisions surface. | 1443 | 7 |
cws-help |
Catalog | Prints the plugin's skill catalog + pipeline order; routes first-time users to the right entry skill. | 724 | 3 |
cws-challenge |
Adversarial | Per-stage adversarial second-opinion. Run before every irreversible commitment. | 1698 | 1 |
cws-careful |
Guardrail | Pre-flight gate on irreversible actions (moderation submit, paywall enable, host permissions widen). | 1131 | 3 |
cws-resync |
Recovery | Propagates a mid-launch change downstream; marks affected artifacts superseded, routes the re-do. |
989 | 3 |
cws-retro |
Snapshot | Post-launch metrics retrospective; regression detection vs benchmark norms; dated artifacts under .cws/retro/. |
1054 | 6 |
cws-learn |
Memory | Append-only learnings journal at .cws/learnings.{md,jsonl}; surfaces prior taste decisions on re-entry. |
1008 | 4 |
| Skill | Role | Purpose | LOC | D-briefs |
|---|---|---|---|---|
cws-dolphin |
Antidetect | Dolphin{anty} profile automation: create + start/stop, cookies, bulk proxy import & validation, Proxy6 autonomous purchase, residential-ASN gate. | 1068 | 5 |
Per-skill workflow lives in each
SKILL.mdand itsreferences/folder. This README does not duplicate those — read the file linked in the table.
Both MCPs are declared in
plugins/cws-studio/.claude-plugin/plugin.json
and auto-mount when the plugin is installed.
| MCP | Type | Used by | Notes |
|---|---|---|---|
dolphin-anty-docs |
HTTP, https://docs.dolphin-anty.com/_mcp |
cws-dolphin |
Read-only docs lookup. No auth. |
semrush |
HTTP, https://mcp.semrush.com/v1/mcp |
cws-package, cws-promote |
OAuth — first call triggers /authenticate flow; token persists per workspace. |
The sprint is not held in conversation memory. Every skill reads and
writes a project-local ./.cws/ directory.
./.cws/
├── state.json # canonical pipeline state (versioned schema)
├── 00-account-setup.md # proxy + Dolphin + CWS dev account gate
├── 01-idea.md # idea validation artifact
├── 02-package.md # listing-copy artifact
├── 02-build.md # extension build artifact
├── 03-launch.md # store-assets + publishing artifact
├── 04-promote.md # paid-install campaign artifact
├── 05-monetize.md # monetization artifact
├── learnings.jsonl # append-only learnings journal
├── timeline.jsonl # append-only event log (skill enter/exit/etc.)
└── retro/ # dated snapshots from /cws-retro
Schema, re-entry protocol, and the gate semantics live in
plugins/cws-studio/skills/cws-sprint/references/pipeline-state.md.
Every skill speaks through four bin/ helpers (stdlib Bash + Python only).
They are auto-on-PATH while the plugin is loaded.
| Helper | Purpose |
|---|---|
cws-slug |
Emit SLUG=, CWS_HOME=, CWS_PROJECT_DIR= for the current repo. eval-ready. |
cws-config |
Minimal JSON config store at $CWS_HOME/config.json (get / set / list). |
cws-learnings-search |
Search per-project learnings.jsonl; --stage, --grep, --limit. |
cws-timeline-log |
Append one JSON event line to per-project timeline.jsonl (injects ts). |
cws-timeline-tail |
Tail per-project timeline.jsonl; --skill, --event, --since, --limit. |
Smoke suite for all of the above + dolphin-cli:
plugins/cws-studio/tests/smoke.sh.
bash plugins/cws-studio/tests/smoke.sh
See CHANGELOG.md.