Token导航 LogoToken导航TokenDH.com
研究检索执行命令github未标认证来源可访问许可证需确认审计通过

docstring-coverage文档字符串覆盖率

Agent Skill

docstring-coverage 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

374

周安装

15

GitHub Stars

公开资料未说明

下载量

121
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:docstring-coverage(文档字符串覆盖率)
来源仓库:https://github.com/siddham-jain/docstring-coverage
仓库路径:skills/docstring-coverage
安装命令:
npx skills add https://github.com/siddham-jain/docstring-coverage --skill docstring-coverage
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/siddham-jain/docstring-coverage --skill docstring-coverage

简介

自动为 git diff 新增代码生成对应 docstring 的工具。

  • 支持 Python、JavaScript、Java 等十余种编程语言。
  • 分析 staged 和 unstaged 变更,识别需补充注释的函数。
  • 输出带行号的文档缺失报告及具体补全建议。
  • docstring-coverage 属于研究检索类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

Docstring Coverage for Git Diff

Add comprehensive docstrings to all functions, methods, and classes that were added or modified in the current git diff. Supports Python, JavaScript/TypeScript, Java, Kotlin, Go, Rust, Ruby, C/C++/C#, Swift, PHP, Scala, Elixir, Lua, and Shell.

Workflow

Step 1: Identify the Diff Scope

Determine what the user wants documented. Ask if unclear, otherwise default to staged + unstaged changes.

# Priority order — use the first that matches the user's intent:

# 1. Changes in a PR branch vs main/master
git diff main...HEAD

# 2. All uncommitted changes (staged + unstaged) — DEFAULT
git diff HEAD

# 3. Only staged changes
git diff --cached

# 4. Last N commits
git diff HEAD~N..HEAD

# 5. Specific commit
git diff <commit>^..<commit>

Store the chosen diff for the rest of the workflow.

Step 2: Extract Changed Symbols

Parse the diff to find all functions, methods, and classes that were added or modified. Focus on:

  • New functions/methods (lines starting with + that define a function)
  • Modified functions/methods (functions in hunks that have changes)
  • New classes (class definitions in added lines)

Ignore: deleted code, import changes, variable assignments, comments-only changes.

Symbol Detection: Refer to the language-specific files in languages/ for regex patterns to identify symbols. See the Routing Table below to find the correct file.

Step 3: Read Full Context

For each changed symbol, read the full current file (not just the diff) to understand:

  • The function signature and parameters
  • The return type/value
  • What the function body does
  • How it fits into the broader module
  • Any exceptions/errors raised
  • Side effects

This context is critical for writing accurate docstrings.

Step 4: Generate Docstrings

For each symbol missing a docstring or having an outdated one, write a docstring following the project's existing conventions.

Convention Detection:

  1. Detect Style: Scan the codebase for existing docstrings to identify the dominant style.
  2. Read conventions.md: Check this file for detailed rules on convention auto-detection priorities and cross-language edge cases.
  3. Language Routing: Use the project's detected language(s) to load the appropriate file from languages/.

Docstring quality rules:

  • First line: A concise one-line summary of what the function does (imperative mood: "Calculate...", "Return...", "Validate...")
  • Parameters: Document every parameter with name, type (if not in signature), and description
  • Returns: Document what the function returns, including type
  • Raises/Throws: Document exceptions that can be raised
  • No fluff: Don't restate the function name. Don't say "This function..." — just describe what it does
  • Be specific: Prefer "Calculate the Euclidean distance between two 2D points" over "Perform calculation"
  • Edge cases: Mention important edge case behavior (e.g., "Returns None if the list is empty")

Step 5: Apply Changes

Apply the docstrings directly to the source files. Use precise edits — do NOT rewrite entire files. For each symbol:

  1. Locate the function/method/class definition in the file
  2. Check if a docstring already exists

- If yes and it's outdated/incomplete: update it - If yes and it's accurate: skip it - If no: insert one

  1. Apply the edit

Step 6: Summary Report

After applying all docstrings, output a summary:

## Docstring Coverage Report

**Scope**: `git diff HEAD` (uncommitted changes)
**Files scanned**: 7
**Symbols found in diff**: 12
**Docstrings added**: 8
**Docstrings updated**: 2
**Already documented**: 2

### Changes by file:
- `src/auth/token.py` — added docstrings to `generate_token()`, `validate_token()`, `refresh_token()`
- `src/api/handlers.py` — added docstring to `UserHandler` class, updated `handle_request()`
- `src/utils/math.py` — added docstrings to `normalize()`, `clamp()`, `lerp()`

Edge Cases

  • Decorators: Place docstring after the function def line, not after decorators
  • Overloaded methods: Document the primary signature; note overloads
  • Property getters/setters: Document the property, not individual get/set
  • One-liners: Still add a one-line docstring even for simple functions
  • Test functions: Use a lighter style — one line describing what's being tested
  • Private/internal functions (e.g., _helper()): Still document, but can be briefer
  • Lambda functions: Skip — these can't have docstrings
  • Already well-documented: Don't touch it. Only update if the signature changed but the docstring didn't reflect it.

Language-Specific Details

Routing Logic: Based on the language(s) detected in the project, refer to the corresponding file in the languages/ directory.

Routing Table

Map the file extension to the correct language definition file:

Extension(s)Language File
.pylanguages/python.md
.js, .mjs, .cjs, .jsxlanguages/javascript-typescript.md
.ts, .tsx, .mtslanguages/javascript-typescript.md
.java, .kt, .ktslanguages/java-kotlin.md
.golanguages/go.md
.rslanguages/rust.md
.rblanguages/ruby.md
.c, .hlanguages/c-cpp-csharp.md
.cpp, .cc, .cxx, .hpp, .hxxlanguages/c-cpp-csharp.md
.cslanguages/c-cpp-csharp.md
.swiftlanguages/swift.md
.phplanguages/php.md
.scala, .sclanguages/elixir-scala-lua-shell.md
.ex, .exslanguages/elixir-scala-lua-shell.md
.lualanguages/elixir-scala-lua-shell.md
.sh, .bash, .zshlanguages/elixir-scala-lua-shell.md

For cross-language rules (linting, generated code, encoding), see conventions.md.

适合场景

01

研究助手

02

事实核查

03

知识库问答

04

带来源的搜索总结

能力概览

能力 1

组合搜索和大模型调用

能力 2

支持多来源检索和总结

能力 3

强调引用来源和事实核查

能力 4

适合研究型 Agent 流程

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

35.04%
按下载量换算42

Claude

27.59%
按下载量换算33

Cursor

18.68%
按下载量换算23

Gemini CLI

9.63%
按下载量换算12

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

执行命令

安装流程涉及命令执行,可能通过 npx skills add https://github.com/siddham-jain/docstring-coverage --skill docstring-coverage 联网下载 Skill 或依赖。用户安装前应确认命令来源、仓库内容和执行环境。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills