neo-agent-skills 0.1.82 → 0.1.83

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,11 +1,11 @@
1
1
  ---
2
2
  name: blog-post
3
- description: "Guide for public blog posts and outbound social posts; use when authoring, revising, or reviewing learn/blog/*.md (+ portal registration) or X, LinkedIn, or Medium posts/replies."
3
+ description: "Guide for blog posts, outbound social posts, and funding/pitch copy; use when authoring, revising, or reviewing learn/blog/*.md (+ portal registration), X/LinkedIn/Medium posts, or funding/pitch drafts."
4
4
  ---
5
5
 
6
- # Blog Post Authoring Skill
6
+ # Blog Post, Outbound & Pitch Authoring Skill
7
7
 
8
- If you are authoring or revising a public-facing blog post (`learn/blog/*.md` plus its manual portal registration in `apps/portal/resources/data/blog.json` — the SEO surfaces regenerate, never hand-edited), you MUST immediately use the `view_file` tool to read and strictly adhere to `.agents/skills/blog-post/references/blog-authoring-guide.md` before drafting or editing.
9
- If you are drafting, revising, or reviewing an outbound social post, link-reply, or reply (X, LinkedIn, or attributed Medium sections), you MUST also read and strictly adhere to [outbound-post.md](./references/outbound-post.md) (`.agents/skills/blog-post/references/outbound-post.md`).
8
+ Before authoring, revising, or reviewing a public blog post (`learn/blog/*.md` + manual registration in `apps/portal/resources/data/blog.json` — SEO surfaces regenerate, never hand-edited) or funding/pitch copy (`funding/**`), use `view_file` to read and adhere to `.agents/skills/blog-post/references/blog-authoring-guide.md`.
9
+ For an outbound social post, `link-reply`, or `reply` (X, LinkedIn, or attributed Medium sections), also read and adhere to [outbound-post.md](./references/outbound-post.md) (`.agents/skills/blog-post/references/outbound-post.md`).
10
10
 
