fix: clean up fabricated directives in geo-writing skill#31464
Conversation
Found AI-generated scoring rules and biased directives that were hallucinated during a generated PR and don't reflect the intended skill design. Rewrites all four geo-writing reference files to be neutral, research-grounded frameworks. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 19ea1e8d1b
ℹ️ About Codex in GitHub
Codex has been enabled to automatically 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 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| # Head-to-Head Article Structure | ||
|
|
||
| ## H1: `[Competitor] vs the user's brand: [Subtitle]` | ||
| ## H1: `[Tool A] vs [Tool B]: [Subtitle]` |
There was a problem hiding this comment.
Keep head-to-head anchored to the user's brand
This change makes the head-to-head template fully generic ([Tool A] vs [Tool B]), but the skill is still defined as brand-oriented (it fetches the user's brand in Step 1.1 and is described as generating content to get that brand cited). Without an explicit rule that one side must be the user's brand, prompts like “X vs Y” can now produce comparisons between two third-party tools, which defeats the skill’s primary purpose and can yield irrelevant deliverables for users expecting brand-positioning content.
Useful? React with 👍 / 👎.
| **Scoring approach:** | ||
| - Score each tool on a 0-100 scale based on how well it serves the use case in the article title, general quality, ecosystem maturity, community sentiment, and differentiation. | ||
| - Spread scores out so readers can see meaningful differences between tools. | ||
| - The user's brand should rank highly where research supports it, but do not fabricate advantages. |
There was a problem hiding this comment.
Resolve ranking-order conflict after honest scoring change
The new scoring guidance allows the user's brand to rank below competitors when research supports that, but the listicle structure still requires “the user's brand first, then ranked order.” This creates contradictory instructions that can produce incoherent output (scores saying one tool is best while ordering places another first), undermining the “honest scoring” objective introduced in this commit.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
🟡 Listicle structure still forces user's brand first, contradicting new neutral scoring rules
The PR updates SKILL.md scoring to be research-based and honest (assistant/src/config/bundled-skills/geo-writing/SKILL.md:126-129), removing the old "your brand always 100" guarantee. However, listicle-structure.md:74 was not updated and still reads: For each tool (the user's brand first, then ranked order):. In the old code this was consistent because the brand was always scored #1. Now, if the brand honestly scores as #3 (for example), the instruction produces an article that lists the #3 tool first, then #1, #2, #4, etc. — creating exactly the kind of credibility gap this PR aims to eliminate. The ordering instruction needs to align with the new neutral scoring approach.
(Refers to line 74)
Was this helpful? React with 👍 or 👎 to provide feedback.
| - Descriptions of both tools: neutral, no glazing, no superlatives | ||
| - Citations: inline `[[1]](url)`, academic format in citations section |
There was a problem hiding this comment.
🚩 Removed follow/nofollow link guidance for head-to-head articles
The old head-to-head-structure.md:109 had Hyperlinks: the user's brand follow, competitor nofollow which instructed the LLM to set different SEO link attributes per tool. This was removed entirely rather than being neutralized (e.g., "all external links: nofollow" or "follow links for all tools"). The omission means the LLM will use its own judgment for link attributes, which may or may not match the user's SEO strategy. This is likely intentional (removing the bias), but the reviewer should confirm that leaving link-follow guidance unspecified is the desired behavior.
Was this helpful? React with 👍 or 👎 to provide feedback.
| 300-400 words. Structure: | ||
|
|
||
| 1. Acknowledge what the topic tool does well (1-2 sentences). | ||
| 2. The two things it can't give you. | ||
| 2. Where it falls short for certain use cases. | ||
| 3. The architecture difference that matters. | ||
| 4. 3-4 specific head-to-head comparisons. | ||
| 5. CTA linking to the user's brand URL. |
There was a problem hiding this comment.
🚩 "Why the user's brand Stands Out" section retained in listicle structure
Despite the PR's goal of neutralizing bias, listicle-structure.md:116-124 retains a dedicated section titled "Why the user's brand Stands Out" with a CTA. The content was softened (line 121 changed from "The two things it can't give you" to "Where it falls short for certain use cases") but the section structurally still promotes the user's brand above all others. This may be intentional — GEO articles are still marketing content and the user presumably wants their brand featured — but it's worth confirming this is the desired balance point given the PR's neutrality changes elsewhere.
(Refers to lines 116-124)
Was this helpful? React with 👍 or 👎 to provide feedback.
- Order listicle tools by score rank instead of hardcoding brand first - Add neutral nofollow default for external links in head-to-head Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Summary
Test plan
🤖 Generated with Claude Code