social-devto · diff

git:20260812.8e1256e to git:20260905.4909a33

152 added, 93 removed. Audit A to A.

---
name: social-devto
title: "DEV Community (dev.to) Publishing Playbook"
- description: "Ground-truth 2026 playbook for publishing articles and comments on dev.to (DEV Community). Covers the tag-follow feed mechanics, the reaction system (hearts, unicorns, bookmarks), measured title patterns from the live top surface, discussion-post culture (the platform's strongest format), canonical-URL cross-posting, series, cover images, and why dev.to rewards community voice where Hacker News punishes it. Activate when drafting anything destined for dev.to."
+ description: "Write and revise DEV articles, discussions, comments, and launch or proof material in the author's documented voice. Activate for dev.to drafts, publishing packages, series, challenge entries, or company cross-posts; apply current disclosure and promotion rules before preparing copy for publication."
license: Apache-2.0
- compatibility: "Octomind content agents. Platform-specific to DEV Community (dev.to and Forem-based communities)."
+ compatibility: "Markdown editor; network access for DEV policy, editor, and tag checks."
domains: content
rules:
- match(\bdev\.to\b)
- match(\bDEV\s+Community\b)
- match(\bforem\b)
- match(\bpost\s+(on|to|for)\s+dev\.to\b)
- match(\bdevto\b)
---
## Overview
- dev.to (DEV Community) is a blogging platform for developers built on Forem — but treating it as "a blog host" misses what actually performs. It is a community first: discussion posts, career reckonings, and honest journey pieces outperform polished tutorials on the top surface. The register sits between Reddit's casualness and a personal blog's considered voice.
+ Write something a developer can use or answer, in the voice of the person accountable for it. Apply supplied facts and proof first, the author's documented voice next, and platform register as the fallback; respect publication policy throughout. Use `content-voice` for generic editing and the rules here for DEV structure and publishing decisions.
- The inverse of Hacker News in three ways: emoji in titles are accepted, listicles work, and first-person community talk is the winning register — the exact moves that get you flagged on HN. Don't port content between them unchanged.
+ ## Mechanics and evidence
- Pair with `content-voice` for human voice. dev.to has no aggressive AI-automod layer like Reddit, but the community reads a lot of AI-generated tutorial spam and rewards the opposite: lived experience with named specifics.
+ - Treat discovery as personalized: follows and reactions interact with semantic similarity, quality, and time decay. Don't promise reach from a tag recipe (official, DEV Feed, 2026-05).
+ - Use the current reaction vocabulary: Love, Unicorn, Wow, Well Done, and Hot Take (official, DEV Engagement, 2026-09). Don't assign bookmarks a strongest-signal weight or treat reactions as purchase intent.
+ - Recognize Community Gems as curator endorsements that affect author trust and discovery, including a Curated feed; weighting is evolving (official, DEV Gems, 2026-09). Earn recognition through useful work; don't solicit reciprocal awards (directional).
+ - Treat public feed-code inspections as models, not production measurements. Comments, follows, language, and age affected the inspected variant; no universal comment multiplier or visibility window follows from it (measured, Loibner, n=single checked-in variant, 2026-07).
- ## Instructions
+ Open [reference/publishing-evidence.md](reference/publishing-evidence.md) when checking editor fields, planning an AMA or challenge, choosing a timing experiment, or citing performance. It contains the evidence limits and source register; don't turn its account case studies into targets.
- ### Feed Mechanics 2026
+ ## Format and publishing decisions
- - The Relevant feed (default) ranks by tags the reader follows + reactions + recency + author follows. There is no single front page; your reach is the union of your tags' audiences.
- - Reactions come in three flavors: heart, unicorn (roughly "exceptional"), and bookmark. Bookmarks are the strongest quality signal — how-to and reference content lives on bookmarks; opinion lives on hearts and comments.
- - Comments drive the Top surface. The measured top posts pair high reaction counts with high comment counts; a post that starts a conversation outranks a post that ends one.
- - Tags are the distribution: up to 4 per article. Mix reach and niche — one or two broad (`webdev`, `ai`, `programming`), one format (`discuss`, `showdev`, `devchallenge`), one niche that names your actual topic.
- - The `discuss` tag is a format, not a topic — it marks a question to the community and gets its own audience of people who like answering.
- - Weekly official surfaces (Top 7 email, badge awards, challenges) amplify winners. Challenges and platform series occupy much of the top surface — organic winners have to be genuinely engaging.
+ Choose by the reader's job. These shapes and qualitative length bands are editorial guidance, not platform post-type guarantees (directional).
- ### Measured Patterns From the Live Top Surface (public API, top 40 of ~30 days, Aug 2026)
+ | Job | Shape and length band | Required substance |
+ |---|---|---|
+ | Reproduce a technique | Article; full walkthrough to reference-length | Working example, setup conditions, explanation, failure boundary |
+ | Compare real experience | `discuss`; brief context to short argument | State the unresolved decision and your partial answer; ask an answerable question |
+ | Evaluate a built artifact | `showdev`; compact demonstration to full walkthrough | Show the artifact and how to try it; disclose ownership and limitations |
+ | Follow a continuing investigation | Series; self-contained article per installment | Recurring problem, new evidence in each entry, useful stopping point |
+ | Ask about a person's expertise | AMA; brief invitation | Verifiable remit, excluded topics, actual reply availability |
+ | Enter a challenge | Announcement's required template; sufficient detail for judging | Prompt fit, eligible build, reproducible submission evidence |
- - Community discussion beats tutorials at the top: roughly half the top posts carry `discuss` — direct questions ("How would you decide whether the content is good or bad?" — 178 reactions, 129 comments), career reckonings, and AMAs.
- - Winning title shapes, in order of prevalence:
- 1. The reckoning claim: `The Junior Developer Pipeline Is Broken... And AI Broke It` (267 reactions, 212 comments). A debatable assertion about the profession, stated plainly.
- 2. Myth-busting: `Stop Calling Everything Impostor Syndrome: The Myth of "Just Push Harder"` (175). Names a thing everyone repeats, then dismantles it.
- 3. First-person journey with numbers: `From Silent Reader to 25 Articles: What 3 Months on DEV Taught Me + AMA` (106 reactions, 97 comments). Time period + count + lesson.
- 4. Humor listicle: `8 Things Developers Confidently Explain After Watching One YouTube Video` (160). Listicles are alive here — when the list is a joke the reader recognizes, not SEO filler.
- - Emoji in titles are normal (🍲 🚀 🐍 ❤️ all appear in top posts). Use at most one, and only when it fits the register.
- - Career anxiety and AI-reckoning topics dominate the organic top: code ownership, AI-generated-code debt, "does learning to code still make sense". Honest ambivalence outperforms both hype and doom.
- - Non-English community content reaches the top (Portuguese `braziliandevs` posts in the sample) — language-community tags are real distribution.
+ Series navigation appears after the second entry (official, DEV Writing, 2026-09). Don't split an explanation merely to multiply posts. A listicle earns its format when entries help readers choose or express the author's specific humor; remove interchangeable filler (directional).
- ### Title Craft
+ Front-load the technical situation or defensible claim in the title. Open on the problem itself; avoid rhetorical-question openers. A discussion's question belongs after enough context to make it answerable (directional).
- - State a position someone could disagree with, or ask a question someone wants to answer. The two strongest measured shapes.
- - Specifics carry: version numbers (`TypeScript 7 Went Native`), counts, timeframes.
- - Sentence flow beats keyword-stuffing. `I Stopped Debugging at My Desk. Here's What Changed` reads like a person; `Debugging Tips and Tricks for Productivity 2026` reads like SEO.
- - "Here's What Changed" / "What X Taught Me" framings are native and fine here — unlike HN, where they read as blogspam.
- - Under ~80 characters; front-load the claim.
+ ### Tags and editor package
- ### Body Craft
+ Use at most four relevant tags (official, DEV Editor, 2026-09). Treat the following allocation as a selection method, not a distribution formula (directional).
- - Open with the situation, not the throat-clearing. First paragraph earns the scroll: the moment, the number, or the claim.
- - Code blocks with language hints, headers to segment, images where they carry information. dev.to renders rich markdown and supports embeds (liquid tags) — use them for repos, CodePens, tweets.
- - Cover image matters: articles with covers get measurably more clicks from the feed card. A simple typographic cover beats none; a screenshot of the actual thing beats both.
- - 3–8 minute read (roughly 800–2,000 words) is the native band. Longer works when it's a genuine reference piece people will bookmark.
- - End with a question to the comments when you genuinely want answers. On dev.to this is native culture, not engagement bait — but it has to be a real question.
- - A discussion post (`discuss` tag) is short by design: state the question, give your own partial answer or context in 2–4 paragraphs, get out of the way.
+ | Candidate | Keep when | Drop or replace when |
+ |---|---|---|
+ | Broad topic, such as `programming` or `webdev` | Its current tag description fits the article | Another tag describes the intended reader more precisely |
+ | Format, such as `discuss` or `showdev` | The draft actually invites discussion or demonstrates a project | The article is a tutorial or opinion without that job |
+ | Niche, such as `rust`, `postgres`, or `accessibility` | The implementation materially uses that topic | It appears only in passing |
+ | Language-community tag | Current guidance and recent posts fit the language | You are guessing its purpose or copying another language's tag recipe |
- ### Cross-Posting and Canonical URLs
+ Check each candidate's live page, description, and recent posts. Record visible follower counts with capture dates; mark unavailable counts unknown. Among equally relevant tags, compare current audience size; don't maintain a supposedly permanent biggest-tag list (directional).
- - dev.to supports `canonical_url` — publish on your own blog first, cross-post to dev.to with canonical pointing home. Full SEO safety, full community reach. This is the platform-blessed pattern; use it by default when you own a blog.
- - Series feature chains multi-part content with automatic navigation — use it instead of "Part 3 (see my profile for parts 1–2)".
- - Don't dump an RSS firehose. Auto-cross-posted feeds with unedited relative links and missing images read as abandonware and get unfollowed.
+ Prepare an editor checklist for `title`, `published`, `tags`, `cover_image`, `canonical_url`, `series`, and `description`; inspect the current editor before mapping the package to front matter. Keep publication disabled during review, quote YAML strings when needed, and preview the rendered article. The reference separates verified features from unverified field constraints (directional).
- ### What Dies on dev.to
+ DEV supports Markdown and documented Liquid embeds including GitHub, CodePen, and Twitter (official, DEV Editor, 2026-09). Add language hints to article code fences. Preview every embed; provide a useful text link if rendering fails. Choose a real screenshot when it explains the work, with descriptive alt text and a caption identifying its context. Inspect the actual cover crop; don't promise a click lift (directional).
- - AI-generated tutorial filler — the "Complete Guide to X in 2026" with no lived detail. The community has seen thousands; zero reactions is the norm.
- - Pure product promotion without a builder's story. `showdev` exists for launches, but the post must be the story of building, not the landing-page copy.
- - Keyword-stuffed SEO titles, hashtag stacks in the body, "In this article, we will discuss…" openers.
- - Recycled listicles without a voice ("Top 10 VS Code Extensions" for the 400th time).
- - Aggressive cross-linking to your paid course/newsletter in every section. One link in a bio-style outro is accepted.
+ Cross-post complete useful work with `canonical_url` pointing to the original; DEV supports canonical attribution and RSS imports (official, DEV Writing, 2026-09). Repair relative links and missing assets. Don't describe canonical attribution as guaranteed SEO protection (directional).
- ### Comments
+ ## Launch and proof posts
- - Comments are long-form-friendly — 2–6 sentences with a specific experience is the native register. Markdown works; code blocks in comments are normal.
- - The author is expected to reply. Top authors answer most substantive comments; discussion posts where OP vanishes die early.
- - Same human rules as everywhere: open on content, add a specific, disagree politely with reasons. The community is beginner-heavy — condescension reads worse here than on HN.
- - Zero to one structural imperfection; typos in code or tool names cost credibility. dev.to is proofread-casual, not typed-fast-casual.
+ Collect the audience and buying situation, promise, available proof with source, desired action, destination, campaign stage, and disclosure obligations. Include the author's notes and voice samples. Select teaser, launch day, proof, objection, or recap; deliberately choosing no CTA is valid. If source material is missing, return the specific evidence request instead of manufacturing experience (directional).
- ### Timing and Cadence
+ Apply the policy gate before drafting promotional copy: the currently linked guidelines prohibit AI-assisted or generated articles that promote a business, program, or course (official, DEV AI Guidelines, 2024-04). AI-written launch copy from this workflow isn't cleared for DEV publication. Provide an evidence brief for independent human authorship or nonpromotional education; removing a CTA or selecting a label doesn't erase promotional purpose. Recheck for a superseding policy before publication.
- - The feed is recency-weighted but forgiving — tag followers see posts for a day or more. Weekday mornings US time perform best for English content, but the effect is smaller than on velocity-gated platforms.
- - Consistency compounds: followers accumulate per article, and the follow relationship feeds the Relevant feed. Weekly beats daily-then-nothing.
- - Badges (streaks, challenges) exist and the community plays along — an 8-week writing streak is a legible, respected goal.
+ For policy-eligible work, choose the following anatomy and qualitative length band (directional):
- ### Pre-Publish Checklist
+ | Shape | Anatomy | Length band |
+ |---|---|---|
+ | Launch day | Developer problem → artifact in use → design choice → limitation → relevant destination | Compact announcement to walkthrough |
+ | Demo or artifact | Input → observable output → reproduction instructions → unsupported case | Short demonstration to full tutorial |
+ | Customer proof | Before/after under comparable conditions → source and permission → confounders → who can reuse it | Focused case study |
+ | Founder decision | Actual disputed choice → evidence considered → cost accepted → next unresolved test | Short update to technical essay |
+ | Objection answer | Reader's objection → direct answer → reproducible evidence → remaining limit | Brief answer to worked comparison |
+ | Recap | Original promise → observed outcome → unresolved issue → useful next artifact | Compact review to reference article |
- - [ ] Title states a position or asks a real question; specifics front-loaded; under ~80 chars
- - [ ] 4 tags: broad + format + niche mix; `discuss` only if it's genuinely a question post
- - [ ] Cover image set; code blocks have language hints; embeds used where richer than links
- - [ ] Opens with the situation, not "In this article…"
- - [ ] Lived detail present: a named tool, version, number, or moment from actual experience
- - [ ] Canonical URL set if this also lives on your own blog
- - [ ] Ends with a real question only if you'll be in the comments answering
- - [ ] No SEO-filler shape: would a developer bookmark or argue with this?
- - [ ] Ready to reply to substantive comments for the first day
+ Use the strip-test: removing the product name and CTA should leave something worth learning. DEV recommends complete educational articles and warns against over-promotion (official, DEV Organization Guide, 2026-09). Bring niche expertise through a familiar developer problem; open the reference for the bounded case evidence behind that choice.
+ Choose an individual byline for personal work. For company work, credit the real contributor within the Organization, complete their profile, and use canonical attribution for company-blog reposts; DEV recommends human profiles and supports Organization sidebar CTAs (official, DEV Organization Guide, 2026-09). State actual role and subject expertise in the bio; avoid a generic founder pitch (directional).
+
+ Put the necessary demo or source link beside the evidence and the conversion CTA in the Organization sidebar or a brief outro. Avoid repeating the same self-link; allow additional owned links only when each supports a distinct claim. Don't hide the destination in a comment to chase an assumed reach benefit. State affiliation beside product claims and sponsorship near the opening; confirm any required placement label in the publishing workflow (directional).
+
+ For destination attribution, use consistent `utm_source`, `utm_medium`, and `utm_campaign`; distinguish article and sidebar links with `utm_content` (official, Google URL Builder, 2026-09). Keep attribution separate from claims that DEV caused a sale (directional).
+
+ DEV recommends relevant commenting and following, plus Welcome and discussion participation (official, DEV Organization Guide, 2026-09). Participate where you can contribute without pitching. Have collaborators disclose their relationship and add independent substance; exclude vote rings, scripted applause, disguised employees, and unsolicited link drops. These are community-integrity guardrails, not a claimed DEV penalty formula (directional).
+
+ Use this illustrative launch-week plan only when the policy gate passes. T offsets are planning labels, not measured optimal days (directional).
+
+ | Illustrative offset | Work and reply plan | Observe |
+ |---|---|---|
+ | T-7 to T-1 (illustrative plan; directional) | Join relevant discussions; prepare proof and preview; skip empty teasers | Recurring developer questions and useful profile context |
+ | T0 (illustrative plan; directional) | Publish the native demo; author covers the first hours for setup failures and substantive questions | Views, qualified technical comments, missing instructions |
+ | T+1 to T+3 (illustrative plan; directional) | Correct the post; answer the strongest objection if new evidence warrants it | Reproduction reports, product-fit questions, source-tagged visits |
+ | T+4 to T+7 (illustrative plan; directional) | Publish a technical follow-up or bounded recap; continue replies on the original | Returning commenters, follows, Gems, downstream activation |
+
+ ## Voice on this platform
+
+ Use proofread, approachable technical prose as the fallback register. Preserve the author's normal contractions and terminology. First-person claims require their records or testimony. Keep reproducible code exact; never inject typos, fake edits, lowercase camouflage, or dropped articles (directional).
+
+ Keep comments short and in prose, consistent with `content-voice`; use inline code when needed and link longer reproductions. Don't default to code blocks or mini-article headings in replies. Answer the specific claim, explain the relevant constraint, and leave room for correction (directional).
+
+ Apply the generic voice rules without duplicating a vocabulary blacklist. For DEV tutorials, remove empty Introduction/Conclusion scaffolding, automatic step ladders, equally sized sections, emoji headings, and obligatory “Happy coding” or follow-me endings. Keep prerequisites and numbered procedures when execution actually depends on them (directional).
+
+ Scan for repeated contrast pivots, padded triads, staccato stacks, empty dramatic openers, repetitive emphasis words, tidy moral closers, and dense em-dashes. These are editing heuristics from Aborn, Cox, and Gichigi, not authorship tests (directional). Use a dash only when it fits the author's register and helps the sentence; don't add punctuation to satisfy a quota. Strip miracle-fix stories that omit costs, “nobody talks about” framing, rhetorical-question hooks, hashtag stacks, and engagement-bait closers (directional). Keep documented disagreement and unresolved limitations.
+
+ ## Cadence and engagement
+
+ Publish when the intended language community can read and the author can reply. Compare slots in that audience's timezone; don't inherit a US morning default. Use a fluent reviewer for localized examples and idiom (directional).
+
+ Single-account observations support testing morning slots, continuing series, and sustainable scheduling, with no universal optimum (measured, Jackson, n=30 posts, 2026-02). The reference preserves scope and separates correlations from recommendations. Open it before setting a length or timing benchmark.
+
+ Review results weekly and refresh comparison samples monthly (directional). Record views and substantive comments, distinguish implementation reports from praise, and track relevant follows. Organizations expose views, reactions, and comments; don't assume native CTA analytics (official, DEV Organizations, 2026-09). Observe Gems as quality recognition, not a quota (directional).
+
+ Use your own comparable posts' median and spread at matching post ages, separated by format and language. Preserve the sample and collection method. Don't use Top outliers as a minimum success target or claim uncollected reading-list totals (directional).
+
+ ## What gets suppressed
+
+ DEV uses algorithmic detection and Gemini-assisted moderation with promotion, automated-generation patterns, quality, and author context among its inputs (official, DEV Moderation, 2026-01). A polished builder story doesn't exempt spam.
+
+ Choose the disclosure matching actual creation: Hand Written (No AI), AI-Assisted (Some AI), or Fully Autonomous. Rough drafting, generated code examples, major copyedits, and translation count as assistance; the announcement offers tier selection without saying every editor save requires it. Synthetic firsthand claims and deceptive low-effort undisclosed generation can lead to suspension (official, DEV AI Disclosure, 2026-08).
+
+ The AI Content in Feed setting exists; filtering controls, exact distribution effects, and enforcement are evolving (official, DEV AI Disclosure, 2026-08). Don't promise that disclosure is reach-neutral or conceal assistance to evade preferences. Document generated-media provenance; don't invent a separate DEV media-label rule (directional).
+
+ Backlink-building as an article's main purpose can lead to suspension. The guidelines name personal-blog and Organization/company-blog exceptions; these don't override the AI-promotion restriction (official, DEV AI Guidelines, 2024-04).
+
## Examples
- ### Example 1: Discussion post that works
+ These are illustrative drafting fragments, not reported outcomes or publication-ready promotions. Fill every bracket from supplied evidence and confirm the policy gate before publishing. The tags are candidates to verify (directional).
- > Title: How do you decide when a bug is "the model is wrong" vs "your prompt is wrong"?
- > Tags: discuss, ai, programming, agents
- >
- > I've been burning hours on the wrong side of this line. Last week I rewrote a prompt four times before accepting the model just couldn't do the task.
- >
- > My current rule: I blame the prompt twice, then blame the model. It's arbitrary and I don't love it.
- >
- > What's your actual heuristic? Especially interested if you've got something better than "rewrite it N times and give up."
+ ### Developer tool: demonstration
- Why it works: real question, own partial answer given first, invites experience not opinion, author is clearly going to be in the comments.
+ > Title: Tracing unused imports without deleting dynamic dependencies
+ >
+ > I maintain [tool]. Its report marks static imports that it can't trace to an entry point. In [fixture], [observed output] made the candidates easier to inspect, but dynamic imports still needed manual review. The annotated terminal capture shows where that review starts. You can reproduce it with [fixture link]; [unsupported resolver] remains outside the test coverage.
- ### Example 2: Title comparison
+ Why it works: the demo anatomy makes the result inspectable without a sales preamble.
+ The provenance rule leaves outcome and coverage unclaimed until sourced.
- Dead on arrival (SEO shape, no voice):
- > The Complete Guide to Debugging AI Agents in 2026: Tips, Tricks and Best Practices
+ ### B2B SaaS: customer proof
- Native (position + lived specifics):
- > I Stopped Trusting My Agent's Logs. Debugging Got Faster.
+ > Title: The webhook retries our billing test missed
+ >
+ > I work on [service]. With [customer's permission], we compared [before] and [after] on [same workload] over [window]. [Source record] shows the change, including the retries excluded from the headline result. We haven't repeated the comparison under [unmeasured condition], so this result only supports [bounded conclusion]. The reproduction notes are at [source link].
- The first promises coverage; the second promises an experience with a lesson. The top surface is full of the second shape and has never once shown the first.
+ Why it works: the proof anatomy keeps conditions and exclusions beside the result.
+ The link rule gives the reader evidence before any conversion request.
- ### Example 3: showdev launch that survives
+ ### Creator product: series
- > Title: I built a CLI that finds which of your node_modules you actually import
- > Tags: showdev, node, javascript, opensource
+ > Series: Offline notes in a reading app
>
- > Started as a shell one-liner after a 4 GB node_modules broke our CI cache. Grew into a proper tool when the one-liner missed dynamic imports.
+ > Opening entry: Choosing what survives a lost connection. I chose [documented approach] because [constraint from notes]. The fixture at [link] reproduces [bounded behavior]; it doesn't cover concurrent edits.
>
- > [what it does, 2 paragraphs, with a terminal screenshot]
+ > Follow-up entry: Conflicting edits after reconnect. The fixture now shows [new evidence]. I kept [documented merge rule] because [author's reason], accepting [known cost]. The original decision is at [entry link]; concurrent edits remain unresolved.
+
+ Why it works: each installment has its own reader job and new evidence.
+ The voice rule preserves the author's decision without inventing a transformation.
+
+ ### Local service: discussion and reply
+
+ > Title: Keeping a repair shop's booking page usable by keyboard
>
- > Honest limits: monorepos with custom resolvers confuse it, and I haven't tested on Windows. Repo: [link]. If you try it on a weird setup, tell me what breaks.
+ > I maintain [shop's booking page]. During [documented check], focus moved to [observed location] after a slot became unavailable. [Proposed approach] gives the user a route back, but we haven't checked [assistive setup]. If you've handled this state, where did you put focus, and what did your user test reveal?
- Why it works: origin story with a number, screenshot of the real thing, named limitation, asks for failure reports not stars.
+ > Reply: Your example returns focus to the date field after the slot disappears. I'd check what the page announces at that point; focus alone doesn't show whether the changed availability is clear. I haven't tested your implementation.
+ Why it works: the discussion question follows a concrete technical situation.
+ The reply stays in prose and distinguishes an inspection suggestion from a test result.
+
+ ## Checklist
+
+ - [ ] Hook names the situation; draft develops a focused idea and the chosen format's reader job.
+ - [ ] Every personal claim and specific has supplied provenance; unresolved example brackets block publication.
+ - [ ] Author voice matches; AI-tell pass covers body and ending, with no manufactured mistakes.
+ - [ ] Policy gate passed; AI tier is accurate; affiliation, sponsorship, and media provenance reviewed.
+ - [ ] Personal versus Organization byline chosen; contributor profile and CTA destination checked.
+ - [ ] Tags exist and fit; audience-count check dated or marked unavailable; official tag limit respected.
+ - [ ] Editor fields validated; draft preview checked; canonical, series, code, and embeds render correctly.
+ - [ ] Cover asset brief, crop review, alt text, and explanatory captions prepared where needed.
+ - [ ] Self-links justify their placement; CTA or deliberate no-CTA choice and tracking path are explicit.
+ - [ ] Challenge or AMA requirements checked in the reference when applicable.
+ - [ ] Author owns follow-up replies; measurement plan includes qualified interest and a comparable baseline.
+
## References
- - AgentSkills spec: https://agentskills.io/specification
- - dev.to editor guide: https://dev.to/p/editor_guide
- - dev.to public API (measured patterns source): https://developers.forem.com/api — top-surface pull, Aug 2026. Re-derive periodically.
- - Companion skill: `content-voice` — the community rewards lived voice and punishes tutorial-mill tone
- - Companion skill: `social-hackernews` — the inverse register; never port content unchanged between HN and dev.to
+ - [DEV Editor](https://dev.to/p/editor_guide), undated; verified 2026-09.
+ - [DEV Writing](https://dev.to/help/writing-editing-scheduling) and [DEV Engagement](https://dev.to/help/reacting-commenting-engaging), undated; verified 2026-09.
+ - [DEV Feed](https://dev.to/devteam/how-were-using-gemini-embeddings-to-build-a-smarter-community-driven-feed-on-dev-1b9f), 2026-05-22.
+ - [DEV Gems](https://dev.to/devteam/introducing-community-gems-celebrating-human-curation-and-the-best-of-our-community-58c8), 2026-09-02.
+ - [DEV Organization Guide](https://dev.to/help/organizations/maximizing-your-dev-organization) and [DEV Organizations](https://dev.to/organizations), undated; verified 2026-09.
+ - [DEV AI Guidelines](https://dev.to/guidelines-for-ai-assisted-articles-on-dev/), 2024-04-08; verified 2026-09.
+ - [DEV AI Disclosure](https://dev.to/devteam/introducing-ai-disclosure-on-dev-tools-for-nuance-clarity-and-better-feeds-34mk), 2026-08-26.
+ - [DEV Moderation](https://dev.to/devteam/fighting-spam-at-scale-how-we-use-gemini-to-protect-the-dev-community-277j), 2026-01-22.
+ - [Google URL Builder](https://support.google.com/analytics/answer/10917952?hl=en), undated; verified 2026-09.
+ - [Jackson: account experiment](https://dev.to/leejackson/i-built-a-content-calendar-that-runs-itself-heres-what-30-days-of-data-taught-me-2oac), 2026-02-16; [Loibner: feed-model inspection](https://dev.to/davidloibner/six-articles-200-views-so-i-read-the-feeds-source-code-4ek8), 2026-07-29.
+ - [Aborn](https://emilyaborn.com/ai-writing-tells-what-they-cost-you/), 2026-07-10; [Cox](https://huntingthemuse.net/library/how-to-tell-if-writing-is-ai), revised 2026-06; [Gichigi](https://tahigichigi.substack.com/p/12-red-flags-of-ai-writing-and-how), 2026-02-18: practitioner editing heuristics.
+ - [Evidence register and additional formats](reference/publishing-evidence.md): dated Jackson, Loibner, and other case sources; Aborn, Cox, and Gichigi editing references.
+
+ Re-validate when: editor or feed features rename; AI or challenge policy updates; feed-model commits land; new account measurements or vendor reports are used.
+
+ Validated: 2026-09