跳到主要内容
知仓学习社ZHICANG

document

Documentation generator for public APIs, functions, and modules. Use when exports, signatures, or new modules are added or changed.

不碰外部(只输出文字)无严重或高危命中hashgraph-online/awesome-codex-plugins

它会碰到什么

扫了多少1 个文本文件,3 KB
它会碰到什么不碰外部(只输出文字)
命中总数0 处
命中统计严重 0 · 高 0 · 中 0 · 低 0

这一栏是扫描器报的事实,不是结论。命中多不等于有毒(安全工具、规则库、示例脚本本来就会包含危险写法),命中少也不等于干净。它和你手上的凭据、文件、网络有什么关系,需要你自己看。

技能内容

Document — Auto-Documentation

When to Trigger

  • New public function, class, or API endpoint
  • Function signature changed (params added/removed)
  • Module purpose unclear from code alone
  • User explicitly asks for documentation

Process

1. Detect what changed

  • New exports? → Add JSDoc/docstring
  • Changed params? → Update existing docs
  • New file? → Add module-level doc comment

Why: Undocumented changes are the most common source of onboarding friction. Catching every diff ensures no public surface is left without context.

2. Write docs

Follow the project's existing doc style. If none exists:

TypeScript/JavaScript:

/**
 * Brief description of what this does.
 *
 * @param name - Description of parameter
 * @returns Description of return value
 * @throws ErrorType - When this happens
 *
 * @example
 * const result = myFunction("input");
 */

Python:

def my_function(name: str) -> str:
    """Brief description.

    Args:
        name: Description of parameter.

    Returns:
        Description of return value.

    Raises:
        ValueError: When this happens.
    """

Why: Consistent doc style across the project reduces cognitive load for every reader. Inlining examples prevents the "how do I call this?" round-trip.

3. Don't over-document

  • Skip obvious getters/setters
  • Skip internal/private helpers unless complex
  • Code should be self-documenting first, comments second

Why: Noise docs train readers to ignore all comments. Document only where the code cannot speak for itself.

Anti-Rationalization

| Excuse | Rebuttal | What to do instead |

|--------|----------|-------------------|

| "The code is self-documenting" | Good naming helps readers, but doesn't explain intent, constraints, or edge cases. | Document the why, the constraints, and the non-obvious. |

| "I'll document it later" | Later never comes. If it's worth exporting, it's worth documenting now. | Document as you write. Updating is cheaper than reconstructing intent. |

| "Docs go stale anyway" | Stale docs are better than no docs. They at least signal intent. Keep them in sync with code changes. | Put docs near code (JSDoc/docstring). They update with the code. |

Evidence Required

Before claiming documentation is done, show ALL applicable:

  • [ ] Every new public function/class has a doc comment (show one example)
  • [ ] Changed signatures have updated docs (show the diff)
  • [ ] @param / @returns / @throws present for non-trivial functions
  • [ ] At least one @example for complex APIs

"I added docs" without showing them = not documented.

Red Flags

  • Comments that restate the code: // increment ii++
  • Outdated comments that contradict the code
  • Missing docs on public API that others will call

想直接用这个技能?

本站把开放许可(MIT / Apache 等)的技能按仓库打包整理到网盘,点一下转存到你自己的网盘,不用一个个从 GitHub 拉。许可未声明的技能只给原始仓库链接,不打包。

同名技能的其他版本

有 2 个不同仓库或目录里都有叫 document 的技能。它们内容并不相同,别混用: