NEW Browse AI tools across categories — updated daily. See what's new →

Kb Lint

Health-check the knowledge bank for orphan documents, stale content, broken WikiLinks, index drift, and missing frontmatter. Generates a severity-graded report. Use this skill whenever the user men...

Version1.0.0
LicenseMIT
Token count~1,481
UpdatedJun 5, 2026

Health-check the knowledge bank for orphan documents, stale content, broken WikiLinks, index drift, and missing frontmatter. Generates a severity-graded report. Use this skill whenever the user mentions lint, health check, KB maintenance, stale docs, broken links, orphan pages, missing references, knowledge bank quality, or hasn't run a check in a while. Also trigger when the user asks "what's not cross-referenced?", "are there any dead links?", or expresses concern about KB quality.

Install

Quick install

via npx skills · works with 57+ agents
npx skills add https://github.com/sxhmilyoyo/sundayhao-plugins
Or pick agent:
npx skills add sxhmilyoyo/sundayhao-plugins --agent claude-code
npx skills add sxhmilyoyo/sundayhao-plugins --agent cursor
npx skills add sxhmilyoyo/sundayhao-plugins --agent codex
npx skills add sxhmilyoyo/sundayhao-plugins --agent opencode
npx skills add sxhmilyoyo/sundayhao-plugins --agent github-copilot
npx skills add sxhmilyoyo/sundayhao-plugins --agent windsurf
More install options

Shorthand — useful for multi-skill repos:

npx skills add sxhmilyoyo/sundayhao-plugins

Manual — clone the repo and drop the folder into your agent's skills directory:

git clone https://github.com/sxhmilyoyo/sundayhao-plugins.git
cp -r sundayhao-plugins ~/.claude/skills/
How to use: Once installed, ask your agent to "use the Kb Lint skill" or describe what you want (e.g. "Health-check the knowledge bank for orphan documents, stale content, broken Wiki"). Requires Node.js 18+.

Kb Lint

Health-check the knowledge bank for orphan documents, stale content, broken WikiLinks, index drift, and missing frontmatter. Generates a severity-graded report. Use this skill whenever the user mentions lint, health check, KB maintenance, stale docs, broken links, orphan pages, missing references, knowledge bank quality, or hasn't run a check in a while. Also trigger when the user asks "what's not cross-referenced?", "are there any dead links?", or expresses concern about KB quality.

---
name: kb-lint
description: Health-check the knowledge bank for orphan documents, stale content, broken WikiLinks, index drift, and missing frontmatter. Generates a severity-graded report. Use this skill whenever the user mentions lint, health check, KB maintenance, stale docs, broken links, orphan pages, missing references, knowledge bank quality, or hasn't run a check in a while. Also trigger when the user asks "what's not cross-referenced?", "are there any dead links?", or expresses concern about KB quality.
user-invocable: true
---

Knowledge Bank Lint

Health-check the knowledge bank to detect quality issues that accumulate over time. Without periodic linting, orphan documents pile up, cross-references break, and stale content persists unchallenged.

Knowledge Bank Location: Read from ~/.claude/plugins/config/second-brain/config.json.

---

Invocation

  • Slash command: /second-brain:kb-lint
  • Skill tool: Skill({ skill: "second-brain:kb-lint" })
  • Natural language: "Run a health check on the knowledge bank", "Find orphan docs in KB"

---

Workflow

Step 1: SCAN

Run lint checks in order. Each check produces findings with a severity level.

Check 1: Broken WikiLinks (severity: error)

Find WikiLinks that don't resolve to any file in the KB:

./scripts/lint_broken_links.sh "$KB_PATH"

Reuses WikiLink extraction from knowledge-bank-lookup/scripts/wikilink-utils.sh and resolution logic.

Check 2: Missing Frontmatter (severity: error)

Find documents missing required frontmatter fields (title, type, created):

./scripts/lint_frontmatter.sh "$KB_PATH"

Reuses frontmatter reading from skills/common/obsidian_helpers.sh.

Check 3: Orphan Documents (severity: warning)

Find documents with zero incoming WikiLinks (not referenced by any other document):

./scripts/lint_orphans.sh "$KB_PATH"

