Modern JavaScript Patterns
wshobson/agents
Covers ES6+ syntax and functional patterns for refactoring older JavaScript: async/await, destructuring, spread, modules, generators and data pipelines.
Review and refactor inference-runtime code using concrete rules for responsibility boundaries, state ownership, interfaces, asynchronous lifetimes, KV management, and maintainability.
$ npx skills add ThinkFlowLab/vllm-rlt --skill rlt-refactor -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install ThinkFlowLab/vllm-rlt rlt-refactor --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/ThinkFlowLab/vllm-rlt.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/rlt-refactor .claude/skills/rlt-refactor && 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 "rlt-refactor" agent skill from https://github.com/ThinkFlowLab/vllm-rlt/tree/main/.agents/skills/rlt-refactor into .claude/skills/rlt-refactor/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rlt-refactor", 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/ThinkFlowLab/vllm-rlt/tree/main/.agents/skills/rlt-refactorType 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 ThinkFlowLab/vllm-rlt --skill rlt-refactor -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install ThinkFlowLab/vllm-rlt rlt-refactor --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ThinkFlowLab/vllm-rlt.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/rlt-refactor .agents/skills/rlt-refactor && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "rlt-refactor" agent skill from https://github.com/ThinkFlowLab/vllm-rlt/tree/main/.agents/skills/rlt-refactor into .agents/skills/rlt-refactor/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rlt-refactor", 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 ThinkFlowLab/vllm-rlt --skill rlt-refactor -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install ThinkFlowLab/vllm-rlt rlt-refactor --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ThinkFlowLab/vllm-rlt.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/rlt-refactor .cursor/skills/rlt-refactor && 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 "rlt-refactor" agent skill from https://github.com/ThinkFlowLab/vllm-rlt/tree/main/.agents/skills/rlt-refactor into .cursor/skills/rlt-refactor/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rlt-refactor", 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/ThinkFlowLab/vllm-rlt.git --path .agents/skills/rlt-refactor--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 ThinkFlowLab/vllm-rlt --skill rlt-refactor -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install ThinkFlowLab/vllm-rlt rlt-refactor --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ThinkFlowLab/vllm-rlt.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/rlt-refactor .gemini/skills/rlt-refactor && 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 "rlt-refactor" agent skill from https://github.com/ThinkFlowLab/vllm-rlt/tree/main/.agents/skills/rlt-refactor into .gemini/skills/rlt-refactor/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rlt-refactor", 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 ThinkFlowLab/vllm-rlt rlt-refactorInstalls 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 ThinkFlowLab/vllm-rlt --skill rlt-refactor -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/ThinkFlowLab/vllm-rlt.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/rlt-refactor .github/skills/rlt-refactor && 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 "rlt-refactor" agent skill from https://github.com/ThinkFlowLab/vllm-rlt/tree/main/.agents/skills/rlt-refactor into .github/skills/rlt-refactor/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rlt-refactor", 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 ThinkFlowLab/vllm-rlt --skill rlt-refactor -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install ThinkFlowLab/vllm-rlt rlt-refactor --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ThinkFlowLab/vllm-rlt.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/rlt-refactor .opencode/skills/rlt-refactor && 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 "rlt-refactor" agent skill from https://github.com/ThinkFlowLab/vllm-rlt/tree/main/.agents/skills/rlt-refactor into .opencode/skills/rlt-refactor/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rlt-refactor", 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.
rlt-refactorReview and refactor inference-runtime code using concrete rules for responsibility boundaries, state ownership, interfaces, asynchronous lifetimes, KV management, and maintainability.
Rlt Refactor is an agent skill from ThinkFlowLab/vllm-rlt. Review and refactor inference-runtime code using concrete rules for responsibility boundaries, state ownership, interfaces, asynchronous lifetimes, KV management, and maintainability. Use for code-quality reviews and behavior-preserving refactoring of vllm-rlt.
Its SKILL.md is about 4.2k 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 Refactoring, LLM inference and serving and Code quality. It works with vLLM. The repository describes itself as: vllm based inference engine for looped transformer. The licence is Apache-2.0.
Read from SKILL.md and the folder at commit b599dc5. 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.
No scripts in the folder and no shell commands in SKILL.md (its code samples are python).
From 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.
Rlt Refactor loads about 4.2k tokens when it runs. Until then it costs about 69 tokens; SKILL.md has 2,053 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 ThinkFlowLab/vllm-rlt at commit b599dc5, republished under its Apache-2.0 licence (© ThinkFlowLab). 2,053 words, ~4,163 tokens.
.claude/skills/rlt-refactor/SKILL.md (or your agent's skills folder).Apply the following rules to the changed code and its callers. Explain each applicable finding with its location, triggering condition, impact, and correction. For review-only requests, report findings without modifying code. When implementation is requested, keep changes within scope and validate affected contracts.
Examples illustrate contracts, not mandatory APIs or complete implementations. Introduce a class, enum, helper, or abstraction only when it resolves a concrete problem. Preserve stable rule IDs as this library evolves.
Separate policy, admission, allocation, execution, and result application where they have different responsibilities. Moving code between files without clarifying its dependencies is not enough. Prefer small, cohesive operations over speculative frameworks.
Example: make the scheduling path read as choose_stage() → admit_requests() → build_batch(). Do not hide all three responsibilities inside a renamed SchedulerHelper.run().
Identify who initializes, advances, resets, and releases each state. Distinguish configuration from runtime progress. Other modules should request transitions or provide feedback rather than independently mutate the owner's bookkeeping.
Example: a policy owns its fairness counter and no-refill phase; Scheduler owns queues and logical request progression; ModelRunner owns device tensors and execution events. These owners may use internal helpers without creating additional authoritative copies.
Keep temporary selections and exclusions local to the operation whose validity they describe. Pass the context explicitly. Check repeated calls, alternate entry points, cancellation, and request-ID reuse; do not depend on a reset performed by only one caller.
Example: a batch builder creates a local selected set and passes excluded=frozenset(selected) when requesting preemption. Storing it on Scheduler can accidentally protect requests selected by an earlier batch.
Keep eligibility, ranking, victim selection, and queue transitions with scheduling. Snapshot, copy, restore, and release mechanisms should execute a defined operation and report its outcome. Agree on the transition protocol so failed resource operations do not leave inconsistent scheduling state.
Example: Scheduler chooses a preemption victim and coordinates its suspension. A state-preservation component saves the victim's device state; it does not independently choose a different victim or edit scheduler queues.
Name related values crossing module boundaries. Define units, ownership, lifetime, and mutation rights. Specify tensor shape, dtype, device, layout, and borrowing scope where relevant. Do not expose mutable internal domain objects merely for convenience.
Example: AdmissionPlan(required_blocks=8, reclaimable_blocks=3) communicates more than (8, 3). An execution result should identify whether it contains gate scores, sampled tokens, or completed prefill ranges rather than requiring the caller to infer an untyped list's meaning.
Use an enum or named outcome when strings or overloaded booleans obscure valid states. Preserve external serialization at the boundary. Ordinary two-way conditions do not automatically need enums.
Example: use ResumeResult.NOT_FOUND, BLOCKED, and RESTORED for three restoration outcomes. An internal FinishReason.LENGTH can still serialize to the existing public string "length".
Expose meaningful dependencies instead of reading unrelated mutable state implicitly. Prefer keyword-only switches where positional booleans obscure meaning. Distinguish valid zero values from failure and define inclusive/exclusive boundaries.
Example:
available_count = ensure_active_slot(request, active_count)
if available_count is None:
return # Zero is a valid count, not failure.
reserved_blocks = reserved_growth_blocks(reserve_outputs=True)A frontier for token range [4, 8) is the exclusive token extent 8, not the loop depth. A planning function that updates prefix LRU state must disclose that side effect rather than appear pure.
Extract cohesive steps that reveal intent and keep successful, blocked, retry, and failure paths understandable. Preserve ordering and side effects. Avoid helpers that add indirection without clarifying a responsibility.
Example: admission can read as queue ordering, slot availability, restoration, budget planning, and allocation/queue commit. Extracting those steps must not silently introduce another-stage fallback when the selected stage produces an empty batch.
Choose names that distinguish quantities and lifecycle roles. Separate supplied input from derived usable extent. Preserve externally defined model fields unless changing them is an intentional compatibility decision.
Example: prefer _pending_exit_signals to _signals, request_id to rid, and watermark_ratio / watermark_blocks to one ambiguous watermark. Keep publishable_tokens separate from the supplied prefilled extent.
Initialize required components through their defined lifecycle. Do not weaken production invariants solely to support tests that bypass constructors. Keep ordinary imports visible; use lazy imports when justified by optional dependencies or initialization constraints.
Example: if every initialized engine owns a preemption manager, call self.preemption.discard_snapshot(request_id) directly. A test using object.__new__ should supply that required component rather than require production hasattr guards.
Use narrow public operations or read-only views to cross component boundaries. Define borrowing and mutation rights. A getter exposing unrestricted mutable internals does not resolve ownership. Let the responsible module define its contract rather than creating a competing interface in each caller.
Example: call preemption.discard_snapshot(request_id) instead of preemption.snapshots.pop(request_id, None). Serving should call engine request/statistics methods instead of requiring fake scheduler/cache objects on a PD facade.
Logical KV management owns allocation, references, block mappings, depth validity, leases, and release conditions. Execution owns tensor storage, writes, copies, and buffer/event lifetimes. Attention owns its capability and metadata semantics. Cross-boundary operations need explicit completion feedback.
Example: a scheduler asks for the resource cost of growth without inspecting private reference counts. An early-exit finalization plan describes affected depths and positions; execution performs the copies, and logical validity advances only after the required completion evidence.
Let each backend or adapter declare the operations it supports. Route through those capabilities. A version identity can inform the adapter's implementation but should not substitute for the caller-facing contract.
Example:
# Coupled to one implementation's version numbering.
packed_prefill = backend.generation == 4
# Describes the operation the caller actually requires.
packed_prefill = backend.capabilities.supports_packed_prefillAutomatic selection should consider hardware, available implementations, dtype, head dimension, block size, and required execution capabilities. Keep explicit selection available, fail clearly on incompatibility, and report the selected implementation and reason.
Example: an installed package is not enough to establish CUDA Graph or packed-prefill support. An auto request may select a compatible alternative with a diagnostic; an explicit incompatible choice should not silently switch to another backend.
Share scheduling, execution, and result-application semantics where they agree. Preserve differences between submission, device completion, and output delivery. Share recurrent computation while keeping prefill/decode state handling explicit at suitable boundaries.
Example: sync and async runners can consume the same task/result contracts while async execution retains multiple in-flight submissions. Requiring both to wait and return at identical points can destroy overlap. A local executor boundary does not, by itself, justify adding generic RPC or unused distributed implementations.
Share cleanup through owner-defined operations across completion, abort, cancellation, and failure. Distinguish immediately releasable state from resources still referenced by asynchronous work. Preserve distinct termination outcomes and required ordering.
Example: abort can delegate common queue/accounting cleanup to finish(reason=ABORT). Recycling a runner slot still waits for the event that covers its last use; consolidating cleanup must not bypass that dependency.
Associate results with the generation or execution that produced them. Validate that identity before updating current state. An external request ID can be reused and is not sufficient on its own.
Example:
if requests.get(result.request_id) is not submitted_request:
return # Cancelled request or a different request reusing the ID.Object identity is appropriate only within a shared process. Cross-process results need an equivalent generation/sequence contract.
Define the evidence required for each lifecycle transition. A submitted operation is not completed; completed device work does not prove every required range is valid; finished processing does not necessarily mean success.
Examples:
Keep token position distinct from loop depth. Preserve gate-score production/consumption timing, cumulative exit state, depth-aware KV validity, and subsequent-token behavior. Restoration must preserve relevant KV, hidden state, logical progress, exit state, and RNG state.
Example: moving sampling into a separate component must preserve request-local generator creation and advancement; resuming a request must not reseed it. Recomputing at full depth is not automatically equivalent to restoring a request that previously exited early.
Define valid KV ranges, destination mappings, final prompt hidden state, generation/chunk identities, commit, receive completion, activation, and acknowledgment. Specify how remote writes terminate before memory can be reused after cancellation, timeout, or worker failure.
Preserve interactions with prefix hits, in-flight transfers, and preemption. Do not alter transfer direction or chunk timing merely to fit a new interface.
Example: the P worker sends the required KV and final prompt hidden state; D performs coda and sampling. Cancelling D cannot immediately release destination pages while P may still write to them.
Do not add CPU round trips, .item(), synchronization, or repeated metadata allocation merely to simplify an interface. Keep buffers, streams, events, graphs, and asynchronous state under coherent lifetime contracts. Offload only operations that are safe on the destination thread.
Example: keep sampled token IDs on the GPU when the next prelude consumes them there. A profiler may need finalization/export on its owner thread while parsing and compressing already exported files runs in the background; wrapping everything in a future does not remove that constraint.
Separate structural changes from intentional behavior changes in the explanation and validation. Describe the old trigger, old outcome, new behavior, and evidence. They may share a change when appropriate, but a behavior fix must not masquerade as a pure extraction.
Example: changing fairness accounting so empty batches no longer consume an allowance is a behavior fix. Specify that the counter tracks nonempty scheduled batches, not GPU completions, and exercise both empty and nonempty cases.
Keep increments runnable. Use temporary adapters only where needed, migrate callers, and define when old paths can be removed. Avoid maintaining two authoritative state stores. Distinguish Python keywords, CLI flags, output serialization, and defaults when assessing compatibility.
Example: renaming a Python keyword from watermark to watermark_ratio requires caller migration even if --kv-watermark stays unchanged. Renaming publish_prefix(rid=...) changes keyword callers even when positional calls still work.
Document why ordering and lifecycle constraints exist, what state they protect, and what happens when progress is blocked. Use worked examples for budgets/layouts and diagrams where timing is otherwise hard to follow. Keep comments tied to actual invariants rather than narrating obvious syntax.
Update usage documentation when interfaces change. Place detailed evidence where it helps review; do not automatically add a permanent walkthrough or benchmark directory for every extraction.
Example: explain that the final prompt token is excluded from prefix reuse because its hidden state is needed for coda. Show a concrete admission-budget calculation that distinguishes physical blocks, reserved growth, and watermark headroom.
Validate the changed contract and its callers, including applicable blocked, cancellation, late-result, ID-reuse, failure, and restoration paths. Reuse existing checks where suitable. For a behavioral fix, reproduce the old failure where practical; do not write tests that merely mirror helper structure.
Cover affected exit policies, KV layouts, sampling paths, and feature combinations. Use justified numerical tolerances; do not assume cross-batch bitwise equivalence. For hot-path changes, compare performance under matched conditions and report the measured tradeoff.
Tie evidence to the tested revision and environment. Mocks, CPU tests, skipped GPU tests, and results from an earlier revision do not establish current device behavior or performance. Mark unverified paths explicitly.
Example: test that cancelled work cannot mutate a new request with the same ID, not merely that a helper was called. A CPU test of preemption logic does not establish safe CUDA stream ordering. Documentation-only changes do not require GPU benchmarks.
© ThinkFlowLab, Apache-2.0. 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 .agents/skills/rlt-refactor of ThinkFlowLab/vllm-rlt.
Open the folder on GitHubat commit b599dc5
Rlt Refactor 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 |
|---|---|---|---|---|---|---|
| Rlt Refactor this skillThinkFlowLab/vllm-rlt | 149 | — | ~4.2k | Automated safety check: Pass | Apache-2.0 | |
| Modern JavaScript Patternswshobson/agents | 40k | 12 repos | ~548 | Automated safety check: Pass | MIT | |
| Dynamo Kv Replay Parityai-dynamo/dynamo | 8.3k | — | ~4.9k | Automated safety check: Pass | Apache-2.0 | |
| LLM Torch Profiler Analysissgl-project/sglang | 37k | 2 repos | ~6.4k | Automated safety check: Pass | Apache-2.0 | |
| Ponytail Lazy Developer ModeDietrichGebert/ponytail | 160k | 1 repos | ~873 | Automated safety check: Pass | MIT | |
| Systematic Code Refactoringluongnv89/claude-howto | 42k | — | ~3k | Automated safety check: Pass | MIT |
wshobson/agents
Covers ES6+ syntax and functional patterns for refactoring older JavaScript: async/await, destructuring, spread, modules, generators and data pipelines.
ai-dynamo/dynamo
Runs deterministic byte-parity and paired performance campaigns for Dynamo offline KV-aware replay across native-G1 vLLM and SGLang configurations, including forced scheduler-pressure and…
sgl-project/sglang
Unified LLM torch-profiler triage skill for sglang, vllm, TensorRT-LLM, and TokenSpeed.
DietrichGebert/ponytail
Makes the agent pick the laziest solution that works: skip unneeded work, reuse what exists, prefer the standard library and platform features, and keep diffs small.
luongnv89/claude-howto
Guides refactoring in phases based on Martin Fowler's method: research, test coverage check, planning and small tested steps, with your approval at each phase.
docling-project/docling
Applies opinionated production Python conventions chosen by the project's Python version: modern type syntax, pathlib, explicit checks and interface guidance.
ThinkFlowLab/vllm-rlt
Review PRs and local changes for hsliuustc0106/vllm-rlt: Ouro engine and KV correctness, serving behavior, and BF16 accuracy/speed evidence.
ThinkFlowLab/vllm-rlt
Analyze and optimize vllm-rlt inference performance using reproducible unprofiled benchmarks, paired ops-only/full profiles, source-level attribution, and correctness checks.
Works with
Categories
Review and refactor inference-runtime code using concrete rules for responsibility boundaries, state ownership, interfaces, asynchronous lifetimes, KV management, and maintainability. Rlt Refactor is an agent skill from ThinkFlowLab/vllm-rlt. Review and refactor inference-runtime code using concrete rules for responsibility boundaries, state ownership, interfaces, asynchronous lifetimes, KV management, and maintainability.
Rlt Refactor fits situations like: code-quality reviews and behavior-preserving refactoring of vllm-rlt; tasks that involve Refactoring; tasks that involve LLM inference and serving.
Run `npx skills add ThinkFlowLab/vllm-rlt --skill rlt-refactor -a claude-code`. Or copy the skill folder (.agents/skills/rlt-refactor in ThinkFlowLab/vllm-rlt) into .claude/skills/rlt-refactor in your project. Claude Code loads it when a task matches its description.
Run `npx skills add ThinkFlowLab/vllm-rlt --skill rlt-refactor -a codex`. Or copy the skill folder (.agents/skills/rlt-refactor in ThinkFlowLab/vllm-rlt) into .agents/skills/rlt-refactor 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 ThinkFlowLab/vllm-rlt --skill rlt-refactor -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/rlt-refactor, .gemini/skills/rlt-refactor, .github/skills/rlt-refactor and .opencode/skills/rlt-refactor in your project.
SKILL.md names no scripts, command-line tools or credentials: Rlt Refactor is instructions for the agent only. 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.
Rlt Refactor is published under the Apache-2.0 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.
Skills that share tags, products or a category with Rlt Refactor: Modern JavaScript Patterns (wshobson/agents, 40k stars), Dynamo Kv Replay Parity (ai-dynamo/dynamo, 8.3k stars), LLM Torch Profiler Analysis (sgl-project/sglang, 37k stars) and Ponytail Lazy Developer Mode (DietrichGebert/ponytail, 160k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
ThinkFlowLab (a GitHub organization) maintains it in ThinkFlowLab/vllm-rlt, which has 149 GitHub stars. The repository holds 3 skills in this directory. The repository was last updated on October 11, 2026.
Source: ThinkFlowLab/vllm-rlt on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.