Skip to content

feat(parsa): add seo-from-calls skill - #91

Open
parsakhaz wants to merge 1 commit into
mainfrom
feat/parsa-seo-from-calls
Open

feat(parsa): add seo-from-calls skill#91
parsakhaz wants to merge 1 commit into
mainfrom
feat/parsa-seo-from-calls

Conversation

@parsakhaz

Copy link
Copy Markdown
Member

Summary

  • New seo-from-calls skill that mines customer call transcripts (Doozy captures) for unmet search intents, validates against the existing site and competitive landscape, and drafts pages that fill the gaps
  • Added to all three locations: parsa/seo/ (canonical), parsa/.claude/skills/ (Claude), parsa/.codex/skills/ (Codex)
  • Codex variant is simplified (no allowed-tools/model frontmatter, no Doozy MCP tool instructions)

Context

Validated on BloomText with two sales calls (Charisse — PT multi-location; Jessica — ABA distributed therapy) that produced 4 new pages + 2 conversion fixes (bloom-mono PR #598).

The workflow fills a gap between data-driven SEO skills (seo-content-strategy, seo-briefing) and individual page planning (page-strategy). Those work from analytics; this one works from qualitative customer signals.

Test plan

  • Verify /seo-from-calls appears in Claude Code skill list after sync
  • Verify Codex can load the skill when dispatched

🤖 Generated with Claude Code

https://claude.ai/code/session_01SNwjk9JtiFyCNEMrX2xj5F

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 9, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-09-09T21:18:51.489275Z a6b983a PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@parsakhaz
parsakhaz force-pushed the feat/parsa-seo-from-calls branch from a6b983a to 2434b9e Compare September 9, 2026 21:18

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: a6b983aea2

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread parsa/seo/seo-from-calls/SKILL.md Outdated
Comment on lines +112 to +115
1. Add content entries to the appropriate config files (ehrPages.js,
comparisons.js, useCases.js, etc.) following exact existing patterns
2. Create page route files under `apps/website/pages/`
3. Add CDN invalidation entries to `.github/workflows/website-deploy.yml`

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Discover the target site's layout before creating files

When this generic skill runs against any site that is not BloomText's exact Next.js Pages Router layout, these instructions direct the agent to create files in nonexistent or incorrect config, route, and deployment locations. The earlier inventory step should discover the site's actual content model, routes, deployment configuration, and build command, then pass those paths into drafting rather than hard-coding ehrPages.js, apps/website/pages/, and website-deploy.yml.

Useful? React with 👍 / 👎.

Comment on lines +39 to +42
### Step 3 — Cross-reference existing pages

Search the website codebase to map every existing page route. Compare against
the extracted signals. For each signal, determine: does a page already exist?

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Validate the competitive landscape in the Codex workflow

For every Codex invocation, this step only inventories the local site and then proceeds directly to recommendations, so the advertised competitive-landscape validation never occurs. This can prioritize pages without checking search intent, current rankings, or competitor coverage; add the SERP and competitor research performed by the Claude variant before the decision step.

Useful? React with 👍 / 👎.

Comment thread parsa/seo/seo-from-calls/SKILL.md Outdated

### Step 5 — Draft the pages

When the user approves the plan, create all pages directly:

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Run drafted pages through the required writing framework

Whenever the approved plan includes customer-facing pages, this instruction creates them directly without invoking seo-writing-framework. That bypasses the research, reader-hat, edit, slop-gate, and scoring passes that parsa/seo/README.md requires for every copy skill and that the existing drafting, readability, and authority skills explicitly perform.

Useful? React with 👍 / 👎.

2. **New pages using existing templates** — EHR, comparison, use case pages
3. **New page types** — pages needing a new template

### Step 5 — Draft the pages

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Keep Codex from authoring customer-facing copy

When this Codex skill reaches the drafting phase, it makes Codex the writer of record for landing pages, comparisons, metadata, and pricing clarifications. This contradicts the repository's model-routing requirement in README.md:162-168 and README.md:217-220, which requires all public copy and SEO copy to be routed through Claude; Codex should restrict itself to analysis and code scaffolding around Claude-approved copy.

Useful? React with 👍 / 👎.

Mines customer call transcripts (Doozy captures) for unmet search intents,
validates against the existing site and competitive landscape, and drafts
the pages that fill the gaps.

Workflow: pull transcripts → extract buying signals → cross-reference
existing pages → research competitive landscape → discuss priorities →
draft pages with existing templates.

Validated on BloomText with two sales calls (PT + ABA) that produced
4 new pages + 2 conversion fixes (bloom-mono PR #598).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SNwjk9JtiFyCNEMrX2xj5F
@parsakhaz
parsakhaz force-pushed the feat/parsa-seo-from-calls branch from 2434b9e to 52436d7 Compare September 9, 2026 21:21
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.

1 participant