skills/writing-pre-publish-checklist/SKILL.md
Runs a comprehensive six-section quality checklist (content, structure, clarity, style, polish, final tests) before writing is shared or published, catching issues that revision and stickiness enhancement might miss. Use when performing final quality checks before sharing, publishing, or submitting writing, or when user mentions pre-publish, final check, ready to publish, last review, quality check, or about to share.
npx skillsauth add lyndonkl/claude writing-pre-publish-checklistInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Related skills: Use writing-structure-planner for planning structure, writing-revision for deep prose revision, writing-stickiness for memorable messaging.
Copy this checklist and track your progress:
Pre-Publishing Checklist:
- [ ] Section 1: Content check
- [ ] Section 2: Structure check
- [ ] Section 3: Clarity check
- [ ] Section 4: Style check
- [ ] Section 5: Polish check
- [ ] Section 6: Final tests
Before starting: This is a systematic pass through the complete piece. Read the entire document first to understand context, then work through each section.
Step 1.1: Read the entire piece. Identify the core message. Verify core message is crystal clear - could a reader state it back in one sentence?
Step 1.2: Check all facts for accuracy. Flag any claims that need verification. Note any statistics, dates, names, or specific details that should be double-checked with the user.
Step 1.3: Evaluate examples and evidence. Are examples relevant and appropriate for the audience? Are arguments sound and complete? Is there any missing information that would leave readers with unanswered questions?
Present Content Check results:
Content Check:
- [ ] Core message crystal clear
- [ ] All facts checked for accuracy
- [ ] Examples relevant and appropriate
- [ ] Arguments sound and complete
- [ ] No missing information
Issues found: [list any issues]
Step 2.1: Evaluate the opening. Does it hook readers? Would someone continue reading after the first paragraph?
Step 2.2: Check flow and transitions. Is the logical flow smooth throughout? Do transitions between sections work? Are there any jarring jumps?
Step 2.3: Examine the middle and ending. Does the middle section have gold-coin moments (rewards for the reader)? Does the conclusion satisfy - does it deliver on the promise of the opening?
Present Structure Check results:
Structure Check:
- [ ] Opening hooks readers
- [ ] Flow is logical and smooth
- [ ] Transitions work smoothly
- [ ] Middle section has gold coins
- [ ] Conclusion satisfies
Issues found: [list any issues]
Step 3.1: Scan for jargon. Is all jargon either removed or explained? Is it appropriate for the target audience?
Step 3.2: Check for ambiguity. Are there ambiguous pronouns? Garden-path sentences that require re-reading? Any sentences where meaning is unclear?
Step 3.3: Verify audience fit. Is technical accuracy maintained? Is the level of detail appropriate for the target audience?
Present Clarity Check results:
Clarity Check:
- [ ] No jargon (or all jargon explained)
- [ ] No ambiguous pronouns
- [ ] No garden-path sentences
- [ ] Technical accuracy maintained
- [ ] Appropriate for target audience
Issues found: [list any issues]
Step 4.1: Verify tone consistency. Is the tone consistent throughout? Does it shift inappropriately between sections?
Step 4.2: Check voice and sentence variety. Is the voice appropriate for the audience and purpose? Is there good sentence variety (mix of short, medium, long)? Rate sentence variety on a 1-10 scale (target 7+).
Step 4.3: Scan for remaining clutter. Is there any clutter that should have been caught in revision? Does active voice predominate?
Present Style Check results:
Style Check:
- [ ] Tone is consistent
- [ ] Voice is appropriate
- [ ] Sentence variety is good (score: X/10)
- [ ] No clutter remains
- [ ] Active voice predominates
Issues found: [list any issues]
Step 5.1: Check mechanics. Scan for spelling errors, grammar issues, and punctuation problems.
Step 5.2: Verify formatting. Is formatting consistent throughout (headings, lists, emphasis, spacing)? Do links work (if applicable)?
Present Polish Check results:
Polish Check:
- [ ] Spelling checked
- [ ] Grammar correct
- [ ] Punctuation proper
- [ ] Formatting consistent
- [ ] Links work (if applicable)
Issues found: [list any issues]
Step 6.1: Read-aloud test. Read the piece aloud (or simulate reading aloud). Flag any sections that sound awkward, trip over themselves, or lose momentum.
Step 6.2: Intent test. Does the piece achieve its stated intent? Does it satisfy the target audience's needs?
Step 6.3: Pride test. Present the overall assessment - is this piece ready for its intended audience? Note any remaining concerns.
Present Final Tests results:
Final Tests:
- [ ] Read aloud - sounds good
- [ ] Achieves stated intent
- [ ] Satisfies target audience needs
- [ ] Ready for publication
Overall assessment: [PASS / PASS WITH NOTES / NEEDS REVISION]
Present the complete checklist results in a single summary:
Pre-Publishing Checklist Summary:
================================
Content: [PASS/FAIL] - [brief note]
Structure: [PASS/FAIL] - [brief note]
Clarity: [PASS/FAIL] - [brief note]
Style: [PASS/FAIL] - [brief note]
Polish: [PASS/FAIL] - [brief note]
Final: [PASS/FAIL] - [brief note]
Overall: [READY TO PUBLISH / NEEDS ATTENTION]
Issues requiring action:
1. [issue]
2. [issue]
Validate using resources/evaluators/rubric_pre_publish.json. Minimum standard: Average score >= 3.5.
| Section | Focus | Key Questions | |---------|-------|---------------| | Content | Accuracy & completeness | Is the core message clear? Facts correct? | | Structure | Organization & flow | Does it hook, flow, and satisfy? | | Clarity | Readability | Can audience understand without re-reading? | | Style | Consistency & voice | Is tone consistent? Voice appropriate? | | Polish | Mechanics | Spelling, grammar, punctuation, formatting? | | Final | Overall quality | Read-aloud test? Achieves intent? |
Requirements:
Common pitfalls:
Key resources:
Inputs required:
Outputs produced:
testing
Cluster a conference's event records into a small set of coarse themes with finer sub-clusters, an explicit outlier bucket, and soft (multi-membership) affinities — using the hybrid embed-then-label pipeline (embed abstracts, reduce, density-cluster, then LLM-label the clusters) when embedding libraries are available, and an LLM-reasoned hierarchical fallback when they are not. Embeddings do the grouping; the LLM only names the groups. Conference-agnostic. Use when turning structured event records into a navigable theme map for preference elicitation and scheduling, when you need 6-8 reasonable themes rather than 20 muddy ones, or when overlapping talks must belong to more than one theme. Trigger keywords - theme clustering, cluster talks, embed then label, soft membership, outlier talks, conference themes, topic map.
development
Build a personal conference schedule as a constraint-optimization problem — hard constraints (no time overlap, room-to-room travel time, capacity/registration, the attendee's own must-attends and blackouts) plus a user-owned weighted objective trading interest against breadth, pacing (maximize contiguous free time), and serendipity. Surfaces unbreakable conflicts (two high-value overlapping talks the model cannot rank) as decisions for the human rather than silently picking, and reports what each choice traded away. Conference-agnostic. Use to turn a preference profile plus a theme map into a day-by-day plan, to resolve overlapping sessions, or to balance a packed vs paced schedule. Trigger keywords - schedule optimization, conference schedule, constraint optimization, overlapping talks, contiguous free time, conflict surfacing, packed vs paced.
development
Parse a heterogeneous conference program (markdown, HTML, PDF-derived text, or JSON) into normalized event records with per-field confidence scores and independent classification axes (topic, depth, format, prerequisites, recorded, capacity). Detects the program's format before extracting, treats every inferred field as uncertain (present vs inferred vs missing), and flags thin or missing abstracts so downstream enrichment can target them. Conference-agnostic. Use when ingesting a conference or event schedule into a structured store, normalizing a talk/session list, or extracting per-session metadata with calibrated confidence. Trigger keywords - program ingestion, parse schedule, session extraction, event records, conference program, talk metadata, per-field confidence.
development
Build a personalized preference profile from a small number of well-chosen, cluster-grounded questions instead of a long survey. Represents the person's interests as an uncertainty region over the theme map, picks the single highest-information-gain choice-based question (contrasting real talks from different clusters), balances exploiting known interests against exploring uncertain ones, deliberately injects outlier probes to fight selection bias, and stops as soon as the schedule would be stable. Also elicits the user-owned objective weights and hard constraints. Interactive — runs where it can actually ask the person. Conference-agnostic. Use to turn a theme map into a preference profile, to decide what to ask a conference attendee, or to elicit scheduling priorities. Trigger keywords - preference elicitation, ask few questions, information gain, choice-based questions, selection bias probe, objective weights, attendee preferences.