docs: add ECC 2 growth outreach pack (#1993)

This commit is contained in:
Affaan Mustafa
2026-05-19 07:33:41 -04:00
committed by GitHub
parent e209afc8c1
commit 7a0645ed47
7 changed files with 262 additions and 3 deletions

View File

@@ -36,6 +36,8 @@
- publish the X thread from `x-thread.md` - publish the X thread from `x-thread.md`
- publish the LinkedIn draft from `linkedin-post.md` - publish the LinkedIn draft from `linkedin-post.md`
- use `article-outline.md` for the longer writeup - use `article-outline.md` for the longer writeup
- route sponsor, partner, consulting, conference, podcast, and GitHub
Discussion copy through `partner-sponsor-talks-pack.md`
- record one 30-60 second proof-of-work clip - record one 30-60 second proof-of-work clip
- validate the release video suite with `npm run release:video-suite -- --format json` - validate the release video suite with `npm run release:video-suite -- --format json`
after setting `ECC_VIDEO_SOURCE_ROOT` and `ECC_VIDEO_RELEASE_SUITE_ROOT` after setting `ECC_VIDEO_SOURCE_ROOT` and `ECC_VIDEO_RELEASE_SUITE_ROOT`
@@ -58,3 +60,6 @@ Use language like:
- "cross-harness operating system for agentic work" - "cross-harness operating system for agentic work"
- "ECC is the reusable substrate; Hermes is the operator shell" - "ECC is the reusable substrate; Hermes is the operator shell"
- "private/local integrations land after sanitization" - "private/local integrations land after sanitization"
Do not send sponsor, partner, consulting, conference, or podcast outreach
without explicit human approval.

View File

@@ -0,0 +1,208 @@
# ECC v2.0.0-rc.1 Partner, Sponsor, and Talks Pack
This pack turns the rc.1 release surface into outbound-ready copy for sponsors,
partners, consulting conversations, conference talks, podcast bookings, and
community announcements.
It is not a publish action. Use it after the release URL ledger, video suite,
and publication gates are current.
## Current Business Baseline
| Metric | Current | Target | Gap |
| --- | ---: | ---: | ---: |
| MRR | `$1,728/mo` | `$10,000/mo` | `$8,272/mo` |
| Core revenue lanes | Sponsors, ECC Tools Pro, consulting, talks | Repeatable growth loop | Approval-gated outbound |
| Launch proof | rc.1 preview pack, video suite, queue-zero audit | Public release package | Final URLs and human approval |
## Positioning Line
ECC 2.0 is the harness-native operator system for agentic work.
Use this short version in partner and sponsor messages:
```text
ECC gives teams one reusable layer for skills, hooks, rules, MCP conventions,
release gates, and operator workflows across Claude Code, Codex, OpenCode,
Cursor, Gemini, Zed, GitHub Copilot, and terminal-only workflows.
```
## Offer Ladder
| Motion | Best fit | Starting point | Primary ask |
| --- | --- | ---: | --- |
| Pilot sponsor | OSS-friendly team that wants early signal | `$200/mo` | GitHub Sponsors |
| Business sponsor | Tooling or AI infra company that wants logo and case-study surface | `$500/mo` | GitHub Sponsors or direct invoice |
| Strategic partner | Platform, marketplace, security, or developer-tool company | `$1,000+/mo` | Sponsor plus launch or integration plan |
| Consulting sprint | Team adopting agent harnesses internally | Scoped quote | Harness audit, rollout plan, and operating loop |
| Talk or podcast | Devtools, AI engineering, security, OSS, or founder audience | No fee required for high-leverage reach | Recording slot, demo slot, or conference proposal |
## Partner Targets
Prioritize partners that already benefit from a harness-agnostic operating
layer:
- AI coding platforms and IDEs;
- hosted agent and workflow orchestration tools;
- code review, security, and supply-chain vendors;
- model and inference providers;
- developer education, podcast, and conference organizers;
- teams adopting multiple harnesses at once.
## Sponsor Outbound
Subject:
```text
ECC 2.0 sponsor slot for cross-harness agent workflows
```
Body:
```text
Hey [name],
I am getting ECC v2.0.0-rc.1 ready for release review.
The project is now positioned around one reusable operator layer for agentic
work across Claude Code, Codex, OpenCode, Cursor, Gemini, Zed, GitHub Copilot,
and terminal workflows.
The sponsor fit is pretty direct: ECC reaches the exact builders who are
standardizing their AI coding stack, security posture, and workflow automation.
The current public sponsor ladder is:
- Pilot Partner: $200/mo
- Business Sponsor: $500/mo
- Strategic Partner: $1,000+/mo
Business sponsors get logo placement and release visibility. Strategic partners
can turn it into a deeper integration or launch motion.
Repo: https://github.com/affaan-m/ECC
Sponsor: https://github.com/sponsors/affaan-m
Release notes: https://github.com/affaan-m/ECC/blob/main/docs/releases/2.0.0-rc.1/release-notes.md
If useful, I can send the short sponsor packet and a proposed first 30-day plan.
Affaan
```
## Platform Partner DM
```text
ECC 2.0 is getting close to rc.1.
The release is centered on cross-harness agent workflows: reusable skills,
hooks, rules, MCP conventions, release gates, and an optional Hermes operator
shell.
The partner angle is not "another prompt pack." It is a tested operating layer
for teams using more than one AI coding harness.
I think there is a real integration or co-launch angle here if your team wants
better setup, policy, security, or workflow portability for agent users.
Repo: https://github.com/affaan-m/ECC
```
## Consulting Intro
```text
I am open to a small number of ECC 2.0 implementation sprints for teams that
are standardizing AI coding workflows.
The useful scope is usually:
1. audit the current harness setup;
2. turn repeated workflows into ECC skills, hooks, and rules;
3. add release, security, and CI gates;
4. create a team operating loop that works across Claude Code, Codex, OpenCode,
Cursor, Gemini, Zed, GitHub Copilot, and terminal workflows.
This is not generic AI consulting. The output is a working harness operating
system your team can keep using.
```
## Talk And Podcast Pitch
Title options:
- Building a Cross-Harness Operating System for AI Coding
- From Prompt Packs to Operator Systems
- What Breaks When Teams Adopt Too Many AI Coding Harnesses
- Security and Release Discipline for Agentic Coding Workflows
Short pitch:
```text
ECC started as an open-source workflow layer for Claude Code and is now moving
toward a cross-harness operating system for agentic work.
The talk is about the practical problems teams hit after the first AI coding
honeymoon: scattered prompts, duplicated setup, weak release gates, fragile
security posture, and no clear operating loop across tools.
I can show how ECC uses reusable skills, hooks, MCP conventions, release gates,
AgentShield-style security checks, and an optional Hermes operator shell to make
agentic work more measurable and portable.
```
## GitHub Discussion Announcement
```text
ECC v2.0.0-rc.1 preview pack is ready for final release review.
The main point: ECC 2.0 is the harness-native operator system for agentic work.
It now has a reviewed public surface for:
- reusable skills, hooks, rules, and MCP conventions;
- Claude Code, Codex, OpenCode, Cursor, Gemini, Zed, GitHub Copilot, and
terminal workflows;
- Hermes as the optional operator shell;
- release, security, queue, discussion, Linear, observability, and video-suite
gates.
The release is still approval-gated until the GitHub prerelease, npm package,
plugin paths, final URLs, and billing claims have live evidence.
Feedback wanted: install friction, cross-harness gaps, partner integrations,
sponsor fit, and examples of teams using multiple AI coding harnesses.
```
## Video CTA Hooks
Use these with the release video suite:
- "If your AI coding setup only works in one harness, it is not an operating
system yet."
- "ECC 2.0 is the shared layer: skills, hooks, MCPs, release gates, and team
workflows across the tools people actually use."
- "OSS stays free. Sponsors, Pro, and implementation work fund the public
layer."
- "Start with one workflow lane: engineering, research, content, or outreach."
## Do Not Send Or Publish If
- The release URL ledger still has stale or placeholder links.
- `npm run release:video-suite -- --format json` is not green against the
intended video roots.
- The GitHub prerelease, npm package, plugin path, or billing claim is described
as live without evidence.
- The message claims native payments are ready before ECC Tools billing readback
passes.
- The recipient needs a custom promise that is not covered by `SPONSORS.md`,
`SPONSORING.md`, or a separate consulting scope.
- The user has not approved outbound sponsor, partner, consulting, or media
messages.
## Routing Links
- Repo: <https://github.com/affaan-m/ECC>
- Release notes: <https://github.com/affaan-m/ECC/blob/main/docs/releases/2.0.0-rc.1/release-notes.md>
- Quickstart: <https://github.com/affaan-m/ECC/blob/main/docs/releases/2.0.0-rc.1/quickstart.md>
- Sponsor: <https://github.com/sponsors/affaan-m>
- Sponsor tiers: <https://github.com/affaan-m/ECC/blob/main/SPONSORS.md>
- Sponsoring guide: <https://github.com/affaan-m/ECC/blob/main/SPONSORING.md>

View File

@@ -29,6 +29,7 @@ surfaces, or posting announcements.
| `docs/releases/2.0.0-rc.1/operator-readiness-dashboard-2026-05-18.md` | Current prompt-to-artifact operator dashboard | Shows PR/issue/discussion/platform/supply-chain gates current and publication, plugin, billing, AgentShield, ECC Tools, legacy, and Linear productization gaps still open | | `docs/releases/2.0.0-rc.1/operator-readiness-dashboard-2026-05-18.md` | Current prompt-to-artifact operator dashboard | Shows PR/issue/discussion/platform/supply-chain gates current and publication, plugin, billing, AgentShield, ECC Tools, legacy, and Linear productization gaps still open |
| `docs/releases/2.0.0-rc.1/release-url-ledger-2026-05-19.md` | Live URL and approval-gated URL ledger for release copy | Must be regenerated from the final release commit before public announcements | | `docs/releases/2.0.0-rc.1/release-url-ledger-2026-05-19.md` | Live URL and approval-gated URL ledger for release copy | Must be regenerated from the final release commit before public announcements |
| `docs/releases/2.0.0-rc.1/video-suite-production.md` | Release video production manifest | Gates local media inventory, rough primary render, captions, timeline, self-eval, and no-private-path publication rules | | `docs/releases/2.0.0-rc.1/video-suite-production.md` | Release video production manifest | Gates local media inventory, rough primary render, captions, timeline, self-eval, and no-private-path publication rules |
| `docs/releases/2.0.0-rc.1/partner-sponsor-talks-pack.md` | Partner, sponsor, consulting, conference, podcast, and discussion copy | Must stay approval-gated and avoid live billing, release, package, or plugin claims without evidence |
| `docs/releases/2.0.0-rc.1/naming-and-publication-matrix.md` | Naming, slug, and publication-path decision record | Keeps `ECC`, npm `ecc-universal`, and plugin slug `ecc` for rc.1 | | `docs/releases/2.0.0-rc.1/naming-and-publication-matrix.md` | Naming, slug, and publication-path decision record | Keeps `ECC`, npm `ecc-universal`, and plugin slug `ecc` for rc.1 |
| `docs/releases/2.0.0-rc.1/release-name-plugin-publication-checklist-2026-05-18.md` | Release name, package, Claude plugin, Codex plugin, and publication-order checklist | Freezes rc.1 identity and requires final commit evidence before release, npm, plugin, billing, or announcement actions | | `docs/releases/2.0.0-rc.1/release-name-plugin-publication-checklist-2026-05-18.md` | Release name, package, Claude plugin, Codex plugin, and publication-order checklist | Freezes rc.1 identity and requires final commit evidence before release, npm, plugin, billing, or announcement actions |
| `docs/releases/2.0.0-rc.1/x-thread.md` | X launch draft | Must replace placeholders with live URLs after release/package/plugin publication | | `docs/releases/2.0.0-rc.1/x-thread.md` | X launch draft | Must replace placeholders with live URLs after release/package/plugin publication |

View File

@@ -46,8 +46,8 @@ feature branch:
- documentation expansion, Japanese localization, zh-CN to ja-JP parity - documentation expansion, Japanese localization, zh-CN to ja-JP parity
repair, and dependency readiness through TypeScript 6 and Node type updates; repair, and dependency readiness through TypeScript 6 and Node type updates;
- launch collateral for GitHub release copy, X, LinkedIn, article outline, - launch collateral for GitHub release copy, X, LinkedIn, article outline,
Telegram/Hermes handoff, demo prompts, and the approval-gated launch Telegram/Hermes handoff, demo prompts, partner/sponsor/talk outreach, and
checklist. the approval-gated launch checklist.
- a release URL ledger that separates links which already resolve from links - a release URL ledger that separates links which already resolve from links
that must wait for the GitHub release, npm rc package, plugin tag/directory, that must wait for the GitHub release, npm rc package, plugin tag/directory,
and ECC Tools billing readback. and ECC Tools billing readback.

View File

@@ -100,6 +100,10 @@ Production steps:
| Podcasts/talks | one-page pitch, demo outline, founder proof | bookings, partners | | Podcasts/talks | one-page pitch, demo outline, founder proof | bookings, partners |
| Sponsor outbound | direct sponsor note and tier table | GitHub Sponsors or Pro | | Sponsor outbound | direct sponsor note and tier table | GitHub Sponsors or Pro |
The source of truth for sponsor, partner, consulting, conference, podcast, and
GitHub Discussion copy is
`docs/releases/2.0.0-rc.1/partner-sponsor-talks-pack.md`.
## Copy Rules ## Copy Rules
Use direct product language: Use direct product language:
@@ -130,7 +134,7 @@ Avoid:
surfaces for b-roll. surfaces for b-roll.
6. Render the primary launch video plus five short clips. 6. Render the primary launch video plus five short clips.
7. Finalize GitHub release, X thread, LinkedIn post, Discussion announcement, 7. Finalize GitHub release, X thread, LinkedIn post, Discussion announcement,
sponsor email copy, and podcast/talk pitch. sponsor email copy, consulting intro, partner DM, and podcast/talk pitch.
8. Publish only after npm, plugin, release URL, and billing-readback gates are 8. Publish only after npm, plugin, release URL, and billing-readback gates are
either live or explicitly marked blocked. either live or explicitly marked blocked.
@@ -143,4 +147,5 @@ These actions need a human approval or credential before they move:
- wiring Discord with a bot token and guild ID; - wiring Discord with a bot token and guild ID;
- publishing npm or creating plugin tags; - publishing npm or creating plugin tags;
- announcing billing/native payments; - announcing billing/native payments;
- sending partner, consulting, conference, podcast, or sponsor outreach;
- posting final social copy from personal accounts. - posting final social copy from personal accounts.

View File

@@ -30,6 +30,7 @@ const REQUIRED_ARTIFACTS = [
`${RELEASE_DIR}/operator-readiness-dashboard-2026-05-18.md`, `${RELEASE_DIR}/operator-readiness-dashboard-2026-05-18.md`,
`${RELEASE_DIR}/release-url-ledger-2026-05-19.md`, `${RELEASE_DIR}/release-url-ledger-2026-05-19.md`,
`${RELEASE_DIR}/video-suite-production.md`, `${RELEASE_DIR}/video-suite-production.md`,
`${RELEASE_DIR}/partner-sponsor-talks-pack.md`,
`${RELEASE_DIR}/naming-and-publication-matrix.md`, `${RELEASE_DIR}/naming-and-publication-matrix.md`,
`${RELEASE_DIR}/release-name-plugin-publication-checklist-2026-05-18.md`, `${RELEASE_DIR}/release-name-plugin-publication-checklist-2026-05-18.md`,
`${RELEASE_DIR}/x-thread.md`, `${RELEASE_DIR}/x-thread.md`,

View File

@@ -53,6 +53,7 @@ const expectedReleaseFiles = [
'preview-pack-manifest.md', 'preview-pack-manifest.md',
'publication-readiness.md', 'publication-readiness.md',
'video-suite-production.md', 'video-suite-production.md',
'partner-sponsor-talks-pack.md',
'release-name-plugin-publication-checklist-2026-05-18.md', 'release-name-plugin-publication-checklist-2026-05-18.md',
]; ];
@@ -128,6 +129,7 @@ test('business launch copy stays aligned with the rc.1 public surface', () => {
test('announcement drafts avoid live-release claims before publication', () => { test('announcement drafts avoid live-release claims before publication', () => {
const announcementFiles = [ const announcementFiles = [
'docs/releases/2.0.0-rc.1/linkedin-post.md', 'docs/releases/2.0.0-rc.1/linkedin-post.md',
'docs/releases/2.0.0-rc.1/partner-sponsor-talks-pack.md',
'docs/business/social-launch-copy.md', 'docs/business/social-launch-copy.md',
]; ];
@@ -271,6 +273,43 @@ test('release video suite manifest gates the content launch lane', () => {
assert.ok(packageJson.files.includes('scripts/release-video-suite.js')); assert.ok(packageJson.files.includes('scripts/release-video-suite.js'));
}); });
test('partner sponsor talks pack gates the hypergrowth outbound lane', () => {
const partnerPack = read('docs/releases/2.0.0-rc.1/partner-sponsor-talks-pack.md');
const manifest = read('docs/releases/2.0.0-rc.1/preview-pack-manifest.md');
const releaseNotes = read('docs/releases/2.0.0-rc.1/release-notes.md');
const launchChecklist = read('docs/releases/2.0.0-rc.1/launch-checklist.md');
const hypergrowth = read('docs/releases/2.0.0/ecc-2-hypergrowth-release-command-center.md');
for (const marker of [
'Partner, Sponsor, and Talks Pack',
'$1,728/mo',
'$10,000/mo',
'$8,272/mo',
'Pilot sponsor',
'Business sponsor',
'Strategic partner',
'Consulting sprint',
'Talk or podcast',
'Sponsor Outbound',
'Platform Partner DM',
'Consulting Intro',
'Talk And Podcast Pitch',
'GitHub Discussion Announcement',
'Video CTA Hooks',
'Do Not Send Or Publish If',
'The user has not approved outbound sponsor, partner, consulting, or media',
]) {
assert.ok(partnerPack.includes(marker), `partner pack missing ${marker}`);
}
assert.ok(partnerPack.includes('SPONSORS.md'));
assert.ok(partnerPack.includes('SPONSORING.md'));
assert.ok(manifest.includes('partner-sponsor-talks-pack.md'));
assert.ok(releaseNotes.includes('partner/sponsor/talk outreach'));
assert.ok(launchChecklist.includes('partner-sponsor-talks-pack.md'));
assert.ok(hypergrowth.includes('partner-sponsor-talks-pack.md'));
});
test('release video suite public docs do not expose private media paths', () => { test('release video suite public docs do not expose private media paths', () => {
const releaseVideoDocs = [ const releaseVideoDocs = [
'docs/releases/2.0.0-rc.1/video-suite-production.md', 'docs/releases/2.0.0-rc.1/video-suite-production.md',