taketomarket 2.2.0 → 2.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +13 -17
- package/.claude-plugin/plugin.json +2 -2
- package/README.md +35 -12
- package/bin/lib/campaign.cjs +12 -8
- package/bin/lib/codebase-scan.cjs +86 -0
- package/bin/lib/config.cjs +129 -0
- package/bin/lib/deploy.cjs +36 -0
- package/bin/lib/deviation.cjs +1 -1
- package/bin/lib/drift-log.cjs +4 -4
- package/bin/lib/health.cjs +32 -31
- package/bin/lib/install-detect.cjs +62 -0
- package/bin/lib/legacy-folder.cjs +100 -0
- package/bin/lib/playwright-check.cjs +26 -0
- package/bin/lib/site-location.cjs +22 -0
- package/bin/lib/state.cjs +3 -3
- package/bin/lib/svg-render.cjs +42 -0
- package/bin/ttm-tools.cjs +136 -4
- package/gates/base-gates.md +8 -8
- package/gates/gate-evaluation.md +8 -8
- package/install.js +37 -3
- package/package.json +10 -6
- package/playbooks/aeo.md +218 -114
- package/playbooks/affiliate.md +225 -160
- package/playbooks/email.md +236 -174
- package/playbooks/events.md +303 -213
- package/playbooks/landing-pages.md +309 -0
- package/playbooks/linkedin.md +264 -142
- package/playbooks/manifesto.md +322 -0
- package/playbooks/paid-ads.md +240 -189
- package/playbooks/positioning.md +340 -0
- package/playbooks/pr-media.md +308 -168
- package/playbooks/pseo.md +426 -0
- package/playbooks/seo.md +251 -158
- package/playbooks/social.md +253 -182
- package/playbooks/youtube.md +286 -181
- package/references/brand-color-theory.md +48 -0
- package/references/codex-image-gen-research.md +58 -0
- package/references/context-loading.md +6 -6
- package/references/humanizer-patterns.md +433 -0
- package/references/inline-education-blurbs.md +461 -0
- package/references/landing-page-anatomy.md +65 -0
- package/references/landing-page-headline-examples.md +190 -0
- package/references/linkedin-post-patterns.md +174 -0
- package/references/logo-design-principles.md +55 -0
- package/references/meta-gate-evaluation.md +3 -3
- package/references/obra-superpowers-conventions.md +170 -0
- package/references/playbook-leaders.md +472 -0
- package/references/playwright-mcp-setup.md +164 -0
- package/references/positioning-check-report.md +2 -2
- package/references/pseo-page-anatomy.md +56 -0
- package/references/pseo-templates/alternative-anatomy.md +31 -0
- package/references/pseo-templates/alternative-content-playbook.md +32 -0
- package/references/pseo-templates/blog-anatomy.md +28 -0
- package/references/pseo-templates/blog-content-playbook.md +36 -0
- package/references/pseo-templates/comparison-anatomy.md +29 -0
- package/references/pseo-templates/comparison-content-playbook.md +35 -0
- package/references/pseo-templates/use-case-anatomy.md +28 -0
- package/references/pseo-templates/use-case-content-playbook.md +30 -0
- package/skills/ttm-101/SKILL.md +25 -0
- package/skills/ttm-aeo-check/SKILL.md +17 -12
- package/skills/ttm-affiliate-kit/SKILL.md +5 -0
- package/skills/ttm-archive/SKILL.md +5 -0
- package/skills/ttm-brand-refresh/SKILL.md +5 -0
- package/skills/ttm-brief/SKILL.md +5 -0
- package/skills/ttm-competitor-scan/SKILL.md +5 -0
- package/skills/ttm-deploy/SKILL.md +22 -0
- package/skills/ttm-discover/SKILL.md +17 -0
- package/skills/ttm-email-check/SKILL.md +17 -0
- package/skills/ttm-email-preflight/SKILL.md +17 -11
- package/skills/ttm-fix/SKILL.md +5 -0
- package/skills/ttm-health/SKILL.md +6 -1
- package/skills/ttm-humanize/SKILL.md +33 -0
- package/skills/ttm-icp-refresh/SKILL.md +5 -0
- package/skills/ttm-improve-skill/SKILL.md +18 -0
- package/skills/ttm-init/SKILL.md +10 -3
- package/skills/ttm-keyword-map/SKILL.md +17 -11
- package/skills/ttm-landing/SKILL.md +19 -0
- package/skills/ttm-learn/SKILL.md +5 -0
- package/skills/ttm-linkedin-post/SKILL.md +26 -0
- package/skills/ttm-measure/SKILL.md +5 -0
- package/skills/ttm-new-campaign/SKILL.md +5 -0
- package/skills/ttm-next/SKILL.md +5 -0
- package/skills/ttm-playwright-setup/SKILL.md +18 -0
- package/skills/ttm-positioning-check/SKILL.md +5 -0
- package/skills/ttm-positioning-shift/SKILL.md +5 -0
- package/skills/ttm-produce/SKILL.md +5 -0
- package/skills/ttm-pseo/SKILL.md +26 -0
- package/skills/ttm-repurpose/SKILL.md +5 -0
- package/skills/ttm-request-skill/SKILL.md +18 -0
- package/skills/ttm-research/SKILL.md +18 -6
- package/skills/ttm-resume/SKILL.md +5 -0
- package/skills/ttm-review/SKILL.md +5 -0
- package/skills/ttm-seo/SKILL.md +64 -0
- package/skills/ttm-seo-audit/SKILL.md +17 -12
- package/skills/ttm-ship/SKILL.md +5 -0
- package/skills/ttm-state/SKILL.md +5 -0
- package/skills/ttm-update/SKILL.md +152 -4
- package/skills/ttm-verify/SKILL.md +5 -0
- package/templates/agents-md.md +14 -4
- package/templates/campaign-research.md +6 -6
- package/templates/campaign-state.md +1 -1
- package/templates/claude-md.md +14 -4
- package/templates/linkedin-base-template.md +48 -0
- package/templates/next-step-footer.md +13 -0
- package/templates/production-manifest.json +4 -4
- package/templates/pseo/alternative-cms-schema.json +65 -0
- package/templates/pseo/blog-cms-schema.json +55 -0
- package/templates/pseo/comparison-cms-schema.json +56 -0
- package/templates/pseo/use-case-cms-schema.json +62 -0
- package/templates/reference-files/brand.md +51 -0
- package/templates/reference-files/product-dna.md +73 -0
- package/templates/site-scaffold/app/globals.css +2 -0
- package/templates/site-scaffold/app/layout.tsx +17 -0
- package/templates/site-scaffold/app/page.tsx +33 -0
- package/templates/site-scaffold/app/robots.ts +8 -0
- package/templates/site-scaffold/app/sitemap.ts +10 -0
- package/templates/site-scaffold/app/tokens.css +21 -0
- package/templates/site-scaffold/components/Comparison.tsx +14 -0
- package/templates/site-scaffold/components/Faq.tsx +14 -0
- package/templates/site-scaffold/components/Features.tsx +14 -0
- package/templates/site-scaffold/components/FinalCta.tsx +17 -0
- package/templates/site-scaffold/components/Footer.tsx +12 -0
- package/templates/site-scaffold/components/Hero.tsx +22 -0
- package/templates/site-scaffold/components/HowItWorks.tsx +14 -0
- package/templates/site-scaffold/components/PricingTeaser.tsx +14 -0
- package/templates/site-scaffold/components/Problem.tsx +14 -0
- package/templates/site-scaffold/components/SocialProof.tsx +14 -0
- package/templates/site-scaffold/components/Solution.tsx +14 -0
- package/templates/site-scaffold/components/Testimonials.tsx +14 -0
- package/templates/site-scaffold/components/UseCases.tsx +14 -0
- package/templates/site-scaffold/content/.gitkeep +0 -0
- package/templates/site-scaffold/lib/.gitkeep +0 -0
- package/templates/site-scaffold/next.config.mjs +10 -0
- package/templates/site-scaffold/package.json +25 -0
- package/templates/site-scaffold/postcss.config.mjs +3 -0
- package/templates/site-scaffold/public/llms.txt +9 -0
- package/templates/site-scaffold/tsconfig.json +21 -0
- package/templates/verification-report.md +1 -1
- package/workflows/channel/linkedin-post.md +178 -0
- package/workflows/discipline/affiliate-kit.md +65 -6
- package/workflows/discipline/{email-preflight.md → email-check.md} +39 -4
- package/workflows/discipline/repurpose.md +82 -31
- package/workflows/discipline/{aeo-check.md → seo/aeo.md} +13 -6
- package/workflows/discipline/{seo-audit.md → seo/audit.md} +13 -6
- package/workflows/discipline/{keyword-map.md → seo/keyword-map.md} +13 -6
- package/workflows/education/ttm-101.md +114 -0
- package/workflows/lifecycle/brief-positioning-check.md +1 -1
- package/workflows/lifecycle/brief.md +64 -28
- package/workflows/lifecycle/{research.md → discover.md} +61 -19
- package/workflows/lifecycle/fix.md +72 -37
- package/workflows/lifecycle/humanize.md +280 -0
- package/workflows/lifecycle/learn.md +72 -35
- package/workflows/lifecycle/measure.md +54 -18
- package/workflows/lifecycle/produce.md +88 -37
- package/workflows/lifecycle/review.md +71 -25
- package/workflows/lifecycle/ship.md +62 -18
- package/workflows/lifecycle/verify.md +72 -26
- package/workflows/reference-mgmt/brand-refresh.md +50 -13
- package/workflows/reference-mgmt/competitor-scan.md +51 -15
- package/workflows/reference-mgmt/icp-refresh.md +48 -12
- package/workflows/reference-mgmt/positioning-check.md +55 -20
- package/workflows/reference-mgmt/positioning-shift.md +53 -17
- package/workflows/setup/init-brand-colors.md +75 -0
- package/workflows/setup/init-logo.md +113 -0
- package/workflows/setup/init-product-dna.md +83 -0
- package/workflows/setup/init-questions.md +166 -30
- package/workflows/setup/init-validation.md +22 -0
- package/workflows/setup/init.md +144 -39
- package/workflows/setup/new-campaign.md +48 -12
- package/workflows/site/deploy.md +98 -0
- package/workflows/site/landing.md +156 -0
- package/workflows/site/pseo.md +96 -0
- package/workflows/site/quality-gates.md +88 -0
- package/workflows/utility/archive.md +45 -9
- package/workflows/utility/health.md +77 -3
- package/workflows/utility/improve-skill.md +233 -0
- package/workflows/utility/next.md +38 -2
- package/workflows/utility/playwright-setup.md +128 -0
- package/workflows/utility/request-skill.md +218 -0
- package/workflows/utility/resume.md +40 -3
- package/workflows/utility/state.md +42 -7
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
# Obra/Superpowers + GSD-Build Conventions Reference
|
|
2
|
+
|
|
3
|
+
**Purpose:** Catalog of patterns from `obra/superpowers` and `gsd-build/get-shit-done` that takeToMarket adopts in v2.3.0. Findings are grounded in the upstream `README.md`, `.claude-plugin/plugin.json`, `package.json`, `bin/install.js`, and select `skills/*/SKILL.md` files inspected on 2026-05-17 (obra superpowers `5.1.0`, get-shit-done `1.50.0-canary.0`).
|
|
4
|
+
|
|
5
|
+
**Status legend for "Adopted for v2.3.0" bullets:**
|
|
6
|
+
- `[P1]` — landed in v2.3.0-rc.1 (this PR).
|
|
7
|
+
- `[P1-partial]` — partial landing in P1; remainder tracked for later phase.
|
|
8
|
+
- `[P2+]` — design intent for a subsequent v2.3.x phase (P2-P6); not in this PR.
|
|
9
|
+
- `[deferred]` — explicitly deferred past v2.3.x (e.g. v2.4, v2.5).
|
|
10
|
+
|
|
11
|
+
## Axis 1: Distribution + Install
|
|
12
|
+
|
|
13
|
+
### Obra pattern
|
|
14
|
+
|
|
15
|
+
- **Primary surface is plugin marketplaces, not npm.** `README.md` lists 7 install paths (Claude Code, Codex CLI, Codex App, Factory Droid, Gemini CLI, OpenCode, Cursor, Copilot CLI) and every single one is a one-line plugin-marketplace command. There is no `npm install`, no `npx`, no `git clone`.
|
|
16
|
+
- **Dual-marketplace distribution.** Official path: `/plugin install superpowers@claude-plugins-official` (Anthropic-curated). Community path: `/plugin marketplace add obra/superpowers-marketplace` then `/plugin install superpowers@superpowers-marketplace`.
|
|
17
|
+
- **Minimal `.claude-plugin/plugin.json`.** Fields actually present: `name`, `description`, `version` (`5.1.0`), `author` (object with `name`+`email`), `homepage`, `repository`, `license`, `keywords`. No `skills` array, no `displayName`, no `category`, no `source`/`sourceUrl`. The plugin runtime auto-discovers skills from the `skills/` directory.
|
|
18
|
+
- **Repo holds runtime-specific subtrees side by side.** Root contains `.claude-plugin/`, `.codex-plugin/`, `.cursor-plugin/`, `.opencode/`, plus `gemini-extension.json` and `AGENTS.md`/`CLAUDE.md`/`GEMINI.md`. Each runtime gets a native install path; the upstream sync script lives at `scripts/sync-to-codex-plugin.sh`.
|
|
19
|
+
- **Version bumping is a tracked workflow.** Root `.version-bump.json` + `scripts/bump-version.sh` keep the version pinned across all runtime manifests. Badges in README are absent (intentional — README is install-instructions-first).
|
|
20
|
+
|
|
21
|
+
### GSD pattern
|
|
22
|
+
|
|
23
|
+
- **Primary surface is `npx`.** README headline is literally `npx get-shit-done-cc@latest`. Plugin-marketplace install is not mentioned in the headline; npx is the entry point even though the package ships skills.
|
|
24
|
+
- **Single installer, many runtimes.** `bin/install.js` (10,840 lines) is the universal installer. It prompts the user for runtime choice (Claude Code, OpenCode, Gemini CLI, Kilo, Codex, Copilot, Cursor, Windsurf, "and more"), supports `--global` / local install, and `--profile=core|standard` for surface budgeting.
|
|
25
|
+
- **`package.json` is the source of truth.** `name: get-shit-done-cc`, `version: 1.50.0-canary.0`, three bin entries (`get-shit-done-cc`, `gsd-sdk`, `gsd-tools`), `files` array enumerates 11 directories, `engines.node: ">=22.0.0"`, real runtime deps (`@anthropic-ai/claude-agent-sdk`, `ws`), optional `fallow`.
|
|
26
|
+
- **README leans heavily on badges + social proof.** Eight badges at the top: npm version, npm downloads, GitHub Actions test status, Discord, X, $GSD token, GitHub stars, license. Plus "Trusted by engineers at Amazon, Google, Shopify, and Webflow" and three pull-quotes. Multi-language READMEs (`README.pt-BR.md`, `README.zh-CN.md`, `README.ja-JP.md`, `README.ko-KR.md`).
|
|
27
|
+
- **Idempotent installer is a feature.** Troubleshooting section explicitly tells users `Re-run the installer — it's idempotent: npx get-shit-done-cc@latest`. `CLAUDE_CONFIG_DIR` env var documented for container use.
|
|
28
|
+
|
|
29
|
+
### takeToMarket current state
|
|
30
|
+
|
|
31
|
+
- `package.json` ships as `taketomarket` `2.2.0`, single bin entry `taketomarket → install.js`, `files` array lists 9 directories, no runtime deps, `engines.node: ">=18"`. Closer to GSD shape than obra's no-npm shape.
|
|
32
|
+
- `.claude-plugin/plugin.json` is **GSD-flavored, not obra-flavored**: contains `displayName`, `category: "productivity"`, `source: "git"`, `sourceUrl`, and an explicit `skills: [...]` array hand-listing all 28 `ttm-*` skills. Three of those fields (`displayName`, `category`, `source`/`sourceUrl`) do not exist in obra's manifest.
|
|
33
|
+
- `.claude-plugin/marketplace.json` exists alongside `plugin.json` (obra puts the marketplace in a separate repo, `obra/superpowers-marketplace`).
|
|
34
|
+
- `install.js` is at repo root (759 lines), not under `bin/`. GSD puts its installer under `bin/install.js` and exposes additional bins for SDK/tools.
|
|
35
|
+
- README leads with a single npm badge, then explains 4 install options (npx, Claude marketplace pending, direct-from-GitHub, manual clone). No social proof, no Discord, no multi-language, no badge wall. Install instructions are wordier than obra's one-liners.
|
|
36
|
+
- Runtime fan-out matches obra structurally: install.js copies skills into `~/.claude/skills/`, `~/.codex/skills/`, `~/.cursor/skills/`, `~/.codeium/windsurf/skills/`, `~/.gemini/skills/`, and `~/.agents/skills/` based on the interactive prompt.
|
|
37
|
+
|
|
38
|
+
### Adopted for v2.3.0
|
|
39
|
+
|
|
40
|
+
- `[P1]` Keep npx as the primary install surface (matches GSD; obra's marketplace-only model assumes Anthropic-curated approval, which we don't yet have). (No-op — already true.)
|
|
41
|
+
- `[P1]` Plugin manifest (`.claude-plugin/plugin.json`) is already obra-shaped: `name`, `version`, `description`, `author`, `license`, `keywords` only. No `skills: [...]` hand-list in this file — runtime auto-discovers.
|
|
42
|
+
- `[P2+]` Trim `.claude-plugin/marketplace.json` to drop `displayName`, `category`, `source`, `sourceUrl`, and the hand-maintained `skills: [...]` array. These fields are not part of the obra/Anthropic plugin schema; they were aspirational marketplace fields. (P1 only updated description + repository URLs; field drop deferred.)
|
|
43
|
+
- `[P2+]` Move `install.js` to `bin/install.js` to match GSD's layout. Update `package.json` `bin` and `files` accordingly.
|
|
44
|
+
- `[P2+]` Add idempotent re-run language to README troubleshooting ("Re-run the installer — it's idempotent: `npx taketomarket`").
|
|
45
|
+
- `[P2+]` Add `CHANGELOG.md`-driven release-notes link in README.
|
|
46
|
+
- `[P1-partial]` Badge wall: P1 added a GitHub-stars badge (2 badges total). Full 4-badge target (npm version, npm downloads, GitHub stars, license) tracked for P2+.
|
|
47
|
+
- `[deferred]` Multi-language READMEs — revisit once star count + downloads warrant it.
|
|
48
|
+
|
|
49
|
+
## Axis 2: Skill Structure + Naming
|
|
50
|
+
|
|
51
|
+
### Obra pattern
|
|
52
|
+
|
|
53
|
+
- **14 flat top-level skills.** Names are verb-phrases: `brainstorming`, `writing-plans`, `writing-skills`, `executing-plans`, `test-driven-development`, `systematic-debugging`, `using-git-worktrees`, `using-superpowers`, `requesting-code-review`, `receiving-code-review`, `subagent-driven-development`, `finishing-a-development-branch`, `dispatching-parallel-agents`, `verification-before-completion`. No prefix, no namespace.
|
|
54
|
+
- **`skills/<name>/SKILL.md`** is the canonical layout. Supporting material lives in `skills/<name>/references/` (e.g. `skills/using-superpowers/references/`).
|
|
55
|
+
- **Minimal YAML frontmatter.** Every SKILL.md observed has exactly two fields: `name` and `description`. `description` is the activation contract — written as a directive ("You MUST use this before any creative work…", "Use when implementing any feature or bugfix, before writing implementation code"). No `disable-model-invocation`, no `context: fork`, no `allowed-tools`, no `argument-hint` in the obra core 14.
|
|
56
|
+
- **Cross-skill references via `superpowers:<skill-name>`.** Example from `writing-skills/SKILL.md`: `REQUIRED BACKGROUND: You MUST understand superpowers:test-driven-development before using this skill.`
|
|
57
|
+
|
|
58
|
+
### GSD pattern
|
|
59
|
+
|
|
60
|
+
- **Namespace-prefixed skills (`gsd-*`).** 50+ skills, all under a `gsd-` prefix: `gsd-new-project`, `gsd-plan-phase`, `gsd-execute-phase`, etc. Plus sub-namespaces (`gsd-ns-*`) for grouped surfaces (`gsd-ns-workflow`, `gsd-ns-review`, `gsd-ns-context`).
|
|
61
|
+
- **Profiles control which skills install.** `--profile=core` ships only the six core-loop skills; `--profile=standard` adds phase management. Profiles compose (`--profile=core,audit`). The "surface budget" concept means a user can constrain runtime surface without uninstalling.
|
|
62
|
+
- **Skills can be enabled/disabled at runtime** without reinstall via `/gsd:surface`.
|
|
63
|
+
- **Skills live in `get-shit-done/` subtree** in source repo (not `skills/`); installer mirrors them to the runtime's standard skill path (`~/.claude/skills/gsd-*/`).
|
|
64
|
+
|
|
65
|
+
### takeToMarket current state
|
|
66
|
+
|
|
67
|
+
- 28 skills, all under `ttm-` prefix — matches GSD's namespace-prefix convention.
|
|
68
|
+
- Skills live under `skills/<name>/SKILL.md` (obra layout, not GSD's `get-shit-done/` subtree).
|
|
69
|
+
- Frontmatter is **maximal**: `ttm-produce/SKILL.md` declares `name`, `description`, `argument-hint`, `disable-model-invocation: true`, `context: fork`, `allowed-tools: Read Write Bash Glob Grep Task`. SKILL.md body is one line: `Read and follow the workflow at ${CLAUDE_PLUGIN_ROOT}/workflows/lifecycle/produce.md`. The actual instructions live in `workflows/`.
|
|
70
|
+
- No profile system — all 28 skills install every time.
|
|
71
|
+
- Workflows are grouped under `workflows/{discipline,lifecycle,reference-mgmt,setup,utility}/` and referenced from thin SKILL.md shims. This is a real architectural choice (mirrors GSD's `commands/` + `agents/` split) and worth preserving.
|
|
72
|
+
|
|
73
|
+
### Adopted for v2.3.0
|
|
74
|
+
|
|
75
|
+
- `[P1]` Keep `ttm-*` prefix — matches the namespace convention users expect from GSD-influenced plugins and prevents collision with obra/other plugins. (No-op — already true.)
|
|
76
|
+
- `[P2+]` Keep the workflow-shim pattern (thin SKILL.md, body in `workflows/`). Document it as a convention in CLAUDE.md so future skills follow the pattern. (P1 did not add the convention note to CLAUDE.md.)
|
|
77
|
+
- `[P1]` Keep `disable-model-invocation: true` as the **default** for lifecycle skills (`/ttm-produce`, `/ttm-ship`, `/ttm-measure`, `/ttm-learn`). Use `disable-model-invocation: false` for advisory skills (`/ttm-positioning-check`, `/ttm-health`). (No-op — already true.)
|
|
78
|
+
- `[P1]` Keep `context: fork` for fan-out skills (`/ttm-produce`, `/ttm-verify`, `/ttm-repurpose`) — matches GSD's wave-parallel execution pattern. (No-op — already true.)
|
|
79
|
+
- `[deferred]` Profile system to v2.4. v2.3 ships all skills; we'll add `--profile=core|standard|full` once we have telemetry on which skills users actually invoke.
|
|
80
|
+
- `[P2+]` Adopt obra-style `description:` directives ("Use when X, before Y") in place of bare descriptions. Activation contract should read as an instruction to Claude, not a feature blurb. (See Axis 4.)
|
|
81
|
+
|
|
82
|
+
## Axis 3: README + npm Page Content
|
|
83
|
+
|
|
84
|
+
### Obra pattern
|
|
85
|
+
|
|
86
|
+
- **No badges.** Zero. README opens with the project name + one-paragraph pitch.
|
|
87
|
+
- **"How it works" narrative comes before install.** Two paragraphs explain the brainstorm → spec → plan → subagent loop in human language. The reader understands the value before they hit any commands.
|
|
88
|
+
- **Install section is a flat table of contents.** Quickstart line: `Give your agent Superpowers: Claude Code, Codex CLI, Codex App, Factory Droid, Gemini CLI, OpenCode, Cursor, GitHub Copilot CLI.` Each is a deep-link to a per-runtime install subsection — every subsection is a single fenced command.
|
|
89
|
+
- **"The Basic Workflow" reads as numbered prose.** Each step names the relevant skill and one sentence about when it activates. No tables.
|
|
90
|
+
- **Sponsorship + community come last.** Sponsorship link, MIT license, Discord, issues, release-announcement signup. No metrics, no "trusted by", no pull-quotes.
|
|
91
|
+
- **Philosophy section is four bullets.** "Test-Driven Development", "Systematic over ad-hoc", "Complexity reduction", "Evidence over claims". Short, ideological, memorable.
|
|
92
|
+
|
|
93
|
+
### GSD pattern
|
|
94
|
+
|
|
95
|
+
- **Badge wall on top.** 8 badges (npm version, downloads, tests, Discord, X, $GSD token, stars, license) — high visual density, signals "this project is real and active".
|
|
96
|
+
- **"Trusted by" social proof** immediately under badges. Plus three pull-quotes from real users. This frontloads credibility for first-time visitors.
|
|
97
|
+
- **Inline pricing pitch.** `npx get-shit-done-cc@latest` appears twice in the first 1 000 chars (once standalone, once with `latest`).
|
|
98
|
+
- **"Why I Built This" personal narrative** (signed `— TÂCHES`) before the technical content. Establishes author voice and target audience (solo developers).
|
|
99
|
+
- **"How It Works" is the six-command loop** with code blocks and explanation per command. Concrete, executable.
|
|
100
|
+
- **Commands table** — full command surface in a single scannable table.
|
|
101
|
+
- **Why It Works** section — three numbered problems GSD solves (context bloat, no shared memory, no verification) with the GSD answer for each.
|
|
102
|
+
- **Configuration callouts** — points to `.planning/config.json` and the docs site for advanced knobs.
|
|
103
|
+
- **Star history chart** at the bottom (`star-history.com` SVG).
|
|
104
|
+
|
|
105
|
+
### takeToMarket current state
|
|
106
|
+
|
|
107
|
+
- One badge (npm version). No social proof, no pull-quotes, no Discord, no star chart.
|
|
108
|
+
- Opens with two-paragraph "What it is / What it isn't" framing — strong and unique, worth keeping.
|
|
109
|
+
- "Requirements" → "Installation" (4 options) → "Quick Start" → "Runtime Notes" → "Campaign Lifecycle" → "Command Reference" → "Verify Installation" → "License" → "Privacy & Security" → "Contributing". Structure is clean but reads as a manual, not a pitch.
|
|
110
|
+
- Command Reference is a full 28-row table — closer to GSD style than obra's narrative.
|
|
111
|
+
- No "Why I Built This", no "Why It Works", no philosophy section.
|
|
112
|
+
|
|
113
|
+
### Adopted for v2.3.0
|
|
114
|
+
|
|
115
|
+
- `[P1]` Keep "What it is / What it isn't" framing — it's the strongest piece of positioning in the current README and aligns with takeToMarket's positioning-as-invariant ethos.
|
|
116
|
+
- `[P1-partial]` Functional badges: P1 added GitHub-stars badge (2 total). Full 4-badge target (npm version, npm downloads, GitHub stars, license) tracked for P2+. Skip Discord/X until those channels exist; skip $TOKEN equivalents permanently.
|
|
117
|
+
- `[P2+]` Add a "How It Works" narrative section between "What it is" and "Requirements" — 2-3 paragraphs explaining the 9-phase lifecycle as a story, not a table. Borrow obra's prose-first cadence.
|
|
118
|
+
- `[P2+]` Add a "Why It Works" section after Command Reference — three numbered points (positioning drift, no shared marketing memory, no verifiable outcomes) mirroring GSD's three-problem framing.
|
|
119
|
+
- `[P2+]` Add a "Philosophy" section: four bullets matching the project's core invariants (positioning as architectural invariant, every asset has a verifiable outcome, compound learnings, no asset ships without quality gate wall).
|
|
120
|
+
- `[P1]` Keep the runtime install table — it's clearer than obra's per-runtime subsections for a smaller skill set. (No-op — already true.)
|
|
121
|
+
- `[deferred]` Multi-language READMEs, pull-quotes, "trusted by", star history chart — needs real adoption first.
|
|
122
|
+
- `[P2+]` Add npm-page-aware language: the README ships verbatim to npmjs.com/package/taketomarket via `package.json`; the first 200 chars matter for SEO. Tighten the lede.
|
|
123
|
+
|
|
124
|
+
## Axis 4: Internal Skill Invocation Pattern
|
|
125
|
+
|
|
126
|
+
### Obra pattern
|
|
127
|
+
|
|
128
|
+
- **The `Skill` tool is the activation primitive.** `skills/using-superpowers/SKILL.md` literally bootstraps the entire system: it tells Claude to invoke the `Skill` tool whenever there's a 1% chance a skill applies, before any response (including clarifying questions).
|
|
129
|
+
- **Hard-gate XML tags wrap non-negotiable rules.** Examples observed:
|
|
130
|
+
- `<HARD-GATE> ... </HARD-GATE>` in `brainstorming/SKILL.md`: "Do NOT invoke any implementation skill, write any code, scaffold any project, or take any implementation action until you have presented a design and the user has approved it."
|
|
131
|
+
- `<EXTREMELY-IMPORTANT> ... </EXTREMELY-IMPORTANT>` in `using-superpowers/SKILL.md`: "If you think there is even a 1% chance a skill might apply to what you are doing, you ABSOLUTELY MUST invoke the skill."
|
|
132
|
+
- `<SUBAGENT-STOP> ... </SUBAGENT-STOP>` for subagent-aware skip logic.
|
|
133
|
+
- **Checklist + TodoWrite preamble.** Skills with multi-step processes include an explicit `## Checklist` with items like "Explore project context", "Ask clarifying questions", "Propose 2-3 approaches", "Present design". The `using-superpowers` skill instructs Claude to convert each checklist item into a TodoWrite todo before executing.
|
|
134
|
+
- **Graphviz `dot` process diagrams** embedded in SKILL.md. Skills like `brainstorming` and `using-superpowers` include `digraph { ... }` blocks showing flow + decision points. Provides Claude with a state machine to follow.
|
|
135
|
+
- **Cross-skill chaining via prose.** `brainstorming/SKILL.md` ends with: "**The terminal state is invoking writing-plans.** Do NOT invoke frontend-design, mcp-builder, or any other implementation skill. The ONLY skill you invoke after brainstorming is writing-plans." Skills explicitly name their successor.
|
|
136
|
+
- **"Red Flags" tables** that name common rationalizations Claude uses to skip the skill, and refute them inline. Example from `using-superpowers`: "This is just a simple question" → "Questions are tasks. Check for skills."
|
|
137
|
+
- **`description:` field doubles as the activation contract.** Written as a directive, not a description: `Use when implementing any feature or bugfix, before writing implementation code` (TDD), `You MUST use this before any creative work...` (brainstorming). This is what Claude pattern-matches on when auto-selecting skills.
|
|
138
|
+
- **Instruction priority is documented.** `using-superpowers/SKILL.md` declares: user CLAUDE.md/AGENTS.md/GEMINI.md instructions > superpowers skills > default system prompt. Skills explicitly defer to user instructions when they conflict.
|
|
139
|
+
|
|
140
|
+
### GSD pattern
|
|
141
|
+
|
|
142
|
+
- **Slash-command invocation is primary.** Users type `/gsd-plan-phase 1`; skills are entered explicitly, not through `Skill` tool auto-selection.
|
|
143
|
+
- **State files are the persistence preamble.** Every skill's first action is to read `.planning/PROJECT.md`, `REQUIREMENTS.md`, `ROADMAP.md`, `STATE.md`, `CONTEXT.md`. The skill instructions assume these files exist and use them as the cross-session memory.
|
|
144
|
+
- **Subagent dispatch via `Task` tool** for fan-out work (planning, execution, verification). Each subagent gets a fresh 200K context loaded with exactly what it needs.
|
|
145
|
+
- **Hooks at session boundaries.** Hooks are registered via plugin config; individual hook scripts live under `hooks/` (e.g. `gsd-session-state.sh`, `gsd-prompt-guard.js`). A `SessionStart` hook re-orients Claude to GSD conventions and injects project state on every fresh session.
|
|
146
|
+
- **No `Skill` tool reliance.** Skills are designed for explicit user invocation; auto-triggering is rare. `disable-model-invocation` is typically `true`.
|
|
147
|
+
- **Lint scripts enforce skill quality.** `scripts/lint-descriptions.cjs`, `lint-skill-deps.cjs`, `lint-command-contract.cjs` — the install pipeline rejects skills with vague descriptions or undeclared dependencies.
|
|
148
|
+
|
|
149
|
+
### takeToMarket current state
|
|
150
|
+
|
|
151
|
+
- **GSD-style invocation, obra-style state-as-preamble.** Users type `/ttm-produce`; the skill reads its workflow and the workflow's first action is to load 9 reference files plus campaign-specific state.
|
|
152
|
+
- **No hard-gate XML wrappers.** Workflows use `<purpose>`, `<required_reading>`, `<constraints>`, `<process>` tags as section delimiters, but the language inside is descriptive ("Do NOT modify `.taketomarket/POSITIONING.md` during this workflow") not gate-enforced.
|
|
153
|
+
- **No checklist preamble.** Workflows are sequential `## Step 1`, `## Step 2` headers without an upfront todo-list template.
|
|
154
|
+
- **No process digraphs.** Workflows are prose + numbered steps; no Graphviz state machines.
|
|
155
|
+
- **No cross-skill chaining declarations.** Skills don't explicitly name their successor (e.g. `/ttm-brief` doesn't say "the only skill you invoke next is `/ttm-produce`").
|
|
156
|
+
- **No Red Flags table.** No documented refutation of rationalizations Claude might use to skip a step.
|
|
157
|
+
- **`description:` is feature-blurb style**, not directive: `"Produce phase: generate content assets in fresh contexts loaded with brief, positioning, brand, ICP, and playbook. Use after a brief is approved."` Has the "Use after X" hook but doesn't lead with the activation imperative.
|
|
158
|
+
- **No `Skill` tool integration.** Skills are explicit-invocation only; advisory skills like `/ttm-positioning-check` and `/ttm-health` already set `disable-model-invocation: false` but workflows don't yet invoke other skills via the `Skill` tool.
|
|
159
|
+
|
|
160
|
+
### Adopted for v2.3.0
|
|
161
|
+
|
|
162
|
+
- `[P2+]` Add `<HARD-GATE>` / `<EXTREMELY-IMPORTANT>` XML wrappers around the **positioning invariant** in every workflow that touches assets (`produce`, `repurpose`, `review`, `fix`, `verify`, `ship`). The invariant is takeToMarket's signature constraint; gate-language enforces it more reliably than prose.
|
|
163
|
+
- `[P2+]` Rewrite `description:` fields in obra-directive style. Pattern: `Use when <trigger>, before <next step>. <Optional warning>.` Example for `/ttm-produce`: `Use when a brief is approved and assets need to be generated. Do not invoke without a passed brief — produce will fail.`
|
|
164
|
+
- `[P2+]` Add a `## Checklist` section to every multi-step workflow with explicit TodoWrite-mappable items. Mirror obra's "create a task for each of these items and complete them in order" preamble.
|
|
165
|
+
- `[P2+]` Add cross-skill chaining declarations to each lifecycle skill: name the predecessor skill that should have run, and the successor skill that should run next. Example: `/ttm-brief` ends with "**The terminal state is invoking /ttm-produce.** Do not invoke /ttm-ship or /ttm-measure until produce → verify → review have completed."
|
|
166
|
+
- `[P2+]` Add a "Red Flags" table to `/ttm-produce` and `/ttm-verify` listing the rationalizations Claude commonly uses to skip reference loading or gate checks ("These assets look fine without verify", "Positioning is obvious here", "I already loaded BRAND.md last turn").
|
|
167
|
+
- `[P2+]` Adopt obra's instruction-priority hierarchy in `CLAUDE.md`: user CLAUDE.md/AGENTS.md > takeToMarket skills > default system prompt. Add to the project's CLAUDE.md preamble.
|
|
168
|
+
- `[P2+]` Add a `SessionStart` hook (matchers: `startup|clear|compact`) that re-orients Claude to takeToMarket conventions and reads `.taketomarket/STATE.md` frontmatter. Mirrors GSD's hook pattern.
|
|
169
|
+
- `[deferred]` Graphviz digraphs and lint scripts — high-value but require maintenance investment we can stage after the core conventions land.
|
|
170
|
+
- `[P2+]` Use the `Skill` tool inside workflows for cross-skill invocation (e.g. `/ttm-fix` should invoke `/ttm-produce` and `/ttm-verify` via the `Skill` tool, not by telling the user to run them manually). This matches obra's composition pattern and reduces user friction.
|