agentleFS
nesnilnehcnesnilnehc/ai-cortex/skills/generate-standard-readme/SKILL.md

generate-standard-readme

Skill8 starsChanged 2 months agoMITView on GitHub

Generate lean, high-density README. Sections pruned by value threshold — not fixed count. Primary goal — reader knows what the project is, where to look, and how to use it within 30 seconds.

  • Installs packages

The file

We split this skill into the rules it gives an agent

12 rules. About 0 are common, 9 are distinctive, and 3 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈9

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 3

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Every other section is kept or dropped by the value threshold.

    line 72
  2. Distinctive:

    Decision rule: If a section carries no decision-making information the other sections lack, delete it or fold it into the nearest section.

    line 76
  3. Distinctive:

    If the contributing or authors section can only hold boilerplate → omit it

    line 94
  4. Very specific:

    Fields not supplied: use TBD as a placeholder, or drop the section outright.

    line 178
  5. Distinctive:

    No broken links; internal paths preferred

    line 184
  6. Very specific:

    Never invent: every command, path, and feature must come from the input or from what the repository actually contains.

    line 190
  7. Distinctive:

    Never leave a broken link: use an external link only where it is highly stable (shields.io, for example).

    line 191
  8. Distinctive:

    Never keep a hollow section: every section kept carries at least one actionable piece of information.

    line 192
  9. Very specific:

    License cannot be dropped: always include a License section.

    line 194
  10. Distinctive:

    Preserve useful existing content: when updating a README, inspect it first and keep accurate project information.

    line 195
  11. Distinctive:

    After generating the README, work through each item:

    line 201
  12. Distinctive:

    Acceptance criteria: all 8 items above pass, or each item that does not has an explicit waiver reason.

    line 212

≈ “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

Skill: Generate Lean README

Purpose

Generate a high-density, low-redundancy front page for any software project or documentation repository.

The one core goal: within 30 seconds the reader knows —

  1. What this project is (one sentence)
  2. Where the key entry points are
  3. How to use it (the shortest runnable path)

Scope

This skill handles:

  • Lean README generation, with sections pruned by a value threshold
  • Project-type triage (code/application repository vs documentation/spec repository)
  • Anti-fluff output (every claim lands on a concrete path, command, behavior, or constraint)

This skill does NOT handle:

  • A full docs/ suite → taken on by the AgentFabric runtime or by a person, per docs/ARTIFACT_NORMS.md
  • AGENTS.md / agent contract files → use generate-agent-entry
  • Redaction of sensitive information → use decontextualize-text

Use Cases

  • New repository: The project has just been created and needs a front page; no README exists yet.
  • Asset governance: Unify README style across services to improve indexability.
  • Legacy systems: Fill in the missing documentation, covering the core entry points with the least information that works.
  • Handover and release: Make the front page complete before the project is transferred or published.

Trigger signals: The user says "write me a README", "generate a readme", or simply hands over a repository path.


Behavior

Interaction Policy

SituationBehavior
Project type knownGenerate directly, no questions
Project type unclearInspect the repository structure first (is there a package.json / pyproject.toml / Dockerfile / INDEX.md, and so on) to infer the type; when the inference is solid, generate directly and state what it rests on; when it is not, ask the user
User gave no descriptionInfer the most conservative description from the repository name and file structure, mark it TBD, invent nothing
Before writing the fileBy default create or update README.md as requested; preserve useful existing content and ask only if the user's intended replacement scope is unclear

Default Skeleton

# <project name> [badges (optional)]

<one-sentence description> (required)

## <Core entry points / How to use> (required)

## License (required)

Every other section is kept or dropped by the value threshold.

Section Value Threshold

Decision rule: If a section carries no decision-making information the other sections lack, delete it or fold it into the nearest section.

SectionTypeKept when
Title + one-sentence descriptionRequiredAlways kept
Core entry points / How to useRequiredAlways kept
LicenseRequiredAlways kept, with a working link
Feature listOptionalThere are ≥2 non-obvious features and the one-sentence description cannot carry them
InstallationOptional (code type only)Installation takes more than a single pip install / npm install line
Quick startOptional (code type only)A copy-pasteable minimal runnable example exists
Configuration / usage notesOptionalThere are non-obvious configuration options or parameters
Contributing guideOptionalThe contribution process has particular requirements (PR conventions, test gates, and so on)
Authors / acknowledgementsOptionalThere is an explicit attribution need

Omission rules:

  • doc type repository: by default no installation or quick-start section is generated; a navigation index takes their place
  • Any section whose content is empty or only TBD → omit it (no hollow sections)
  • If the contributing or authors section can only hold boilerplate → omit it

Project-Type Triage

code type (code/application repository)

Signals: a package.json / pyproject.toml / Makefile / Dockerfile / main entry-point file exists.

Output focus: the installation path, a minimal runnable example, the key API entry points.

# MyApp

One line on what the project does.

## Installation

