makepad-skills
Skills for building cross-platform UI applications with Makepad 2.0.
AI-powered Rust development assistant with meta-cognition framework
> /plugin marketplace add zhanghandong/rust-skills> /plugin install rust-skills@rust-skills
What's inside
AI-powered Rust development assistant with meta-cognition framework
Rust Skills is a Claude Code plugin that transforms how AI assists with Rust development. Instead of giving surface-level answers, it traces through cognitive layers to provide domain-correct architectural solutions.
Traditional AI assistance for Rust:
User: "My trading system reports E0382"
AI: "Use .clone()" โ Surface fix, ignores domain constraints
Rust Skills with meta-cognition:
User: "My trading system reports E0382"
AI (with Rust Skills):
โโโ Layer 1: E0382 = ownership error โ Why is this data needed?
โ โ
โโโ Layer 3: Trade records are immutable audit data โ Should share, not copy
โ โ
โโโ Layer 2: Use Arc<TradeRecord> as shared immutable value
โ โ
โโโ Recommendation: Redesign as Arc<T>, not clone()
Rust Skills supports two installation modes:
The simplest way to get started. Works with any coding agent that supports skills, including Claude Code, Vercel's add-skills, and others.
Skills now include inline fallback logic โ when agent files are not available, skills execute directly using built-in tools (actionbook, agent-browser, WebFetch).
npx skills add actionbook/rust-skills
Install via CoWork, a Rust-based skills management tool:
# Install CoWork
cargo install cowork
# Method 1: Direct install
cowork install actionbook/rust-skills
# Method 2: Config-based install (recommended for teams)
cowork config init # Create .cowork/Skills.toml
# Edit Skills.toml to add rust-skills (see below)
cowork config install # Install all configured skills
Skills.toml configuration:
[project]
name = "my-rust-project"
[skills.install]
rust-skills = "actionbook/rust-skills"
[security]
trusted_authors = ["ZhangHanDong"]
CoWork (
cofor short) provides version management, dependency resolution, lock files, and security auditing. See CoWork documentation for more details.
git clone https://github.com/actionbook/rust-skills.git
cp -r rust-skills/skills/* ~/.claude/skills/
Note: Skills-only mode does not include hooks, so meta-cognition won't trigger automatically. You can manually call
/rust-routeror specific skills. Background agents fall back to inline execution automatically.
For Claude Code users who want the complete experience with hooks, background agents, and auto meta-cognition triggering.
# Step 1: Add the marketplace
/plugin marketplace add actionbook/rust-skills
# Step 2: Install the plugin
/plugin install rust-skills@rust-skills
Note: Step 1 only adds the marketplace (plugin source). Step 2 actually installs the rust-skills plugin with all features enabled.
# Clone the repository
git clone https://github.com/actionbook/rust-skills.git
# Launch with plugin directory
claude --plugin-dir /path/to/rust-skills
| Feature | Plugin (Marketplace) | Plugin (Local) | Skills-only (NPX/CoWork/Manual) |
|---|---|---|---|
| All 31 Skills | โ | โ | โ |
| Auto meta-cognition trigger | โ | โ | โ (manual invoke) |
| Hook-based routing | โ | โ | โ |
| Background agents | โ | โ | โ (inline fallback) |
| Easy updates | โ | โ | โ (NPX/CoWork) |
| Works with other agents | โ | โ | โ |
Background agents require permission to run agent-browser. Configure in your project:
# Copy example config
cp /path/to/rust-skills/.claude/settings.example.json .claude/settings.local.json
Or create manually:
mkdir -p .claude
cat > .claude/settings.local.json << 'EOF'
{
"permissions": {
"allow": [
"Bash(agent-browser *)"
]
}
}
EOF
See .claude/settings.example.json for reference.
Rust Skills relies on these external tools for full functionality:
| Tool | Description | GitHub |
|---|---|---|
| actionbook | MCP server for website action manuals. Used by agents to fetch structured web content (Rust releases, crate info, documentation). | actionbook/actionbook |
| agent-browser | Browser automation tool for fetching real-time web data. Fallback when actionbook is unavailable. | vercel-labs/agent-browser |
Don't answer directly. Trace through cognitive layers first.
Layer 3: Domain Constraints (WHY)
โโโ Domain rules determine design choices
โโโ Example: Financial systems require immutable, auditable data
Layer 2: Design Choices (WHAT)
โโโ Design patterns and architectural decisions
โโโ Example: Use Arc<T> for shared immutable data
Layer 1: Language Mechanics (HOW)
โโโ Rust language features and compiler rules
โโโ Example: E0382 is a symptom of ownership design issues
| User Signal | Entry Layer | Trace Direction | Primary Skill |
|---|---|---|---|
| E0xxx errors | Layer 1 | Trace UP โ | m01-m07 |
| "How to design..." | Layer 2 | Bidirectional | m09-m15 |
| "[Domain] app development" | Layer 3 | Trace DOWN โ | domain-* |
| Performance issues | Layer 1โ2 | Up then Down | m10-performance |
rust-router - Master router for all Rust questions (invoked first)rust-learner - Fetch latest Rust/crate version infocoding-guidelines - Coding conventions lookup| Skill | Core Question | Triggers |
|---|---|---|
| m01-ownership | Who should own this data? | E0382, E0597, move, borrow |
| m02-resource | What ownership pattern fits? | Box, Rc, Arc, RefCell |
| m03-mutability | Why does this data need to change? | mut, Cell, E0596, E0499 |
| m04-zero-cost | Compile-time or runtime polymorphism? | generic, trait, E0277 |
| m05-type-driven | How can types prevent invalid states? | newtype, PhantomData |
| m06-error-handling | Expected failure or bug? | Result, Error, panic, ? |
| m07-concurrency | CPU-bound or I/O-bound? | async, Send, Sync, thread |
| Skill | Core Question | Triggers |
|---|---|---|
| m09-domain | What role does this concept play? | DDD, entity, value object |
| m10-performance | Where's the bottleneck? | benchmark, profiling |
| m11-ecosystem | Which crate fits this task? | crate selection, dependencies |
| m12-lifecycle | When to create, use, cleanup? | RAII, Drop, lazy init |
| m13-domain-error | Who handles this error? | retry, circuit breaker |
| m14-mental-model | How to think about this correctly? | learning Rust, why |
| m15-anti-pattern | Does this pattern hide design issues? | code smell, common mistakes |
| Skill | Domain | Core Constraints |
|---|---|---|
| domain-fintech | FinTech | Audit trail, precision, consistency |
| domain-ml | Machine Learning | Memory efficiency, GPU acceleration |
| domain-cloud-native | Cloud Native | 12-Factor, observability, graceful shutdown |
| domain-iot | IoT | Offline-first, power management, security |
| domain-web | Web Services | Stateless, latency SLA, concurrency |
| domain-cli | CLI | UX, config precedence, exit codes |
| domain-embedded | Embedded | No heap, no_std, real-time |
| Command | Description |
|---|---|
/rust-features [version] | Get Rust version features |
/crate-info <crate> | Get crate information |
/docs <crate> [item] | Get API documentation |
/sync-crate-skills | Sync skills from Cargo.toml dependencies |
/update-crate-skill <crate> | Update specific crate skill |
/clean-crate-skills | Clean local crate skills |
Generate skills on-demand from your project dependencies:
# Enter your Rust project
cd my-rust-project
# Sync all dependencies
/sync-crate-skills
# Skills are created at ~/.claude/skills/{crate}/
~/.claude/skills/User Question
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Hook Layer โ
โ 400+ keywords trigger meta-cognition โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ rust-router โ
โ Identify entry layer + domain โ
โ Decision: dual-skill loading โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโ
โผ โผ โผ
โโโโโโโโโโโโ โโโโโโโโโโโโ โโโโโโโโโโโโ
โ Layer 1 โ โ Layer 2 โ โ Layer 3 โ
โ m01-m07 โ โ m09-m15 โ โ domain-* โ
โโโโโโโโโโโโ โโโโโโโโโโโโ โโโโโโโโโโโโ
โ
โผ
Domain-correct architectural solution
Contributions are welcome! Please read our contributing guidelines before submitting PRs.
MIT License - see LICENSE for details.
_meta/
error-protocol.md
externalization.md
hooks-patterns.md
layer-definitions.md
negotiation-protocol.md
negotiation-templates.md
reasoning-framework.md
.claude/
.claude-plugin/
marketplace.json
plugin.json
hooks/
rust-skill-eval-hook.sh
settings.example.json
.codex/
INSTALL.md
.github/
FUNDING.yml
.gitignore
.mcp.json
.opencode/
INSTALL.md
instructions/
rust-skills.md
agents/
AGENTS.md
_negotiation/
confidence-rubric.md
response-format.md
_shared/
fetch-strategy.md
browser-fetcher.md
clippy-researcher.md
crate-researcher.md
docs-cache.md
docs-researcher.md
layer1-analyzer.md
layer2-analyzer.md
layer3-analyzer.md
rust-changelog.md
rust-daily-reporter.md
std-docs-researcher.md
cache/
config.yaml
README.md
CHANGELOG.md
CLAUDE.md
commands/
achievement.md
ai-daily.md
audit.md
cache-clean.md
cache-status.md
clean-crate-skills.md
crate-info.md
create-llms-for-skills.md
create-llms-from-source.md
create-skills-via-llms.md
docs.md
fix-skill-docs.md
guideline.md
rust-daily.md
rust-features.md
rust-review.md
skill-index.md
sync-crate-skills.md
unsafe-check.md
unsafe-review.md
update-crate-skill.md
docs/
architecture-zh.md
capabilities-summary-zh.md
capabilities-summary.md
config-priority-zh.md
context-optimization.md
docs-cache-spec.md
forced-eval-hook.md
functional-overview-zh.md
hook-mechanism-zh.md
meta-cognition-example-e0382.md
problem-solved.md
prompt-engineering-zh.md
rust-skills-introduction-v1-deprecated.md
rust-skills-introduction.md
skill-inheritance.md
skills-best-practices.md
skills-design-lessons.md
skills-testing.md
test-cases/
e0382-trading-system.rs
meta-cognition-test-suite.md
what-is-a-skill.md
examples/
achievement-hooks-config.json
hooks/
hooks.json
index/
agents-index.md
commands-index.md
domain-extensions.md
error-codes.md
meta-questions.md
skills-index.md
tech-categories.md
triggers-index.md
metadata.json
README-ja.md
README-zh.md
README.md
references/
achievement-definitions.md
REVIEW.md
scripts/
achievement-tracker.sh
analyze-skills.sh
extract-rust-docs.sh
generate-index.sh
quality-check.sh
setup-achievements.sh
setup.sh
skills/
coding-guidelines/
clippy-lints/
_index.md
index/
rules-index.md
SKILL.md
core-actionbook/
agents/
openai.yaml
SKILL.md
core-agent-browser/
agents/
openai.yaml
SKILL.md
core-dynamic-skills/
agents/
openai.yaml
SKILL.md
core-fix-skill-docs/
agents/
openai.yaml
SKILL.md
domain-cli/
SKILL.md
domain-cloud-native/
SKILL.md
domain-embedded/
SKILL.md
domain-fintech/
SKILL.md
domain-iot/
SKILL.md
domain-ml/
SKILL.md
domain-web/
SKILL.md
m01-ownership/
comparison.md
examples/
best-practices.md
patterns/
common-errors.md
lifetime-patterns.md
SKILL.md
m02-resource/
SKILL.md
m03-mutability/
SKILL.md
m04-zero-cost/
SKILL.md
m05-type-driven/
SKILL.md
m06-error-handling/
examples/
library-vs-app.md
patterns/
error-patterns.md
SKILL.md
m07-concurrency/
comparison.md
examples/
thread-patterns.md
patterns/
async-patterns.md
common-errors.md
SKILL.md
m09-domain/
SKILL.md
m10-performance/
patterns/
optimization-guide.md
SKILL.md
m11-ecosystem/
SKILL.md
m12-lifecycle/
SKILL.md
m13-domain-error/
SKILL.md
m14-mental-model/
patterns/
thinking-in-rust.md
SKILL.md
m15-anti-pattern/
patterns/
common-mistakes.md
SKILL.md
meta-cognition-parallel/
SKILL.md
rust-call-graph/
SKILL.md
rust-code-navigator/
SKILL.md
rust-daily/
SKILL.md
rust-deps-visualizer/
SKILL.md
rust-learner/
SKILL.md
rust-refactor-helper/
SKILL.md
rust-router/
examples/
workflow.md
integrations/
os-checker.md
patterns/
negotiation.md
SKILL.md
rust-skill-creator/
SKILL.md
rust-symbol-analyzer/
SKILL.md
rust-trait-explorer/
SKILL.md
unsafe-checker/
AGENTS.md
checklists/
before-unsafe.md
common-pitfalls.md
review-unsafe.md
examples/
ffi-patterns.md
safe-abstraction.md
metadata.json
rules/
_sections.md
_template.md
ffi-01-no-string-direct.md
ffi-02-read-ffi-docs.md
ffi-03-drop-for-c-ptr.md
ffi-04-panic-boundary.md
ffi-05-portable-types.md
ffi-06-string-abi.md
ffi-07-no-drop-external.md
ffi-08-error-handling.md
ffi-09-ref-not-ptr.md
ffi-10-thread-safety.md
ffi-11-packed-ub.md
ffi-12-invariant-doc.md
ffi-13-data-layout.md
ffi-14-stable-layout.md
ffi-15-validate-external.md
ffi-16-closure-to-c.md
ffi-17-opaque-types.md
ffi-18-no-trait-objects.md
general-01-no-abuse.md
general-02-not-for-perf.md
general-03-no-alias.md
io-01-raw-handle.md
mem-01-repr-layout.md
mem-02-no-other-process.md
mem-03-no-auto-drop-foreign.md
mem-04-reentrant.md
mem-05-bitfield-crates.md
mem-06-maybeuninit.md
ptr-01-no-thread-share.md
ptr-02-prefer-nonnull.md
ptr-03-phantomdata.md
ptr-04-alignment.md
ptr-05-no-const-to-mut.md
ptr-06-prefer-cast.md
safety-01-panic-safety.md
safety-02-verify-invariants.md
safety-03-no-uninit-api.md
safety-04-double-free.md
safety-05-send-sync.md
safety-06-no-raw-ptr-api.md
safety-07-unsafe-pair.md
safety-08-no-mut-from-immut.md
safety-09-safety-comment.md
safety-10-safety-doc.md
safety-11-assert-not-debug.md
union-01-avoid-except-ffi.md
union-02-no-cross-lifetime.md
SKILL.md
templates/
concurrency/
async-task.rs
worker-pool.rs
decision.md
error-handling/
anyhow.rs
thiserror.rs
ffi/
safe-wrapper.rs
findings.md
README.md
trace.md
test-triggers.md
test-triggers.sh
tests/
hook-matcher-test.py
pressure-scenarios/
m01-ownership/
e0382-moved-value.md
e0597-lifetime-short.md
m06-error-handling/
when-to-unwrap.md
m07-concurrency/
send-sync-bounds.md
README.md
scenarios/
agents.md
domain-skills.md
layer2-skills.md
ownership.md
routing.md
unsafe.md
validation/
validate-skills.sh
VERSIONSkills for building cross-platform UI applications with Makepad 2.0.
FAQ
rust-skills is a Claude Code plugin with 38 hand-picked skills for development work, indexed on Flowy. Install it with the command on its page. It includes coding-guidelines, core-actionbook, core-agent-browser. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.