Using Agent Skills
addyosmani/agent-skills
Meta-skill for choosing which workflow skill fits the task at hand, plus always-on habits: surface assumptions, stop on confusion, push back, keep it simple and stay in scope.
Configure or reconcile a project for linked-intent development (LID).
$ npx skills add jszmajda/lid --skill update-lid -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install jszmajda/lid update-lid --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/jszmajda/lid.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/linked-intent-dev/skills/update-lid .claude/skills/update-lid && 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 "update-lid" agent skill from https://github.com/jszmajda/lid/tree/main/plugins/linked-intent-dev/skills/update-lid into .claude/skills/update-lid/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "update-lid", 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/jszmajda/lid/tree/main/plugins/linked-intent-dev/skills/update-lidType 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 jszmajda/lid --skill update-lid -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install jszmajda/lid update-lid --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jszmajda/lid.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/linked-intent-dev/skills/update-lid .agents/skills/update-lid && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "update-lid" agent skill from https://github.com/jszmajda/lid/tree/main/plugins/linked-intent-dev/skills/update-lid into .agents/skills/update-lid/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "update-lid", 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 jszmajda/lid --skill update-lid -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install jszmajda/lid update-lid --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jszmajda/lid.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/linked-intent-dev/skills/update-lid .cursor/skills/update-lid && 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 "update-lid" agent skill from https://github.com/jszmajda/lid/tree/main/plugins/linked-intent-dev/skills/update-lid into .cursor/skills/update-lid/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "update-lid", 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/jszmajda/lid.git --path plugins/linked-intent-dev/skills/update-lid--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 jszmajda/lid --skill update-lid -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install jszmajda/lid update-lid --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jszmajda/lid.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/linked-intent-dev/skills/update-lid .gemini/skills/update-lid && 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 "update-lid" agent skill from https://github.com/jszmajda/lid/tree/main/plugins/linked-intent-dev/skills/update-lid into .gemini/skills/update-lid/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "update-lid", 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 jszmajda/lid update-lidInstalls 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 jszmajda/lid --skill update-lid -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/jszmajda/lid.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/linked-intent-dev/skills/update-lid .github/skills/update-lid && 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 "update-lid" agent skill from https://github.com/jszmajda/lid/tree/main/plugins/linked-intent-dev/skills/update-lid into .github/skills/update-lid/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "update-lid", 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 jszmajda/lid --skill update-lid -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install jszmajda/lid update-lid --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jszmajda/lid.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/linked-intent-dev/skills/update-lid .opencode/skills/update-lid && 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 "update-lid" agent skill from https://github.com/jszmajda/lid/tree/main/plugins/linked-intent-dev/skills/update-lid into .opencode/skills/update-lid/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "update-lid", 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.
update-lidConfigure or reconcile a project for linked-intent development (LID).
Update Lid is an agent skill from jszmajda/lid. Configure or reconcile a project for linked-intent development (LID). Dispatches on project state — fresh bootstrap, append directives to an existing agent-instructions file (AGENTS.md or CLAUDE.md), add missing mode marker, reconcile convention drift, or run mode transitions. Invoked as /update-lid. For fresh projects with no LID artifacts, users typically invoke /linked-intent-dev (the workflow skill) instead and the workflow's Phase 1 calls this skill's bootstrap branch.
Its SKILL.md is about 4.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including reference files (for example `evals/evals.json` and `references/agents-md-template.md`).
It sits in Agent Workflows, covering Agent instruction files. The repository describes itself as: Linked-Intent Development - a SDD methodology for agentic coding. The licence is MIT.
Read from SKILL.md and the folder at commit 831c195. 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.
Shell commands in SKILL.md call:
gitFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Update Lid loads about 4.2k tokens when it runs, and up to ~5.7k if it reads all its reference files. Until then it costs about 122 tokens; SKILL.md has 2,187 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); files beside SKILL.md are not scanned.
The full file from jszmajda/lid at commit 831c195, republished under its MIT licence (© jszmajda). 2,187 words, ~4,172 tokens.
.claude/skills/update-lid/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.Configure or reconcile a project for linked-intent development. Dispatches on project state — do not re-run unconditionally.
Invoked as /update-lid. The skill handles both initial bootstrap and ongoing reconciliation; the user's mental model differs ("set me up" vs. "update what we have") but the behavior dispatches on what's detected in the project, not on the user's framing.
LID's directives, the ## LID block, and the navigation table live in the project's agent-instructions file. Canonically that is AGENTS.md (the cross-tool convention Cursor and most agents read), with CLAUDE.md a symlink alias so Claude Code sees the same content. Never branch on which host you are running under.
AGENTS.md if it exists, otherwise CLAUDE.md. With the symlink the two are one file.AGENTS.md and a CLAUDE.md symlink pointing at it (ln -s AGENTS.md CLAUDE.md). Where symlinks are unavailable (e.g. Windows without Developer Mode), instead write a CLAUDE.md whose only content is @AGENTS.md.CLAUDE.md keeps it — do not migrate it to AGENTS.md.Below, the instruction file means the file chosen by these rules.
Use these exact detection rules — do not guess or use fuzzy matching.
grep for the literal strings "linked-intent-dev" or "Linked-Intent Development" in the instruction file. Either match indicates LID directives are already installed.grep for a ## LID heading in the instruction file. The block carries two bullets:- Mode: {Full|Scoped} — the project's LID mode. Case-insensitive on the mode name; whitespace tolerated.- Version: {X.Y.Z} — the linked-intent-dev plugin version the project's docs conform to. A project with a ## LID block but no - Version: bullet is treated as predating versioned conventions (no - Version: bullet) (walk from the start).- Version: from the ## LID block and compare it to the installed linked-intent-dev plugin version (the version field in plugins/linked-intent-dev/.claude-plugin/plugin.json, the canonical LID conventions version). When the project version is lower, the project lags and version-walk applies.docs/arrows/ directory exists at the project root.docs/intent/, docs/high-level-design.md); the instruction-file directive sections diverge from the current template, including a malformed ## LID block (heading other than a bare ## LID, mode merged into the heading as ## LID Mode: Full, a missing - Mode: or - Version: bullet, or stray non-template bullets); a design doc whose prefix: frontmatter is an array (an unresolved multi-prefix marker — see Version-walk); or a node folder holding more than its <node>-design.md + optional <node>-specs.md pair (an un-promoted sub-LLD left as extra files). The last two are detected independently of version lag — a project already at the installed version still has them re-surfaced by reconcile-conventions, and handled the same way (surfaced with a recommended resolution, never silently left or auto-resolved).Re-check all detection signals on every invocation. Installing arrow-maintenance after initial setup, for example, should trigger an arrow-navigation-row update on the next /update-lid run.
Inspect the project and take exactly one of these actions:
| Detected state | Action |
|---|---|
No instruction file, no docs/ | Full bootstrap — create required directories, create the instruction file (AGENTS.md + CLAUDE.md symlink, per Instruction-file anchor) with LID directives + ## LID block (- Mode: + - Version: set to the installed linked-intent-dev version). |
| Instruction file exists, no LID directives | Append directives — append the LID directives block to the existing instruction file without overwriting existing content. Create docs/ if missing. |
LID directives present, no ## LID block (or no - Mode: bullet) | Add or normalize the LID block — default mode Full, - Version: set to the installed version. If a malformed ## LID heading already exists (mode merged into the heading, e.g. ## LID Mode: Full, or stray non-template bullets), rewrite it in place to the canonical ## LID + - Mode: + - Version: form rather than appending a second block. |
Project - Version: lower than the installed version (or - Version: absent → predating versioned conventions) | Version-walk (see below) — propose the intervening CHANGELOG migrations, confirm, apply mechanical / surface judgment, refresh - Version:. |
LID directives + ## LID block at the installed version, no mode change requested | Reconcile conventions — check for convention drift (missing directories or files, outdated instruction-file sections) and surface each detected difference as a proposed update requiring user confirmation. |
| Fully configured, no drift, version current, no mode change requested | Inform and skip — tell the user what was detected (mode, version, overlay presence, directory status) and exit without changes. |
| Mode change requested (Scoped ⇄ Full) | Run mode transition (see below). |
Version-walk is evaluated before reconcile-conventions: a lagging project is brought to the current conventions version first, then ordinary drift reconciliation runs against those conventions.
A project records the linked-intent-dev version its docs conform to in the ## LID block's - Version: bullet. The canonical LID version is the version field in plugins/linked-intent-dev/.claude-plugin/plugin.json. When the project's - Version: is lower than the installed version — or absent, in which case the project is treated as predating versioned conventions (no - Version: bullet) and walked from the start — the skill walks the project forward to the installed version.
Walk the releases between the project's version and the installed version, in ascending order. The migration source is the CHANGELOG at plugins/linked-intent-dev/CHANGELOG.md (the root CHANGELOG.md symlinks to it). Each release entry has a ### Migration (vX → vY) section describing the doc-level steps to move a project forward by one release; read each intervening release's Migration section and reconcile the project against it.
Apply the existing propose → confirm → apply discipline — the skill never silently rewrites:
parent:/prefix: frontmatter on design docs, bump docs/arrows/index.yaml schema_version). Batch these and apply them together on a single confirmation.A migration entry that mixes both kinds is split: apply its mechanical part in the batch, surface its judgment part individually.
Never silently leave a transient migration marker. Some migrations deliberately leave a marker that flags a node as unresolved. The load-bearing one is a node folder carrying more than its <node>-design.md + <node>-specs.md pair — a former separate-spec LLD left as extra files instead of relocated into its own child folder. Relocating the LLDs into the node-as-folder tree is the defining, error-prone part of the move, so an overloaded folder is the marker most worth surfacing; a prefix: array on a design doc is a second, lower-risk marker (agents reconcile these reliably on a later pass). These are the steps most often dropped, because the marker is easy to write and easy to forget — leaving the walk looking done while the structural call it stands in for was never made. Treat each as a judgment step that must be surfaced before the walk reports complete: name the node in the project's own terms, recommend a resolution — promote the extra LLD into its own child folder, collapse a multi-prefix node into <LEAF>-<TYPE> facets, or split into sibling leaves — and apply it on approval. The user may defer any of them — honor that (user-is-always-right) — but the deferral is explicit, the marker stays in place as the record of it, and the completion report names every node left unresolved. The same surfacing-with-recommendation applies when reconcile-conventions detects these markers in a project already at the installed version. Surface, never silently leave; recommend, never silently auto-resolve.
Surface migration and reconciliation choices in the project's own terms — its LLDs, components, segments, and specs — not LID's internal structural vocabulary (HLD tenet: Speak the project's language).
On a successful walk, refresh the project's - Version: bullet to the installed version. When a walk crosses several releases, refresh once at the end rather than stepping the bullet per release. The defining marker of a conventions version is its structural layout — for the 1.2 conventions, relocation onto the docs/intent/ node-as-folder tree — so a project that has taken those structural moves is on the new conventions and the bullet advances even when the user defers residual cleanup (a prefix array, a not-yet-promoted folder); do not pin it to the prior version. What an honest walk owes the user is not a withheld version bump but a clear account: the completion report names every deferred resolution and every persisting marker (unresolved prefix: arrays, overloaded node folders), and those markers stay in place so the fall-through to reconcile-conventions — and every later /update-lid run — re-surfaces them until resolved.
After version-walk completes, fall through to ordinary reconcile-conventions against the now-current conventions.
During a full bootstrap, prompt the user for the intended mode with Full LID as the default. For users uncertain which to pick, describe the difference before requesting a choice:
If the user does not specify a mode, select Full.
When mode is Scoped, prompt for scope patterns before writing the instruction file. Ask the user:
Write the answers into a ## LID Scope section immediately after the ## LID block (which carries - Mode: Scoped):
## LID
- Mode: Scoped
- Version: 1.2.0
## LID Scope
Paths in scope:
- `src/auth/**`
- `packages/billing/**`
Paths explicitly excluded:
- `src/auth/legacy/**`
- `**/*.test.ts`When mode is Full, do not write a ## LID Scope section. Its absence means "entire project in scope."
Caller-provided mode. When this skill is invoked by another skill (for example, /map-codebase at its terminal verification step) that has already determined the mode from its own scope question, the caller passes the mode — and, if Scoped, the scope patterns — through, and this skill honors them without re-prompting. Re-prompting the user for a mode at the end of a long mapping session is a bad UX; the scope question the caller already asked is the mode decision.
Persist the mode and version in the instruction file's ## LID block — - Mode: {Full|Scoped} and - Version: {X.Y.Z}. At bootstrap, write - Version: set to the installed linked-intent-dev plugin version (from plugins/linked-intent-dev/.claude-plugin/plugin.json), so a freshly-bootstrapped project starts current and never triggers a spurious version-walk. The ## LID block is the sole source of truth for mode and version detection by the linked-intent-dev skill.
## LID Scope section following the format above.## LID Scope section from the instruction file./update-lid and pass the new scope patterns; the skill rewrites the ## LID Scope section in place.## LID block's - Mode: bullet; no file migration. Cascade rigor relaxes on the next linked-intent-dev consult.docs/intent/ design tree (each node a folder with its {node}-design.md and {node}-specs.md) and docs/high-level-design.md. Where multiple scoped arrows have overlapping components, surface the overlaps to the user one pair at a time and ask for reconciliation. Do not merge automatically.Ensure this layout in the project root, creating any missing:
docs/high-level-design.md (populated from the HLD template in plugins/linked-intent-dev/skills/linked-intent-dev/references/hld-template.md)docs/intent/docs/decisions/ holds project-level (HLD) decision docs; segment-level decision docs live alongside their segment at docs/intent/<segment>/decisions/. Create either lazily — only when the first decision doc at that level is written, not at bootstrap.
Do not create docs/planning/. Plans are agent-native; LID does not require the directory.
When docs/arrows/ is detected, include extra navigation rows in the instruction file's directives template — pointing at docs/arrows/index.yaml and per-segment arrow docs — as part of the project's navigation table. When docs/arrows/ is absent, omit these rows. Re-check this signal on every invocation.
docs/planning/ handlingWhen invoked as /update-lid on a project containing a docs/planning/ directory (leftover from earlier LID eras):
The linked-intent-dev skill itself ignores this directory — it is not part of the required arrow.
The skill is idempotent. Running it twice on a well-configured project produces no changes. When the project is already fully configured and no changes are needed, do not silently no-op. Tell the user what was detected — mode, version (and whether it matches the installed version), overlay presence, directory status — so they know the skill ran and found nothing to do.
Similarly, when convention drift is detected but the user declines every proposed update, still summarize what was found before exiting.
After making any file changes (bootstrap, append directives, mode transition, drift reconciliation):
The user should never have to git diff the repo to understand what the skill just did.
When appending the LID directives block to an existing instruction file, preserve all existing content. Append, don't overwrite.
references/agents-md-template.md — the LID directives block to append to the instruction file.© jszmajda, 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 2 other files (references) in plugins/linked-intent-dev/skills/update-lid of jszmajda/lid.
Open the folder on GitHubat commit 831c195
Update Lid 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 |
|---|---|---|---|---|---|---|
| Update Lid this skilljszmajda/lid | 105 | — | ~4.2k | Automated safety check: Pass | MIT | |
| Using Agent Skillsaddyosmani/agent-skills | 103k | 4 repos | ~2.4k | Automated safety check: Pass | MIT | |
| Claude ReflectBayramAnnakov/claude-reflect | 1.7k | 2 repos | ~627 | Automated safety check: Pass | MIT | |
| Neat-Freak Knowledge CloseoutKKKKhazix/khazix-skills | 21k | — | ~1.9k | Automated safety check: Pass | MIT | |
| Writing For Agentsbestofjs/bestofjs | 3.1k | 18 repos | ~2.7k | Automated safety check: Pass | MIT | |
| Task Observerrebelytics/one-skill-to-rule-them-all | 3.2k | 1 repos | ~12k | Automated safety check: Pass | CC-BY-4.0 |
addyosmani/agent-skills
Meta-skill for choosing which workflow skill fits the task at hand, plus always-on habits: surface assumptions, stop on confusion, push back, keep it simple and stay in scope.
BayramAnnakov/claude-reflect
Self-learning system that captures corrections during sessions and reminds users to run /reflect to update CLAUDE.md.
KKKKhazix/khazix-skills
Brings project docs, agent rule files, authorized memory and leftover workspace files back in line with what the code and runtime actually do at the end of a work session.
bestofjs/bestofjs
Writing documents for agents. An agent skill from bestofjs/bestofjs.
rebelytics/one-skill-to-rule-them-all
Monitors task execution for skill improvement opportunities.
microsoft/SkillOpt
Runs an on-demand or nightly sleep cycle that reviews past Claude Code sessions and proposes validated updates to CLAUDE.md and skills.
jszmajda/lid
Audit coherence across an arrow of intent by running two parallel fresh Claude sessions — one reconstructs code from a single EARS, the other reconstructs the EARS from stripped code — then…
jszmajda/lid
Navigation and audit overlay for linked-intent development. An agent skill from jszmajda/lid.
jszmajda/lid
Bootstrap LID in an existing (brownfield) codebase. An agent skill from jszmajda/lid.
jszmajda/lid
Review a project's current linked-intent-development (LID) usage against LID's own principles and produce a prioritized report of recommendations for getting more out of the methodology.
jszmajda/lid
Guide for linked-intent development (LID). An agent skill from jszmajda/lid.
Categories
Configure or reconcile a project for linked-intent development (LID). Update Lid is an agent skill from jszmajda/lid. Configure or reconcile a project for linked-intent development (LID).
Update Lid fits situations like: tasks that involve Agent instruction files.
Run `npx skills add jszmajda/lid --skill update-lid -a claude-code`. Or copy the skill folder (plugins/linked-intent-dev/skills/update-lid in jszmajda/lid) into .claude/skills/update-lid in your project. Claude Code loads it when a task matches its description.
Run `npx skills add jszmajda/lid --skill update-lid -a codex`. Or copy the skill folder (plugins/linked-intent-dev/skills/update-lid in jszmajda/lid) into .agents/skills/update-lid 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 jszmajda/lid --skill update-lid -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/update-lid, .gemini/skills/update-lid, .github/skills/update-lid and .opencode/skills/update-lid in your project.
Going by SKILL.md and its folder, Update Lid needs the command-line tools its instructions call (git).
SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. 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. Review the folder before installing.
Update Lid is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.2k tokens (SKILL.md is roughly 17k 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.5k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Update Lid: Using Agent Skills (addyosmani/agent-skills, 103k stars), Claude Reflect (BayramAnnakov/claude-reflect, 1.7k stars), Neat-Freak Knowledge Closeout (KKKKhazix/khazix-skills, 21k stars) and Writing For Agents (bestofjs/bestofjs, 3.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
jszmajda (a GitHub user) maintains it in jszmajda/lid, which has 105 GitHub stars. The repository holds 6 skills in this directory. The repository was last updated on October 6, 2026.
Source: jszmajda/lid on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.