Bulletproof Workflow
artemiimillier/bulletproof
Applies a 12-stage verified workflow, from research to deploy, to non-trivial coding tasks, scaled to lightweight, standard or full mode by task size.
Turns an already-planned ticket or spec into a checklist, builds it, and has a fresh verifier agent prove each check independently.
$ npx skills add tech-leads-club/agent-skills --skill tlc-implement -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install tech-leads-club/agent-skills tlc-implement --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/tech-leads-club/agent-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/'packages/skills-catalog/skills/(development)/tlc-implement' .claude/skills/tlc-implement && 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 "tlc-implement" agent skill from https://github.com/tech-leads-club/agent-skills/tree/main/packages/skills-catalog/skills/(development)/tlc-implement into .claude/skills/tlc-implement/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tlc-implement", 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/tech-leads-club/agent-skills/tree/main/packages/skills-catalog/skills/(development)/tlc-implementType 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 tech-leads-club/agent-skills --skill tlc-implement -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install tech-leads-club/agent-skills tlc-implement --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tech-leads-club/agent-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/'packages/skills-catalog/skills/(development)/tlc-implement' .agents/skills/tlc-implement && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "tlc-implement" agent skill from https://github.com/tech-leads-club/agent-skills/tree/main/packages/skills-catalog/skills/(development)/tlc-implement into .agents/skills/tlc-implement/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tlc-implement", 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 tech-leads-club/agent-skills --skill tlc-implement -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install tech-leads-club/agent-skills tlc-implement --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tech-leads-club/agent-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/'packages/skills-catalog/skills/(development)/tlc-implement' .cursor/skills/tlc-implement && 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 "tlc-implement" agent skill from https://github.com/tech-leads-club/agent-skills/tree/main/packages/skills-catalog/skills/(development)/tlc-implement into .cursor/skills/tlc-implement/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tlc-implement", 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/tech-leads-club/agent-skills.git --path 'packages/skills-catalog/skills/(development)/tlc-implement'--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 tech-leads-club/agent-skills --skill tlc-implement -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install tech-leads-club/agent-skills tlc-implement --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tech-leads-club/agent-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/'packages/skills-catalog/skills/(development)/tlc-implement' .gemini/skills/tlc-implement && 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 "tlc-implement" agent skill from https://github.com/tech-leads-club/agent-skills/tree/main/packages/skills-catalog/skills/(development)/tlc-implement into .gemini/skills/tlc-implement/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tlc-implement", 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 tech-leads-club/agent-skills tlc-implementInstalls 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 tech-leads-club/agent-skills --skill tlc-implement -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/tech-leads-club/agent-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/'packages/skills-catalog/skills/(development)/tlc-implement' .github/skills/tlc-implement && 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 "tlc-implement" agent skill from https://github.com/tech-leads-club/agent-skills/tree/main/packages/skills-catalog/skills/(development)/tlc-implement into .github/skills/tlc-implement/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tlc-implement", 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 tech-leads-club/agent-skills --skill tlc-implement -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install tech-leads-club/agent-skills tlc-implement --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tech-leads-club/agent-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/'packages/skills-catalog/skills/(development)/tlc-implement' .opencode/skills/tlc-implement && 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 "tlc-implement" agent skill from https://github.com/tech-leads-club/agent-skills/tree/main/packages/skills-catalog/skills/(development)/tlc-implement into .opencode/skills/tlc-implement/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tlc-implement", 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.
tlc-implementTurns an already-planned ticket or spec into a checklist, builds it, and has a fresh verifier agent prove each check independently.
The skill covers three steps: extract one checklist from the plan, build it however the agent sees fit with no prescribed phases or task list, then verify with a fresh agent that proves each check on its own. It assumes the thinking and design happened elsewhere and aims to lose nothing from it.
The project picks how much verification runs through a `profile` setting in AGENTS.md or an equivalent file: `light` (the default), `standard` or `ui`. Each profile adds classes of failure it can detect, from batched proofs and one located assertion per check up to per-screen comparison of copy and arrangement for UI work. A `handoff` setting packs work into batches of up to 150k tokens of reading, or a smaller budget such as 90k on smaller context windows. Reference files cover checklist format, screens, test policy and verification.
6 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 6df68d5. 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.
TLC Implement loads about 4.3k tokens when it runs, and up to ~16k if it reads all its reference files. Until then it costs about 79 tokens; SKILL.md has 2,816 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 tech-leads-club/agent-skills at commit 6df68d5, republished under its CC-BY-4.0 licence (© tech-leads-club). 2,816 words, ~4,342 tokens.
.claude/skills/tlc-implement/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.Extract the checks. Build. Prove each one, independently.
EXTRACT ─────────→ BUILD ─────────→ VERIFY
(one checklist) (your call) (fresh agent)The thinking already happened somewhere else. Your job is to lose nothing from it, then prove what you built. How you build is yours - no phases, no task list, no step-by-step.
The project chooses how much of this runs, in its AGENTS.md or equivalent:
## tlc-implement
profile: standard
handoff: onprofile is one of light, standard, ui; handoff is on or off, and absent it is on. A batch packs whole slices up to 150k tokens of estimated reading; a project on a smaller window overrides that with handoff: on, budget 90k. Which slices land in which batch is not configured - that is decided per feature, from the slices in front of you, and written down before any code.
| Profile | Adds | Cannot catch |
|---|---|---|
light (default) | proofs batched at HEAD, each named test shown to exist and run, one located assertion per check, level and sampling gaps, Swept existing re-read | a set member with no proof; a test that would pass under a wrong implementation |
standard | the Coverage join, Test policy rows with a verdict each, one fault per assertion surface | a check that contradicts the design; a screen nobody built |
ui | binding sources opened and compared, per-screen enumeration of copy and arrangement, the designed-screens row - screens.md | only spacing, colour and type weight, enumerated per screen - never layout, which a selector reaches and which is checked like anything else |
Each step adds a class of failure detected, so read the right column before choosing: the cheap profile is not a discount on the same product. Absent a declaration, light - a review nobody runs because it outlasts the build protects nothing, so the default is the one that gets run rather than the one that catches most.
Under standard or ui, read references/test-policy.md when writing Coverage and Test policy rows. Under light skip that file.
A step whose input is empty costs a line, not a pass. The Coverage join has nothing to recompute where the checklist declares no set; the Test policy verdicts need that section to exist; step 1 needs a source marked binding. Say "no set rows" and move on - working through an empty step is how a small feature ends up paying a large feature's review.
ui costs nothing on work with no interface, because every screen step is conditional on a source marked binding; a product repo can set it once and stop thinking about it.
The profile is a floor and it is not a secret. The verification report names it, or "no faults injected" reads the same as forgetting. Where the profile looks too thin for the feature in hand, say so in one line and let the user raise it - doing more than the profile in silence costs the predictability that made it worth declaring.
handoff: on is the default and governs the build alone: off keeps the whole build in one agent, and what that changes is in When one agent is not enough. It does not reach the Verifier, which is a separate agent because the author cannot check their own work rather than because the build ran long.
Landing is the exception, and it is additive - a door you discover while building gets a row, never a deletion.git push, deploy and production data changes need an explicit go-ahead.Read the source completely first - ticket, PRD, RFC, thread. Then walk the codebase around what it touches, so the checks land on real paths and reuse what exists.
Refuse rather than guess. Three things must be true before you write the checklist:
Under profile: ui a screen carries a fourth requirement - the design is a binding source and its concrete values belong in the checks - and the whole of it lives in screens.md. Under light or standard skip that file entirely.
Missing one is normal and asking is cheap. Proceeding on a guess is not: if it is still unclear after asking, name what is missing and stop there. A vague check becomes a vague assertion that passes, which is the one failure this whole thing exists to prevent.
Sweep for what the source does not mention. These are the requirements nobody writes down, so go through them explicitly and say where each one landed: validation, failure modes, idempotency and retry, authorization, concurrency and ordering, data lifecycle, external-dependency failure, state transitions, observability.
Raising one is always free. Growing scope is the user's call - most resolve to something that already exists, or to "not in scope because X", and both are complete answers. What is not allowed is passing over one in silence.
Read references/checklist-format.md when you write the .checks/<feature>.md artifact — after the source is read, the refuse gate is passed, and the sweep is walked. Do not load it during the first pass of Extract.
You decide how. Write the tests from the checklist, implement, run each proof, commit in coherent pieces with Conventional Commits.
Two boundaries, and they are about scope rather than care. New capability nobody asked for and unrelated refactors are not yours to add - surface them and move on. Everything else inside the work at hand is the work: a guard clause, a log line, a clear error message, a test beyond the proofs when you can say what should happen at an edge the checklist did not name. Extra tests are welcome and there is no quota.
Doors get discovered while building, and deciding them is yours - stopping to ask on every one defeats the point of getting out of your way. Decide, then record: append the row to Landing with its literal shape and the alternative you rejected, before the code that closes it is written, and in that code's commit where the project tracks the artifact. The timing is the mechanism, not the commit. An alternative is only knowable while you are still choosing between them; written at the end of the build it becomes a justification of what you already wrote, which is the stale design document Landing exists to avoid. Stating what the other option would have done is also the one thing that can expose a bad decision with nobody else in the loop.
A red proof is a stop, not a note. If a check turns out to be wrong or impossible, stop and renegotiate with the user rather than quietly adjusting it. The same goes for a Landing row the user approved that the build proves unbuildable - they approved that shape specifically. A new door that contradicts nothing already approved never stops: it gets its row and you keep going.
A long build runs out of context, and the two ways through it are not equivalent. Automatic compaction summarises the conversation and chooses for you what to drop, at whatever token boundary it happens to hit. A handoff to a fresh agent carries the artifact, at a boundary you chose. This skill is built for the second: the checklist plus the diff is a better briefing than a machine summary of a chat, which is the whole reason Landing rows are appended before the code that closes them rather than at the end.
The batch is whole slices, and you decide how many while writing the checklist. Slices come from the upstream task, one observable outcome each, and their checks are countable before any code exists - so the split is knowable in advance, which is the only reason it can be declared and argued with. Never split a slice: mid-slice is green but incomplete, and the next agent inherits half an outcome, which is the horizontal cut the whole pipeline exists to avoid.
Weigh the slices, do not count them. Slice size varies by a factor of three or more inside one task - the one holding all the doors is rarely the one with three trivial criteria - so a fixed number of slices per batch inherits all of that variance. Pack by the size on each slice heading: accumulate whole slices while the running total stays under 150k tokens, and hand off at the last slice that fits. Where two packings both fit, prefer the boundary at which the surface changes - where the next slice reads different code - because there the next agent had to read it anyway and nothing is paid twice.
A slice that alone exceeds the budget is a slice the upstream task cut too coarsely. Say so rather than splitting it here: cutting mid-outcome is the horizontal cut this whole pipeline exists to avoid, and the task is the place that can re-cut it vertically.
Why a token budget works where a check budget did not. What a check costs is a property of the repo - fourteen checks inside one service share their reading, fourteen across fourteen modules pay it in full - so a count travels badly between projects. A token does not: it means the same thing everywhere, and it is measurable from the files themselves. 150k is the default because it leaves the rest of a large window for the part no arithmetic reaches - failing tests, retries, a runner dumping two thousand lines. Where a project runs a different window, it says so: handoff: on, budget 90k. Do not fix the number of agents up front, though; that is still a boundary you would honour after it stopped making sense.
Write the intended split into the checklist while you are still writing it, under a ## Handoff heading, with the arithmetic that produced it - "S1-S3 = 118k, all in Warehouse; S4 enters Quantities at 140k, so hand off after S3". It costs a line, it is contestable before any code exists, and it is the only moment when anyone can say the batching is wrong cheaply. A number with its reason beside it can be argued with; a bare "hand off after slice 3" can only be trusted.
Handing off. Only on green, with every proof in the batch passing. The next agent reads the checklist and the diff of what has already landed - never a narrative summary of it. The diff is the state, and it carries the hundred reversible choices that sit below the Landing bar: naming, error shape, where the helper went. Those are exactly what drifts between agents, and they are exactly what no document records.
Then append three lines to ## Handoff. They go in the checklist rather than in the next agent's prompt: a briefing written into a prompt survives exactly one boundary, and the third agent needs the first one's.
Landing row or an edited check. This is the class that hurts most, because it exists only in a conversation the next agent cannot read, and re-deriving it means asking the user the same question twice or guessing, which every other part of this skill forbids.When compaction happens anyway, re-read the checklist and the diff before continuing. You cannot see the limit approaching - no reliable measure of your own context exists - but you can see that a compaction occurred, so build the recovery on the signal that exists rather than on predicting the one that does not.
That paragraph is the whole strategy under handoff: off, which a project sets when its harness has no sub-agent mechanism, or when one continuous session is simply easier to review. Off means one agent, compaction, and re-reading - so the checklist earns its keep more rather than less. Say at the start of a long build that handoff is off, and where the work is plainly too large for one context say that too, then let the user turn it back on for this feature.
Where the source is a ticket or a thread rather than a task with slices, there are no inherited boundaries, so cut on the surface you found yourself - the module the next checks move into. Say when that happens: a boundary you drew is weaker than one the upstream task drew, and the next agent should know that is what it inherited.
When the last commit lands, dispatch the Verifier automatically. See verify.md. The work is not done at the last commit; it is done when the Verifier's report accounts for every check.
"After the last commit" means the last one of the feature, not of your batch. With handoff on there are two different lasts, and collapsing them is the shortcut that looks like saving a hop: the agent closing the final batch tells its own sub-agent to verify on the way out. Even with a clean context that sub-agent is briefed by someone who only saw the final batch, so it verifies that slice's range and reports a pass that reads as if it covered the feature. And the verdict goes back to the author, who is then the one deciding what to do about it.
So a build agent finishes, reports, and stops. Verification is the orchestrator's step: it waits for the last batch, then dispatches one agent over <feature base>..HEAD with every check. If you find yourself writing "when you commit, dispatch the verifier" into a builder's prompt, that is the mistake with a friendly face.
In strict order: existing code and conventions, project docs, library documentation, web search, then flag as uncertain. Never invent an API, a flag or a behaviour. "I could not find documentation for this" always beats a plausible fabrication.
Produce the artifact; do not narrate the phase. Lead with the verdict. State decisions definitively. Cut filler and hedging.
User says: "Implement this spec." Actions:
references/checklist-format.md and write .checks/<feature>.md.references/verify.md.
Result: a checklist with named proofs, green proofs, and a Verifier report that accounts for every check.User says: "Build a cache for the dashboard."
Actions: Do not run this skill. There is no prior artifact to extract from.
Result: hand off; no .checks/ file from this skill.
User says: "Should we add billing?" Actions: Do not run this skill. Nobody has decided what to build. Result: hand off; no checklist and no code from this skill.
Cause: Proof: npm test was treated as settling one claim.
Solution: name a specific test. A suite going green says nothing about this claim.
Cause: the builder dispatched a child agent, or re-checked the diff themselves. Solution: a build agent finishes, reports, and stops. The orchestrator dispatches a fresh Verifier over the whole feature after the last batch.
Cause: the assertion mirrors what the code happens to do. Solution: tests assert what the checklist says. If a check is wrong or impossible, stop and renegotiate rather than quietly adjusting it.
© tech-leads-club, CC-BY-4.0. 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 4 other files (references) in packages/skills-catalog/skills/(development)/tlc-implement of tech-leads-club/agent-skills.
Open the folder on GitHubat commit 6df68d5
TLC Implement 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 |
|---|---|---|---|---|---|---|
| TLC Implement this skilltech-leads-club/agent-skills | 7k | — | ~4.3k | Automated safety check: Pass | CC-BY-4.0 | |
| Bulletproof Workflowartemiimillier/bulletproof | 153 | — | ~3.5k | Automated safety check: Pass | MIT | |
| Procoder Commit Gateazrtydxb/procoder | 211 | — | ~3.7k | Automated safety check: Pass | Apache-2.0 | |
| Build a New-Project SliceKhazP/vibe-coding-prompt-template | 3.1k | — | ~353 | Automated safety check: Notes | MIT | |
| BiSheng SDD Document Reviewdataelement/bisheng | 12k | — | ~717 | Automated safety check: Pass | Apache-2.0 | |
| Task-Level Code Reviewdataelement/bisheng | 12k | — | ~652 | Automated safety check: Pass | Apache-2.0 |
artemiimillier/bulletproof
Applies a 12-stage verified workflow, from research to deploy, to non-trivial coding tasks, scaled to lightweight, standard or full mode by task size.
azrtydxb/procoder
Applies Procoder's senior-developer discipline in a repository: run the commit gate, format through the binary and work through specs, plans and todos.
KhazP/vibe-coding-prompt-template
Builds one working slice of a new project from the brief, runs the affected checks and the user journey, and reports what was and was not verified.
dataelement/bisheng
Reviews BiSheng spec, design and tasks documents with checklists for PRD gaps, handover readiness and acceptance traceability, producing a report or an LGTM.
dataelement/bisheng
Runs a light convention check on one finished spec-driven task, choosing checks by task type and ending in pass, pass-with-notes or needs-fix.
modu-ai/moai-adk
Reference for MoAI-ADK's core development principles: TRUST 5 quality gates, SPEC-first domain-driven workflow, agent delegation and token budgeting.
tech-leads-club/agent-skills
Guides design of modular-monolith platforms with DDD, flat-by-aggregate modules, anti-corruption layers, outbox events and resilience, plus an architecture document with SVG diagrams.
tech-leads-club/agent-skills
Generates Excalidraw diagram files from plain descriptions, choosing among flowcharts, mind maps, architecture, swimlane, class, sequence and ER diagrams.
tech-leads-club/agent-skills
Creates, validates and renders Mermaid diagrams to SVG, PNG or ASCII, including C4 and AWS architecture-beta, flowcharts, sequence diagrams and ERDs.
tech-leads-club/agent-skills
Answers AWS architecture, security and service-selection questions by searching AWS documentation through MCP tools first, then adapting advice to your stack and team.
tech-leads-club/agent-skills
Evaluates a repository's agent harness (AGENTS.md, rules, skills) for broken paths, redundant instructions and usefulness, and stops at reports.
tech-leads-club/agent-skills
Designs scalable NestJS modular monoliths with domain-driven design, Clean Architecture layers and optional CQRS, defining bounded contexts and strict module boundaries.
Categories
Turns an already-planned ticket or spec into a checklist, builds it, and has a fresh verifier agent prove each check independently. The skill covers three steps: extract one checklist from the plan, build it however the agent sees fit with no prescribed phases or task list, then verify with a fresh agent that proves each check on its own. It assumes the thinking and design happened elsewhere and aims to lose nothing from it.
TLC Implement fits situations like: building a ticket or spec whose design has already been decided; extracting a checklist of testable checks from a written plan; getting independent proof that each requirement was actually met; implementing UI screens with per-screen checks on copy and layout.
Run `npx skills add tech-leads-club/agent-skills --skill tlc-implement -a claude-code`. Or copy the skill folder (packages/skills-catalog/skills/(development)/tlc-implement in tech-leads-club/agent-skills) into .claude/skills/tlc-implement in your project. Claude Code loads it when a task matches its description.
Run `npx skills add tech-leads-club/agent-skills --skill tlc-implement -a codex`. Or copy the skill folder (packages/skills-catalog/skills/(development)/tlc-implement in tech-leads-club/agent-skills) into .agents/skills/tlc-implement 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 tech-leads-club/agent-skills --skill tlc-implement -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/tlc-implement, .gemini/skills/tlc-implement, .github/skills/tlc-implement and .opencode/skills/tlc-implement in your project.
Going by SKILL.md and its folder, TLC Implement needs the command-line tools its instructions call (git). Our summary lists: A written plan, ticket or spec to implement.
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.
TLC Implement is published under the CC-BY-4.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.3k 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 12k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with TLC Implement: Bulletproof Workflow (artemiimillier/bulletproof, 153 stars), Procoder Commit Gate (azrtydxb/procoder, 211 stars), Build a New-Project Slice (KhazP/vibe-coding-prompt-template, 3.1k stars) and BiSheng SDD Document Review (dataelement/bisheng, 12k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
tech-leads-club (a GitHub organization) maintains it in tech-leads-club/agent-skills, which has 7,043 GitHub stars. The repository holds 74 skills in this directory. The repository was last updated on October 8, 2026.
Source: tech-leads-club/agent-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.