Not in the top 1,000 by GitHub stars

oliver-zehentleitner/keep-the-why

The why layer of repo-native project memory: the reasoning behind a codebase as Markdown in the repo, versioned by Git, for coding agents and humans, so nothing rejected is proposed twice. No database, no daemon, no account.

History

Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.

View weekly changes

skills/keep-the-why/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Not checked yet → After Network or broad shell

f4dce815915a → e640a3d2c8dc

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Not checked yet

First observation → f4dce815915a

No earlier version was observed for comparison.

Compare on GitHub

View on GitHubAdd to my skills

Verified commit e640a3d2c8dc8eb57cbab8c40562e3e8e7d551eb

git clone --filter=blob:none --no-checkout https://github.com/oliver-zehentleitner/keep-the-why.git .hotskills/oliver-zehentleitner-keep-the-why && git -C .hotskills/oliver-zehentleitner-keep-the-why checkout --detach e640a3d2c8dc8eb57cbab8c40562e3e8e7d551eb # Copy each selected skill directory from .hotskills/oliver-zehentleitner-keep-the-why into .claude/skills/<skill-name>/
git clone --filter=blob:none --no-checkout https://github.com/oliver-zehentleitner/keep-the-why.git .hotskills/oliver-zehentleitner-keep-the-why && git -C .hotskills/oliver-zehentleitner-keep-the-why checkout --detach e640a3d2c8dc8eb57cbab8c40562e3e8e7d551eb # Copy each selected skill directory from .hotskills/oliver-zehentleitner-keep-the-why into .agents/skills/<skill-name>/
234GitHub stars
1star in 7 days
1skill in this repository
114commits in 30 days

Heat

3.2
  • Star growth, last 7 daysNot available
  • Star growth, last 24 hoursNot available
  • Rank movement, last 7 daysNot available
  • Commits, last 30 daysNot available
  • Accounts asking about it through MCP, last 7 daysNot available
  • Hot votes this weekNot available

Heat never changes the order by stars, and sponsorship never touches it. How heat works

Stars over time

Oct 25, 2026Nov 5, 2026234

30-day change not yet available: not enough history.

Individual skills in this repository

How it works

keep-the-why

When your agent uses it

In a project with a .keep-the-why, or when asked about Keep the Why or to set it up - extract and preserve the reasoning code cannot explain - decisions, rejected alternatives, workarounds, incidents, constraints - plus project setup and maintainer interviews. Not for what changed (see Keep a Changelog) - only why. Also the place for questions about how this skill works, complaints, feedback and settings changes about it. Anywhere else - no .keep-the-why, no such request - this skill is neither used nor offered nor named, not even in a closing offer to record something.

What it loads into context

Frontmatter

181 tokens

Always available to the agent

SKILL.md

8,743 tokens

When the skill is activated

Reference documents

67,122 tokens

Loaded on request

Token counts are estimates. Scripts run separately; they are not counted as reference context.

The playbook

  1. When to use this skill
  2. Edge cases
  3. Composition with other skills
  4. Core rules
  5. Workflow
  6. Example: expected output
  7. Target repository structure
  8. Reference files
  9. Reading it back
  10. What this skill is not
  11. Feedback

Files

  • ../../.claude-plugin/marketplace.jsonasset463 bytes
  • ../../.claude-plugin/plugin.jsonasset611 bytes
  • LICENSEasset1,116 bytes
  • SKILL.mdcore39,545 bytes
  • SKILL.mdcore39,545 bytes
  • SKILL.mdcore39,545 bytes
  • SKILL.mdcore39,545 bytes
  • SKILL.mdcore39,545 bytes
  • examples/abandoned-change.mddoc2,757 bytes
  • examples/continuous-development.mddoc1,843 bytes
  • examples/developer-handover.mddoc4,293 bytes
  • examples/first-time-setup.mddoc16,033 bytes
  • examples/legacy-project.mddoc2,255 bytes
  • references/autostart.mddoc15,481 bytes
  • references/ci-linting.mddoc16,057 bytes
  • references/continuous-capture.mddoc4,204 bytes
  • references/help.mddoc6,503 bytes
  • references/interview-playbook.mddoc6,729 bytes
  • references/methodology.mddoc6,476 bytes
  • references/migrations.mddoc53,125 bytes
  • references/repository-structure.mddoc11,033 bytes
  • references/retrospective-analysis.mddoc5,401 bytes
  • references/setup.mddoc89,771 bytes
  • references/specification.mddoc37,907 bytes
  • references/trust-model.mddoc9,137 bytes