Builds a reverse-link index across the entire KB. Excludes structural files (_meta/, _index/, _sessions/).

Check 4: Index Drift (severity: warning)

Find documents that exist on disk but are missing from _meta/index.md:

./scripts/lint_index_drift.sh "$KB_PATH"

Compares filesystem against the generated index. Also detects entries in the index that no longer have backing files.

Check 5: Stale Documents (severity: info)

Find documents not modified in 90+ days:

./scripts/lint_stale.sh "$KB_PATH"

Uses file modification timestamps. Excludes _sessions/ and daily-log/ (inherently historical).

Step 2: REPORT

Generate a lint report at _meta/lint-report-YYYY-MM-DD.md:

---
title: KB Lint Report YYYY-MM-DD
type: lint-report
generated: YYYY-MM-DDTHH:MM:SSZ
---

# KB Lint Report

| Severity | Count |
|----------|-------|
| Error    | N     |
| Warning  | N     |
| Info     | N     |

## Errors

### Broken WikiLinks
- [[Target]] referenced from [[Source]] — target not found

### Missing Frontmatter
- /path/to/doc.md — missing: title, type

## Warnings

### Orphan Documents
- [[Doc Name]] — zero incoming references

### Index Drift
- /path/to/doc.md — exists on disk but missing from index

## Info

### Stale Documents
- [[Doc Name]] — last modified YYYY-MM-DD (N days ago)

Step 3: LOG

Append operation to _meta/log.md:

source skills/common/obsidian_helpers.sh
append_kb_log "$KB_PATH" "lint" "kb-lint" "N errors, N warnings, N info findings"

---

Step 4: FIX (optional)

After presenting the report, use AskUserQuestion tool to offer resolution:

  • Fix broken WikiLinks — For each broken link, classify as:
  • Stub candidate — the target should exist but hasn't been documented yet. Create a stub file with status: stub (see below).
  • Near-match — an existing doc with a similar name could resolve it. Add an alias to the existing doc.
  • Bad reference — the WikiLink itself is wrong (typo, template placeholder). Fix or remove it from the source file.
  • Template placeholder — generic WikiLinks like [[Related Concept 1]]. Remove from source files.
  • Fix index drift — Run generate_index.sh to rebuild _meta/index.md
  • Fix missing frontmatter — Add required YAML fields to flagged documents
  • Skip — Just the report, no fixes needed

See [fix-guide.md](references/fix-guide.md) for stub creation templates, classification heuristics, alias resolution, and template placeholder removal details.

---

Interpreting Results

| Severity | Meaning | Action |
|----------|---------|--------|
| Error | Data integrity issue | Fix immediately — broken links mislead lookups |
| Warning | Quality degradation | Fix soon — orphans and drift reduce discoverability |
| Info | Potential staleness | Review periodically — may need updating or archiving |

---

Resources

  • [KB Schema](_meta/schema.md) — Conventions that lint checks enforce
  • [Fix Guide](references/fix-guide.md) — Stub creation, alias resolution, template cleanup

---

Completion Criteria

| Mode | Complete when |
|------|---------------|
| Report only | All 5 checks run, lint report generated, log appended, findings summarized |
| Report + Fix | All of above, plus chosen fixes applied, index regenerated |

---

Source: https://github.com/sxhmilyoyo/sundayhao-plugins
Author: sxhmilyoyo
Discovered via: skillsdirectory.com
Genre: ai-agents

SKILL.md source

---
name: Kb Lint
description: Health-check the knowledge bank for orphan documents, stale content, broken WikiLinks, index drift, and missing frontmatter. Generates a severity-graded report. Use this skill whenever the user men...
---

# Kb Lint

Health-check the knowledge bank for orphan documents, stale content, broken WikiLinks, index drift, and missing frontmatter. Generates a severity-graded report. Use this skill whenever the user mentions lint, health check, KB maintenance, stale docs, broken links, orphan pages, missing references, knowledge bank quality, or hasn't run a check in a while. Also trigger when the user asks "what's not cross-referenced?", "are there any dead links?", or expresses concern about KB quality.

