agentleFS
TOMOSIA-VIETNAMTOMOSIA-VIETNAM/agent-stack/.claude/skills/review-knowledge/SKILL.md

review-knowledge

Skill1 starsChanged 38 days agoApache-2.0View on GitHub

Review a contribution to the agent-stack knowledge base — a PR, branch or diff touching knowledge/ or templates/framework/ — for placement, front matter, trigger quality, context cost, correctness and conflicts with existing content, scoring each skill and command on an eight-criterion card. Use when asked to review a knowledge PR, or to audit whether a contributed rule, skill or command is ready to ship.

2 other projects use a version of this.

Adopted by

Most recently taken up by

  • Other versions2 projects use a version of this.

    Word for word · 0

    None found.

    Edited · 0

    None found.

    Wrote their own version · 2

    1. LevNas/ccmemo★ 4same name
    2. shioki/Cursor-Knowledge-Management-System★ 1same name

    How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.

  • In this repository2 other files it gives its agents.

The file

We split this skill into the rules it gives an agent

7 rules. About 0 are common, 5 are distinctive, and 2 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈5

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Done when: every touched file sits in exactly one group.

    line 37
  2. Very specific:

    Ask the user to check the branch out if it is not (gh pr checkout <n>), then run npm run check.

    line 41
  3. Distinctive:

    Read every added or changed file in full, not just the hunk — the whole file is what ships.

    line 74
  4. Distinctive:

    Done when: every content file has been read in full and has its findings, or "none".

    line 89
  5. Very specific:

    Only when the change adds or edits a SKILL.md or a command: read ${CLAUDE_SKILL_DIR}/references/skill-scorecard.md and fill one card per …

    line 93
  6. Distinctive:

    Done when: every touched skill and command has a card whose lost points each carry a reason.

    line 98
  7. Distinctive:

    Done when: every finding from steps 2–6 appears once, and the count line matches.

    line 136

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Review the knowledge contribution $ARGUMENTS. The standard is .claude/rules/knowledge-content.md; read it first, because every finding cites it or AGENTS.md. Work through the steps in order, and do not start a step before the one above it is done. Change no file: this is a review.

1. Get the change

  • A PR number: gh pr view <n> --json title,body,headRefName,baseRefName,files, then gh pr diff <n>. Read the body — it should say why the content is needed, and for a skill, carry its trigger prompts (step 5).
  • A branch: git diff main...<branch> --stat, then the full diff.
  • base..head: use it as given. Nothing given: git diff main...HEAD.

Sort the touched files into: rules, skills, commands, AGENTS.md templates, catalog.yaml, upstream.yaml / upstream.lock.json, templates/framework/, tests, everything else. Nothing under knowledge/ or templates/framework/: say so and stop — this skill does not review pipeline code.

Done when: every touched file sits in exactly one group.

2. Let the machine judge what it can

Ask the user to check the branch out if it is not (gh pr checkout <n>), then run npm run check. A red suite is the first finding, quoted by its failing line — do not hand-review what lint already rejects.

For every touched skill and command, run node ${CLAUDE_SKILL_DIR}/scripts/frontmatter.mjs <files>. It reports what Claude Code fails on silently: YAML that does not parse, unknown fields, a description over the listing cap, name differing from the directory, an unscoped Bash pre-approval.

For each framework the change touches, run npm run try -- --framework <fw> and read the tree it prints: every new file lands where the author meant, under the name they meant. npm run try -- --clean afterwards.

Done when: the suite result, the script output and each framework's tree are in hand.

3. Check what may not change at all

  • A touched path listed in knowledge/upstream.lock.json is blocking, unless the same change moves the pin with npm run sync -- --ref <sha> and the lock file moved with it. Then the review is of the upstream diff the new pin brought in.
  • upstream.yaml: the ref is a full 40-char SHA, and license, license_url, copyright are present and accurate. Content that looks copied from elsewhere without an entry here is blocking — so is content under a licence whose terms the manifest cannot meet.
  • catalog.yaml: a new requires or conflicts_with changes what every stack resolves to. It needs a reason in the PR, not a guess.
  • A second AGENTS.md template able to match the same stack as an existing one is an ambiguous-agents-md error waiting for that stack.

Done when: each item above is either cleared or written down as a finding.

4. Review each content file

Read every added or changed file in full, not just the hunk — the whole file is what ships. Against the standard, in this order:

  1. Placement — right type for its shape, gated on the right framework, global/ only if true for every framework.
  2. Context cost — a rule with no paths: loads in every session: is it worth it? paths: globs match the files the rule is about. SKILL.md under ~500 lines.
  3. Overlap — Grep the same framework's rules and skills, and skills/global/, for the same topic. Name the file and line of any contradiction or restatement.
  4. Correctness — verify each API, method, flag and default it names against the framework's documentation. Flag version-specific advice that does not state its version.
  5. Substance — specific enough to act on, says why, nothing project-specific, no leftover <…> placeholders or … bullets.

Done when: every content file has been read in full and has its findings, or "none".

5. Score each skill and command

Only when the change adds or edits a SKILL.md or a command: read ${CLAUDE_SKILL_DIR}/references/skill-scorecard.md and fill one card per file. Award a routing point only for a run the PR records; when it records none, score 0 and write out what the author should run.

Done when: every touched skill and command has a card whose lost points each carry a reason.

6. Check the tests

New framework content needs a test in tests/pipeline.test.ts asserting it is selected from --framework alone (see CONTRIBUTING.md). Missing is major, not blocking, when the suite is otherwise green.

Done when: the test is found, or its absence is a finding.

7. Report

One report: the cards from step 5 first, each with its keep line and, when the trigger lost a point, a suggested description written out in full. Then every finding ranked most severe first, each as:

<file>:<line> — <blocking|major|minor|nit> — <what is wrong>. <the fix>. (<rule or AGENTS.md section>)
  • blocking: breaks an invariant or cannot ship — imported path edited, unattributed copy, red suite, YAML that does not parse, wrong framework gate, factually wrong advice, a missing file the skill depends on.
  • major: ships but misleads or costs — contradiction with existing content, a trigger that collides with another skill, a description with no trigger, unscoped Bash, an unscoped rule that should be scoped, authoring material in a skill directory, a side-effecting skill Claude may invoke on its own, missing test.
  • minor: weaker than it should be — no reason given, vague bullet, duplication, a step with no ending condition, an effort mismatch, no routing evidence.
  • nit: wording. Only when it changes how the advice is read.

A clean contribution gets a clean report — no findings are invented to fill one.

End with a count line — N blocking · N major · N minor · N nit — and a one-line verdict: approve, approve after the listed fixes, or request changes. Post nothing to GitHub unless the user asks; when they do, post the report as one gh pr review comment.

Done when: every finding from steps 2–6 appears once, and the count line matches.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.