Learn From PR
dotnet/maui
Analyzes a finished pull request that involved an agent to find what slowed or helped it, and recommends specific changes to instruction files, skills and docs.
Create an automation that keeps AGENTS.md current in one or more GitHub repositories.
$ npx skills add OpenHands/extensions --skill github-agents-md-maintainer -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install OpenHands/extensions github-agents-md-maintainer --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/OpenHands/extensions.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/github-agents-md-maintainer .claude/skills/github-agents-md-maintainer && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "github-agents-md-maintainer" agent skill from https://github.com/OpenHands/extensions/tree/main/skills/github-agents-md-maintainer into .claude/skills/github-agents-md-maintainer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "github-agents-md-maintainer", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/OpenHands/extensions/tree/main/skills/github-agents-md-maintainerType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add OpenHands/extensions --skill github-agents-md-maintainer -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install OpenHands/extensions github-agents-md-maintainer --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/OpenHands/extensions.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/github-agents-md-maintainer .agents/skills/github-agents-md-maintainer && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "github-agents-md-maintainer" agent skill from https://github.com/OpenHands/extensions/tree/main/skills/github-agents-md-maintainer into .agents/skills/github-agents-md-maintainer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "github-agents-md-maintainer", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add OpenHands/extensions --skill github-agents-md-maintainer -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install OpenHands/extensions github-agents-md-maintainer --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/OpenHands/extensions.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/github-agents-md-maintainer .cursor/skills/github-agents-md-maintainer && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "github-agents-md-maintainer" agent skill from https://github.com/OpenHands/extensions/tree/main/skills/github-agents-md-maintainer into .cursor/skills/github-agents-md-maintainer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "github-agents-md-maintainer", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/OpenHands/extensions.git --path skills/github-agents-md-maintainer--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add OpenHands/extensions --skill github-agents-md-maintainer -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install OpenHands/extensions github-agents-md-maintainer --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/OpenHands/extensions.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/github-agents-md-maintainer .gemini/skills/github-agents-md-maintainer && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "github-agents-md-maintainer" agent skill from https://github.com/OpenHands/extensions/tree/main/skills/github-agents-md-maintainer into .gemini/skills/github-agents-md-maintainer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "github-agents-md-maintainer", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install OpenHands/extensions github-agents-md-maintainerInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add OpenHands/extensions --skill github-agents-md-maintainer -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/OpenHands/extensions.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/github-agents-md-maintainer .github/skills/github-agents-md-maintainer && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "github-agents-md-maintainer" agent skill from https://github.com/OpenHands/extensions/tree/main/skills/github-agents-md-maintainer into .github/skills/github-agents-md-maintainer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "github-agents-md-maintainer", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add OpenHands/extensions --skill github-agents-md-maintainer -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install OpenHands/extensions github-agents-md-maintainer --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/OpenHands/extensions.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/github-agents-md-maintainer .opencode/skills/github-agents-md-maintainer && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "github-agents-md-maintainer" agent skill from https://github.com/OpenHands/extensions/tree/main/skills/github-agents-md-maintainer into .opencode/skills/github-agents-md-maintainer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "github-agents-md-maintainer", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
github-agents-md-maintainerCreate an automation that keeps AGENTS.md current in one or more GitHub repositories.
GitHub Agents Md Maintainer is an agent skill from OpenHands/extensions. Create an automation that keeps AGENTS.md current in one or more GitHub repositories. On a schedule - weekly by default - it clones the default branch, starts an OpenHands conversation that reads the repository and creates or updates AGENTS.md, and opens a pull request with the result.
Its SKILL.md is about 3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 12 other files, including scripts and reference files (for example `.plugin/plugin.json`, `README.md` and `commands/agents-md-setup.md`).
It sits in Agent Workflows, covering Agent instruction files and Pull requests. It works with GitHub. The repository describes itself as: Public registry for OpenHands extensions. The licence is MIT.
10 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit d008b81. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 2 files in scripts/ (Python), which the agent can run.
Shell commands in SKILL.md call:
python3curlgitFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
api.github.comFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
GITHUB_PERSONAL_ACCESS_TOKENOPENHANDS_API_KEYOPENHANDS_AUTOMATION_API_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
GitHub Agents Md Maintainer loads about 3k tokens when it runs, and up to ~4.1k if it reads all its reference files. Until then it costs about 79 tokens; SKILL.md has 1,415 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from OpenHands/extensions at commit d008b81, republished under its MIT licence (© OpenHands). 1,415 words, ~3,041 tokens.
.claude/skills/github-agents-md-maintainer/SKILL.md (or your agent's skills folder). This skill also uses 8 other files; get the full folder from GitHub.Create a cron automation that keeps each configured repository's AGENTS.md -
the file an agent reads first when it starts work there - matching what the
repository actually is. It is created when missing, updated when the repository
has moved on, and left alone when it is still accurate.
The automation script is deterministic: scheduling, the once-per-week claim, the clone, the branch, the commit, the push, the pull request, and the clone's removal are all handled in Python. The LLM is invoked only to read the repository and write the file.
A week is one unit of work per repository, so a cron that fires more often than intended, a retried run, or a restarted service cannot open the same pull request twice. A repository whose previous pull request from this automation is still open is skipped, because a second one would edit the same file and reviewing it would tell you nothing the first did not.
The script imports shared GitHub transport from
scripts/github_client.py, installed with this skill. Include it beside
main.py when packaging manually, as shown below.
Verify that the following secret is set in OpenHands Settings -> Secrets:
| Secret name | Token type | Minimum permissions |
|---|---|---|
GITHUB_PERSONAL_ACCESS_TOKEN | Classic PAT | repo |
GITHUB_PERSONAL_ACCESS_TOKEN | Fine-grained PAT | Contents: Read and write, Metadata: Read, Pull requests: Read and write |
Contents write is required because the branch is pushed, and pull request write because the pull request is opened. No issue permission is needed: this automation never comments on an issue.
Check with:
curl -s https://api.github.com/user \
-H "Authorization: Bearer $GITHUB_PERSONAL_ACCESS_TOKEN" \
| python3 -c "import json,sys; d=json.load(sys.stdin); print(d.get('login') or d.get('message'))"If the token is missing or invalid, inform the user and stop.
Follow these steps in order.
GITHUB_PERSONAL_ACCESS_TOKENRun the curl check above.
{"message": "Bad credentials"}: tell the user the token is
invalid and ask them to update it. Stop.Ask: "Which GitHub repositories should have their AGENTS.md maintained?
(Format: owner/repo, e.g. myorg/backend. List several separated by commas.)"
Validate access to each repository, and confirm the token can push:
curl -s "https://api.github.com/repos/{owner}/{repo}" \
-H "Authorization: Bearer $GITHUB_PERSONAL_ACCESS_TOKEN" \
| python3 -c "
import json, sys
d = json.load(sys.stdin)
if 'message' in d:
print('ERROR:', d['message'])
else:
print(f\"Accessible. Default branch: {d.get('default_branch')}. Push: {d.get('permissions',{}).get('push')}\")
"Record every accepted repository into REPOS = ["{owner}/{repo}", ...]. Each
repository keeps its own state and its own weekly claim, so one falling behind
never blocks another.
Ask: "How often should AGENTS.md be checked?
(Press Enter for the default: every Monday at 09:00 UTC, 0 9 * * 1.)"
Default: 0 9 * * 1. Record as CRON_SCHEDULE, and the timezone as
CRON_TIMEZONE (default UTC).
A schedule more frequent than weekly is allowed but rarely useful: the work is keyed by ISO week, so extra runs inside the same week do nothing but poll.
Ask: *"Should the pull requests be opened as drafts?
Map the choice to DRAFT_PULL_REQUEST (True or False).
Ask: "What branch prefix should the automation use?
(Press Enter for the default: openhands/agents-md, which produces
openhands/agents-md-2026-W34.)"
Record as BRANCH_PREFIX. The prefix is also how the automation recognises its
own open pull requests, so changing it later makes it stop seeing the older ones.
The agent is handed GITHUB_PERSONAL_ACCESS_TOKEN, because it pushes its branch
and opens the pull request itself. Ask: "Beyond the GitHub token, does reading
this repository need a secret of its own? (Press Enter for none.)"
Record the answers appended to the default, as
AGENT_SECRET_NAMES = ["GITHUB_PERSONAL_ACCESS_TOKEN", "NAME", ...]. Keep it an
allow-list: the conversation reads a whole repository, so the rest of the
deployment's secrets should stay out of its reach.
Read scripts/main.py from this skill's directory. Apply exactly four constant
substitutions near the top of the file:
The script also reads a
config.jsonshipped beside it, if there is one, over these constants. That is how the catalog entry (automations/catalog/github-agents-md-maintainer/) configures an unmodified copy, since a declarative host cannot rewrite Python. This setup path substitutes the constants and ships noconfig.json, so the two never collide.
| Placeholder | Replace with |
|---|---|
REPOS = ["owner/repo"] | REPOS = ["{owner_repo}", ...] - one entry per repository from Step 2 |
BRANCH_PREFIX = "openhands/agents-md" | BRANCH_PREFIX = "{branch_prefix}" |
DRAFT_PULL_REQUEST = True | DRAFT_PULL_REQUEST = {True or False} |
AGENT_SECRET_NAMES: list[str] = ["GITHUB_PERSONAL_ACCESS_TOKEN"] | the list from Step 6 |
Use a safe string writer such as json.dumps(value) when inserting user-provided
repository names or prefixes into Python string literals.
Run these commands from this skill's directory, write the customized script to a temporary build directory, and validate it:
mkdir -p /tmp/agents-md-build
cp -L scripts/github_client.py /tmp/agents-md-build/github_client.py
# write the customized main.py to /tmp/agents-md-build/main.py
python3 -m py_compile /tmp/agents-md-build/main.py && echo "Syntax OK"Set OPENHANDS_HOST and AUTH_HEADER for the commands below:
<HOST> value is in your system prompt:
use it as OPENHANDS_HOST, with AUTH_HEADER="Authorization: Bearer $OPENHANDS_API_KEY"<RUNTIME_SERVICES> block of your system context: use its url_from_agent as
OPENHANDS_HOST, with AUTH_HEADER="X-Session-API-Key: $OPENHANDS_AUTOMATION_API_KEY"On OpenHands Cloud or Enterprise each run starts in a fresh sandbox, so the
automation keeps its state in the KV store: check that kvStore is listed under
features in GET ${OPENHANDS_HOST}/api/automation/v1/capabilities before
deploying.
tar -czf /tmp/agents-md.tar.gz -C /tmp/agents-md-build .
TARBALL_PATH=$(curl -s -X POST \
"${OPENHANDS_HOST}/api/automation/v1/uploads?name=github-agents-md-maintainer" \
-H "$AUTH_HEADER" \
-H "Content-Type: application/gzip" \
--data-binary @/tmp/agents-md.tar.gz \
| python3 -c "import json,sys; print(json.load(sys.stdin)['tarball_path'])")
echo "Uploaded: $TARBALL_PATH"curl -s -X POST "${OPENHANDS_HOST}/api/automation/v1" \
-H "$AUTH_HEADER" \
-H "Content-Type: application/json" \
-d "{
\"name\": \"AGENTS.md Maintainer: {repo_summary}\",
\"trigger\": {\"type\": \"cron\", \"schedule\": \"{cron_schedule}\", \"timezone\": \"{cron_timezone}\"},
\"tarball_path\": \"$TARBALL_PATH\",
\"entrypoint\": \"python3 main.py\",
\"timeout\": 900
}" | python3 -m json.toolRecord the returned id.
Tell the user:
✅ AGENTS.md Maintainer is running!
- Automation ID:
{id}- Repositories:
{owner}/{repo}, ... (one line each)- Schedule:
{cron_schedule}({cron_timezone})- Branch prefix:
{branch_prefix}- Pull requests:
{draft or ready for review}- State file per repository:
~/.openhands/workspaces/automation-state/github_agents_md_{id}_{owner}__{repo}.jsonEach week it reads the repository and proposes an AGENTS.md change, or reports that none is needed. While one of its pull requests is still open, it stays quiet - merge or close it to get the next one.
Each cron run executes main.py, which loads config.json if the catalog
shipped one, checks that git is available, resolves and validates
GITHUB_PERSONAL_ACCESS_TOKEN once, then processes every repository in REPOS
independently. One repository failing does not stop the others; the run fails
only if every repository fails.
For each repository:
2026-W34, and stops here if that week
is already recorded - which is what makes extra runs inside a week harmless.AGENTS.md exists on the default branch, which decides
whether the run is a create or an update, and the pull request's title.{prefix}-{period}, else a numbered
variant), clones the default branch shallow and single-branch into
{WORKSPACE_BASE}/agents-md/{owner}__{repo}/{period}, and creates the branch.AGENT_SECRET_NAMES attached.idle, finished, error, or stuck:no-changes and opens nothing if there are no commits - the
expected outcome when AGENTS.md is already accurate.references/state-schema.md - State JSON schema and the task lifecycle.scripts/main.py - The complete automation script.| Symptom | Likely cause | Fix |
|---|---|---|
| Nothing happens for a repository | A pull request from this automation is still open | Merge or close it; the next run proposes the following one |
| Nothing happens after a manual dispatch | The current ISO week is already recorded in state | Wait for the next week, or clear that week's entry from the state document |
| "The token cannot push to ..." | Token lacks Contents: write | Issue a token with write access, or drop the repository from REPOS |
git is not available in the automation runtime | The runtime image has no git | Use a runtime image that ships git |
| Pull request says nothing changed | The agent judged AGENTS.md accurate but still committed | Read its summary in the pull request body; tighten the prompt if it keeps making cosmetic edits |
Every run reports no-changes | AGENTS.md is accurate, or the agent cannot read the repository | Open the conversation from the run log and check what it saw |
Clones remain under agents-md/ | Their conversations had not stopped yet | They are removed by a later run once the conversation is terminal |
© OpenHands, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 8 other files (scripts, references) in skills/github-agents-md-maintainer of OpenHands/extensions.
Open the folder on GitHubat commit d008b81
GitHub Agents Md Maintainer next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| GitHub Agents Md Maintainer this skillOpenHands/extensions | 157 | — | ~3k | Automated safety check: Pass | MIT | |
| Learn From PRdotnet/maui | 23k | — | ~2.5k | Automated safety check: Pass | MIT | |
| Mariadb Operator PR Reviewmariadb-operator/mariadb-operator | 1k | — | ~3.3k | Automated safety check: Pass | Apache-2.0 | |
| Openiap Workflowshyodotdev/openiap | 154 | — | ~2k | Automated safety check: Pass | MIT | |
| Commit And PR389ds/389-ds-base | 294 | — | ~1k | Automated safety check: Pass | Custom licence | |
| Code Reviewsortie-ai/sortie | 196 | — | ~2.9k | Automated safety check: Pass | MIT |
dotnet/maui
Analyzes a finished pull request that involved an agent to find what slowed or helped it, and recommends specific changes to instruction files, skills and docs.
mariadb-operator/mariadb-operator
Perform a structured maintainer-style PR review for the mariadb-operator repository.
hyodotdev/openiap
A skill your agent uses for OpenIAP monorepo work that should follow the repository's shared agent workflows, including review-pr, audit-code, audit-security, audit-iapkit, compile-knowledge…
389ds/389-ds-base
Commit and open a PR the 389-ds-base way — "Issue NNNN - summary" subject, Bug Description/Fix Description body, Fixes:/Relates: trailer, AI-attribution trailer, and squash-merge etiquette.
sortie-ai/sortie
Reviews pull requests in this repository for the defect classes a mechanical checklist misses: documentation that outlived the code it describes, reaction and retry state that leaks or clobbers a…
timothywarner-org/claude-code
Review uncommitted local changes in the current git working tree for bugs, smells, missing tests, and CLAUDE.md voice violations.
OpenHands/extensions
Evaluate how well a codebase supports autonomous AI-assisted development.
OpenHands/extensions
Build and automate Discord integrations (bots, webhooks, slash commands, and REST API workflows).
OpenHands/extensions
Interact with GitHub repositories, pull requests, issues, and workflows using the GITHUBTOKEN environment variable and GitHub CLI.
OpenHands/extensions
Create an automation that implements GitHub issues when a configurable trigger label is applied.
OpenHands/extensions
This skill should be used when the user asks to "monitor a GitHub repository", "watch GitHub for issues or PRs", "respond to @OpenHands mentions on GitHub", "set up an OpenHands GitHub integration"…
OpenHands/extensions
Create an automation that implements GitLab issues when a configurable trigger label is applied.
Works with
Categories
Create an automation that keeps AGENTS.md current in one or more GitHub repositories. GitHub Agents Md Maintainer is an agent skill from OpenHands/extensions.md current in one or more GitHub repositories.
GitHub Agents Md Maintainer fits situations like: tasks that involve Agent instruction files; tasks that involve Pull requests.
Run `npx skills add OpenHands/extensions --skill github-agents-md-maintainer -a claude-code`. Or copy the skill folder (skills/github-agents-md-maintainer in OpenHands/extensions) into .claude/skills/github-agents-md-maintainer in your project. Claude Code loads it when a task matches its description.
Run `npx skills add OpenHands/extensions --skill github-agents-md-maintainer -a codex`. Or copy the skill folder (skills/github-agents-md-maintainer in OpenHands/extensions) into .agents/skills/github-agents-md-maintainer in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add OpenHands/extensions --skill github-agents-md-maintainer -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/github-agents-md-maintainer, .gemini/skills/github-agents-md-maintainer, .github/skills/github-agents-md-maintainer and .opencode/skills/github-agents-md-maintainer in your project.
Going by SKILL.md and its folder, GitHub Agents Md Maintainer needs Python for the scripts in its folder, the command-line tools its instructions call (python3, curl and git) and credentials named GITHUB_PERSONAL_ACCESS_TOKEN, OPENHANDS_API_KEY and OPENHANDS_AUTOMATION_API_KEY. Our summary lists: Python 3; A credential in GITHUB_PERSONAL_ACCESS_TOKEN; A credential in OPENHANDS_API_KEY.
SKILL.md names 1 domain. In commands or code: api.github.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
GitHub Agents Md Maintainer is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.1k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with GitHub Agents Md Maintainer: Learn From PR (dotnet/maui, 23k stars), Mariadb Operator PR Review (mariadb-operator/mariadb-operator, 1k stars), Openiap Workflows (hyodotdev/openiap, 154 stars) and Commit And PR (389ds/389-ds-base, 294 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
OpenHands (a GitHub organization) maintains it in OpenHands/extensions, which has 157 GitHub stars. The repository holds 78 skills in this directory. The repository was last updated on October 6, 2026.
Source: OpenHands/extensions on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.