---
name: kb-lint
description: Health-check the knowledge bank for orphan documents, stale content, broken WikiLinks, index drift, and missing frontmatter. Generates a severity-graded report. Use this skill whenever the user mentions lint, health check, KB maintenance, stale docs, broken links, orphan pages, missing references, knowledge bank quality, or hasn't run a check in a while. Also trigger when the user asks "what's not cross-referenced?", "are there any dead links?", or expresses concern about KB quality.
user-invocable: true
---

# Knowledge Bank Lint

Health-check the knowledge bank to detect quality issues that accumulate over time. Without periodic linting, orphan documents pile up, cross-references break, and stale content persists unchallenged.

**Knowledge Bank Location**: Read from `~/.claude/plugins/config/second-brain/config.json`.

---

## Invocation

- **Slash command**: `/second-brain:kb-lint`
- **Skill tool**: `Skill({ skill: "second-brain:kb-lint" })`
- **Natural language**: "Run a health check on the knowledge bank", "Find orphan docs in KB"

---

## Workflow

### Step 1: SCAN

Run lint checks in order. Each check produces findings with a severity level.

#### Check 1: Broken WikiLinks (severity: error)

Find WikiLinks that don't resolve to any file in the KB:

```bash
./scripts/lint_broken_links.sh "$KB_PATH"
```

Reuses WikiLink extraction from `knowledge-bank-lookup/scripts/wikilink-utils.sh` and resolution logic.

#### Check 2: Missing Frontmatter (severity: error)

Find documents missing required frontmatter fields (`title`, `type`, `created`):

```bash
./scripts/lint_frontmatter.sh "$KB_PATH"
```

Reuses frontmatter reading from `skills/common/obsidian_helpers.sh`.

#### Check 3: Orphan Documents (severity: warning)

Find documents with zero incoming WikiLinks (not referenced by any other document):

```bash
./scripts/lint_orphans.sh "$KB_PATH"
```

Builds a reverse-link index across the entire KB. Excludes structural files (`_meta/`, `_index/`, `_sessions/`).

#### Check 4: Index Drift (severity: warning)

Find documents that exist on disk but are missing from `_meta/index.md`:

```bash
./scripts/lint_index_drift.sh "$KB_PATH"
```

Compares filesystem against the generated index. Also detects entries in the index that no longer have backing files.

#### Check 5: Stale Documents (severity: info)

Find documents not modified in 90+ days:

```bash
./scripts/lint_stale.sh "$KB_PATH"
```

Uses file modification timestamps. Excludes `_sessions/` and `daily-log/` (inherently historical).

### Step 2: REPORT

Generate a lint report at `_meta/lint-report-YYYY-MM-DD.md`:

```markdown
---
title: KB Lint Report YYYY-MM-DD
type: lint-report
generated: YYYY-MM-DDTHH:MM:SSZ
---

# KB Lint Report

| Severity | Count |
|----------|-------|
| Error    | N     |
| Warning  | N     |
| Info     | N     |

## Errors

### Broken WikiLinks
- [[Target]] referenced from [[Source]] — target not found

### Missing Frontmatter
- /path/to/doc.md — missing: title, type

## Warnings

### Orphan Documents
- [[Doc Name]] — zero incoming references

### Index Drift
- /path/to/doc.md — exists on disk but missing from index

## Info

### Stale Documents
- [[Doc Name]] — last modified YYYY-MM-DD (N days ago)
```

### Step 3: LOG

Append operation to `_meta/log.md`:

```bash
source skills/common/obsidian_helpers.sh
append_kb_log "$KB_PATH" "lint" "kb-lint" "N errors, N warnings, N info findings"
```

---

### Step 4: FIX (optional)

After presenting the report, use **AskUserQuestion tool** to offer resolution:

- **Fix broken WikiLinks** — For each broken link, classify as:
  - **Stub candidate** — the target *should* exist but hasn't been documented yet. Create a stub file with `status: stub` (see below).
  - **Near-match** — an existing doc with a similar name could resolve it. Add an alias to the existing doc.
  - **Bad reference** — the WikiLink itself is wrong (typo, template placeholder). Fix or remove it from the source file.
  - **Template placeholder** — generic WikiLinks like `[[Related Concept 1]]`. Remove from source files.
