natural-writing

작성자: flutter

자연스럽고 정확하며 가독성 높은 글쓰기를 위한 명확한 규칙을 포함합니다. 분석 문서, PR 또는 CL과 같은 긴 텍스트를 작성할 때 사용하세요.

npx skills add https://github.com/flutter/skills --skill natural-writing

Rules for Natural Writing

This document outlines strict rules to avoid common "AI-isms"—stylistic and structural patterns that language models typically fall into. Follow these rules to produce content that is more understandable, and reads as natural, human-authored text.

1. Vocabulary & Phrasing Controls

The "Banned" List

Avoid these words, which are statistically overrepresented in AI text. Use simpler, more direct alternatives.

  • Verbs: delve, underscore, highlight (as verb), foster, cultivate, maximize, leverage, democratize, ensure, align with, resonate with, encompass, bridge.
  • Nouns: tapestry, landscape (abstract), realm, testament, interplay, synergy, cornerstone, hub, ecosystem (abstract).
  • Adjectives: pivotal, crucial, vibrant, intricate, nuanced, unwavering, indelible, uncharted, rapidly evolving, transformative, breathtaking, nestled, dynamic.

Avoid "Copula" Substitutions

Do not replace simple "is/are" verbs with flowery equivalents.

  • Bad: "The library serves as a center for learning."
  • Bad: "The statue stands as a monument to..."
  • Good: "The library is a center for learning."
  • Good: "The statue is a monument to..."

Eliminate "Elegant Variation"

Do not use synonyms just to avoid repeating a subject's name (e.g., "the eponymous character," "the titular protagonist," "the celebrated author"). It is acceptable to repeat the name or use pronouns naturally.

Banned Temporal Words in Code & Comments

Do not use relative temporal terms in code, variable names, function names, or comments. These words lose their meaning as the codebase evolves over time.

  • Banned Words: now, currently, existing behavior, previous behavior, old, new, modern.
  • Bad: // This function now uses the config parser instead of hardcoding.
  • Good: // Resolves paths via [ConfigParser.loadConfig] to support custom config locations.

2. Content & Tone

No "Puffery" or Forced Significance

Do not inflate the importance of a topic with vague praise. If a subject is important, the facts should demonstrate it without help.

  • Rule: Avoid phrases like "serves as a testament to," "marking a pivotal moment," "underscoring the importance of," "leaving an indelible mark," or "shaping the landscape."
  • Bad: "The founding of the institute marked a pivotal moment in the evolution of regional statistics, representing a significant shift toward independence."
  • Good: "The institute was founded in 1989 to collect regional statistics."

No Superficial Analysis

Avoid attaching "dangling" present-participle phrases that offer vague commentary.

  • Rule: Delete clauses starting with "highlighting," "emphasizing," "reflecting," "showcasing," or "demonstrating" if they just restate the obvious or add fluff.
  • Bad: "The building uses blue glass, reflecting the region's natural beauty and symbolizing unity."
  • Good: "The building uses blue glass."

Avoid Promotional Language

Maintain a neutral tone. Avoid "advertisement" words.

  • Words to Watch: boasts, features (as a verb), offers, premier, leading, state-of-the-art, committed to, dedicated to.
  • Bad: "Nestled in the heart of the city, the hotel boasts a vibrant atmosphere."
  • Good: "The hotel is located in the city center."

No "Challenges and Future Outlook" Formula

LLMs often end articles with a generic "Despite challenges... remains important" conclusion.

  • Rule: Do not end with a summary paragraph starting with "Despite [X], [Subject] continues to..." or speculating on the future. End with the last fact.
  • Bad: "Despite facing economic hurdles, the company continues to thrive and remains a beacon of innovation."

No "Title as Proper Noun" Leads

Do not treat a descriptive article title (like a list or broad topic) as a proper noun in the first sentence.

  • Bad: "The List of songs about Mexico is a curated compilation..."
  • Good: "This list contains songs about Mexico..."

No Generic "See Also" Links

Do not populate "See Also" sections with broad, generic terms.

  • Rule: Links must be directly relevant and specific to the subject.
  • Bad: Linking Financial technology in an article about a specific startup.
  • Good: Linking a competitor or specific related technology.

Attribution Precision

Do not use vague "weasel words."

  • Rule: Avoid "Experts argue," "Observers have noted," or "Several sources indicate" unless you cite specific people immediately.
  • Rule: Do not claim a subject interacts with a "broader" history or trend unless a source explicitly says so.

