From hl-design-systems
This skill should be used when the user asks to "assess a Rust crate for stable toolchain", "check if a crate needs nightly", "analyze nightly features in a Rust crate", "evaluate stable compatibility", "can this crate compile on stable", "assess stable migration feasibility", "check nightly dependencies", or mentions evaluating whether a Rust crate can drop the nightly toolchain requirement.
npx claudepluginhub horizenlabs/hl-claude-marketplace --plugin hl-design-systemsThis skill uses the workspace's default tool permissions.
Analyze a Rust crate to determine if it can be compiled with the `stable` toolchain.
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Migrates code, prompts, and API calls from Claude Sonnet 4.0/4.5 or Opus 4.1 to Opus 4.5, updating model strings on Anthropic, AWS, GCP, Azure platforms.
Performs token-optimized structural code search using tree-sitter AST parsing to discover symbols, outline files, and unfold code without reading full files.
Analyze a Rust crate to determine if it can be compiled with the stable toolchain.
When the crate requires nightly, identify all nightly features used (directly and
transitively), evaluate their stabilization status, and assess the feasibility of removing
each one. Produce a structured report with confidence-rated conclusions, audited by an
independent subagent before delivery.
Scope: assessment and reporting only — never modify the crate's code or create PRs.
The user provides crate "coordinates" in one of these forms:
| Form | Example | Resolution |
|---|---|---|
| GitHub repo + crate name | github.com/foo/bar, crate baz | Clone/navigate to the repo, locate baz/Cargo.toml |
| Local path | /home/user/my-crate | Navigate directly |
| crates.io name | serde_json | Look up the repository URL from crate metadata, then proceed as GitHub repo |
If coordinates are ambiguous (e.g., a workspace with multiple crates and no crate name specified), ask the user to clarify which crate to assess.
Cargo.toml and rust-toolchain.toml (or rust-toolchain) to determine the
declared toolchain channel and minimum Rust version.#![feature(...)] declarations across all .rs source files in the crate..cargo/config.toml for nightly-only flags (e.g., -Z flags, build-std).#![feature(...)] usage — inspect
their source in the local vendor/ directory, the Cargo registry cache
(~/.cargo/registry/src/), or by cloning the dependency's repository.If no nightly features and no nightly-only configuration are found, the crate likely
compiles on stable. Verify by attempting cargo +stable check if the toolchain is
available, then produce a short positive report.
For each nightly feature identified, evaluate these dimensions:
Determine where the feature sits in the Rust stabilization pipeline:
rust-lang/rust using web search or gh CLI.Fallback when web search is unavailable: Note the feature name and its expected
tracking issue format (rust-lang/rust#NNNNN). Check the feature gate declaration in
the Rust compiler source (compiler/rustc_feature/src/unstable.rs) for the issue number.
Mark the status as "needs manual verification" and include the issue URL for the user
to check.
let_chains,
box_patterns, nightly-only derives with manual alternatives).Justify the classification with a concrete explanation of what the stable alternative would look like, or why none exists.
Assign one of:
Generate the assessment report following the template in references/report-template.md.
Output path: default to reports/<crate-name>-stable-assessment.md. Ask the user if
they prefer a different location. Create the reports/ directory if it does not exist.
If a report already exists at the target path, ask the user whether to overwrite it or
append a timestamp to the new filename (e.g., <crate-name>-stable-assessment-20260316.md).
Before delivering the report, spawn an auditor subagent to review it with a clean context.
Critical requirements for the subagent:
Agent tool to spawn a general-purpose subagent.references/audit-prompt.md and substituting the full
report content into the <REPORT_CONTENT> placeholder.After receiving the audit results, update the report:
> 90% — GOOD70%-90% — REASONABLE< 70% — POORSave the final version of the report.
references/report-template.md — Complete report structure with all required
sections, formatting guidelines, and the summary table format.references/audit-prompt.md — Self-contained prompt template for the auditor
subagent. Includes all instructions the auditor needs; substitute report content into
the <REPORT_CONTENT> placeholder before use.