- **Fix index drift** — Run `generate_index.sh` to rebuild `_meta/index.md`
- **Fix missing frontmatter** — Add required YAML fields to flagged documents
- **Skip** — Just the report, no fixes needed

See [fix-guide.md](references/fix-guide.md) for stub creation templates, classification heuristics, alias resolution, and template placeholder removal details.

---

## Interpreting Results

| Severity | Meaning | Action |
|----------|---------|--------|
| **Error** | Data integrity issue | Fix immediately — broken links mislead lookups |
| **Warning** | Quality degradation | Fix soon — orphans and drift reduce discoverability |
| **Info** | Potential staleness | Review periodically — may need updating or archiving |

---

## Resources

- [KB Schema](_meta/schema.md) — Conventions that lint checks enforce
- [Fix Guide](references/fix-guide.md) — Stub creation, alias resolution, template cleanup

---

## Completion Criteria

| Mode | Complete when |
|------|---------------|
| **Report only** | All 5 checks run, lint report generated, log appended, findings summarized |
| **Report + Fix** | All of above, plus chosen fixes applied, index regenerated |


---

**Source**: https://github.com/sxhmilyoyo/sundayhao-plugins
**Author**: sxhmilyoyo
**Discovered via**: skillsdirectory.com
**Genre**: ai-agents

Related skills 6

running-claude-code-via-litellm-copilot

★ Featured

Use when routing Claude Code through a local LiteLLM proxy to GitHub Copilot, reducing direct Anthropic spend, configuring ANTHROPIC_BASE_URL or ANTHROPIC_MODEL overrides, or troubleshooting Copilot proxy setup failures such as model-not-found, no localhost traffic, or GitHub 401/403 auth errors.

xixu-me 155k
AI & ML

skills-cli

★ Featured

Use when users ask to discover, install, list, check, update, remove, back up, restore, sync, or initialize Agent Skills, mention `bunx skills`, `npx skills`, `skills.sh`, or `skills-lock.json`, ask "find a skill for X", or want help extending agent capabilities with installable skills.

xixu-me 155k
AI & ML

repo-intake-and-plan

★ Featured

Narrow RigorPilot helper for README-first deep learning repo reproduction. Use when the task is specifically to scan a repository, read the README and common project files, extract documented commands, classify inference, evaluation, and training candidates, and return the smallest trustworthy reproduction plan to the main orchestrator. Do not use for environment setup, asset download, command execution, final reporting, paper lookup, or end-to-end orchestration.

lllllllama 127k
AI & ML

image-to-video

★ Featured

Animate any still image on RunComfy — this skill is a smart router that matches the user's intent to the right i2v model in the RunComfy catalog. Picks HappyHorse 1.0 I2V (Arena #1, native audio, identity preservation) for general animations, Wan 2.7 with `audio_url` for custom-voiceover lip-sync, or Seedance 2.0 Pro for multi-modal animation from image + reference video + reference audio. Bundles each model's documented prompting patterns so the caller gets sharper output without burning ite...

agentspace-so 121k
AI & ML

video-edit

★ Featured

Edit existing video on RunComfy — this skill is a smart router that matches the user's intent to the right edit model in the RunComfy catalog. Picks Wan 2.7 Edit-Video (general restyle / background swap / packaging swap, identity + motion preservation), Kling 2.6 Pro Motion Control (transfer precise motion from a reference video to a target character), or Lucy Edit Restyle (lightweight identity-stable restyle / outfit swap). Bundles each model's documented prompting patterns so the skill gets...

agentspace-so 121k
AI & ML

nano-banana-2

★ Featured

Generate images with Google Nano Banana 2 (Gemini-family flash-tier text-to-image) on RunComfy — bundled with the model's documented prompting patterns so the skill gets sharper output than naive prompting against the same model. Documents Nano Banana 2's strengths (rapid iteration, in-image typography rendering, predictable framing, optional web-grounded context), the resolution-tier pricing, the safety-tolerance dial, and when to route to Nano Banana Pro / GPT Image 2 / Flux 2 / Seedream in...

agentspace-so 121k
AI & ML