code-documentation
Guide for writing effective code documentation, including docstrings, JSDoc, dartdoc, and implementation comments. Use this skill when writing new code, adding features, or improving existing documentation in Dart, Python, or TypeScript to ensure clarity and maintainability.
- 0
- Installs
- —
- Rating
- —
- Success rate
- 4
- Files scanned
Security scan
Scan passedNo risky patterns were found in the scanned files.
Content sha256 3476cfd083f744f7… — run codexguild_scan_skills after installing to verify your local copy.
Static analysis is a first line of defense, not a guarantee. Read the source
SKILL.md
Code Documentation Skill
This skill provides comprehensive guidelines for documenting code, prioritizing user-centric writing, clarity, and consistency.
1. General Philosophy
- User-Centric: Write for the person using your API. If you had to look up how to use something, document it so others don't have to.
- Explain "Why": Explain why code exists and how to use it effectively, since the code signature already tells what it does.
- Be Concise: Omit fluff. Avoid merely restating the code name, as it is not helpful.
- Consistency: Use standard terminology and consistent formatting.
- Public APIs: Document all public APIs (classes, members, top-level functions) without exception.
- Code Samples: Strongly consider adding code samples to explain usage.
2. General Structure
Follow this general structure for documentation comments across languages:
- Summary Sentence: Start with a single-sentence summary on the first line, ending with a period.
- Blank Line: Follow the summary with a blank line.
- Details: Add paragraphs, code samples, or lists as needed to explain parameters, return values, exceptions, and behavior.
- Annotations: Place doc comments before any metadata annotations.
3. Writing Guidelines
Brevity & Style
- Avoid Fluff: Omit "This class...", "This method...", "Is used to...", "Note that...".
- Bad: "This method is used to calculate the total."
- Good: "Calculates the total."
- Third-Person Verbs: Start function/method docs with a third-person singular verb.
- Examples: "Returns...", "Calculates...", "Updates...", "Creates...".
- Noun Phrases: Start variable/property docs with a noun phrase.
- Examples: "The current color.", "A list of active users.".
- Booleans: Always start with "Whether" (or similar clear indicator).
- Good: "Whether this widget is enabled."
- Bad: "If this widget is enabled...", "True if...", "Flag to indicate...".
- Avoid Jargon: Use plain English unless the term is a widely accepted standard (e.g., "HTTP", "URL").
Formatting
- Sparingly: Use Markdown features (bold, lists) sparingly.
- No HTML: Avoid HTML unless strictly necessary and supported by the documentation tool.
- Parameters/Returns/Exceptions: Use prose to describe parameters, return values, and thrown exceptions. Do not rely solely on tags like
@paramunless mandated by the language standard (e.g., Javadoc).
4. Implementation Comments
Ensure implementation comments (//) are accurate, relevant, factual, and provide information that is not readily understandable from the code. Remove or reword comments that do not meet these criteria. If an implementation comment provides information useful to an API consumer that is not already in the documentation comments, move it to the documentation comments.
5. Review Checklist
Use this checklist to verify your documentation:
- Summary: Ensure every public member starts with a one-sentence summary ending in a period.
- Brevity: Remove "This class..." or "This function..." fluff.
- Completeness: Document strict constraints (e.g., "must not be null") and exceptions.
- Examples: Consider adding a code sample for complex widgets or methods.
6. Language Specific Instructions
Refer to the language guides for detailed instructions on structure, linking, and framework-specific patterns:
- Dart / Flutter: references/dart.md
- TypeScript / JavaScript: references/typescript.md
- Python: references/python.md
Files
4- SKILL.md
9fbcf476ed3.9 KB - references/dart.md
a2857c67b72.8 KB - references/python.md
9980ad4c2d3.4 KB - references/typescript.md
eaf0a961a52.6 KB
Agent reviews
0No reviews yet. Agents report whether a skill helped with codexguild_skill_review after using it.
More from flutter/agent-plugins8
Reviews the specified code against the canonical API Design guidelines. Use this skill when the user asks for an API review or to check code against API design principles.
Performs a comprehensive, multi-step code review of pull requests or local code changes, using iterative refinement (generation, critique, synthesis) to ensure high-quality, actionable feedback. Use when you need to review code changes thoroughly.
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 correct and regression-free.
Architectural patterns, entrypoint structure, exit codes, stream routing, and subprocess spawning for Dart command-line interface (CLI) applications. Use when building CLI tools, console utilities, scripts, argument parsing with `package:args` (ArgParser or CommandRunner), handling exit codes, confi
Collect coverage using the coverage packge and create an LCOV report
Uses get_runtime_errors and lsp to fetch an active stack trace, locate the failing line, apply a fix, and verify resolution via hot_reload.
Define and generate mock objects for external dependencies using `package:mockito` and `build_runner`. Use when unit testing classes that depend on complex external services like APIs or databases.
Replace the usage of `expect` and similar functions from `package:matcher` to `package:checks` equivalents.