Read SKILL.md

# Keep the Why

The core job: preserve and recover the reasoning that code alone cannot explain. Because "ask Bob" is not documentation — Keep a Changelog records what changed, this preserves why it changed.

## When to use this skill

Four modes, all part of the same job:

1. **Continuous capture** — record rationale as it surfaces during normal development: decisions, rejected alternatives, workarounds, incidents, constraints, and changes that *didn't* happen (starting to modify something, then stopping once a reason not to became clear — that reasoning would otherwise leave no trace). See `references/continuous-capture.md`.
2. **Retrospective recovery** — given an existing or legacy repository, reconstruct what the code cannot explain from git history, issues, existing docs, and the code itself. Before a pass, read `references/retrospective-analysis.md`.
3. **Knowledge-transfer interview** — when a maintainer's knowledge is about to become unavailable, analyze the repository first, then either ask targeted questions or let them narrate freely. Before preparing or running one, read `references/interview-playbook.md`.
4. **Maintenance** — keep existing rationale current: resolve contradictions, mark superseded entries, merge duplicates, split files that have grown too large.

Asked what Keep the Why is, how it works, or what one can ask for: before answering, read `references/help.md` — its parts (what is required, what optional), and the sentences that start each mode, setup, an update and each optional component.
View the complete source on GitHub

Skills included

  • keep-the-why

Repository facts

License
MIT
Created
Jul 10, 2026
Last pushed
Nov 6, 2026
Forks
15
Open issues
2
Project activity
Active

Before you install

Network or broad shell

Automated signals, not a guarantee

Checked Nov 7, 2026

Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.

Show 4 notes
  • skills/keep-the-why/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/keep-the-why/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/keep-the-why/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/keep-the-why/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
Show all 103 signals by file

.claude-plugin/marketplace.json

  • Network accessline 3
    "owner": {     "name": "Oliver Zehentleitner",     "url": "https://github.com/oliver-zehentleitner"
  • Network accessline 4
    "name": "Oliver Zehentleitner",     "url": "https://github.com/oliver-zehentleitner"   },
  • Network accessline 5
    "url": "https://github.com/oliver-zehentleitner"

.claude-plugin/plugin.json

  • Network accessline 5
    "author": {     "name": "Oliver Zehentleitner",     "url": "https://github.com/oliver-zehentleitner"
  • Network accessline 6
    "name": "Oliver Zehentleitner",     "url": "https://github.com/oliver-zehentleitner"   },
  • Network accessline 7
    "url": "https://github.com/oliver-zehentleitner"
  • Network accessline 8
    },   "homepage": "https://keepthewhy.com",   "repository": "https://github.com/oliver-zehentleitner/keep-the-why.git",
  • Network accessline 9
    "homepage": "https://keepthewhy.com",
  • Network accessline 10
    "repository": "https://github.com/oliver-zehentleitner/keep-the-why.git",

skills/keep-the-why/LICENSE

  • Network accessline 3
    Copyright (c) 2026 Oliver Zehentleitner, https://about.me/oliver-zehentleitner

