agentleFS
jjmrochajjmrocha/coding-skills/knowledge-base/SKILL.md

knowledge-base

Skill1 starsChanged 30 days agoMITView on GitHub

Use when reading or writing a configured KB (wiki / plans / manuals) — system surfaces, helpers, patterns, plans, operator manuals — or ingesting docs, updating after code changes, or auditing for staleness. Requires kb_path configured in the agent instructions.

32 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use playwright, code-reviewer and 4 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • OpenAISkill

    playwright

    Use when the task requires automating a real browser from the terminal (navigation, form filling, snapshots, screenshots, data extraction, UI-flow debugging) via `playwright-cli` or the bundled wrapper script.

    Also in 3 projects that use this

  • GoogleSkill

    code-reviewer

    Also in 4 projects that use this

  • engtySkill

    codex

    Use when the user asks to run Codex CLI (codex exec, codex resume) or references OpenAI Codex for code analysis, refactoring, or automated editing

    Also in 3 projects that use this

  • ElasticSkill

    create-skill

    Interactively create a new Claude Code skill and add it to the elastic-docs-skills catalog. Use when the user wants to generate a new skill, scaffold a slash command, or build automation for docs tasks.

    Also in 3 projects that use this

  • CloudflareSkill

    security-audit

    Security guidance and vulnerability review for codebases, APIs, services, CLI tools, libraries, and daemons. Use for security questions, focused reviews, vulnerability research, security audits, or pen tests. Run the complete workflow only for explicit codebase audit or pen-test requests, full/comprehensive/end-to-end reviews, or requested report artifacts.

    Also in 3 projects that use this

  • Microsoft AzureSkill

    verify

    End-to-end app testing pipeline for browser-based web apps on cloud browsers via Azure Playwright Workspaces: verify the live app, author tests for working flows, heal failing tests, then re-run with video and produce one consolidated report. Three phases (app verification, test authoring, test healing) plus a scoped final sanity run; each phase emits a sub-report. Use when asked to "verify my app", "make sure my app works and has good test coverage", "do a full QA pass", "add tests where I'm missing coverage", "fix failing tests and add new ones", "smoke test before deploy", "QA my deployment", or any combined verify-and-test ask. Requires Azure CLI (`az login`) and a Playwright Workspace resource ID — bootstraps configs on first invocation. Browser-based web apps with Playwright only — not for unit/API tests, native mobile/desktop, load/perf, or full accessibility audits.

    Also in 3 projects that use this

The file

We split this skill into the rules it gives an agent

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

  • 0

    Common

    Most of the 24 edited versions we read keep these.

  • 7

    Distinctive

    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:

    Code is truth; wiki is a finding aid: Every wiki claim in your reply must be backed by code you read this turn.

    line 16
  2. Distinctive:

    Multi-file sources read in full: No sampling.

    line 18
  3. Very specific:

    Read wiki/index.md, plans/index.md, or manuals/index.md.

    line 68
  4. Very specific:

    Read the relevant page(s) to find sources: paths.

    line 69
  5. Distinctive:

    If code disagrees with wiki — even minor — surface the disagreement explicitly, give the code's answer as truth, flag the page for update.

    line 73
  6. Distinctive:

    If neither has the answer, say so.

    line 74
  7. Distinctive:

    Creation is explicit: Write a manual only when the user asks for one.

    line 93
  8. Distinctive:

    No fenced code blocks except commands the operator literally types.

    line 98
  9. Distinctive:

    Every technical term defined on first use.

    line 99

“Common” is measured: kept by at least 6 in 10 of the 24 edited versions of this file we could read. “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

Knowledge Base

A user-curated, agent-maintained KB. Three top-level buckets:

  • wiki/ — per-repo system docs (entities, interfaces, jobs, dependencies, events, rules, helpers, patterns). Answers "what exists?"
  • plans/ — implementation plans, often cross-repo. Answers "what's intended?"
  • manuals/ — operator-facing documentation in plain language, for readers without a technical background. Answers "how do I use this?"

Core Principles (load-bearing)

  1. Code is truth; wiki is a finding aid. Every wiki claim in your reply must be backed by code you read this turn. No "quick lookup" exemption.
  2. Writes autonomous; deletes require approval (one exception — see Delete protocol). Wrong writes self-correct on the next read; deletes don't.
  3. Multi-file sources read in full. No sampling.

When NOT to Use

  • No kb_path configured → refuse; do not invent a default.
  • Question is about code visible in the working directory → read the code directly.
  • Personal memory (preferences, project state) → ~/.claude memory, not the KB.

Configuration

One key, read from the agent instructions — wherever this agent takes its standing instructions. Never tell the user which file to put it in.

kb_path: /Users/you/.kb/work    # required — absolute path. No default.

Repo name resolution (for writes): git remote.origin.url → <repo>, fallback to git rev-parse --show-toplevel basename, else ask once.

Bootstrap requires approval. If <kb_path> doesn't exist, ask before creating the canonical layout (wiki/index.md, plans/index.md, manuals/index.md, optional git init). The same applies to an existing KB missing one of the three buckets — ask before adding it. If wiki/<repo>/ is missing, ask before creating it with the eight default subfolders: entities/, interfaces/, jobs/, dependencies/, events/, rules/, helpers/, patterns/. All eight are created at bootstrap (empty if no content) so downstream skills always find the expected layout.

Folder Structure

