Skip to content
Back to skills

Docs Tracker

ASecurity

Automates documentation maintenance. Detects modified files via git diff, creates docs for new files, updates docs for modified files, generates changelog. Use after implementation to keep docs current.

  • 666 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added February 8, 2026
developmentbashgitdocumentation

Security analysis

A100/100

Scanned February 12, 2026

npx -y skills add majiayu000/claude-skill-registry --skill docs-tracker --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Docs Tracker?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Docs Tracker
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/majiayu000-docs-tracker/badge)](https://www.skillsdirectory.com/skills/majiayu000-docs-tracker)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: docs-tracker
description: Automates documentation maintenance. Detects modified files via git diff, creates docs for new files, updates docs for modified files, generates changelog. Use after implementation to keep docs current.
allowed-tools: Read, Glob, Grep, Bash
---

# Docs Tracker - Automatic Documentation System

## Purpose

This skill automates documentation maintenance:

- **Detects** modified files via git diff
- **Compares** with existing documentation
- **Creates** docs for new files
- **Updates** docs for modified files
- **Removes** docs for deleted files
- **Generates** automatic changelog

---

## Execution Flow

```
1. DETECT CHANGES → git diff --name-status
        ↓
2. CLASSIFY CHANGES → A=Added, M=Modified, D=Deleted
        ↓
3. CHECK EXISTING DOCS → docs/, codebase-knowledge/domains/
        ↓
4. EXECUTE ACTIONS → Create, update, or remove docs
```

---

## Detection Commands

### Changes Since Last Commit

```bash
git diff --name-status HEAD~1
```

### Changes vs Main

```bash
git diff --name-status main..HEAD
```

### Added Files

```bash
git diff --name-status main..HEAD | grep "^A"
```

### Modified Files

```bash
git diff --name-status main..HEAD | grep "^M"
```

### Deleted Files

```bash
git diff --name-status main..HEAD | grep "^D"
```

### Detailed File Diff

```bash
git diff main..HEAD -- path/to/file.ts
```

---

## File → Doc Mapping

| File Type             | Related Documentation                         |
| --------------------- | --------------------------------------------- |
| `server/routers/*.ts` | `codebase-knowledge/domains/[domain].md`      |
| `server/models/*.ts`  | `codebase-knowledge/domains/[domain].md`      |
| `app/**/page.tsx`     | `docs/flows/[feature].md`                     |
| `components/**/*.tsx` | `docs/components/[component].md` (if complex) |
| `lib/**/*.ts`         | `docs/utils/[lib].md` (if exported)           |

---

## Update Rules

### CREATE Doc When:

- [ ] New file in `server/routers/` → Update domain
- [ ] New file in `server/models/` → Update domain
- [ ] New page in `app/` → Create flow doc if complex
- [ ] New complex component → Consider doc

### UPDATE Doc When:

- [ ] tRPC procedure changed signature
- [ ] Model changed schema
- [ ] Page changed main flow
- [ ] Connections between domains changed

### REMOVE Doc When:

- [ ] File was deleted
- [ ] Feature was completely removed
- [ ] Component was discontinued

---

## Changelog Template

```markdown
## [Unreleased] - YYYY-MM-DD

### Added

- New feature X in `path/to/file.ts`
- New component Y

### Changed

- Changed behavior of Z
- Refactored module W

### Fixed

- Fixed bug in A
- Resolved issue #123

### Removed

- Removed obsolete feature B

### Docs Updated

- Updated `codebase-knowledge/domains/[domain].md`
- Created `docs/flows/[feature].md`
```

---

## Pre-Commit Checklist

### 1. Detect Changes

```bash
git diff --name-status --cached
```

### 2. For Each Modified File

- [ ] Which domain does it belong to?
- [ ] Is domain updated in `codebase-knowledge/domains/`?
- [ ] Has flow doc in `docs/flows/`? Needs update?
- [ ] Commit hash will be added to domain?

### 3. For Added Files

- [ ] Which domain? Add to file list
- [ ] Needs own doc or just update domain?
- [ ] Connections with other domains?

### 4. For Deleted Files

- [ ] Remove from `codebase-knowledge/domains/`
- [ ] Remove flow doc if exists
- [ ] Update connections in related domains

---

## Integration with Codebase-Knowledge

### Update Domain After Change

```markdown
## Domain Update: [name]

### Changes Detected

| File         | Status   | Description    |
| ------------ | -------- | -------------- |
| path/file.ts | Modified | [what changed] |

### Required Updates in domains/[domain].md

- [ ] Update "Last Update" with date and commit
- [ ] Add/remove files from list
- [ ] Update "Recent Commits"
- [ ] Check "Connections" if integration changed
- [ ] Update "Attention Points" if applicable
```

---

## Output Format

```markdown
## DOCS TRACKER - Report

### Changes Detected

- **Added:** X files
- **Modified:** Y files
- **Deleted:** Z files

### Docs That Need Update

| Doc              | Type   | Action | Priority |
| ---------------- | ------ | ------ | -------- |
| domains/auth.md  | domain | update | HIGH     |
| flows/feature.md | flow   | create | MEDIUM   |

### Actions Executed

- [x] Updated `domains/auth.md` with commit abc123
- [x] Created `flows/new-feature.md`
- [x] Removed `flows/obsolete.md`

### Changelog Generated

[changelog preview]
```

---

## Critical Rules

1. **ALWAYS run before commit** - Outdated docs are technical debt
2. **NEVER ignore new files** - Every file deserves documentation
3. **KEEP changelog updated** - Facilitates releases
4. **SYNC with codebase-knowledge** - It's the source of truth

---

## Version

- **v2.0.0** - Generic template

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.