lint

lint is a skill for Claude Code, Codex from owenliang60-ship-it/knowledge-mgmt. It costs 69 tokens per session (1,122 once invoked), scanned A, original, MIT.

A command for checking the health of an Obsidian vault, a folder of linked Markdown notes.

In plain words
What is it for?
Use it to create a health report covering links, tags, note formatting, research inventory, index-page completeness, and links to missing notes. It reports issues but does not repair them.
Why use it?
It finds broken links, missing tags, isolated notes, outdated research clippings, and incomplete index pages so you can see where the vault needs attention.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one. Also seen: mentions subagents.

Good fit Use it to create a health report covering links, tags, note formatting, research inventory, index-page completeness, and links to missing notes. It reports issues but does not repair them.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/owenliang60-ship-it/knowledge-mgmt/lint
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add owenliang60-ship-it/knowledge-mgmt --skill lint
Clone the repo
git clone --depth 1 https://github.com/owenliang60-ship-it/knowledge-mgmt

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for lint

README.md
[![agentmods](https://agentmods.dev/badge/skills/owenliang60-ship-it/knowledge-mgmt/lint/github.svg)](https://agentmods.dev/skills/owenliang60-ship-it/knowledge-mgmt/lint)
Your own site
<a href="https://agentmods.dev/skills/owenliang60-ship-it/knowledge-mgmt/lint"><img src="https://agentmods.dev/badge/skills/owenliang60-ship-it/knowledge-mgmt/lint/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for lint

Your own site · 80×15
<a href="https://agentmods.dev/skills/owenliang60-ship-it/knowledge-mgmt/lint"><img src="https://agentmods.dev/badge/skills/owenliang60-ship-it/knowledge-mgmt/lint.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 69 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,122 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00069 $0.01122
Opus 5 $0.00034 $0.00561
Sonnet 5 $0.00014 $0.00224
Haiku 4.5 $0.00007 $0.00112

Measured 10d ago against content hash 483372d3da98, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-09, from the pricing page.

Security

Grade A, and why

lint scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 10d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

lint/SKILL.md · 140 lines

How it starts

The opening of the file, as written. The whole thing — 140 lines — stays where its author put it; the contents beside it link to each section on GitHub.

/lint — Vault 健康体检

参考规则:先读取 vault 根目录 SCHEMA.md 获取完整检查项定义。

执行流程

Step 1: 读取 Schema

obsidian read path="SCHEMA.md"

确认当前检查项清单和标签体系定义。

Step 2: 全量扫描

并行执行以下检查(使用 Obsidian CLI + subagent 加速):

2a: 链接检查
# 断链:搜索所有 wikilink,检查目标是否存在
obsidian search query="[["
# 孤岛:检查 Cards/ 下零 backlink 的文件
# 对每个 Card: obsidian backlinks path="Cards/{name}.md"
2b: 标签检查
# 扫描所有 Cards,检查 frontmatter 中是否有 type/ 和 domain/ 标签
# 扫描所有标签,找出不属于四维体系的噪声标签
obsidian tags path="Cards/"
2c: 格式检查
# 扫描所有 .md 文件,检查是否有 frontmatter(以 --- 开头)
obsidian files folder="Cards"
# 逐个读取检查 frontmatter
2d: Clipping 库存
# 统计待研究 / 已研究数量(按文件夹区分)
obsidian files folder="Clippings"       # 待研究(根目录下的 .md 文件)
obsidian files folder="Clippings/已研究"  # 已研究
# 检查超过 30 天未研究的(按 created 字段判断)
2e: MOC 完整性
# 读取每个 MOC 文件
# 检查是否有 Card 被遗漏(有 domain 标签但不在对应 MOC 中)
# 检查 MOC 中的链接是否有效
2f: 空链统计(知识缺口)
# 收集所有指向不存在页面的 [[wikilink]]
# 按 domain 分组统计

Step 3: 安全写入

Lint 可自动执行的(无需用户确认):

  1. 生成健康报告

Lint 不能自动执行的(只报告):

  • 修复断链、补标签、建 Card、修改/删除任何内容

Step 4: 生成健康报告

产出格式:

---
title: "Vault Health Report YYYY-MM-DD"
tags:
  - type/health-report
date: YYYY-MM-DD
---

## 总览

- 健康评分: XX/100
- Cards: {总数} | Clippings: {unread数} unread / {read数} read
- 断链: {数量} | 孤岛: {数量} | 噪声标签: {数量}

## 🔴 需要修复(高严重度)

{断链清单、缺标签 Card 清单、缺 frontmatter 文件清单、MOC 链接失效}

## 🟡 建议改善(中严重度)

{孤岛 Card、噪声标签、超 30 天 unread Clippings、MOC 遗漏}

## 🟢 信息

{Clipping 库存统计、空链统计}

## 📚 研究缺口建议

{按 domain 分组的空链热点,建议研究方向}

Step 5: 存入 Vault

obsidian create path="Cards/Vault Health Report YYYY-MM-DD.md" content="..." overwrite

Step 6: 输出摘要

向用户展示报告核心数据和需要关注的高优先级项目。

评分规则

扣分项 每个扣分
断链 -3
缺 frontmatter -2
缺四维标签 -1
孤岛 Card -0.5
噪声标签 -1
MOC 遗漏 -0.5

满分 100,扣完为止,最低 0 分。

Cron 模式

被 cron 调用时(非用户手动触发),行为与手动相同,但:

  • 报告自动写入 Journal/Vault Health Report YYYY-MM-DD.md(而非 Cards/),避免每日例行报告在 Cards/ 堆积产生噪声
  • 不输出到对话(无用户在场)
  • 不做任何"顺手修复":Step 3 的 lint 写入边界(只能写健康报告、不能补标签 / 不能改 / 不能建其他 Card)在 cron 模式下完全适用,和手动模式无差别

Read the full file on GitHub · 140 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 10d ago First seen · 140 lines · 69 tokens per session scan A 483372d3da98

Subscribe to this mod's changes

lint is a skill published in the GitHub repository owenliang60-ship-it/knowledge-mgmt (37 stars, last pushed 5mo ago), licensed MIT. It adds 69 tokens to every session and 1,122 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

cortex-memory

Persistent cognitive memory for AI agents — query, record, review, and consolidate knowledge across sessions with spreading activation, FSRS scheduling, and NLI contradiction detection.

Fozikio/cortex-engine · 36 tokens

heptabase-linking

Create real cross-links between Heptabase cards via the heptabase CLI. Use when the user wants to link Heptabase cards, cross-reference notes, build a card graph, or fix existing [[Card Title]] wiki-link text that is rendering as plain text instead of a clickable card pill. Real links require a ProseMirror card node…

madeyexz/heptabase-skill · 153 tokens

heptabase-cli

Interact with Heptabase using the CLI to create, read, and edit notes, journals, tags, cards, list whiteboards and manage cards on whiteboards, and browse AI Tutor goals, courses, and lessons. Use when the user asks to manage their Heptabase knowledge base, search cards, work with journals, tags, or whiteboards, or…

madeyexz/heptabase-skill · 82 tokens

validate

Check that an Open Knowledge Format (OKF) bundle is conformant with the v0.2 spec (§11). Use when asked to validate, lint, or check an OKF bundle, or before committing changes to one. Runs a deterministic Python checker — not an eyeball pass. Also migrates a v0.1 bundle to v0.2 in place with --migrate.

scaccogatto/okf-skills · 82 tokens

memex-sync

Sync Zettelkasten cards across devices via git.

iamtouchskyer/memex · 15 tokens

council

Multi-persona debate for founder decisions. 4 personas argue a topic across structured rounds.

assafkip/kipi-system · 22 tokens