Setup
Use when setting up a project, adding linting, formatting, git hooks, or type checking. Detects the language and installs that ecosystem's lint/format/hooks toolchain (JS/TS, Python, Go, Rust).From its SKILL.md
npx -y skills add tartinerlabs/skills --skill setupAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- 7 stars7 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
- runs commandsInstructs the agent to run 1 command, including `brew install gitleaks`.
What its file declares
Copied from the file, not written here
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
5.5 KB, ~1.2k tokens by cl100k_base, as published. Nobody here has run it
You are a tooling setup assistant. Detect the project's language, then auto-detect what's missing and install everything that's not already configured for that ecosystem.
0. Detect Language and Route
Detect the project's language from its manifest, then follow the matching setup guide:
| Language | Detected by | Setup guide |
|---|---|---|
| JS/TS | package.json | the rules/*.md files below (Biome · Husky · commitlint · lint-staged · GitLeaks · TypeScript) |
| Python | pyproject.toml, requirements*.txt, setup.py, setup.cfg | references/python.md (Ruff · mypy · pre-commit · GitLeaks) |
| Go | go.mod | references/go.md (gofmt · golangci-lint · pre-commit · GitLeaks) |
| Rust | Cargo.toml | references/rust.md (rustfmt · Clippy · pre-commit · GitLeaks) |
Load only the guide for the detected language. For a language not listed (e.g. Ruby), set up its standard formatter/linter and wire the project's secret scanner into a pre-commit hook, following the same shape; note that first-class support for it is not yet bundled. A secret scanner (GitLeaks default; TruffleHog accepted) is set up in every ecosystem — it is cross-language.
The rest of this file (Steps 1-5) is the JS/TS path. For Python, Go or Rust, follow the referenced guide, then jump to Step 5 (Supply Chain Hardening) which applies to any ecosystem.
1. Detect Package Manager
Detect the package manager from the lockfile, in this order: pnpm-lock.yaml, bun.lock/bun.lockb, yarn.lock, package-lock.json. With no lockfile, ask.
Use the detected package manager for all install commands. Replace <pm> in rule files with the detected manager.
2. Detect Existing Tooling
Before installing anything, scan for existing configurations:
biome.json/biome.jsonc→ Biome already configured.husky/directory → Husky already configured- commitlint config listed in
rules/commitlint.md→ commitlint already configured .lintstagedrc*/lint-stagedkey inpackage.json→ lint-staged already configuredgitleaksortrufflehogin.husky/pre-commit→ secret scanner already configuredtsconfig.json→ TypeScript already configured.eslintrc*/eslint.config.*→ ESLint present (suggest migration to Biome).prettierrc*/prettier.config.*→ Prettier present (suggest migration to Biome)
Skip tools that are already configured. Report what was skipped at the end.
3. Install Tools
Read each rule file for detailed setup instructions and config files.
This stack is opinionated by design. Tooling choices are subjective — Biome vs ESLint/Prettier, conventional commits vs none, Husky vs another hook manager are all legitimate positions. Each rule file documents its choice under
### Why This Mattersand names the mainstream alternative under### Alternatives. Two principles: you may decline any tool, and a deliberately-configured alternative is kept, not swapped — Step 2's detection exists so the skill fills genuine gaps rather than overriding working setups. Secret scanning is the one thing recommended for every project (GitLeaks default; TruffleHog accepted); only the scanner is swappable, not whether to scan.
Auto-install (always set up when missing)
| Tool | Purpose | Rule |
|---|---|---|
| Biome | Linting + formatting | rules/biome.md |
| Husky | Git hooks | rules/husky.md |
| commitlint | Conventional commits | rules/commitlint.md |
| lint-staged | Pre-commit linting | rules/lint-staged.md |
| Secret scanner | Secrets detection | rules/secret-scanner.md |
| TypeScript | Type checking | rules/typescript.md |
Opt-in (only when explicitly requested)
| Tool | Purpose | Rule |
|---|---|---|
| semantic-release | Automated versioning | rules/semantic-release.md |
4. Output Summary
After all tools are installed, display a summary:
## Setup Complete
### Installed
- [list of tools installed]
### Skipped (already configured)
- [list of tools skipped with reason]
### Next Steps
- Run `<pm> run check` to verify Biome is working
- Make a test commit to verify git hooks
5. Supply Chain Hardening
After tooling setup is complete, check if the deps skill is available by looking for skills/deps/SKILL.md relative to this skill's directory. If it exists, run /deps to harden the ecosystem's dependency supply chain (it detects the language too). If it does not exist, skip this step silently.
Requires git initialised in the project, and a secret scanner installed on the system (brew install gitleaks or equivalent) — it is wired into the pre-commit hook in every ecosystem.
What ships with it: 10 files
21.8 KB alongside SKILL.md
rules/
- biome.md1.8 KB
- commitlint.md1.6 KB
- husky.md1.1 KB
- lint-staged.md914 B
- secret-scanner.md1.7 KB
- semantic-release.md1.5 KB
- typescript.md1.6 KB
Gives 0 of the 12 instructions most project setup skills give in ~1.2k tokens
Counted across 1,553 of the 3,091 authors here whose files we hold, read 2026-09-06
- Write the configuration filein 36 of 1553
- Create the directory structurein 35 of 1553, across 33 files
- Verify the setupin 31 of 1553, across 28 files
- Run the setup scriptin 30 of 1553, across 29 files
- Pre-determine the required sample sizein 29 of 1553, across 12 files
- Check if the configuration already existsin 29 of 1553
- Document every testin 26 of 1553, across 10 files
- Start with a hypothesisin 26 of 1553, across 11 files
- Ask one question at a timein 22 of 1553
- Test a single variable per testin 21 of 1553, across 9 files
- Read product marketing context before asking questionsin 19 of 1553, across 8 files
- Do not peek and stop earlyin 18 of 1553, across 7 files
Said here and by no other author read
- Load only the guide for the detected language
- Scan for existing configurations before installing anything
- Skip tools that are already configured
- Display a summary after all tools are installed
- Run deps skill if available to harden supply chain
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.