LearnNewsExamplesServices
Frontmatter
id14877
titleAdd title over-claim guards (identity + put-down) to /blog-post guide
stateClosed
labels
enhancementaimodel-experience
assigneesneo-opus-grace
createdAt11:08 AM
updatedAt11:40 AM
githubUrlhttps://github.com/neomjs/neo/issues/14877
authorneo-opus-grace
commentsCount0
parentIssuenull
subIssues[]
subIssuesCompleted0
subIssuesTotal0
contentTrust
projected
quarantined0
signals[]
blockedBy[]
blocking[]
closedAt11:40 AM

Add title over-claim guards (identity + put-down) to /blog-post guide

Closed Backlog/active-chunk-4 enhancementaimodel-experience
neo-opus-grace
neo-opus-grace commented on 11:08 AM

Context

@tobiu (2026-07-06) has not published the last blog batch to Medium/Reddit — because of the titles. He asked for a /blog-post skill fix with one owner, one PR (explicitly: not four competing PRs). This converged on Discussion #14875 (Vega opened first + conceded; Ada closed her duplicate #14876; Euclid-lead reinforced one-owner) with me (@neo-opus-grace) as the single owner.

The Problem

The "Your AI…" title formula appears in 3 of the last 6 posts and carries two distinct over-claims the current guide does not catch:

  1. False-human-author voice (provenance-inversion) — a 2nd-person "Your AI… / your stack…" title poses as a human addressing their tool, hiding that an AI maintainer wrote the post. The byline discloses the AI author, yet the title has already set a false frame.
  2. Competitive put-down — "X does Y, but mine does it better" / gotcha-taunt hooks (@tobiu: reads like "you have a nice watch, but I have the bigger one" — junior-dev flexing). For a project with a Neural Link, the fastest web runtime, and ~20k auto-identified concept nodes, substance should carry the title, not a swipe at the reader.

On the record (learn/blog/):

  • "Your AI can write the app. It still can't operate the running one." (Grace)
  • "Your AI Agent Grades Its Own Homework. Mine Gets Checked by a Rival Lab." (Vega)
  • "Your AI agents agree with each other. That's not the validation it feels like." (Grace)

We already write good ones — same corpus: "388 Tickets in 6 Weeks: Context Engineering Done Right" / "An AI predicted its own project's future. Ten weeks later, another AI graded it." Those are the bar.

The Architectural Reality

.agents/skills/blog-post/references/blog-authoring-guide.md:

  • §1 Narrative Arc — the hook line "frame the tension in their terms" collapses into "Your AI can't do X."
  • §3 Kill the Three Over-Claim Flavors — guards only factual over-claims (unsourced superlative / universal quantifier / misleading fraction). No guard for tonal or identity over-claims.

§1b Meta-Skill Sweep: consulted create-skill/SKILL.md + ADR 0008. Change is additive to the World Atlas reference payload (blog-authoring-guide.md), NOT the top-level SKILL.md router (Map) — no Progressive Disclosure violation, no router bloat. §1c Structure Map: N/A — no new or relocated files; edits an existing skill reference + existing posts.

The Fix

A) blog-authoring-guide.md:

  • §3 gains two over-claim flavors:
    • #4 False-human-author voice — ban 2nd-person "Your AI…/your stack…" vendor framing; title from inside the organism.
    • #5 Competitive put-down — ban "X does Y, but mine does it better" / taunt hooks; lead with the strongest substance, plainly.
  • §1 hook rework — tension from a real problem, never a swipe at the reader.
  • Mechanical failure-test (Ada, from #14875) — a title fails if it: (a) opens "Your AI…/Your stack…", (b) is shaped "X does Y — but mine does it better", or (c) would read as bragging to a senior engineer at a rival lab.
  • Overcorrection guard (Vega, from #14875) — story-tension stays legal ("…Ten weeks later, another AI graded it." = drama, zero put-down); ban the reader-swipe, not tension.
  • 2–3 before→after exemplars from our own corpus.

B) Retitle the 3 offending posts (H1 + apps/portal/resources/data/blog.json) — pre-publish. @tobiu is the publisher, so final wording is his to tune. Working proposals:

  • ai-agents-runtime-possession → "Possession, not code-generation: operating a running app from inside it."
  • the-salute → "Convergence isn't validation: cross-checking agents across model families."
  • cross-family-verification → (Vega's) "Cross-family verification: an agent from a rival lab checks our work, in public."

Acceptance Criteria

  • blog-authoring-guide.md §3 documents flavors #4 (false-human-author) + #5 (competitive put-down) with the mechanical failure-test
  • §1 hook guidance reworked so "in their terms" cannot collapse into a reader put-down
  • Vega's overcorrection guard present (tension legal; ban the swipe)
  • 2–3 before→after exemplars added from our own corpus
  • The 3 offending posts retitled (H1 + blog.json); blog.json parses
  • Cross-family review (≥1 non-Claude family) before merge

Out of Scope

  • The who_is_online presence-signal behavior — @tobiu confirmed it is known/expected (agents idle out after turns; ~10min post-add_memory window), NOT a defect.
  • Other blog posts' titles not exhibiting the pattern.
  • Rewriting the guide's §2/§4/§5.

Avoided Traps

  • Standalone §Title/Headline section (Vega's opening idea) — rejected: the over-claim family (§3) is the right home, so the discipline lives with the other over-claim guards, not a parallel section.
  • Over-correcting into bland titles — the ban is the reader-swipe, not narrative tension (Vega's guard).

Related

  • Discussion #14875 (canonical, converged — single owner + locked spec)
  • Guide empirical anchor #13486 (cross-family-verification post)
  • The 3 posts under learn/blog/

Decision Record impact

none — no ADR governs blog-title guidance.

Handoff Retrieval Hints

query_summaries("blog title register false-human-author put-down /blog-post skill") · Discussion #14875 · .agents/skills/blog-post/references/blog-authoring-guide.md

tobiu referenced in commit 005f02b - "feat(blog): title over-claim guards + retitle Your-AI posts (#14877) (#14878) on 11:40 AM
tobiu closed this issue on 11:40 AM