Minimizing Ty Ecosystem Changes
astral-sh/ruff
A skill your agent uses when a user says "minimize this ty ecosystem change", "reproduce this ecosystem result", "investigate a primer difference", "investigate a mypyprimer difference"…
The read-only half of the lint skill for a headless lane: index consistency, link and orphan health, the pending-flag count, the attic, qmd-registry, injection, customisation-pairing and…
$ npx skills add HurricaHjz/second-yourself --skill lint-slice -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install HurricaHjz/second-yourself lint-slice --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/HurricaHjz/second-yourself.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/delegate/lane-home-src/lint-slice .claude/skills/lint-slice && 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 "lint-slice" agent skill from https://github.com/HurricaHjz/second-yourself/tree/main/.claude/skills/delegate/lane-home-src/lint-slice into .claude/skills/lint-slice/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "lint-slice", 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/HurricaHjz/second-yourself/tree/main/.claude/skills/delegate/lane-home-src/lint-sliceType 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 HurricaHjz/second-yourself --skill lint-slice -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install HurricaHjz/second-yourself lint-slice --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/HurricaHjz/second-yourself.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/delegate/lane-home-src/lint-slice .agents/skills/lint-slice && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "lint-slice" agent skill from https://github.com/HurricaHjz/second-yourself/tree/main/.claude/skills/delegate/lane-home-src/lint-slice into .agents/skills/lint-slice/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "lint-slice", 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 HurricaHjz/second-yourself --skill lint-slice -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install HurricaHjz/second-yourself lint-slice --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/HurricaHjz/second-yourself.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/delegate/lane-home-src/lint-slice .cursor/skills/lint-slice && 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 "lint-slice" agent skill from https://github.com/HurricaHjz/second-yourself/tree/main/.claude/skills/delegate/lane-home-src/lint-slice into .cursor/skills/lint-slice/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "lint-slice", 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/HurricaHjz/second-yourself.git --path .claude/skills/delegate/lane-home-src/lint-slice--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 HurricaHjz/second-yourself --skill lint-slice -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install HurricaHjz/second-yourself lint-slice --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/HurricaHjz/second-yourself.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/delegate/lane-home-src/lint-slice .gemini/skills/lint-slice && 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 "lint-slice" agent skill from https://github.com/HurricaHjz/second-yourself/tree/main/.claude/skills/delegate/lane-home-src/lint-slice into .gemini/skills/lint-slice/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "lint-slice", 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 HurricaHjz/second-yourself lint-sliceInstalls 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 HurricaHjz/second-yourself --skill lint-slice -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/HurricaHjz/second-yourself.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/delegate/lane-home-src/lint-slice .github/skills/lint-slice && 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 "lint-slice" agent skill from https://github.com/HurricaHjz/second-yourself/tree/main/.claude/skills/delegate/lane-home-src/lint-slice into .github/skills/lint-slice/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "lint-slice", 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 HurricaHjz/second-yourself --skill lint-slice -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install HurricaHjz/second-yourself lint-slice --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/HurricaHjz/second-yourself.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/delegate/lane-home-src/lint-slice .opencode/skills/lint-slice && 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 "lint-slice" agent skill from https://github.com/HurricaHjz/second-yourself/tree/main/.claude/skills/delegate/lane-home-src/lint-slice into .opencode/skills/lint-slice/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "lint-slice", 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.
lint-sliceThe read-only half of the lint skill for a headless lane: index consistency, link and orphan health, the pending-flag count, the attic, qmd-registry, injection, customisation-pairing and…
Lint Slice is an agent skill from HurricaHjz/second-yourself. The read-only half of the lint skill for a headless lane: index consistency, link and orphan health, the pending-flag count, the attic, qmd-registry, injection, customisation-pairing and shipped-surface checks, the conflict audit, and the health report the lane returns. Preloaded into a lint lane home. The lane reports and never fixes: every fix, every registry line and every wiki write stay with the head and the owner. Slice source: the lint skill, pipeline steps 1, 2, 2b–2g and 3, its report format and its hard…
Its SKILL.md is about 3.5k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Development, covering Linting and formatting. It works with Python. The repository describes itself as: Second yourself. One agent that remembers you, with many hands to act for you: a multi-agent harness (Claude Code, with Codex helpers), a self-maintaining local wiki as its… The licence is MIT.
3 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 17c03f2. 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:
python3shFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
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.
Lint Slice loads about 3.5k tokens when it runs. Until then it costs about 136 tokens; SKILL.md has 1,676 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 HurricaHjz/second-yourself at commit 17c03f2, republished under its MIT licence (© HurricaHjz). 1,676 words, ~3,459 tokens.
.claude/skills/lint-slice/SKILL.md (or your agent's skills folder).You scan the vault your brief names and report what you find. Report only, never fix: you
propose, and you write nothing into the vault — no page edit, no wiki/index.md line, no
wiki/log.md append, no palette restore, not even an obvious one-character repair. The fix is
the head's after the owner confirms it, and a lane that fixed as it went would leave the owner a
diff nobody reviewed.
A finding is a fact you probed for, so no check reports clean without its positive control: a
zero with a zero control is a broken probe, not a healthy vault. Never put 2>/dev/null on a
probe here — it has hidden a scan that searched nothing.
Your working directory is the lane home, not the vault, so every path is absolute and every
script is invoked by its absolute path. Your brief names the vault root; below it is written
<vault> and you substitute the real path. A bare .claude/skills/lint/... finds nothing here.
Each script takes the vault root, but not all in the same spelling — pass it in the form the script accepts:
| Script | Invocation | Exit |
|---|---|---|
check-links.py | python3 <vault>/.claude/skills/lint/check-links.py <vault> (positional root) | 0 clean · 1 findings |
check-orphans.py | python3 <vault>/.claude/skills/lint/check-orphans.py --vault <vault> | 0 clean · 1 findings |
check-qmd-registry.sh | sh <vault>/.claude/skills/lint/check-qmd-registry.sh <vault> (positional root) | 0 clean or n/a · 1 finding |
check-shipped-links.py | python3 <vault>/.claude/skills/lint/check-shipped-links.py <vault> (positional root) | 0 clean · 1 findings |
throttle.py | python3 <vault>/.claude/skills/delegate/throttle.py check --root <vault> | 0 clean · non-zero findings |
Read each script's exit code before quoting it, and take the pipe out of any command whose exit code is the verification: a pipeline reports its last stage only.
A path your grants do not reach is a gap, reported at the point you hit it
(needs: <path> because <reason>) and never worked around by scanning something adjacent. A
check whose input you cannot read is reported as not run (grant missing), never as clean.
Take the registered page names only — grep -o '^- \[\[[^]|]*' <vault>/wiki/index.md | sed 's/^- \[\[//',
Never read index.md whole for this: the check compares names, and
its one-line descriptions are waste here. Glob every .md under <vault>/wiki/, excluding index.md and
log.md. Report two lists: pages registered in the index but missing on disk, and pages on
disk but not registered.
Control: print the number of pages globbed and the number of index entries parsed beside the two findings counts. Zero pages globbed is a broken probe (a wrong root), not a clean vault.
Run check-links.py. It is the single source of truth for the link rules, so you apply none of
them yourself: code spans, fenced blocks and HTML comments are not links; frontmatter aliases
resolve; vault-path and root-doc targets resolve; wiki/log.md is exempt as a source
(append-only history); and media embeds are checked against assets/, a missing target being a
dead embed, reported separately from a dead link. Copy its scan totals into your report as
its own control line.
Run check-orphans.py --vault <vault>. A page with no inbound links from any other page is
an orphan; index, log and maps/ pages are exempt by design (Maps of Content are
navigational entry points). Copy its inbound-link control. The pages it lists as reachable from
index.md alone are information, not a finding.
You never recount links, embeds or orphans by hand: the scripts hold the rules, and a hand count that disagrees with them is a defect to report, not a number to publish.
Two further helpers sit in that directory and are not yours: tier-cap-check.py and
anomaly-lister.py serve the deep-lint pass. Do not run them unless your brief names them.
grep -rl "^flagged:" <vault>/wiki --include='*.md' | wc -l # the count
grep -rl "^confidence:" <vault>/wiki --include='*.md' | wc -l # engine control, must be > 0Report the count with its control. At five or more flagged pages, say a deep-lint is indicated — the adaptive-cadence signal — and stop there. Never open or reconcile a flagged page: lint counts, deep-lint reconciles.
A live page must never link into the attic: the vault resolves wikilinks vault-wide, so a surviving link to an archived note silently reconnects retired material.
List basenames only — find <vault>/attic -type f -name '*.md' — and skip MANIFEST.md. Attic
absent or empty → report attic-leak: n/a and move on. For each basename b, grep the live wiki
(excluding wiki/log.md) for the exact link forms [[b]] · [[b| · [[b# · /b]] · /b|. A
plain-text mention such as "b (archived)" is the sweep style and is not a finding. Any hit is
a leak: report it with the page it sits on and leave the repair to the head.
Control: the same pipeline against one known live page name must return more than zero before you may report "no leaks".
wiki/log.md must stay out of the semantic index: embeddings key on a file's whole-content hash,
so every append re-embeds the whole timeline. The exclusion lives outside the vault and outside
both repositories, so it can vanish silently.
Run check-qmd-registry.sh and copy its one line into your report verbatim. It carries its
own control and prints PROBE FAILED rather than "clean" when its premise breaks; quote that
line as printed and never soften it.
Anything landing in the roots the harness auto-loads reaches every session. Two roots, four
arms. Skills are directories under .claude/skills/; agent definitions are files under
.claude/agents/ — an unsanctioned definition names a lane's model, tools and write scope, so it
is the same exposure as an unsanctioned skill. Both arms diff against the same baseline.
b="<vault>/.claude/skills/lint/sanctioned-skills.txt" # vault skill names + agent definition filenames
hs="$HOME/.claude/skills/.sanctioned.txt" # machine-local baselines, never shipped
ha="$HOME/.claude/agents/.sanctioned.txt"
[ -s "$b" ] || echo "PROBE FAILED: vault baseline missing/empty"
comm -13 <(grep '^vault:' "$b" | cut -d: -f2 | sort) <(ls "<vault>/.claude/skills" | sort)
[ -d "<vault>/.claude/agents" ] \
&& comm -13 <(grep '^agent:' "$b" | cut -d: -f2 | sort) <(ls "<vault>/.claude/agents" | sort) \
|| echo "agents-guard: n/a (no .claude/agents in this vault)"
[ -d "$HOME/.claude/skills" ] || echo "PROBE FAILED: user-level skills root missing"
[ -s "$hs" ] && [ -d "$HOME/.claude/skills" ] && comm -13 <(sort "$hs") <(ls "$HOME/.claude/skills" | sort)
[ -s "$ha" ] && [ -d "$HOME/.claude/agents" ] && comm -13 <(sort "$ha") <(ls "$HOME/.claude/agents" | sort)Any name printed is an unsanctioned entry: report it, and leave both remedies (removal, or a
deliberate baseline addition) to the owner. Premise failures never read as clean, each in its
own way: a missing or empty vault baseline is PROBE FAILED; an absent .claude/agents/ is
n/a, neither a finding nor a pass; an absent user-level root is PROBE FAILED; no machine-local
baseline yet is that root's listing reported as information, never a finding and never seeded by
you. Baseline entries missing on disk are drift, reported as information.
Control before trusting any empty arm: re-run each arm's comm with a known-absent name
injected into the disk side (printf 'zzz-ctrl\n') and confirm it prints. One arm's control does
not vouch for another's, so report four control results, one per arm.
Throttle check, same step: run throttle.py check --root <vault>. Each DRIFT / MISSING /
UNROUTED / DESCRIPTION-TIER line is a finding; PROBE FAILED never reads as clean. The script
prints its own control on every run — copy it.
An arm whose root your grants do not reach (the user-level roots often sit outside them) is a gap line, never a clean arm.
The preference layer is two root files: an always-on core and an on-demand definitions file. Core
absent (a fresh vault) → report customisation-pairing: n/a and skip. Reading root files needs a
vault-root read grant; without it, report the gap and skip.
style and role values in core's ## Settings each have a matching ^### <value>
heading in core. Control: the same probe must find ### customised in core (it never
moves) before a missing-heading finding — or an all-present result — is trusted.### heading appears in both files:
comm -12 <(grep '^### ' <core> | sort) <(grep '^### ' <definitions> | sort) must print
nothing. A hit is a duplicated definition: propose removing one copy and say the owner chooses
which — their preferences are never auto-edited. A ### line inside an HTML comment can
surface here; report that as information, not a finding.Every .md under .claude/skills/ and .claude/agents/ ships with the public framework, so a
wikilink in one of them that resolves in this vault but not in the published copy is dead for
every installer. Run check-shipped-links.py and copy its first line into your report
verbatim. It tells legitimate absence from a broken premise itself: an empty wiki/ reports
n/a; a missing wiki/, no surfaces, an unreadable surface or a silent self-control reports
PROBE FAILED, never "clean". Exit 1 means findings; the repair is ship-safe wording (the page
name in code font, no link) — proposed by you, applied by the head, never by deleting the
reference.
Find pages carrying a ## Conflicts / Open Questions section and list each unresolved conflict
with both sides named, as tech debt for the head to route. Report the number of pages searched
beside the number found: a zero over an unsearched set is not a result.
The gap scan (concepts mentioned often but lacking a page) is the head's step, not yours, unless your brief assigns it.
Report every finding, and every check carries its control count. Return this shape, with page names in code font rather than links:
## Wiki health report — YYYY-MM-DD
### Healthy
- ...
### Warnings
- **N orphan pages** (control: M inbound links seen) — `page-name`, ...
- **N unindexed pages** (control: M pages globbed, K index entries parsed) — `page-name`, ...
### Errors
- **N dead links** (control: M links scanned) — `source` → `missing-target`
- **N dead embeds** (control: M embeds scanned) — `source` → `missing.png`
- **N unresolved conflicts** (control: M pages searched) — `page-name`
### Flags and scripted lines
- **N pages carry `flagged:`** (engine control M > 0) — five or more indicates a deep-lint
- `<the qmd-registry line, verbatim>` · `attic-leak: none / n/a / N leaks (control M)` ·
`skill-guard: clean / N unsanctioned (four arm controls: …)` ·
`customisation-pairing: ok / n/a / N findings` · `throttle-check: <the line, verbatim>` ·
`shipped-links: <the first line, verbatim>`
### Proposed next steps
1. ... (each a proposal for the head and the owner, never an action taken)
### Controls
- one line per check: the probe, its control and the control's count
### Gaps
- `needs: <path> because <reason>` — one line per grant you lacked, with the check it stoppedKeep enumerations concise and complete, including the controls and gaps: a finding list with its counts intact is readable; a clean-looking report with no controls is not evidence.
wiki/log.md append, no palette work — the graph-palette restore is an
on-demand path a lane never takes. Read-only is the whole posture, and the report is the
deliverable.PROBE FAILED included.© HurricaHjz, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .claude/skills/delegate/lane-home-src/lint-slice of HurricaHjz/second-yourself.
Open the folder on GitHubat commit 17c03f2
Lint Slice 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 |
|---|---|---|---|---|---|---|
| Lint Slice this skillHurricaHjz/second-yourself | 123 | — | ~3.5k | Automated safety check: Pass | MIT | |
| Minimizing Ty Ecosystem Changesastral-sh/ruff | 50k | — | ~4.6k | Automated safety check: Pass | MIT | |
| Summarise Ecosystem Resultsastral-sh/ruff | 50k | — | ~2.2k | Automated safety check: Pass | MIT | |
| Kedro Babysitkedro-org/kedro | 11k | — | ~4k | Automated safety check: Pass | Custom licence | |
| Saleor Commit Workflowsaleor/saleor | 23k | — | ~575 | Automated safety check: Pass | BSD-3-Clause | |
| Adding Ty Diagnosticsastral-sh/ruff | 50k | — | ~556 | Automated safety check: Pass | MIT |
astral-sh/ruff
A skill your agent uses when a user says "minimize this ty ecosystem change", "reproduce this ecosystem result", "investigate a primer difference", "investigate a mypyprimer difference"…
astral-sh/ruff
A skill your agent uses when a user says "summarise ecosystem results", "summarize this ty ecosystem report", "what changed in this ecosystem run?", or asks to summarise or summarize ty ecosystem…
kedro-org/kedro
Run Kedro's local lint / format / type-check / tests on changed files (uses the project's pre-commit hooks, ruff, mypy, pytest, lint-imports, detect-secrets, Make targets — in the right venv), or…
saleor/saleor
Commits changes in the Saleor codebase and works through pre-commit hook failures from ruff, mypy, the GraphQL schema check and the migrations check.
astral-sh/ruff
A skill your agent uses when a user says "add a ty rule", "add a ty diagnostic", "write this new ty diagnostic", "change a ty error message", "review ty diagnostics", or asks to add, update, or…
x-tools-author/x-tools
Runs a 47-rule deterministic QML linter, then six parallel deep-analysis passes over bindings, layout, loaders, delegates, states, and performance.
HurricaHjz/second-yourself
OPTIONAL, DORMANT semantic-search layer over the wiki, powered by qmd (local hybrid BM25 + vector + rerank).
HurricaHjz/second-yourself
Answer questions against the local Obsidian wiki — not from model memory.
HurricaHjz/second-yourself
Sync THIS LLM-Wiki framework with its public GitHub repo, ONE direction per run: --push (vault → repo) publishes your framework; --pull (repo → vault) updates your framework from a newer repo version.
HurricaHjz/second-yourself
Health-check the Obsidian wiki — the "static analysis" pass for a knowledge base.
HurricaHjz/second-yourself
The compile lane's half of the ingest skill: choose a source's depth after reading it, write the source page from the depth's template, assign confidence, network the knowledge, and propose the…
HurricaHjz/second-yourself
Produce a user-facing DELIVERABLE (report, brief, literature review, slide deck, table, email, outline, …) into the output/ directory — grounded in the wiki and strictly following the user's…
Works with
Categories
The read-only half of the lint skill for a headless lane: index consistency, link and orphan health, the pending-flag count, the attic, qmd-registry, injection, customisation-pairing and…. Lint Slice is an agent skill from HurricaHjz/second-yourself. The read-only half of the lint skill for a headless lane: index consistency, link and orphan health, the pending-flag count, the attic, qmd-registry, injection, customisation-pairing and shipped-surface checks, the conflict audit, and the health report the lane returns.
Lint Slice fits situations like: tasks that involve Linting and formatting.
Run `npx skills add HurricaHjz/second-yourself --skill lint-slice -a claude-code`. Or copy the skill folder (.claude/skills/delegate/lane-home-src/lint-slice in HurricaHjz/second-yourself) into .claude/skills/lint-slice in your project. Claude Code loads it when a task matches its description.
Run `npx skills add HurricaHjz/second-yourself --skill lint-slice -a codex`. Or copy the skill folder (.claude/skills/delegate/lane-home-src/lint-slice in HurricaHjz/second-yourself) into .agents/skills/lint-slice 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 HurricaHjz/second-yourself --skill lint-slice -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/lint-slice, .gemini/skills/lint-slice, .github/skills/lint-slice and .opencode/skills/lint-slice in your project.
Going by SKILL.md and its folder, Lint Slice needs the command-line tools its instructions call (python3 and sh). Our summary lists: Python 3.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. 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.
Lint Slice is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.5k tokens (SKILL.md is roughly 14k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Lint Slice: Minimizing Ty Ecosystem Changes (astral-sh/ruff, 50k stars), Summarise Ecosystem Results (astral-sh/ruff, 50k stars), Kedro Babysit (kedro-org/kedro, 11k stars) and Saleor Commit Workflow (saleor/saleor, 23k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
HurricaHjz (a GitHub user) maintains it in HurricaHjz/second-yourself, which has 123 GitHub stars. The repository holds 12 skills in this directory. The repository was last updated on October 1, 2026.
Source: HurricaHjz/second-yourself on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.