Agent Skillsfcakyon/claude-codex-settings › writing-guidelines

writing-guidelines

GitHub

用于审查文档、界面文案及写作风格,检查是否符合规划、语气、用词和简洁性等规范,提供高信噪比的合规性反馈。

plugins/frontend-design-skills/skills/writing-guidelines/SKILL.md fcakyon/claude-codex-settings

Trigger Scenarios

review writing check documentation style audit interface copy apply writing guidelines

Install

npx skills add fcakyon/claude-codex-settings --skill writing-guidelines -g -y
More Options

Non-standard path

npx skills add https://github.com/fcakyon/claude-codex-settings/tree/main/plugins/frontend-design-skills/skills/writing-guidelines -g -y

Use without installing

npx skills use fcakyon/claude-codex-settings@writing-guidelines

指定 Agent (Claude Code)

npx skills add fcakyon/claude-codex-settings --skill writing-guidelines -a claude-code -g -y

安装 repo 全部 skill

npx skills add fcakyon/claude-codex-settings --all -g -y

预览 repo 内 skill

npx skills add fcakyon/claude-codex-settings --list

SKILL.md

Frontmatter
{
    "name": "writing-guidelines",
    "license": "MIT",
    "metadata": {
        "argument-hint": "<file-or-pattern>"
    },
    "description": "This skill should be used when the user asks to \"review writing\", \"check documentation style\", \"audit interface copy\", or \"apply writing guidelines\"."
}

Writing Guidelines

Review the files or patterns provided by the user for compliance.

Read files, check against rules below. Output concise but comprehensive: sacrifice grammar for brevity. High signal-to-noise.

Rules

