Claude-skill-registry code-comments
Extract comment locations from code files for analysis. Use when cleaning comments, auditing code documentation, or analyzing comment patterns. Supports Python, JavaScript, TypeScript, Go, Rust, Java, C/C++, Ruby, PHP, Shell scripts. Trigger terms - comments, extract comments, code comments, comment analysis, documentation audit, comment cleanup.
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/code-comments" ~/.claude/skills/majiayu000-claude-skill-registry-code-comments && rm -rf "$T"
manifest:
skills/data/code-comments/SKILL.mdsource content
Comments Extraction Skill
Extract comment locations from git-changed files for analysis by the comment-cleaner agent.
What This Skill Does
- Detects files changed in a git scope (branch or unstaged)
- Extracts all comments with line numbers and context
- Outputs structured JSON for downstream processing
- Supports multiple programming languages
When to Use
Activate this skill when:
- Preparing for comment cleanup operations
- Auditing code documentation coverage
- Analyzing comment patterns in a codebase
- Working with the comment-cleaner agent
Supported Languages
| Extension | Single-line | Multi-line |
|---|---|---|
, , , , | | N/A |
, , , , , , , , , , , , | | |
, , , | N/A | |
, , | N/A | |
| , | |
Usage
Extract Comments from Git Scope
# Default: files changed since branch diverged from main rp1 agent-tools comment-extract branch main # Only unstaged files (pre-commit use case) rp1 agent-tools comment-extract unstaged main # Extract from commit range with line-scoped filtering rp1 agent-tools comment-extract "abc123..def456" main --line-scoped
Output Format
{ "success": true, "tool": "comment-extract", "data": { "scope": "branch", "base": "main", "filesScanned": 12, "linesAdded": 150, "comments": [ { "file": "src/auth.py", "line": 45, "type": "single", "content": "# Check if user is active", "contextBefore": "def validate_user(user):", "contextAfter": " if user.is_active:" } ] } }
Output Fields
| Field | Description |
|---|---|
| Whether extraction completed successfully |
| Tool name () |
| The scope used (, , or commit range) |
| Base branch for comparison |
| Number of files processed |
| Total lines added in diff |
| Whether line-scoped filtering was applied |
| Array of comment objects |
| Relative file path |
| Line number (1-indexed) |
| Comment type ( or ) |
| The comment text |
| Line before the comment |
| Line after the comment |
Error Handling
The tool handles:
- Git command failures (not a repo, invalid branch)
- Missing files (deleted in working tree)
- Binary files (automatically skipped)
- Encoding issues (UTF-8)
Error output format:
{ "success": false, "tool": "comment-extract", "data": { "scope": "branch", "base": "main", "filesScanned": 0, "linesAdded": 0, "comments": [] }, "errors": [{ "message": "Not a git repository" }] }
Integration
This skill is used by the
comment-cleaner agent to:
- Get a manifest of all comments in scope
- Avoid reading entire files for comment detection
- Process comments efficiently with context
Limitations
- Does not detect comments inside string literals (best effort)
- Multi-line string docstrings in Python are not extracted (intentional - docstrings are kept)
- Very large files (>10000 lines) are skipped to prevent memory issues