11
- A public post is held to its own thesis: a real hero-piece narrative arc, outbound boundaries and `requestPublish` gate, every external claim sourced, zero over-claims, and cross-family review before it ships. Skipping the guide is the higher-cost path — #13486 took multiple cross-family cycles to converge on exactly these gates.
11
+ Every post or pitch is held to its thesis: the reader/acceptance pre-flight, mining the record first, one consolidated fact check at the final version (never per-revision V-B-A, #262), zero over-claims, and cross-family review before it ships (#13486).
@@ -1,43 +1,43 @@
1
- # Blog Post Authoring Guide
1
+ # Blog Post & Pitch Authoring Guide
2
2
 
3
- Fires when you author or revise a public-facing blog post: `learn/blog/<slug>.md` plus its manual portal registration in `apps/portal/resources/data/blog.json` (year node + leaf). The SEO surfaces are **generated, not hand-edited** — see §5. Sibling of the release-notes + `update-roadmap` skills.
3
+ Fires when you author, revise, or review a public blog post (`learn/blog/<slug>.md` + manual registration in `apps/portal/resources/data/blog.json`; SEO surfaces are **generated, not hand-edited** — §5) or funding/pitch copy (`funding/**`). Sibling of `release-notes` and `update-roadmap`.
4
4
 
5
- **The recursive principle.** A blog post is a *public artifact*, held to its own thesis. If the post argues for rigor, it must *be* rigorous. The empirical anchor for this entire guide is #13486 (the cross-family-verification post): it took multiple cross-family review cycles to converge, and each cycle caught exactly one of the failure modes below. This guide is that cycle distilled — so the *next* post starts where #13486 ended, not at the beginning.
5
+ **The recursive principle.** Public and investor-facing copy is held to its own thesis. If a piece argues for rigor, it must *be* rigorous. Empirical anchors: #13486 (the cross-family-verification post, whose review cycles surfaced the five over-claim flavors below) and #262 (claim-class verification and the acceptance lens).
6
6
 
7
- ## 1. Narrative Arc — a hero piece, not a changelog
7
+ ## 1. Pre-Flight & Narrative Arc — a hero piece, not a changelog
8
8
 
9
- Lead with the **thesis**, never the volume hook ("we shipped N things" is what a tired engineer downvotes on sight). The release-notes-level shape:
10
-
11
- - **TL;DR thesis** — one bold paragraph; the single idea, stated so a skimmer gets the whole bet.
12
- - **The hook** — the tension the reader already feels, framed in *their* terms, not yours. "Their terms" = a *real problem they have*, never a swipe at their tools ("Your AI can't…"). The tension comes from the problem, not from a taunt at the reader (see §3 flavors #4–#5).
9
+ - **Reader / acceptance pre-flight (before drafting):**
10
+ - **Blog & outbound posts:** Name the target reader and answer the hardest read first — *"why would the audience NOT click or read past the first paragraph?"*
11
+ - **Funding & accelerator pitches (`funding/**`):** Apply the acceptance lens first — *"why would they NOT accept us, and why would they?"* Mine the verified record (`strategy/areas/**`, `decisions-in-force.md`, Memory Core) before inventing a hook; nothing to re-invent.
12
+ - **TL;DR thesis** — one bold paragraph stating the single bet so a skimmer gets the whole argument.
13
+ - **The hook** — the tension the reader already feels, framed in *their* terms (a real problem they have, never a *"Your AI can't…"* swipe at their tools; see §3 flavors #4–#5).
13
14
  - **The arc** — problem → why the obvious fix falls short → your move → why it holds *by construction*. One claim per section; each section earns the next.
14
- - **Receipts, not prophecy** — concrete, linked, public evidence (PRs, issues, war stories). Pair the dramatic case with a mundane everyday one — the mundane one convinces harder.
15
- - **CTA** — the one question the piece leaves the reader holding, plus a single concrete next step. Not a link-dump.
15
+ - **Receipts, not prophecy** — concrete, linked evidence (PRs, issues, war stories). Pair the dramatic case with a mundane everyday one — the mundane one convinces harder.
16
+ - **CTA** — the one question the piece leaves the reader holding, plus a single concrete next step.
16
17
 
17
- Diagrams (Mermaid) earn their place only when they carry information the prose can't — each **render-verified before merge** (`guide-authoring-bar` §3; a post renders at `#/news/blog/<blog.json id>`, e.g. `#/news/blog/blog/the-salute`). Self-identify in a byline (named maintainer + model + the cross-family team).
18
+ Diagrams (Mermaid) earn their place only when they carry information prose can't — each **render-verified before merge** (`guide-authoring-bar` §3; a post renders at `#/news/blog/<blog.json id>`). Self-identify in a byline (named maintainer + model + cross-family team).
18
19
 
19
- ## 2. Source Every External Claim (verify-before-assert)
20
+ ## 2. Claim-Class Verification & The Single Final-Version Fact Check (#262)
20
21
 
21
- Every claim about the *outside world* — a competitor, a quote, a statistic, a "first / most / fastest" — needs a real, linked source you have **verified**, before publish.
22
+ Apply `§verify_before_assert` by claim class (`neo-agent-skills#262`):
22
23
 
23
- - **An authority's verbal statement is NOT a citable source.** "The operator told me X" / "a lead said Y" is a pointer to *go verify*, not a citation. (On #13486 the OpenClaw "got the most stars fastest" claim went in as fact → GPT RC'd it; the fix was to WebSearch it, confirm it across outlets, and cite *those*.)
24
- - **Verify, then cite the verification.** WebSearch / WebFetch the claim; link the source whose own words support the *exact* claim you make. Never cite a source for a claim it does not make — read the title/body, not just the search snippet.
25
- - **If you can't source it, cut it.** A cut claim costs nothing; an unsourced claim in a verification-themed post is fatal.
26
- - **Internal claims** (your own PRs, counts, war stories) link to the public record — issue/PR numbers, the release notes — with the metric stated (e.g. "GitHub's count, since the prior release").
24
+ - **External claims (outside world)** — a competitor, quote, statistic, or *"first / most / fastest"* requires a linked primary source you verified via `WebSearch` / `WebFetch` (read the body, not just the snippet). An authority's verbal statement (*"the operator told me X"*) is a pointer to verify, never a citation (#13486 OpenClaw star-count catch). If you can't source it, cut it.
25
+ - **Record claims with a receipt** — an internal number beside its query, a decision beside its anchor, or a date beside its commit (`strategy/areas/**`, release notes, public issues/PRs) is **cited from the anchor** during drafting. Re-measure only when changing the claim or when the anchor is missing.
26
+ - **One consolidated fact check at the final version (the gate for blog & funding/pitch text):** Class (3) sets the cadence for every claim inside blog, outbound, and funding/pitch text, including its class (1) and (2) claims. Write from the verified anchors and have **a seat that did not draft the claims** run **one consolidated fact check at the final version** before publish/submission — never a per-point V-B-A sweep on every draft revision (a drafting seat's re-run reproduces its own inferred labels; `#262`). Re-measuring existing receipts per revision burns context windows, triggers compaction, and steers the text toward what is measurable (counts, rosters) instead of what is true.
27
27
 
28
28
  ## 3. Kill the Five Over-Claim Flavors
29
29
 
30
- A claim can be literally true yet imply something false — and a *title* can be accurate yet strike the wrong voice. Audit every claim (and every title) for *implication*, not just literal accuracy. Flavors 1–3 are **factual** over-claims (surfaced by #13486's cross-family review, recounted from the actual cycle — see the Empirical Anchor); flavors 4–5 are **tonal / identity** over-claims (from @tobiu's title feedback, #14877 — the "Your AI…" batch he would not publish):
30
+ A claim can be literally true yet imply something false — and a *title* can be accurate yet strike the wrong voice. Audit every claim and title for *implication*, not just literal accuracy. Flavors 1–3 are **factual** over-claims (#13486); flavors 4–5 are **tonal / identity** over-claims (@tobiu's title feedback, #14877):
31
31
 
32
- 1. **Unsourced superlative** — "the most / first / fastest X." Source the exact ranking, or soften / cut. (OpenClaw "most stars, fastest ever" — GPT RC'd it as unsourced → cut, then re-added *attributed* to the star-count outlets.)
33
- 2. **Universal quantifier** — "*all* N are X." One counterexample disproves it, and a skeptic will find it. Soften to defensible process framing unless the universal is *genuinely* true. ("all 1,307 PRs cross-reviewed" → "cross-family review the standard for substrate, a human on every merge" — and "a human on every merge" stays universal because it is the actual rule.)
34
- 3. **Misleading fraction / framing** — a correct number that implies a false conclusion. ("129 of 151 tracked items shipped" is accurate but reads *almost done*, while the full system is a major-version horizon away.) Reframe so the *impression* matches reality.
35
- 4. **False-human-author voice (provenance-inversion)** — a second-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 author, but the *title* has already set a false frame. Title from *inside* the organism — describe what we built; don't grade the reader's stack. ("Your AI can write the app. It still can't operate the running one." → "Possession, not code-generation: operating a running app from inside it.")
36
- 5. **Competitive put-down** — "X does Y, but *mine* does it better" / gotcha-taunt hooks. Reads like "you have a nice watch, but I have the bigger one" — junior-dev flexing that *undercuts* a serious project. Lead with the strongest substance, stated plainly; let the work carry the confidence. ("Your AI Agent Grades Its Own Homework. Mine Gets Checked by a Rival Lab." → "Cross-family verification: an agent from a rival lab checks our work, in public.")
32
+ 1. **Unsourced superlative** — "the most / first / fastest X." Source the exact ranking, or soften / cut.
33
+ 2. **Universal quantifier** — "*all* N are X." One counterexample disproves it. Soften to process framing unless genuinely universal ("cross-family review by rule, a human on every merge").
34
+ 3. **Misleading fraction / framing** — a correct number that implies a false conclusion ("129 of 151 tracked items shipped" reads *almost done* when a major horizon remains). Reframe so the impression matches reality.
35
+ 4. **False-human-author voice (provenance-inversion)** — a second-person "Your AI… / your stack…" title poses as a human grading tools, hiding that an AI maintainer wrote the post. Title from *inside* the organism — describe what we built ("Possession, not code-generation: operating a running app from inside it").
36
+ 5. **Competitive put-down** — "X does Y, but *mine* does it better" / gotcha-taunt hooks. Lead with substance stated plainly ("Cross-family verification: an agent from a rival lab checks our work, in public").
37
37
 
38
- **The test (claims):** for each claim ask *both* "is it accurate?" and "does the framing imply something I can't defend?" Both must pass.
38
+ **The test (claims):** ask *both* "is it accurate?" and "does the framing imply something I can't defend?" Both must pass.
39
39
 
40
- **The test (titles) — mechanical:** a title fails if it (a) opens with "Your AI… / Your stack…" (the vendor second-person frame), (b) is shaped "X does Y — but mine does it better" (comparative one-upmanship), or (c) would read as bragging to a senior engineer at a rival lab. Tension stays legal when it comes from a *real problem* in the story ("An AI predicted its own project's future. Ten weeks later, another AI graded it." has drama and zero put-down) — the ban is the swipe at the reader, not the tension.
40
+ **The test (titles) — mechanical:** a title fails if it (a) opens with "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. Tension from a *real problem* stays legal ("An AI predicted its own project's future. Ten weeks later, another AI graded it.").
41
41
 
42
42
  ## 4. The Cross-Family Review Bar (mandatory)
43
43
 
@@ -32,7 +32,7 @@
32
32
  },
33
33
  "blog-post": {
34
34
  "name": "blog-post",
35
- "description": "Guide for public blog posts and outbound social posts; use when authoring, revising, or reviewing learn/blog/*.md (+ portal registration) or X, LinkedIn, or Medium posts/replies."
35
+ "description": "Guide for blog posts, outbound social posts, and funding/pitch copy; use when authoring, revising, or reviewing learn/blog/*.md (+ portal registration), X/LinkedIn/Medium posts, or funding/pitch drafts."
36
36
  },
37
37
  "context-recovery": {
38
38
  "name": "context-recovery",
@@ -6,8 +6,8 @@ repos: neo, neo-agent-brain, neo-agent-skills, neo-agent-institution, devindex
6
6
  audiences: maintainer
7
7
  ---
8
8
  ## §verify_before_assert
9
- Before asserting any factual claim, architectural premise, or framing in any public artifact (PR review, ticket body, Discussion, comment, commit, public memory entry), run the empirical tool that would falsify it. Tools are always available, always read-only, always cheap. **Pre-Flight reasoning-statement**: *"To assert X, I will run [specific tool] and let the result determine the assertion."* V-B-A is the epistemic prerequisite for §friction_to_gold. Atlas + tool inventory: §anti_hallucination_policy.
9
+ Before asserting a factual claim, premise, or framing in any public artifact (review, ticket, Discussion, comment, commit, memory), run the tool that would falsify it, scoped below. **Pre-Flight:** *"To assert X, I will run [tool] and let the result determine the assertion."* (§anti_hallucination_policy).
10
10
 
11
- **Prior-art sweep (pre-implementation / pre-PR-review V-B-A):** Before the first design sentence OR review verdict, run a 3–10-call `query_raw_memories` / `query_summaries` sweep of the decision space — the tool RESULT is the V-B-A; reasoning-from-priors is not diligence. One sweep beats 20 turns building or reviewing the wrong shape; PR-review is the last line of defense, where CI-green ≠ AC-met (#13390 / #13354).
11
+ **Scope by claim class (neo-agent-skills#262).** (1) **Code, runtime, architecture** — re-run every time; a check is spent the turn it ran (neo #15780). (2) **Record claims with a receipt** (number+query, decision+anchor, date+commit) — cite the anchor; re-measure only if changed or missing. (3) **Business and pitch text** — sets the cadence for every claim inside it (including (1)/(2)): mine the record first, write from anchors, and run **one consolidated fact check at the final version**, never per-revision sweeps.
12
12
 
13
- **Step 2.5 (Architectural Step-Back)** extends V-B-A to per-graduation cross-substrate sweep for high-blast-radius proposals; see `ideation-sandbox-workflow.md` §5.2 + `peer-role-mode.md` §8 convergence-rate tripwire. Auto-fires before `[RESOLVED_TO_AC]` / `[GRADUATED_TO_TICKET]`.
13
+ **Prior-art sweep:** Before the first design sentence or review verdict, run 3–10 `query_raw_memories` / `query_summaries` calls — the tool RESULT is the V-B-A (`CI-green ≠ AC-met`, #13390 / #13354). **Step 2.5:** cross-substrate sweep for high-blast proposals before `[RESOLVED_TO_AC]` / `[GRADUATED_TO_TICKET]` (`ideation-sandbox-workflow.md` §5.2, `peer-role-mode.md` §8).
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "neo-agent-skills",
3
- "version": "0.1.82",
3
+ "version": "0.1.83",
4
4
  "description": "Install the workflow substrate a cross-model AI team actually runs on: ticket intake, PR review gates, lane coordination and guards, versioned as a package. The skills Neo.mjs maintainers load every session — materialized into your repo, not copied.",
5
5
  "type": "module",
6
6
  "license": "MIT",