Planning & content type

  • Every page has a plan (overview, goal, audience, content plan, open questions) referenced or linked
  • Content type declared in meta.contentType: Tutorial, How-to, Reference, Conceptual, Troubleshooting, or Landing
  • Title is user-shaped (the user's question), not feature-shaped (the engineer's name)
  • Page does one job: tutorial OR how-to OR reference, not three at once
  • Goal is verb-driven (Bloom's taxonomy): "configure", "explain", "debug" (testable)
  • Multi-audience pages: short shared opener, then technical subsections

Voice & tone

  • Active voice. Mental test: append "by monkeys". If the sentence parses, rewrite
  • Direct address: you, never the user or one can
  • Imperative for steps: "Click Add Project", not "You will need to click Add Project"
  • Sentences under 20 words target
  • Contractions encouraged (you'll, it's) for warmth
  • Present tense unless describing future behavior
  • Limit we: only for deliberate organization actions ("we recommend", "we deprecated"), never as a stand-in for "you"
  • No rhetorical questions (sounds like marketing)
  • Second-read test: read each sentence once at speech pace; if you re-read to parse it, name the subject, the action, and the consequence (kill metaphor verbs and pronouns reaching back several sentences)

Banned words

  • easy, simple, quick: puts pressure on the reader and reads as marketing; replace with concrete description ("one command", "default settings", "most projects don't need this")
  • very, just, really: filler; cut or rewrite

Concision

  • Earn every detail: cut a number, name, or implementation detail if a more general phrasing wouldn't change the reader's understanding or action
  • Weasel words: replace vague qualifiers (significantly, many, often, typically, generally) with a specific number or claim
  • Vague quantifiers: no near-zero, sub-second, most requests; give the figure and cite it (99.37% of requests see zero cold starts)
  • Filler/metaphor verbs: name the action instead of reaching for cadence (moves through, lands, carries, hits → the literal step)

AI-generated tells (flag these)

  • Summary-style transitions: never open a paragraph by recapping the last one (With this setup complete…, Now that we've explored…); pivot straight to the next point (In practice…, The catch is…)
  • Stop-start sentences: don't split one dependent idea into choppy fragments (Previously this was manual. Now it's automatic. This saves time. → one sentence); short sentences for emphasis are fine
  • Spec-sheet voice: rewrite sentences that read like a system reading a datasheet (provides, is configurable, is explicitly labeled)
  • Cold-open paragraphs: a body paragraph whose first sentence works as a standalone heading has no antecedent; carry the prior subject forward (Because…, Once…)
  • Personified artifacts: machines don't perform human-physical actions (hand the browser a URLthe browser fetches the URL; the token holds…the token is stored…)
  • Reused framing: the angle must come from this page, not a template (The question most teams face is whether…)

Tone, by content type

  • Tutorial: warm, encouraging, predictable structure, no traps
  • How-to: terse, direct (reader is mid-task)
  • Reference: neutral, exhaustive, quotable
  • Conceptual: explain like the reader will teach it back; examples and analogies welcome
  • Troubleshooting: empathetic but not apologetic; acknowledge then fix

Headings

  • Sentence case for page headings (H1 H2 H3): "Configure environment variables", not "Configure Environment Variables"
  • Title case for nav labels: "Configuring Environment Variables"
  • meta.title becomes the H1; meta.navLabel becomes the sidebar entry
  • Subheadings descriptive, not cute: "Caveats when self-hosting on Cloudflare", not "Caveats"
  • Reader should be able to guess section content from the heading alone

Structure

  • Every page opens with a one-paragraph TL;DR of what the page covers
  • Every major section opens with a summary sentence
  • Acronyms spelled out on first use: "Content Security Policy (CSP) blocks inline scripts"
  • Define every term the first time you use it (link to its conceptual page)
  • Reference docs organized by surface; education docs organized by reader task
  • Keep paragraphs to 2 to 4 sentences; split anything longer or covering two ideas

Lists

  • Three or more list-shaped items in a paragraph: convert to a list
  • Bulleted for unordered; numbered for ordered (lifecycles, sequential steps)
  • Always introduce a list with a colon
  • No periods at the end of list items unless they are full sentences
  • Bold/description format: - **Term**: description here (colon after bold term)

Code

  • Code blocks need a language tag for syntax highlighting
  • TypeScript is the default for new code unless the surface is genuinely language-agnostic
  • Multi-step flows wrapped in <Steps/> so structure is visible
  • Highlight load-bearing lines: ```typescript {8-12,23-37}
  • ≤80 columns per line in snippets
  • ≤25 lines per snippet; split longer blocks with prose
  • Omit defaults; don't repeat variable definitions, use shared var
  • Minimal comments in code blocks; prefer prose explanation
  • Explain what every code block does in prose (don't drop and run)
  • Don't reference full example files at the end of guides ("See train.py"); the guide is the deliverable

Placeholders

  • Text placeholders: snake_case, descriptive: your_access_token_here (so reader can double-click to select before pasting)
  • Number placeholders: count up 1234567890123 (recognizable as fake, predictable)
  • Never <TOKEN>, xxx, your-token, or generic ALL_CAPS

Data sizes & units

  • Space + uppercase unit: 64 KB, 5 KB, 200 ms
  • Exception: seconds is bare: 30s
  • Consistent across the corpus so readers can develop scanning habits

Money & pricing pages

  • Uncompromising detail: err on "too much"
  • Use tables for pricing
  • Never assume reader knows the pricing model or whether their workload counts as one invocation or several
  • Clarity and transparency above all else

Emphasis

  • Bold means UI element or critical fact, never emphasis-for-emphasis-sake
  • Reaching for bold for tone: the sentence is weak; rewrite it
  • Inline code for paths, file extensions, identifiers, short snippets: /api, .tsx, body, query, req
  • Rule: if it would look weird without a monospace font, monospace it

Punctuation & typography

  • Never em dashes () or dashes (-) as punctuation; use colons, commas, periods, or rephrase
  • Curly quotes " " and ' ', not straight " or '
  • Ellipsis , not three dots ...
  • Loading states end with : Loading…, Saving…
  • Non-breaking spaces in 10&nbsp;MB, ⌘&nbsp;K, brand names
  • & over "and" only where space-constrained (nav labels, buttons)

Source formatting

  • Don't hard-wrap paragraphs: each paragraph is one line in source, let the editor wrap
  • One blank line before headings; one blank line before and after code blocks
  • No --- horizontal rules between sections
  • No extra blank lines between elements that aren't paragraph breaks

Links

  • Define every term the first time it appears, link to its conceptual page
  • Anchor text names the destination; never bare URLs or here/link
  • Dashboard links should open the exact destination and preserve required context in the URL.
  • Link to canonical product documentation when relevant.
  • Link to the canonical model catalog for the selected provider when examples name models.

Models in examples

  • Always use the latest model strings: anthropic/claude-opus-4-7, not anthropic/claude-sonnet-4 or older
  • For image generation default: google/gemini-3.1-flash-image-preview

AI workflow

  • You are accountable for the content you produce, however it is created
  • You are the final arbiter; the model proposes, you dispose
  • Hold technical accuracy to a high standard: docs are also consumed by LLMs, wrong docs train wrong models
  • Use only enterprise models that do not train on your data (especially for unreleased products)
  • Disclose AI use in the PR (model + prompts if useful)
  • Plan first by hand; the plan is the spec the model works against
  • Use plan-mode in your editor (Cursor, Claude) before letting the model write
  • Tell the model to follow AGENTS.md and the linting checklist
  • Run a test prompt against the preview: "given this plan's goal, can the model complete the task using only this page?"
  • Final human review always

Quality checklist (required boxes are non-negotiable)

  • Findability: sidebar bucket set via meta.category; UI links to docs from any dashboard surface that exposes the feature
  • Accuracy: code samples actually run; screenshots map 1:1 to current UI and use the ACME demo account
  • Relevance: code samples included where applicable (TypeScript first; <Steps/> for multi-step flows)
  • Clarity: overview addresses who/what/where/why; high-level use cases laid out; quickstart for new products; prerequisites listed on tutorials; a sample repository for multi-step tutorials; steps detailed not vague; visual aids in confusing sections; simplest path recommended when multiple exist
  • Completeness: limits documented; all-limits tables updated; content plan followed and goals addressed
  • Readability: nav names scannable and use action verbs; content types accurately used; subheadings descriptive; topics start with summaries; code blocks formatted correctly; active voice where warranted

Review

  • PR description links to the content plan, lists what to review, and links the preview URL
  • Ping the team via the PR link (not the plan or preview directly)
  • Author is accountable, not the reviewer; reviewers are liberal with approvals
  • Suggestion comments for small text fixes; preview comments for anything bigger
  • Disagreement is fine; reject with a one-line reason and move on

Anti-patterns (flag these)

  • Em dashes () or dashes (-) used as punctuation
  • easy, simple, quick describing reader actions
  • Passive voice (apply "by monkeys" test)
  • Title Case in page headings (only sentence case in H1 through H6)
  • Generic placeholders: <TOKEN>, xxx, your-token, ABC123
  • Code blocks without a language tag
  • JS examples where TypeScript is the convention
  • Code blocks over 25 lines without prose between
  • Hard-wrapped prose paragraphs (multiple lines for one paragraph in source)
  • --- horizontal rules between sections
  • Subheadings that are single generic words: Overview, Caveats, Notes
  • Bold used for emphasis instead of UI element or critical fact
  • Page or section without an opening summary
  • Straight quotes (", ') instead of curly (", ')
  • Three dots (...) instead of ellipsis ()
  • Acronyms used before being spelled out
  • Bare unit numbers (64KB, 5kb, 200MS) instead of 64 KB, 5 KB, 200 ms
  • "We" standing in for "you"
  • Rhetorical questions
  • Filler words: very, just, really, simply
  • References to "the full example file at the end of the guide" rather than inlining the code
  • Outdated model strings in examples (anthropic/claude-sonnet-4, gpt-4o, DALL-E)
  • Hardcoded date/number formats instead of Intl.DateTimeFormat / Intl.NumberFormat in code samples
  • "Loading..." instead of "Loading…"
  • Summary-style transitions recapping the previous paragraph (With this setup complete…)
  • Stop-start fragments splitting one dependent idea into choppy sentences
  • Spec-sheet voice reading like a datasheet (provides, is configurable, is explicitly labeled)
  • Cold-open body paragraphs whose first sentence has no antecedent
  • Personified artifacts performing human-physical actions (hand the browser a URL)
  • Reused/template framing not specific to the page (The question most teams face is whether…)
  • Weasel words instead of a specific claim (significantly, many, often, typically, generally)
  • Vague quantifiers without a cited figure (near-zero, sub-second, most requests)
  • Filler/metaphor verbs instead of the literal step (moves through, lands, carries, hits)
  • Sentences that need a second read to parse
  • Paragraphs over 4 sentences or covering two ideas
  • Bare URLs or here/link as anchor text

Output Format

Group by file. Use file:line format (VS Code clickable). Terse findings.

## content/docs/sandbox.mdx

content/docs/sandbox.mdx:1 - missing meta.contentType
content/docs/sandbox.mdx:12 - title "Cloud Sandbox" is feature-shaped, not user-question
content/docs/sandbox.mdx:24 - passive voice ("the sandbox is created...")
content/docs/sandbox.mdx:31 - banned word "easy"
content/docs/sandbox.mdx:47 - "..." → "…"
content/docs/sandbox.mdx:58 - code block missing language tag
content/docs/sandbox.mdx:71 - placeholder <TOKEN> → your_access_token_here
content/docs/sandbox.mdx:89 - "64KB" → "64 KB"
content/docs/sandbox.mdx:102 - H2 "Caveats" too generic; add specificity
content/docs/sandbox.mdx:118 - em dash in prose, replace with colon/comma

## content/docs/ai-gateway.mdx

content/docs/ai-gateway.mdx:5 - title case in H1; sentence case only
content/docs/ai-gateway.mdx:18 - acronym AI Gateway used before being spelled out
content/docs/ai-gateway.mdx:34 - bold for emphasis, not UI element
content/docs/ai-gateway.mdx:52 - `anthropic/claude-sonnet-4` outdated; use `anthropic/claude-opus-4-7`
content/docs/ai-gateway.mdx:71 - hard-wrapped paragraph (lines 71-74)

## content/docs/cron.mdx

✓ pass

State issue + location. Skip explanation unless fix is non-obvious. No preamble.

Version History

  • 57286f4 Current 2026-08-28 15:18

Same Skill Collection

plugins/adhd-output-style/skills/adhd-output-style/SKILL.md
plugins/anthropic-office-skills/skills/pdf/SKILL.md
plugins/azure-tools/skills/azure-usage/SKILL.md
plugins/azure-tools/skills/setup/SKILL.md
plugins/cloudflare-skills/skills/cloudflare-deploy/SKILL.md
plugins/codex-advisor/skills/codex-advisor/SKILL.md
plugins/dokploy-skills/skills/dokploy-deploy/SKILL.md
plugins/fable-advisor/skills/fable-advisor/SKILL.md
plugins/frontend-design-skills/skills/anthropic-frontend-design/SKILL.md
plugins/frontend-design-skills/skills/openai-frontend-design/SKILL.md
plugins/gcloud-tools/skills/gcloud-usage/SKILL.md
plugins/gcloud-tools/skills/setup/SKILL.md
plugins/github-dev/skills/clean-gone-branches/SKILL.md
plugins/github-dev/skills/commit-staged/SKILL.md
plugins/github-dev/skills/create-pr/SKILL.md
plugins/github-dev/skills/resolve-pr-comments/SKILL.md
plugins/github-dev/skills/review-pr/SKILL.md
plugins/github-dev/skills/setup/SKILL.md
plugins/github-dev/skills/update-pr-summary/SKILL.md
plugins/hetzner-skills/skills/hetzner-deploy/SKILL.md
plugins/humanize/skills/humanize/SKILL.md
plugins/livekit-skills/skills/livekit-skills/SKILL.md
plugins/mongodb-skills/skills/mongodb-atlas-stream-processing/SKILL.md
plugins/mongodb-skills/skills/mongodb-mcp-setup/SKILL.md
plugins/mongodb-skills/skills/mongodb-query-optimizer/SKILL.md
plugins/openai-office-skills/skills/doc/SKILL.md
plugins/openai-office-skills/skills/pdf/SKILL.md
plugins/openai-office-skills/skills/slides/SKILL.md
plugins/openai-office-skills/skills/spreadsheet/SKILL.md
plugins/openobserve-skills/skills/openobserve-api/SKILL.md
plugins/overleaf-skills/skills/review-overleaf/SKILL.md
plugins/overleaf-skills/skills/setup/SKILL.md
plugins/paper-search-tools/skills/paper-search-usage/SKILL.md
plugins/paper-search-tools/skills/setup/SKILL.md
plugins/polar-skills/skills/polar-billing/SKILL.md
plugins/polar-skills/skills/polar-local-environment/SKILL.md
plugins/python-skills/skills/python-guidelines/SKILL.md
plugins/react-skills/skills/composition-patterns/SKILL.md
plugins/react-skills/skills/react-best-practices/SKILL.md
plugins/react-skills/skills/react-native-skills/SKILL.md
plugins/react-skills/skills/web-design-guidelines/SKILL.md
plugins/seo-skills/skills/programmatic-seo/SKILL.md
plugins/seo-skills/skills/schema/SKILL.md
plugins/seo-skills/skills/seo-audit/SKILL.md
plugins/seo-skills/skills/site-architecture/SKILL.md
plugins/simplify/skills/simplify/SKILL.md
plugins/supabase-skills/skills/supabase-cli/SKILL.md
plugins/supabase-skills/skills/supabase-js/SKILL.md
plugins/tavily-tools/skills/setup/SKILL.md

Metadata

Files
0
Version
57286f4
Hash
77ff8e79
Indexed
2026-08-28 15:18

Accueil - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-08-29 04:44
浙ICP备14020137号-1 $Carte des visiteurs$