\```bash
npm install myapp
\```

## Usage

\```bash
myapp --input file.csv --output result.json
\```

## License

MIT — see [LICENSE](LICENSE)

doc type (documentation/spec repository)

Signals: no executable entry point; the bulk of the content is .md / .yaml / .json spec files; an INDEX.md / skills/INDEX.md exists.

Output focus: a navigation index and reading paths. Installation and quick start are omitted by default.

# MySpec

One line on the scope and audience of the spec or docs.

## How to use

- Start from [INDEX.md](INDEX.md)
- Core definitions: [docs/architecture/terminology.md](docs/architecture/terminology.md)
- Contribution conventions: [CONTRIBUTING.md](CONTRIBUTING.md)

## License

MIT — see [LICENSE](LICENSE)

Anti-Fluff Rules

The following are forbidden:

Forbidden patternExampleFix
Piled-up empty adjectives"reusable, governable, actionable"Delete, or replace with concrete behavior: "registered through skills/INDEX.md and self-checked alongside each change"
Subjectless value claims"improves engineering standards"Delete or make concrete: "keeps skills/INDEX.md consistent with the document links"
Repeating known informationRestating the description section inside the installation sectionMerge or delete
Placeholder boilerplate"Contributions welcome! Send a PR."With no concrete process to describe, omit the contributing section
Invented commands or featuresWriting docker compose up when there is no docker-compose.ymlUse TBD, or omit

Every claim must land on: a concrete file path / a shell command / an observable behavior / an explicit constraint.


Input & Output

Input

FieldRequiredNotes
Project nameRequiredUsed as the title
One-sentence descriptionRequiredStates precisely what the project does
Project typeRecommendedcode or doc; inferred from the repository structure when not given
LicenseRecommendedType + file path; TBD when not given
Installation commandOptionalUsed only for code type projects
Quick-start exampleOptionalUsed only for code type projects
Core entry point listOptionalKey files, directories, URLs

Fields not supplied: use TBD as a placeholder, or drop the section outright; inventing them is forbidden.

Output

  • README.md written to the project root
  • The section count follows from the value threshold, with a floor of 3 sections (title + description, entry points/usage, license)
  • No broken links; internal paths preferred

Restrictions

  • Never invent: every command, path, and feature must come from the input or from what the repository actually contains; when one is missing, use TBD or omit it
  • Never leave a broken link: use an external link only where it is highly stable (shields.io, for example); an internal path must be verifiable as existing
  • Never keep a hollow section: every section kept carries at least one actionable piece of information; an empty one is omitted
  • Hard limit on doc type: a doc type repository gets no installation or quick-start section; if the user asks for one anyway, explain the reason
  • License cannot be dropped: always include a License section; when none is given use TBD rather than omitting it
  • Preserve useful existing content: when updating a README, inspect it first and keep accurate project information; ask only when the desired replacement scope is unclear

Self-Check

After generating the README, work through each item:

  • 30-second test: Can a reader new to the project read the one-sentence description and find the usage entry point within 30 seconds?
  • No empty adjectives: no "reusable", "governable", "professional" or similar adjectives with no concrete behavior behind them
  • Nothing invented: every command, path, and feature comes from the input or from what the repository actually contains
  • No broken links: internal paths verified to exist; external links used only where highly stable
  • No hollow sections: every section kept carries at least one actionable piece of information
  • License section present: license type + a working link (or TBD)
  • Project type matches: a doc type has no installation or quick-start section; a code type's installation command actually runs
  • Value threshold passed: every section kept supplies decision-making information the other sections do not carry

Acceptance criteria: all 8 items above pass, or each item that does not has an explicit waiver reason.


Examples

Example 1: Code repository (lean output)

Input: name img-crush, description "batch-compress images", install pip install img-crush, usage img-crush ./images, license MIT.

Output:

# img-crush

Batch-compress images; supports WebP / PNG / JPEG.

## Installation

\```bash
pip install img-crush
\```

## Usage

\```bash
img-crush ./images          # compress in place
img-crush ./images -o out/  # write to a chosen directory
\```

## License

MIT — see [LICENSE](LICENSE)

Example 2: Documentation/spec repository (doc type)

Input: name ai-cortex, description "agent-first skill library", license MIT, core entry points skills/INDEX.md and AGENTS.md.

Output:

# ai-cortex

An agent-first skill library for software delivery and project governance.

## How to use

- Start at [AGENTS.md](AGENTS.md) for the agent behavior contract
- Browse [skills/INDEX.md](skills/INDEX.md) for the available skills
- Core terminology: [docs/architecture/terminology.md](docs/architecture/terminology.md)

## License

MIT — see [LICENSE](LICENSE)

Example 3: Edge case — a legacy project with almost no information

Input: name legacy-auth, no description, no feature list, installation and environment unknown.

Handling:

  • One-sentence description: infer the most conservative wording from the name, marked TBD
  • Installation section: omitted (no runnable command)
  • Feature section: omitted (nothing to say)
  • License: TBD (not omitted, only left to be filled in)

Output:

# legacy-auth

Authentication service (details to be filled in).

## How to use

TBD — see the project's internal documentation.

## License

TBD

Example 4: Failure case — an installation section generated for a doc type repository

Symptom: An ## Installation section was generated for a documentation/spec repository, holding npm install or an empty TBD.

Root cause: The project type was not identified, so the code template was applied.

Fix: Inspect the repository structure → no executable entry point means doc type → delete the installation and quick-start sections and put a navigation index in their place.

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.