3. Sentence Structure

No Negative Parallelism

Avoid sentences that structure a contrast unnecessarily.

  • Bad: "It is not only a painting, but also a representation of..."
  • Bad: "It is not just about X; it is about Y."
  • Good: "It is a painting that represents..."

No "Rule of Three"

Avoid listing exactly three adjectives or three noun phrases to sound "comprehensive."

  • Bad: "The event brings together marketers, engineers, and designers." (Unless those specific three groups are the only ones).
  • Bad: "It is bold, innovative, and unique."

No False Ranges

Do not use "from X to Y" unless X and Y are endpoints of a logical scale (like time or size).

  • Bad: "The book covers everything from biology to space travel." (These are just two random topics, not a range).
  • Good: "The book covers topics including biology and space travel."

4. Structure & Formatting

Headers

  • Rule: Use Sentence case for headers (e.g., "Early life," not "Early Life").
  • Rule: Do not use "Title Case" in headers.

Formatting Avoidance

  • No Inline-Header Lists: Do not use the format: * **Header:** Description.... Use prose or simple lists.
  • No Excessive Bold: Do not bold keywords, "key takeaways," or names in the body text (except the first mention in the lead).
  • No Symbols/Emojis: Do not use emojis (🚀, 🧠) or unusual bullets (#, -) in lists. Use standard bullets (*).
  • No Unnecessary Tables: Do not create tables for simple information that fits in a sentence.
  • Context-Appropriate Markup: Do not use Markdown (like ##) in formats that do not support it (like Wikitext), unless explicitly converted.

Punctuation

  • Quotes: Use straight quotes (", ') and straight apostrophes ('). Do not use curly/smart quotes (, ).
  • Em Dashes: Use em dashes sparingly. LLMs overuse them for emphasis. Use commas or parentheses instead.

5. Citations & Integrity

No Hallucinations

  • Rule: Never generate a citation unless you are looking at the source.
  • Rule: Do not invent URLs or DOIs.
  • Rule: Do not assume a book exists or contains a specific fact without verification.

6. Communication (Chat Context)

  • No "Collaborative" Filler: Avoid starting responses with "Certainly!", "Here is the information," or "I hope this helps." Just provide the content.
  • No Knowledge Cutoffs: Do not apologize for being an AI or state "As of my last update in..." unless relevant to a specific time-sensitive fact.
  • No Subject Lines: Do not preface a response with Subject: ...
  • Concise Edit Summaries: If generating an edit summary, keep it brief and informal. Avoid verbose, formal paragraphs explaining "I have ensured compliance with..."

flutter의 다른 스킬

adding-release-notes
flutter
사용자 대상 변경 사항 설명을 DevTools 릴리스 노트에 추가합니다. NEXT_RELEASE_NOTES.md 파일에 개선 사항, 수정 사항 또는 새로운 기능을 문서화할 때 사용하세요.
official
dart-modern-features
flutter
현대화를 위한 후보를 찾으려면:
official
api-review
flutter
지정된 코드를 표준 API 설계 지침에 맞춰 검토합니다. 사용자가 API 리뷰를 요청하거나 API 설계에 따라 코드를 확인할 때 이 스킬을 사용하세요…
official
code-documentation
flutter
효과적인 코드 문서 작성 가이드로, docstrings, JSDoc, dartdoc 및 구현 주석을 포함합니다. 새 코드를 작성하거나 추가할 때 이 스킬을 사용하세요…
official
dart-add-unit-test
flutter
Write and organize unit tests for functions, methods, and classes using `package:test`. Use when creating new logic or fixing bugs to ensure code remains…
official
dart-build-cli-app
flutter
진입점 구조, 종료 코드, 크로스 플랫폼 스크립트. 명령줄 유틸리티, 스크립트 또는 애플리케이션을 빌드할 때 사용합니다.
official
dart-collect-coverage
flutter
coverage 패키지를 사용하여 커버리지를 수집하고 LCOV 보고서를 생성합니다
official
dart-fix-runtime-errors
flutter
get_runtime_errors와 lsp를 사용하여 활성 스택 트레이스를 가져오고, 실패한 줄을 찾아 수정을 적용한 후 hot_reload를 통해 해결 여부를 확인합니다.
official