Help us improve
Share bugs, ideas, or general feedback.
From frontmatter
Manage AI provenance metadata blocks in source files. Use to stamp files with review status and rule references, or scan directories for coverage. Triggers on: "stamp", "frontmatter", "ai-frontmatter", "mark as reviewed", "scan reviewed".
npx claudepluginhub a3lem/my-claude-plugins --plugin frontmatterHow this skill is triggered — by the user, by Claude, or both
Slash command
/frontmatter:frontmatterThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Manage `/// ai` metadata blocks in source files to track provenance: which files have been human-reviewed, which carry rule references, and which are raw AI output.
Scans project .md files to add or fix YAML frontmatter (summary + read_when) for discovery by Reflex context routers.
Stamps Markdown documentation pages as reviewed by appending {date, reviewer} entries to frontmatter. Tracks multiple reviews over time; uses .claude config defaults and shows diffs for approval.
Detects AI-generated writing patterns in docs, docstrings, commit messages, PR descriptions, and code comments. Scans changed files or full codebase by category for authenticity and clarity.
Share bugs, ideas, or general feedback.
Manage /// ai metadata blocks in source files to track provenance: which files have been human-reviewed, which carry rule references, and which are raw AI output.
Inspired by PEP 723 inline metadata. The block uses the file's comment character (CC) as a prefix:
{CC} /// ai
{CC} human-reviewed = false
{CC} access = write
{CC} rules = [".claude/rules/python.md"] # (Optional. May also be a string.)
{CC} skills = ["ai-frontmatter"] # (Optional.)
{CC} ///
Where {CC} is # for Python/Shell/YAML, // for JS/TS/Go/Rust/Java/C, etc.
| Field | Type | Required | Default |
|---|---|---|---|
human-reviewed | bool | yes | false |
access | string ("write", "read", "hidden") | no | "write" |
rules | string array | no | omitted |
skills | string array | no | omitted |
human-reviewed: whether a human has read and approved the file contents.rules: paths to rule files (relative to repo root) that the agent should consult when modifying this file.skills: skill names that agents must load (if not already loaded) before working in this file.access: controls whether AI agents may read or write the file. "write" = full access (read and write), "read" = read-only, "hidden" = no access. If the field is absent, assume "write" – this keeps all existing files fully accessible without needing updates.The block is inserted after any shebang or encoding declaration lines, followed by a blank line before the rest of the file content.
human-reviewed = true. Only humans may do this.human-reviewed = false) and fully accessible (access = "write").human-reviewed = true.human-reviewed = true, reset it to false – your edit invalidates the review.human-reviewed = false.access = "read".access = "hidden".access (e.g. change "read" → "write"). Only humans may do that.access (e.g. stamp a new file with access = "read").When multiple files show different patterns, trust them in this order:
human-reviewed = true – highest trusthuman-reviewed = false with rules – guided AI outputhuman-reviewed = false without rules – raw AI outputstamp – Add or update a frontmatter block${CLAUDE_PLUGIN_ROOT}/skills/frontmatter/scripts/frontmatter.py stamp <file> \
[--reviewed true|false] \
[--rules path1,path2] \
[--skills skill1,skill2] \
[--access write|read|hidden] \
[--comment-char CC]
--reviewed defaults to false--comment-char auto-detected from file extension; use flag to overrideExamples:
# Stamp a Python file (auto-detects #)
${CLAUDE_PLUGIN_ROOT}/skills/frontmatter/scripts/frontmatter.py stamp libs/internal/foo/bar.py
# Stamp with rules
${CLAUDE_PLUGIN_ROOT}/skills/frontmatter/scripts/frontmatter.py stamp src/main.py \
--rules .claude/rules/python.md,.claude/rules/trust.md
# Stamp as read-only
${CLAUDE_PLUGIN_ROOT}/skills/frontmatter/scripts/frontmatter.py stamp src/main.py --access read
# Human marks a file as reviewed
${CLAUDE_PLUGIN_ROOT}/skills/frontmatter/scripts/frontmatter.py stamp src/main.py --reviewed true
# Override comment char for an unusual extension
${CLAUDE_PLUGIN_ROOT}/skills/frontmatter/scripts/frontmatter.py stamp config.conf --comment-char "#"
scan – Report frontmatter coverage${CLAUDE_PLUGIN_ROOT}/skills/frontmatter/scripts/frontmatter.py scan \
[--path .] \
[--ext py,sh,ts,tsx,js,go]
git ls-files to respect .gitignoreExamples:
# Scan entire repo for default extensions
${CLAUDE_PLUGIN_ROOT}/skills/frontmatter/scripts/frontmatter.py scan
# Scan only Python files in libs/
${CLAUDE_PLUGIN_ROOT}/skills/frontmatter/scripts/frontmatter.py scan --path libs/ --ext py
# Scan TypeScript files
${CLAUDE_PLUGIN_ROOT}/skills/frontmatter/scripts/frontmatter.py scan --ext ts,tsx
| Extensions | CC |
|---|---|
| py, sh, bash, yaml, yml, toml, r, rb, pl | # |
| js, ts, tsx, jsx, go, rs, java, c, cpp, h, hpp, cs, swift, kt | // |
In Markdown, use YAML frontmatter instead of comments.
ai:
human-reviewed: true