<kb_path>/
  plans/       index.md + <ticket-or-branch>.md
  manuals/     index.md + <topic-slug>.md
  wiki/        index.md (lists repos)
    <repo>/    index.md (groups pages by subfolder)
      entities/ interfaces/ jobs/ dependencies/ events/ rules/ helpers/ patterns/

Three parallel entry points: wiki/index.md, plans/index.md, manuals/index.md. No KB-root index.

manuals/ is flat, like plans/ — a manual can cover the whole system, not just one repo. Filenames are topic slugs with no date prefix: plans are events, manuals are living documents.

Operating Modes

The user's verb determines the mode.

ModeTrigger phrasesDiscipline
Query"what's the orders schema", "is there a plan for PROJ-1234"Read-only. Read cited code.
Ingest"read this doc and store what's relevant", "ingest the schema from <path>"Write directly; report coverage; summarize.
Update"update the wiki with what we just changed"Write directly; summarize. Deletes → protocol.
Lint"audit the KB", "check for stale pages"Flag-only except auto-delete of unprotected pages with all-dead in-tree sources. Plans and manuals are never auto-deleted.

Write modes load their protocols on demand. Query is read-only and detailed inline below. The full Ingest, Update, Lint, and Delete protocols — including the advisory write lock, ingest coverage rules, the seven lint checks, and the delete-verdict table — live in references/operator-workflows.md. Load that file the moment the user's verb is a write; don't write from memory.

Query workflow

  1. Read wiki/index.md, plans/index.md, or manuals/index.md.
  2. Read the relevant page(s) to find sources: paths.
  3. Open the cited code and read it. This step is non-negotiable. The wiki is the index entry; the code is the answer.
  4. Synthesize the answer from the code, using the wiki only for surrounding context (rationale, ownership, related surfaces).
  5. Cite both in your reply: the code file you read this turn AND the wiki page that pointed you there.
  6. If code disagrees with wiki — even minor — surface the disagreement explicitly, give the code's answer as truth, flag the page for update. Never silently prefer one side.
  7. If neither has the answer, say so. Offer to add it once clarified.

A manual is never the answer to a technical question. Manuals are derived output, downstream of code and wiki. Read one only when the user asks about the manual itself; otherwise answer from code, as above.

Page Format

YAML frontmatter (summary, sources ≥1 entry, last_updated: YYYY-MM-DD, kind: on patterns/ and manuals/) + Markdown body. Wiki-links use paths from the KB root, no extension: [[wiki/<repo>/entities/<name>]], [[plans/<ticket>]]. Citations live in sources:, never inline (use [needs source] for unsupported claims). Full template, per-subfolder body shape, and the special-case rule for wiki/index.md (uses standard markdown links): references/page-template.md, references/index-templates.md.

Plans start with ## In short and are written for the user to read. The rule is in references/page-template.md.

helpers/ and patterns/ have a specific inclusion bar and creation channel — see references/helpers-and-patterns.md.

Manuals

A manual explains part of the system to a human operator with no technical background. Same sourcing discipline as the wiki — every claim traced in sources: — in a different register.

kind: is required. explainer ("what the valuation pipeline does and why") or how-to ("run a valuation"). Body shape per kind: references/page-template.md.

Write channel:

  • Creation is explicit. Write a manual only when the user asks for one. Deciding a subject deserves an operator doc is a human call — never create one as a side effect of another task.
  • Refresh is automatic. In Update mode, when a file you changed appears in an existing manual's sources:, rewrite the affected part in the same pass. Same as wiki/.
  • Deletion always requires approval. Manuals are never auto-delete candidates, whatever their sources say.

Register rules, applied when you write:

  • No fenced code blocks except commands the operator literally types.
  • Every technical term defined on first use; no unexplained repo or module names.
  • No [[wiki-links]] in the body — an operator can't follow them and they leak jargon. Wiki provenance goes in sources:. Manual → manual body links are fine.

Lint checks manuals for dead sources, aging, orphans, and kind: validity — not for readability. That part is yours at write time.

Integration with Other Skills

When kb_path is configured, brainstorm, analyze-code, and using-software-specialists load this skill and read the repo's wiki/<repo>/index.md (including Helpers and Patterns) plus the matching plans/<branch-or-ticket>.md before producing code or findings. They are read-only consumers. Helper and pattern creation happens only through Ingest (explicit user request) or Update (after a code change you just made). Full integration matrix: references/integrations.md.

Wiki ↔ Code Disagreements

Any divergence — silent claim, reinvented helper, violated patterns/ convention — is a finding, not a silent reconciliation. Answer from code, flag the page, suggest /knowledge-base update. Severity routing for analyze-code consumers: references/integrations.md.

Common Mistakes

MistakeFix
Inventing a kb_path defaultRefuse; ask the user to configure kb_path in the agent instructions
Citing only the wiki in your replyCite both: code file read this turn + wiki page that pointed you there
Listing only the first contributing file under sources:List every file that contributed
Inline (source: ...) in page body instead of sources: frontmatterProvenance belongs in frontmatter so lint can audit it
Answering a technical question from a manualManuals are derived output. Answer from code
Writing a manual because a subject looked like it needed oneCreation is explicit. Wait to be asked

YAML quoting, "quick lookup" temptation, multi-file ingest coverage, delete-protocol bypasses, approval theater, and other edge cases: references/common-pitfalls.md.

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.