skills/keep-the-why/SKILL.md

  • Network accessline 5
    metadata:   version: "0.20.3"   repository: "https://github.com/oliver-zehentleitner/keep-the-why"
  • Network accessline 6
    version: "0.20.3"   repository: "https://github.com/oliver-zehentleitner/keep-the-why"   author: "Oliver Zehentleitner"
  • Network accessline 7
    repository: "https://github.com/oliver-zehentleitner/keep-the-why"
  • Network accessline 85
    **Project file present without `canonical`** (a project set up before 0.18.0): take the URL of the published remote — `git remote get-url upstream` when that remote exists (a fork checkout: `origin` is the fork, `upstream` the repository it
  • Network accessline 229
    `context/` is plain Markdown and needs no tool to read. For browsing it — the graph of topics and references, an entry with its Git history, the queues of what still needs a person — there is `keep-the-why-dashboard`, a separate read-only p
  • Network accessline 241
    If the person you're working with expresses frustration with this skill, or reports it isn't doing what this file says it should, mention they can file that directly: https://github.com/oliver-zehentleitner/keep-the-why/issues/new/choose — 

skills/keep-the-why/examples/first-time-setup.md

  • Network accessline 15
    This names the skill and its purpose directly — not a task that happens to match the description, an actual request. That's what clears the gate; see [Installation](https://keepthewhy.com/installation/) for other phrasings that count.
  • Network accessline 40
    ```markdown     [![Keep the Why](https://keepthewhy.com/assets/badge.svg)](https://keepthewhy.com)
  • Network accessline 41
    [![Keep the Why](https://keepthewhy.com/assets/badge.svg)](https://keepthewhy.com)
  • Network accessline 46
    ```markdown     <a href="https://keepthewhy.com"><img src="https://keepthewhy.com/assets/logo.png" alt="Keep the Why"></a>
  • Network accessline 47
    <a href="https://keepthewhy.com"><img src="https://keepthewhy.com/assets/logo.png" alt="Keep the Why"></a>
  • Network accessline 60
    It follows the [Keep the Why](https://keepthewhy.com) schema, so an
  • Network accessline 93
    - [`keep-the-why-lint`](https://keepthewhy.com/linting/) checks the
  • Network accessline 95
    and locally right after an entry is written. Whether the recorded       reasoning is true stays a human judgement.     - [`keep-the-why-dashboard`](https://keepthewhy.com/dashboard/) shows it:
  • Network accessline 96
    reasoning is true stays a human judgement.     - [`keep-the-why-dashboard`](https://keepthewhy.com/dashboard/) shows it:       the graph of topics and references, each entry with its Git history,
  • Network accessline 97
    - [`keep-the-why-dashboard`](https://keepthewhy.com/dashboard/) shows it:
  • Network accessline 107
    ```markdown     This is machine-readable project state for the Keep the Why skill     (https://keepthewhy.com). See context/index.md, or this project's own
  • Network accessline 108
    This is machine-readable project state for the Keep the Why skill     (https://keepthewhy.com). See context/index.md, or this project's own     README, for what Keep the Why actually is.
  • Network accessline 109
    (https://keepthewhy.com). See context/index.md, or this project's own
  • Network accessline 112
    <!-- keep-the-why:config -->     - id: acme---widget-service     - canonical: https://github.com/acme/widget-service
  • Network accessline 113
    - id: acme---widget-service     - canonical: https://github.com/acme/widget-service     - context: `context/`
  • Network accessline 114
    - canonical: https://github.com/acme/widget-service

skills/keep-the-why/references/autostart.md

  • Network accessline 25
    it grows that way — a pull request adding a verified example for a tool that isn't here yet is welcome any time; for anything else, [open a new issue](https://github.com/oliver-zehentleitner/keep-the-why/issues/new).
  • Network accessline 27
    issue](https://github.com/oliver-zehentleitner/keep-the-why/issues/new).
  • Network accessline 74
    This project records the reasoning behind its code with the Keep the Why skill (https://keepthewhy.com) — the `.keep-the-why` file at the project
  • Network accessline 75
    skill (https://keepthewhy.com) — the `.keep-the-why` file at the project
  • Network accessline 163
    one went from 0/10 invoking the Skill tool to 10/10; 9/10 passed outright, and the one holdout traced to an unrelated fixture bug (all 10 pass since that fix). Full writeup: [`docs/evals.md`](https://keepthewhy.com/evals/#run-history),
  • Network accessline 164
    and the one holdout traced to an unrelated fixture bug (all 10 pass since that fix). Full writeup: [`docs/evals.md`](https://keepthewhy.com/evals/#run-history), [PR #190](https://github.com/oliver-zehentleitner/keep-the-why/pull/190).
  • Network accessline 165
    that fix). Full writeup: [`docs/evals.md`](https://keepthewhy.com/evals/#run-history),
  • Network accessline 166
    [PR #190](https://github.com/oliver-zehentleitner/keep-the-why/pull/190).
  • Network accessline 298
    Hit a problem, or have something to report that isn't a ready-made example? [Open a new issue](https://github.com/oliver-zehentleitner/keep-the-why/issues/new)
  • Network accessline 299
    [Open a new issue](https://github.com/oliver-zehentleitner/keep-the-why/issues/new)

skills/keep-the-why/references/ci-linting.md

  • Network accessline 17
    How the project init wizard (see `setup.md`) wires `keep-the-why-lint` into a project's CI, and optionally into pre-commit. The linter validates the *structure* of `.keep-the-why` and the context directory — required fields, valid values, i
  • Network accessline 61
    path: "."           strict: "false"    # "true" turns warnings (e.g. missing Type on old entries) into failures           # version: "latest"     # only to mix: a pinned ref with a rolling linter, or vice versa — https://keepthewhy.com/lint
  • Network accessline 63
    # version: "latest"     # only to mix: a pinned ref with a rolling linter, or vice versa — https://keepthewhy.com/linting/#versions-and-pinning
  • Network accessline 117
    [![Keep the Why · live](https://example.org/keep-the-why-dashboard/badge-entries.svg)](https://example.org/keep-the-why-dashboard/)
  • Network accessline 120
    with the site's URL (the docs site's address; for a Pages workflow of its own, derived as below), and `dashboard-state: https://example.org/keep-the-why-dashboard/state.json` in `.keep-the-why` — the line another dashboard reads, in its *pu
  • Network accessline 125
    Start with the [context index](index.md), or browse it all in the [dashboard](https://example.org/keep-the-why-dashboard/).
  • Network accessline 172
    `branches:` names the repository's default branch. The site is then `https://<owner>.github.io/<repo>/`, the dashboard `<site>/keep-the-why-dashboard/`. In the same change, write `dashboard-state: <site>/keep-the-why-dashboard/state.json` i
  • Network accessline 199
    [The registry](https://keepthewhy.com/registry/) lists repositories with a published dashboard export; the dashboard's globe reads it, so a listed project can be found from any published dashboard, including from projects that cite nothing 

skills/keep-the-why/references/continuous-capture.md

  • Network accessline 3
    Applying [the skill](https://keepthewhy.com/installation/) during normal, ongoing development.

skills/keep-the-why/references/help.md

  • Network accessline 19
    No database, no service, no account, no telemetry; MIT licensed; works with any agent that reads skills. The quality of the entries depends on the model running the skill: the format and the linter keep the structure, the model decides what
  • Network accessline 27
    | Say | What happens | |---|---| | "Install the Keep the Why skill — pick the best installation method for you from https://keepthewhy.com/installation/ — then set up Keep the Why in this project with default settings, including autostart."
  • Network accessline 28
    |---|---| | "Install the Keep the Why skill — pick the best installation method for you from https://keepthewhy.com/installation/ — then set up Keep the Why in this project with default settings, including autostart." | installs the skill a
  • Network accessline 29
    | "Install the Keep the Why skill — pick the best installation method for you from https://keepthewhy.com/installation/ — then set up Keep the Why in this project with default settings, including autostart." | installs the skill and sets th
  • Network accessline 65
    | "Why is this built this way?" (about any part of the code) | the agent looks in `context/` first and says what is recorded — or that nothing is | | "How can I look at what has been recorded?" | the dashboard: `pip install keep-the-why-das
  • Network accessline 67
    | "Something about Keep the Why doesn't work as described." | the issue tracker: https://github.com/oliver-zehentleitner/keep-the-why/issues/new/choose |

skills/keep-the-why/references/methodology.md

  • Network accessline 5
    Keep the Why only covers the "why" layer. It deliberately doesn't try to replace a README (what is this, should I care?), usage docs (how do I run/operate this?), `CONTRIBUTING.md` (how do I contribute?), tests (did this change break someth
  • Network accessline 16
    This maps onto the [Diataxis](https://diataxis.fr/) framework: `docs/` covers how-to and reference material, `context/` covers explanation. Diataxis is an established, well-regarded approach to technical documentation — Keep the Why doesn't

skills/keep-the-why/references/migrations.md

  • Network accessline 52
    **What changed:** the `context/README.md` the wizard writes lists `Id` under "Reading the entries" — the entry's permanent address, which `See` and `Superseded by` point at. The 0.18.0 migration added the fields to the entries but left the 
  • Network accessline 144
    **Also changed — `context/index.md` gets a fixed letter skeleton:** thirty-six level-2 headings, `## 0` through `## 9` then `## A` through `## Z`, always all of them, and every topic file listed under the heading of its filename's first cha
  • Network accessline 241
    This is machine-readable project state for the Keep the Why skill (https://keepthewhy.com). See context/index.md, or this project's own
  • Network accessline 242
    (https://keepthewhy.com). See context/index.md, or this project's own
  • Network accessline 264
    **What changed:** new entries in `context/index.md` are inserted in alphabetical order by filename instead of appended at the end — see `context/entry-format.md` and [#194](https://github.com/oliver-zehentleitner/keep-the-why/issues/194). N

skills/keep-the-why/references/setup.md

  • Network accessline 12
    This is machine-readable project state for the Keep the Why skill (https://keepthewhy.com). See context/index.md, or this project's own
  • Network accessline 13
    (https://keepthewhy.com). See context/index.md, or this project's own
  • Network accessline 16
    <!-- keep-the-why:config --> - id: oliver-zehentleitner---keep-the-why - canonical: https://github.com/oliver-zehentleitner/keep-the-why
  • Network accessline 17
    - id: oliver-zehentleitner---keep-the-why - canonical: https://github.com/oliver-zehentleitner/keep-the-why - context: `context/`
  • Network accessline 18
    - canonical: https://github.com/oliver-zehentleitner/keep-the-why
  • Network accessline 40
    `canonical` is the repository's stored *locator*, written at init next to `id`: the URL of the *published* remote — in a fork checkout, where an `upstream` remote names the repository `origin` was forked from, that is `upstream`; otherwise 
  • Network accessline 52
    `dashboard-state` says where this project's dashboard export is published: the URL of the `state.json` that `ktw-dashboard --export` writes next to `index.html` and the live badges (`badge-entries.svg`, `badge-entries-flat.svg`) — written b
  • Network accessline 202
    - Is this project part of a larger one that keeps its own `.keep-the-why` — a suite's meta repository, the root of this mono repo? Default: no. Look before asking: a `.keep-the-why` above this one in the same repository, or a sibling direct
  • Network accessline 203
    - How do you want to start: capture from now on only, work through existing history now (retrospective recovery), sit down for an interview now, or some combination? Default: capture from now on only.    - Add the Keep the Why badge to this
  • Network accessline 204
    - Add the Keep the Why badge to this project's `README.md`? Default: yes. If yes, insert `[![Keep the Why](https://keepthewhy.com/assets/badge.svg)](https://keepthewhy.com)` as the *last* badge in the existing badge row — same snippet for e
  • Network accessline 215
    ```markdown     <a href="https://keepthewhy.com"><img src="https://keepthewhy.com/assets/logo.png" alt="Keep the Why"></a>
  • Network accessline 216
    <a href="https://keepthewhy.com"><img src="https://keepthewhy.com/assets/logo.png" alt="Keep the Why"></a>
  • Network accessline 229
    It follows the [Keep the Why](https://keepthewhy.com) schema, so an
  • Network accessline 262
    - [`keep-the-why-lint`](https://keepthewhy.com/linting/) checks the
  • Network accessline 264
    and locally right after an entry is written. Whether the recorded       reasoning is true stays a human judgement.     - [`keep-the-why-dashboard`](https://keepthewhy.com/dashboard/) shows it:
  • Network accessline 265
    reasoning is true stays a human judgement.     - [`keep-the-why-dashboard`](https://keepthewhy.com/dashboard/) shows it:       the graph of topics and references, each entry with its Git history,
  • Network accessline 266
    - [`keep-the-why-dashboard`](https://keepthewhy.com/dashboard/) shows it:
  • Network accessline 277
    5. If CI linting was accepted: write the workflow, job, or hook per `references/ci-linting.md` — after checking nothing equivalent already exists. Don't author config for a CI platform whose format the evidence doesn't confirm; the generic 
  • Network accessline 278
    6. Leave the project's entry-point file (`AGENTS.md`, or whatever it already uses) alone — with one exception: the "Keep the Why" start section from `references/autostart.md`, written in step 2 only when the project chose that start path. N
  • Network accessline 279
    7. Run whichever starting mode was chosen. Once it has run, name in one sentence the optional components that were not set up — the linter in CI, the dashboard on the project's site — as something the developer can ask for at any time ("Opt
  • Network accessline 435
    **Update check.** If `update-check` is enabled and the interval has elapsed since `last`: compare the installed `metadata.version` (`SKILL.md` frontmatter) against the newest *skill* release. Query the GitHub API, not the HTML releases page

skills/keep-the-why/references/specification.md

  • Network accessline 73
    This is machine-readable project state for the Keep the Why skill (https://keepthewhy.com). See context/index.md, or this project's own
  • Network accessline 74
    (https://keepthewhy.com). See context/index.md, or this project's own
  • Network accessline 77
    <!-- keep-the-why:config --> - id: acme---widget-service - canonical: https://github.com/acme/widget-service
  • Network accessline 78
    - id: acme---widget-service - canonical: https://github.com/acme/widget-service - context: `context/`
  • Network accessline 79
    - canonical: https://github.com/acme/widget-service
  • Network accessline 120
    <!-- keep-the-why:children --> - unicorn-binance-rest-api: https://github.com/oliver-zehentleitner/unicorn-binance-rest-api — REST client, endpoint coverage, rate limits
  • Network accessline 121
    - unicorn-binance-rest-api: https://github.com/oliver-zehentleitner/unicorn-binance-rest-api — REST client, endpoint coverage, rate limits
  • Network accessline 122
    - unicorn-binance-websocket-api: https://github.com/oliver-zehentleitner/unicorn-binance-websocket-api — stream client, websocket libraries, reconnect behaviour
  • Network accessline 126
    and a child's config line: `- parent: https://github.com/oliver-zehentleitner/unicorn-binance-suite`.
  • Network accessline 188
    <!-- keep-the-why:cache --> - canonical: https://github.com/oliver-zehentleitner/unicorn-binance-suite
  • Network accessline 189
    - canonical: https://github.com/oliver-zehentleitner/unicorn-binance-suite
  • Network accessline 203
    {    "id": "oliver-zehentleitner---unicorn-binance-suite",    "canonical": "https://github.com/oliver-zehentleitner/unicorn-binance-suite",
  • Network accessline 204
    "id": "oliver-zehentleitner---unicorn-binance-suite",    "canonical": "https://github.com/oliver-zehentleitner/unicorn-binance-suite",    "root": "",
  • Network accessline 205
    "canonical": "https://github.com/oliver-zehentleitner/unicorn-binance-suite",

skills/keep-the-why/references/trust-model.md

  • Network accessline 7
    Any repository file can carry an indirect prompt injection — code comments, commit messages, and issue text are already recognized as such (see OWASP's [LLM Prompt Injection Prevention Cheat Sheet](https://cheatsheetseries.owasp.org/cheatsh
  • Network accessline 71
    | `id` | the file `~/.keep-the-why/<id>.md` — letters, digits, `.`, `_`, `-` only | a separator, a `..` segment, a control character | | `root` | a directory inside the Git toplevel, the one this `.keep-the-why` sits in | an absolute path, 
  • Network accessline 72
    | `root` | a directory inside the Git toplevel, the one this `.keep-the-why` sits in | an absolute path, `..` out of the repository, a control character | | `canonical` | an `https://` URL naming the repository | a filesystem path of any ki
  • Network accessline 73
    | `canonical` | an `https://` URL naming the repository | a filesystem path of any kind — it is never resolved locally |

How the signals fit together

Facts from a static read of the files at the pinned commit. They describe what the code does, not why.

Some files could not be read; the facts below still hold.

Signal confidence: 93 facts

and 43 more

Works with

Agent compatibility, from the files in this repository
AgentStatusEvidenceInstall to
Claude CodeNativeManifest .claude-plugin/marketplace.json.claude/skills/<skill-name>/
CodexNativeManifest AGENTS.md.agents/skills/<skill-name>/
CursorCompatibleStandard SKILL.md skills/keep-the-why/SKILL.md.cursor/skills/<skill-name>/
Gemini CLICompatibleStandard SKILL.md skills/keep-the-why/SKILL.md.gemini/skills/<skill-name>/
GitHub CopilotCompatibleStandard SKILL.md skills/keep-the-why/SKILL.md.github/skills/<skill-name>/
OpenCodeCompatibleStandard SKILL.md skills/keep-the-why/SKILL.md.opencode/skills/<skill-name>/
  • Native The repository ships a manifest, folder or frontmatter field for this agent.
  • Compatible A standard SKILL.md that this agent can read.
  • Unknown No evidence either way.

Derived automatically from paths, manifests and frontmatter. Not tested on each agent.