Skip to content

feat: add sales-page-persona-simulator skill - #1

Open
robnetinf wants to merge 16 commits into
melgarafael:mainfrom
robnetinf:main
Open

feat: add sales-page-persona-simulator skill#1
robnetinf wants to merge 16 commits into
melgarafael:mainfrom
robnetinf:main

Conversation

@robnetinf

Copy link
Copy Markdown

Summary

  • Adds skills/sales-page-persona-simulator, an independent, manually-triggered skill that simulates buyer personas reading a built sales page (Phase 7 output) to predict objections, drop-off points, and conversion likelihood before it ships.
  • Every objection/fix the skill reports traces to design-intelligence/theory/conversion-psychology.md (Cialdini's principles, anchoring, loss aversion, etc.) and design-intelligence/references/patterns/objection-handling.md (FAQ, objection cards, comparison table, guarantee, risk-reversal banner) — no unsourced AI guessing.
  • Complements sales-page-qa (mechanical checks) rather than overlapping it; never writes to pipeline state.json and isn't a pipeline phase — purely advisory.
  • Adds /grow simulate [slug] shortcut in commands/grow/COMMAND.md (keyword bypass + full subcommand docs) and registers the skill in plugin.json.

Test plan

  • Verified /grow simulate with zero existing output/sales-pages/ projects falls through to the correct usage/fallback message.
  • Built a sample sales page (focusflow, a fictitious product) intentionally missing a guarantee, FAQ, price anchoring, and specific social proof, with no matching voice/offers/*.md file, to exercise the Default Persona Library fallback path.
  • Ran the skill's simulation logic against it end-to-end: 4 personas evaluated, each objection/fix grounded in the two reference docs.
  • Generated the HTML report, validated it parses cleanly with no leftover placeholders, and rendered it in headless Chromium to confirm the dark-theme styling matches the existing Sales Page Studio preview server.
  • Removed the test fixture from output/sales-pages/ before committing (test-only content, gitignore pattern for output/sales-pages/** intentionally not added since this directory holds real user projects).

🤖 Generated with Claude Code

Simulates buyer personas reading a built sales page to predict objections,
drop-off points, and conversion likelihood before publishing — grounded in
conversion-psychology.md and objection-handling.md rather than generic AI
guesses. Independent and manually triggered (via /grow simulate [slug] or
natural language); never touches pipeline state.json, complementing the
mechanical checks in sales-page-qa.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@ecc-tools

ecc-tools Bot commented Jul 6, 2026

Copy link
Copy Markdown

Analyzing 200 commits...

@ecc-tools

ecc-tools Bot commented Jul 6, 2026

Copy link
Copy Markdown

Analysis Complete

Generated ECC bundle from 1 commits | Confidence: 50%

View Pull Request #2

Repository Profile
Attribute Value
Language TypeScript
Framework Not detected
Commit Convention conventional
Test Directory separate
Changed Files (3)
Metric Value
Files changed 3
Additions 169
Deletions 2

Top hotspots

Path Status +/-
skills/sales-page-persona-simulator/SKILL.md added +132 / -0
commands/grow/COMMAND.md modified +34 / -0
plugin.json modified +3 / -2

Top directories

Directory Files Total changes
skills/sales-page-persona-simulator 1 132
commands/grow 1 34
. 1 5
Analysis Depth Readiness (commit-history, 7%)

ECC Tools uses this to decide whether recommendations should stay at commit-history/setup guidance or expand into CI, security, harness, reference-set, AI-routing, and team backlog work.

Area Status Evidence / Next Step
Commit history Partial 1 commits sampled
CI/CD signals Missing Add workflow files or CI troubleshooting evidence so ECC Tools can reason about pipeline setup.
Security evidence Missing Add AgentShield, audit, SARIF, SBOM, or security review evidence so recommendations can cover security posture.
Harness configuration Missing Add Claude, Codex, OpenCode, Zed, dmux, MCP, plugin, or cross-harness config evidence for harness-agnostic recommendations.
Reference/eval evidence Missing Add fixtures, golden traces, reference sets, or evaluator benchmarks so deeper recommendations have regression evidence.
AI routing and cost controls Missing Add model-routing, budget, usage, or cost-control files before relying on AI-heavy automation recommendations.
Team handoff and project tracking Missing Add roadmap, runbook, project, Linear, or follow-up tracking docs so generated work can land in a team queue.
Reference Set Readiness (0/7, 0%)
Area Status Evidence / Next Step
Deep analyzer corpus Missing Add analyzer fixture, golden, benchmark, or reference-set files that can catch analyzer regressions.
RAG/evaluator comparison Missing Add retrieval or evaluator reference-set comparison fixtures with expected ranking behavior.
PR salvage/review corpus Missing Add stale-PR, review-thread, reopen-flow, or salvage reference cases for queue cleanup automation.
Discussion triage corpus Missing Add public discussion triage fixtures, golden cases, or reference sets for informational, answered, and no-response classifications.
Harness compatibility Missing Add cross-harness, adapter-compliance, or harness-audit evidence for Claude, Codex, OpenCode, Zed, dmux, and agent surfaces.
Security evidence Missing Attach security evidence such as SBOMs, SARIF, audit reports, or AgentShield evidence packs.
CI failure-mode evidence Missing Add captured CI failure logs, dry-run fixtures, or troubleshooting docs for common workflow failure modes.
Likely Future Issues (4)
Severity Signal Why it may show up
MEDIUM CLI changes may ship without shell or end-to-end coverage 1 CLI surface paths changed; 0 CLI-focused integration or e2e tests changed
MEDIUM AI or harness analysis changes may ship without reference-set validation 2 reference-sensitive path(s) changed; 0 eval, golden trace, benchmark, or reference-set artifacts changed
MEDIUM Harness config changes may ship without compatibility evidence 1 harness config paths changed; 0 harness compatibility evidence artifacts changed
MEDIUM Skill or agent guidance may ship without quality evidence 2 skill-quality path(s) changed; 0 examples, validator, eval, or reference artifacts changed
  • CLI changes may ship without shell or end-to-end coverage: The PR changes CLI, bin, or command-entry files without touching any obvious CLI-focused integration or end-to-end tests.
  • AI or harness analysis changes may ship without reference-set validation: The PR changes analyzer, skill, agent, command, or harness guidance without updating any obvious eval, golden trace, benchmark, or reference-set artifact.
  • Harness config changes may ship without compatibility evidence: The PR changes harness, MCP, plugin, or agent configuration without touching harness audit, adapter matrix, cross-harness docs, or compatibility regression evidence.
  • Skill or agent guidance may ship without quality evidence: The PR changes skill, agent, command, or rule guidance without touching examples, validator, eval, or reference evidence.
Suggested Follow-up Work (4)
Type Suggested title Targets
PR test: add CLI coverage for commands/grow/COMMAND.md commands/grow/COMMAND.md
PR analysis: add reference-set evidence for commands/grow/COMMAND.md + skills/sales-page-persona-simulator/SKILL.md commands/grow/COMMAND.md, skills/sales-page-persona-simulator/SKILL.md
PR harness: add config quality evidence for commands/grow/COMMAND.md commands/grow/COMMAND.md
PR skills: add quality evidence for commands/grow/COMMAND.md + skills/sales-page-persona-simulator/SKILL.md commands/grow/COMMAND.md, skills/sales-page-persona-simulator/SKILL.md
  • test: add CLI coverage for commands/grow/COMMAND.md: Backfill CLI coverage before another command-surface change lands on the touched paths.
  • analysis: add reference-set evidence for commands/grow/COMMAND.md + skills/sales-page-persona-simulator/SKILL.md: Backfill eval, golden trace, benchmark, or reference-set evidence before another AI or harness-analysis change lands on the touched surface.
  • harness: add config quality evidence for commands/grow/COMMAND.md: Backfill harness audit, adapter matrix, or cross-harness compatibility evidence before another config change lands on the touched surface.
  • skills: add quality evidence for commands/grow/COMMAND.md + skills/sales-page-persona-simulator/SKILL.md: Backfill examples, validator, eval, or reference evidence before another skill or agent guidance change lands on the touched surface.

Copy-ready bodies

test: add CLI coverage for commands/grow/COMMAND.md

## Summary
- Add shell, CLI, or end-to-end coverage for the recently changed command surface.

## Why
- Backfill CLI coverage before another command-surface change lands on the touched paths.

## Touched paths
- `commands/grow/COMMAND.md`

## Validation
- Add or extend shell, CLI, or end-to-end coverage for the changed command surface.
- Exercise the user-facing command invocation and expected exit/output behavior.

analysis: add reference-set evidence for commands/grow/COMMAND.md + skills/sales-page-persona-simulator/SKILL.md

## Summary
- Add reference-set or eval evidence for the recently changed AI, analyzer, skill, agent, command, or harness guidance surface.

## Why
- Backfill eval, golden trace, benchmark, or reference-set evidence before another AI or harness-analysis change lands on the touched surface.

## Touched paths
- `commands/grow/COMMAND.md`
- `skills/sales-page-persona-simulator/SKILL.md`

## Validation
- Add or update an eval, golden trace, benchmark, fixture, or reference-set artifact for the changed AI/harness behavior.
- Compare the changed behavior against the maintained reference set and record the pass/fail evidence.
- Confirm the follow-up evidence covers the same analyzer, skill, agent, command, or harness surface touched by this PR.

harness: add config quality evidence for commands/grow/COMMAND.md

## Summary
- Add harness compatibility evidence for the recently changed config surface.

## Why
- Backfill harness audit, adapter matrix, or cross-harness compatibility evidence before another config change lands on the touched surface.

## Touched paths
- `commands/grow/COMMAND.md`

## Validation
- Run or update the harness audit, adapter compliance matrix, or cross-harness compatibility check for the changed config.
- Add or update a regression, fixture, or doc evidence path that covers the affected harness, MCP, plugin, or agent loading behavior.

skills: add quality evidence for commands/grow/COMMAND.md + skills/sales-page-persona-simulator/SKILL.md

## Summary
- Add skill-quality evidence for the recently changed skill, agent, command, or rule guidance.

## Why
- Backfill examples, validator, eval, or reference evidence before another skill or agent guidance change lands on the touched surface.

## Touched paths
- `commands/grow/COMMAND.md`
- `skills/sales-page-persona-simulator/SKILL.md`

## Validation
- Add or update examples, trigger coverage, frontmatter validation, or skill validator fixtures for the changed guidance.
- Run the relevant skill, agent, command, or rule validation flow and record pass/fail evidence.
- Confirm the follow-up evidence covers the same guidance surface touched by this PR.
Generated Instincts (17)
Domain Count
git 4
code-style 9
testing 2
architecture 2

After merging, import with:

/instinct-import .claude/homunculus/instincts/inherited/growthOS-instincts.yaml

Files

  • .claude/ecc-tools.json
  • .claude/skills/growthOS/SKILL.md
  • .agents/skills/growthOS/SKILL.md
  • .agents/skills/growthOS/agents/openai.yaml
  • .claude/identity.json
  • .codex/config.toml
  • .codex/AGENTS.md
  • .codex/agents/explorer.toml
  • .codex/agents/reviewer.toml
  • .codex/agents/docs-researcher.toml
  • .claude/homunculus/instincts/inherited/growthOS-instincts.yaml

ECC Tools | Everything Claude Code

robnetsolutions and others added 15 commits July 6, 2026 16:50
/grow create landing was routing through content-creator instead of
growth-engineer since "landing" isn't a recognized create type — README
now uses the correct /grow landing form. Also adds the missing Delegation
pointer from the setup keyword to commands/grow/setup.md, matching every
other subcommand's documented wiring.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Both workflows were written for a monorepo layout where growthOS lived
in a subdirectory, but this repo's root already is growthOS. The
"growthOS/**" trigger paths never matched any push, so ci.yml and
deploy.yml had never run (0 workflow runs ever). Internal steps
(ruff, pytest, docker build context/dockerfile) also referenced the
nonexistent nested path.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
deploy.yml calls ci.yml as a reusable workflow ("uses: ./.github/workflows/ci.yml"),
which requires the callee to declare on.workflow_call. Without it, deploy.yml
fails to parse entirely (confirmed via manual workflow_dispatch: "workflow is
not reusable as it is missing a `on.workflow_call` trigger").

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
CI never ran before (see prior commit fixing workflow triggers), so these
43 lint violations and 48 unformatted files were never caught:

- Removed 13 genuinely unused imports (F401), 2 with a `# noqa` kept where
  the import only exists to fail fast if a dependency is missing
- Removed extraneous f-string prefixes with no placeholders (F541, 28x)
- Renamed ambiguous `l` loop variables to `lesson` in update-profile.py (E741)
- Applied `ruff format .` across 48 files (whitespace/style only)

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
… loader

Claude Code auto-discovers commands/agents by filename, not by parent
directory name, so commands/grow/COMMAND.md and agents/<name>/AGENT.md
were invisible to the plugin loader — /grow never registered and none
of the 12 agents loaded. Adds flat commands/grow.md and agents/*.md
entry points, simplifies plugin.json to drop the invalid path-array
fields for skills/agents/hooks/commands, and adds .mcp.json to wire up
the 4 MCP servers that previously had no launch config.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…the landing page default

The Robnet Solutions clinic landing page added parallax/motion effects on request
and it was a clear upgrade over the static baseline, so codify it as the standard
every generated landing page follows unless the brief asks for something static.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…App lead handoff

Single-file landing page for the clinics/professional-services vertical, built
on the landing-page-design skill defaults (hero motion, scroll reveal, text-roll
CTAs). Form submission validates required fields client-side and opens WhatsApp
(5511944678802) with a pre-filled lead message — no backend required.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
… blocked

window.open() silently returns null inside sandboxed iframes without
"allow-popups" (e.g. the artifact preview host), so the WhatsApp handoff
button did nothing with no visible error. Add a window.location.href
fallback and document the gotcha as a new CTA pattern so future
WhatsApp-handoff forms ship with it by default.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…roject

Landing page and 7-slide carousel moved to
/workspace/Agente_IA_Agenda_ServsProfissionais — the client project now
lives outside the growthOS tool repo. Removes the duplicated copies here.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Ran npm audit fix after fresh install surfaced 9 vulnerabilities.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
The agent's files (agents/caption-writer/) already existed but were
never declared in the manifest, so it wasn't loaded as one of the
official plugin agents. Bumps the advertised agent count 11 -> 12.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
The server defined its FastMCP instance and tools but never called
mcp.run(), so the process loaded everything and exited immediately
without ever starting the MCP server — the other 3 servers all had
this block, this one was missing it. Found while verifying all 4
GrowthOS MCP servers connect (they'd also silently failed for a
separate reason: fastmcp/pyyaml/httpx/pydantic/python-frontmatter
weren't installed in the environment).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Text-only visual-designer spec for the Instagram feed post announcing
SecretarIA (Robnet Solutions). Rendered PNGs, the reel, and captions
live in output/approved/2026-07-27/ and voice/preferences/, both
gitignored by design (per-project runtime content).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Registers a new video-editor agent (agents/video-editor/) plus the
raw-footage-editing skill for cutting existing raw video files —
silence removal, semantic trimming, word-synced burned-in captions —
distinct from video-producer's from-brief generation pipeline. Wires
the new /grow edit-video subcommand, bumps agent/skill counts in
plugin.json and README, and updates the Remotion narration asset used
by the ReelTips composition.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…c CSS motion

Reads new providers.video / providers.image keys (brand-voice.yaml,
gitignored, not part of this commit) to route video-producer to
mcp__kairogen__generate_video and visual-designer to
mcp__kairogen__generate_image by default, falling back to the
Remotion pipeline / spec-only output when Kairogen is unavailable or
the request needs a specific motion-graphics template. visual-designer
now renders real images instead of specs only. cmo.md's delegation
matrix reflects both defaults.

sales-page-visual-psychology Step 6a now defaults landing/sales page
animation to the richest CSS-only tier (cinematic) instead of picking
purely from archetype — kept CSS-only (no Framer/Motion JS lib) to
preserve the single-file, zero-external-dependency HTML architecture
of landing-page-design/sales-page-builder.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants