#586 by GitHub stars
Hybrid-Mount/meta-hybrid_mount
Hybrid Mount Metamodule
History
Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.
View weekly changes
.dsh/skills/hm-build-release/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
89f328fd945c → 89f328fd945c
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
.dsh/skills/hm-ci/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
89f328fd945c → 89f328fd945c
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
.dsh/skills/hm-module-scripts/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
89f328fd945c → 89f328fd945c
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
.dsh/skills/hm-mount-safety-review/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
89f328fd945c → 89f328fd945c
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
.dsh/skills/hm-planner-debug/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
89f328fd945c → 89f328fd945c
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
.dsh/skills/hm-runtime/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Local scripts → After Local scripts
89f328fd945c → 89f328fd945c
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
.dsh/skills/hm-rust-android/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
89f328fd945c → 89f328fd945c
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
.dsh/skills/hm-rust-lsp/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
89f328fd945c → 89f328fd945c
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
.dsh/skills/hm-verify/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
89f328fd945c → 89f328fd945c
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
.dsh/skills/hm-vfs/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
89f328fd945c → 89f328fd945c
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
.dsh/skills/hm-webui/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
89f328fd945c → 89f328fd945c
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
.dsh/skills/hybrid-mount-overview/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
89f328fd945c → 89f328fd945c
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
.dsh/skills/kernel-development-skills/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
89f328fd945c → 89f328fd945c
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
.dsh/skills/rust-best-practices/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
89f328fd945c → 89f328fd945c
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
.dsh/skills/rust-guidelines/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
89f328fd945c → 89f328fd945c
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
.dsh/skills/rust-skills/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
89f328fd945c → 89f328fd945c
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
.dsh/skills/rust-unsafe-review/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
89f328fd945c → 89f328fd945c
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
.dsh/skills/vue-best-practices/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
89f328fd945c → 89f328fd945c
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
.dsh/skills/vue-testing-best-practices/SKILL.md
Week of Oct 26, 2026 · +0 / −0 lines
Before Instructions only → After Instructions only
89f328fd945c → 89f328fd945c
Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.
Verified commit 89f328fd945c72794a6505d779f6d85834d131a3
git clone --filter=blob:none --no-checkout https://github.com/Hybrid-Mount/meta-hybrid_mount.git .hotskills/hybrid-mount-meta-hybrid_mount && git -C .hotskills/hybrid-mount-meta-hybrid_mount checkout --detach 89f328fd945c72794a6505d779f6d85834d131a3
# Copy each selected skill directory from .hotskills/hybrid-mount-meta-hybrid_mount into .claude/skills/<skill-name>/Heat
6.1- Star growth, last 7 daysAhead of 81% of tracked repositories
- Star growth, last 24 hoursAhead of 85% of tracked repositories
- Rank movement, last 7 daysAhead of 19% of tracked repositories
- Commits, last 30 daysAhead of 92% of tracked repositories
- Accounts asking about it through MCP, last 7 daysNot available
- Hot votes this weekAhead of 0% of tracked repositories
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
Individual skills in this repository
- hm-build-release
.dsh/skills/hm-build-release - hm-ci
.dsh/skills/hm-ci - hm-module-scripts
.dsh/skills/hm-module-scripts - hm-mount-safety-review
.dsh/skills/hm-mount-safety-review - hm-planner-debug
.dsh/skills/hm-planner-debug - hm-runtime
.dsh/skills/hm-runtime - hm-rust-android
.dsh/skills/hm-rust-android - hm-rust-lsp
.dsh/skills/hm-rust-lsp - hm-verify
.dsh/skills/hm-verify - hm-vfs
.dsh/skills/hm-vfs - hm-webui
.dsh/skills/hm-webui - hybrid-mount-overview
.dsh/skills/hybrid-mount-overview - kernel-development-skills
.dsh/skills/kernel-development-skills - rust-best-practices
.dsh/skills/rust-best-practices - rust-guidelines
.dsh/skills/rust-guidelines - rust-skills
.dsh/skills/rust-skills - rust-unsafe-review
.dsh/skills/rust-unsafe-review - vue-best-practices
.dsh/skills/vue-best-practices - vue-testing-best-practices
.dsh/skills/vue-testing-best-practices
How it works
hm-build-release
When your agent uses it
用 cargo xtask 构建 Hybrid Mount 模块包(WebUI + 三架构二进制 + module.prop + zip),并处理 update.json、changelog、Telegram 通知与发布流程。
What it loads into context
Frontmatter
84 tokensAlways available to the agent
SKILL.md
1,166 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 构建
- Tag 约定与 versionCode
- update.json
- Telegram 通知
- 发布流程(`.github/workflows/release.yml`)
- 本地发布前清单
Files
SKILL.mdcore3,818 bytesSKILL.mdcore3,818 bytesSKILL.mdcore3,818 bytesSKILL.mdcore3,818 bytesSKILL.mdcore3,818 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubhm-ci
When your agent uses it
Hybrid Mount 的 7 个 GitHub Actions workflow 拓扑、触发条件、权限、产物提交与发布链路;改 .github/workflows、判断改动的触发面或排查 CI 失败原因时读。
What it loads into context
Frontmatter
104 tokensAlways available to the agent
SKILL.md
5,491 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Workflow 一览
- 会往仓库提交产物的 workflow
- 发布链路(tag → 版本 → update.json/changelog)
- kernel-module.yml:DDK 构建与 sources.txt 门禁
- 权限与 secrets 注意事项
- 改 workflow 的自查清单
- 本地可复现 vs 只能 CI
- 汇报格式
Scripts executed separately
../../../tests/shell/customize_lkm.sh../../../tests/shell/customize_lkm.sh../../../tests/shell/vfs_sources_digest.sh../../../tests/shell/vfs_sources_digest.sh../../../tests/shell/vfs_sources_digest.sh
Files
SKILL.mdcore18,416 bytesSKILL.mdcore18,416 bytesSKILL.mdcore18,416 bytesSKILL.mdcore18,416 bytes../../../tests/shell/customize_lkm.shruns1,374 bytes../../../tests/shell/customize_lkm.shruns1,374 bytes../../../tests/shell/vfs_sources_digest.shruns1,538 bytes../../../tests/shell/vfs_sources_digest.shruns1,538 bytes../../../tests/shell/vfs_sources_digest.shruns1,538 bytes../../../tools/notify/Cargo.tomlasset926 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubhm-module-scripts
When your agent uses it
修改 Hybrid Mount 安装器与运行时 shell 脚本(module/*.sh、module/vfs/setup.sh、tests/shell/*.sh)前必读:各脚本的触发时机、可用变量与函数、退出码语义、平台裁剪规则和本地自测命令。
What it loads into context
Frontmatter
130 tokensAlways available to the agent
SKILL.md
2,800 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 执行时机与顺序
- 变量与路径约定
- 硬性约束
- ShellCheck 与本地自测
- 汇报格式
Scripts executed separately
../../../module/vfs/setup.sh../../../module/vfs/setup.sh../../../module/vfs/setup.sh../../../module/vfs/setup.sh../../../module/vfs/setup.sh../../../module/vfs/setup.sh../../../module/vfs/setup.sh../../../tests/shell/vfs_sources_digest.sh../../../tests/shell/vfs_sources_digest.sh../../../tests/shell/vfs_sources_digest.sh
Files
SKILL.mdcore8,808 bytesSKILL.mdcore8,808 bytesSKILL.mdcore8,808 bytesSKILL.mdcore8,808 bytesSKILL.mdcore8,808 bytesSKILL.mdcore8,808 bytesSKILL.mdcore8,808 bytesSKILL.mdcore8,808 bytesSKILL.mdcore8,808 bytesSKILL.mdcore8,808 bytesSKILL.mdcore8,808 bytes../../../module/vfs/setup.shruns5,507 bytes../../../module/vfs/setup.shruns5,507 bytes../../../module/vfs/setup.shruns5,507 bytes../../../module/vfs/setup.shruns5,507 bytes../../../module/vfs/setup.shruns5,507 bytes../../../module/vfs/setup.shruns5,507 bytes../../../module/vfs/setup.shruns5,507 bytes../../../tests/shell/vfs_sources_digest.shruns1,538 bytes../../../tests/shell/vfs_sources_digest.shruns1,538 bytes../../../tests/shell/vfs_sources_digest.shruns1,538 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubhm-mount-safety-review
When your agent uses it
Hybrid Mount 挂载与文件操作代码审查清单:返回值检查、Path 使用、回滚资源清理、只读源目录、禁用符号、cfg 平台隔离与 ext4/LKM 熔断语义。
What it loads into context
Frontmatter
100 tokensAlways available to the agent
SKILL.md
652 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 系统调用与文件操作
- 只读源目录
- 回滚与资源
- 代码规范门禁
- 快速自查
Files
SKILL.mdcore2,222 bytesSKILL.mdcore2,222 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubhm-planner-debug
When your agent uses it
诊断 Hybrid Mount 规划器冲突(同路径多后端、.replace 与 Overlay 后代、文件/目录类型冲突),并给出在 plan 阶段的修复方式与回归测试做法。
What it loads into context
Frontmatter
93 tokensAlways available to the agent
SKILL.md
583 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 先确认规则命中
- 常见冲突
- 定位与复现
- 排查顺序
Files
SKILL.mdcore2,072 bytesSKILL.mdcore2,072 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubhm-runtime
When your agent uses it
修改或排查 src/runtime/ 运行时层(boot、hot、ledger、transaction、rules、mounts、policy、lifecycle、device)时用:所有权账本阶段机、热挂载与 boot lock 竞态、事务回滚要清理的资源、状态快照契约。
What it loads into context
Frontmatter
135 tokensAlways available to the agent
SKILL.md
2,723 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 模块职责(名称与真实文件一致)
- 启动流水线与运行时层的衔接点
- 阶段机与竞态防护
- 热挂载语义
- 事务与回滚要清理什么
- 状态快照契约(写给 WebUI)
- 常见坑
- 本地可跑的验证
- 必须真机验证
- 汇报格式
Scripts executed separately
../../../tests/shell/boot_lock.sh../../../tests/shell/boot_lock.sh../../../tests/shell/boot_lock.sh../../../tests/shell/boot_lock.sh../../../tests/shell/boot_lock.sh../../../tests/shell/runtime_hooks.sh../../../tests/shell/runtime_hooks.sh../../../tests/shell/runtime_hooks.sh../../../tests/shell/runtime_hooks.sh../../../tests/shell/runtime_hooks.sh
Files
SKILL.mdcore9,378 bytesSKILL.mdcore9,378 bytesSKILL.mdcore9,378 bytesSKILL.mdcore9,378 bytesSKILL.mdcore9,378 bytes../../../tests/shell/boot_lock.shruns730 bytes../../../tests/shell/boot_lock.shruns730 bytes../../../tests/shell/boot_lock.shruns730 bytes../../../tests/shell/boot_lock.shruns730 bytes../../../tests/shell/boot_lock.shruns730 bytes../../../tests/shell/runtime_hooks.shruns602 bytes../../../tests/shell/runtime_hooks.shruns602 bytes../../../tests/shell/runtime_hooks.shruns602 bytes../../../tests/shell/runtime_hooks.shruns602 bytes../../../tests/shell/runtime_hooks.shruns602 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubhm-rust-android
When your agent uses it
Hybrid Mount Rust Android 交叉编译与平台条件检查;用于修改 sys、storage、挂载后端或排查 macOS 通过而 Android 失败的问题。
What it loads into context
Frontmatter
47 tokensAlways available to the agent
SKILL.md
422 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore1,640 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubhm-rust-lsp
When your agent uses it
在 DeepSeek Harness 中用 dsh-lsp-actions 与 rust-analyzer 检查 Rust 诊断、符号、类型提示和重命名;用于 Rust 编辑与语义重构。
What it loads into context
Frontmatter
52 tokensAlways available to the agent
SKILL.md
345 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
Files
SKILL.mdcore1,335 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubhm-verify
When your agent uses it
按 .github/workflows/lints.yml 的门禁在本地跑 Hybrid Mount 全量校验:fmt、clippy -D warnings、测试、禁用符号、LKM 校验、技能目录校验、ShellCheck、安装器测试、Android 三架构与 WebUI。
What it loads into context
Frontmatter
101 tokensAlways available to the agent
SKILL.md
1,128 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Rust
- 禁用符号门禁
- 技能目录门禁
- LKM 来源与校验
- 模块脚本
- Android 交叉检查
- WebUI
- 汇报格式
Scripts executed separately
../../../module/vfs/setup.sh../../../module/vfs/setup.sh../../../module/vfs/setup.sh../../../module/vfs/setup.sh../../../module/vfs/setup.sh../../../module/vfs/setup.sh../../../module/vfs/setup.sh
Files
SKILL.mdcore3,655 bytesSKILL.mdcore3,655 bytesSKILL.mdcore3,655 bytesSKILL.mdcore3,655 bytesSKILL.mdcore3,655 bytesSKILL.mdcore3,655 bytesSKILL.mdcore3,655 bytesSKILL.mdcore3,655 bytesSKILL.mdcore3,655 bytesSKILL.mdcore3,655 bytesSKILL.mdcore3,655 bytesSKILL.mdcore3,655 bytesSKILL.mdcore3,655 bytesSKILL.mdcore3,655 bytes../../../module/vfs/setup.shruns5,507 bytes../../../module/vfs/setup.shruns5,507 bytes../../../module/vfs/setup.shruns5,507 bytes../../../module/vfs/setup.shruns5,507 bytes../../../module/vfs/setup.shruns5,507 bytes../../../module/vfs/setup.shruns5,507 bytes../../../module/vfs/setup.shruns5,507 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubhm-vfs
When your agent uses it
维护 Hybrid Mount 的 VFS 内核子系统 hybridmount(module/vfs 内核模块 + src/vfs Rust 控制面):改规则、CLI/doctor、LKM 选型或重编 .ko 时用。
What it loads into context
Frontmatter
107 tokensAlways available to the agent
SKILL.md
2,691 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 构成与职责边界
- CLI 与 doctor(真实子命令)
- 加载、熔断与规划顺序(硬性)
- GKI 选型(`src/vfs/lkm_target.rs`)
- 重新构建内核模块与防漂移
- 本地验证
- 汇报格式
Scripts executed separately
../../../module/vfs/setup.sh../../../module/vfs/setup.sh../../../module/vfs/setup.sh../../../module/vfs/setup.sh../../../module/vfs/setup.sh../../../module/vfs/setup.sh../../../module/vfs/setup.sh
Files
SKILL.mdcore8,618 bytesSKILL.mdcore8,618 bytesSKILL.mdcore8,618 bytesSKILL.mdcore8,618 bytesSKILL.mdcore8,618 bytesSKILL.mdcore8,618 bytesSKILL.mdcore8,618 bytesSKILL.mdcore8,618 bytes../../../module/vfs/setup.shruns5,507 bytes../../../module/vfs/setup.shruns5,507 bytes../../../module/vfs/setup.shruns5,507 bytes../../../module/vfs/setup.shruns5,507 bytes../../../module/vfs/setup.shruns5,507 bytes../../../module/vfs/setup.shruns5,507 bytes../../../module/vfs/setup.shruns5,507 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubhm-webui
When your agent uses it
Hybrid Mount WebUI(Vue 3 + TS + Vite)开发与后端通信:pnpm 脚本、kernelsu.exec JSON 命令协议、持久化文件与构建注入。
What it loads into context
Frontmatter
92 tokensAlways available to the agent
SKILL.md
634 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 脚本
- 与 Rust 后端通信
- 构建产物与注入
- 修改 WebUI 的推荐流程
Files
SKILL.mdcore2,045 bytesSKILL.mdcore2,045 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubhybrid-mount-overview
When your agent uses it
Hybrid Mount 元模块的项目导航与硬性约束:启动流水线、规则优先级、共享挂载树不变量、目录地图与禁止操作。改代码前先读。
What it loads into context
Frontmatter
85 tokensAlways available to the agent
SKILL.md
1,261 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 启动流水线(`src/pipeline.rs`,无参数入口)
- 规则优先级(高 → 低)
- 不可违反的不变量
- 目录地图
- CLI 子命令(`src/cli.rs`)
- 禁止事项
Files
SKILL.mdcore4,147 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubkernel-development-skills
When your agent uses it
改 Hybrid Mount 的内核侧 C 源码(module/vfs/src/hybridmount.c、module/lkm/src/nuke.c)时用:驱动 API 与生命周期、Kconfig/Makefile、调试与追踪、KUnit/kselftest、patch 与回归排查的清单和脚本。
What it loads into context
Frontmatter
286 tokensAlways available to the agent
SKILL.md
1,989 tokensWhen the skill is activated
Reference documents
11,956 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Hybrid Mount precedence (read before applying any rule)
- Overview
- Start Here
- Kernel Change Loop
- Technical Driver Work
- Non-Negotiables
- Common Verification Matrix
- Bundled Scripts
- Local Documentation
Scripts executed separately
scripts/check_kernel_api_patterns.pyscripts/index_kernel_docs.pyscripts/triage_kernel_change.py
Files
LICENSEasset1,071 bytesSKILL.mdcore8,416 bytesSKILL.mdcore8,416 bytesSKILL.mdcore8,416 bytesreferences/advanced-tooling.mddoc3,771 bytesreferences/ci-regression.mddoc4,232 bytesreferences/debugging-testing.mddoc8,084 bytesreferences/device-tree-drivers.mddoc6,874 bytesreferences/doc-routes.mddoc3,464 bytesreferences/driver-api-cookbook.mddoc11,748 bytesreferences/driver-review-checklists.mddoc5,986 bytesreferences/kernel-workflow.mddoc6,850 bytesscripts/check_kernel_api_patterns.pyruns7,396 bytesscripts/index_kernel_docs.pyruns12,436 bytesscripts/triage_kernel_change.pyruns8,848 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubrust-best-practices
When your agent uses it
Guide for writing idiomatic Rust code based on Apollo GraphQL's best practices handbook. Use this skill when: (1) writing new Rust code or functions, (2) reviewing or refactoring existing Rust code, (3) deciding between borrowing vs cloning or ownership patterns, (4) implementing error handling with Result types, (5) optimizing Rust code for performance, (6) writing tests or documentation for Rust projects.
What it loads into context
Frontmatter
127 tokensAlways available to the agent
SKILL.md
1,113 tokensWhen the skill is activated
Reference documents
23,777 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Hybrid Mount / DSH adaptation
- Best Practices Reference
- Quick Reference
Files
LICENSEasset1,075 bytesSKILL.mdcore4,723 bytesreferences/chapter_01.mddoc25,262 bytesreferences/chapter_02.mddoc5,451 bytesreferences/chapter_03.mddoc8,784 bytesreferences/chapter_04.mddoc7,082 bytesreferences/chapter_05.mddoc14,831 bytesreferences/chapter_06.mddoc6,812 bytesreferences/chapter_07.mddoc8,233 bytesreferences/chapter_08.mddoc10,362 bytesreferences/chapter_09.mddoc9,568 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubrust-guidelines
When your agent uses it
Microsoft Rust Guidelines 的选题集(原 microsoft/rust-guidelines):把「什么是 panic、什么是错误」当成类型与契约问题来裁,并为 unsafe、FFI、日志、lint 覆盖、 魔法值给出可引用的条目式判据。用于 Hybrid Mount 的错误处理分层与 unsafe/FFI 审查: src/errors.rs、src/sys/**、src/vfs/**、以及 workspace 级 lint 覆盖。
What it loads into context
Frontmatter
277 tokensAlways available to the agent
SKILL.md
1,998 tokensWhen the skill is activated
Reference documents
13,458 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 安装范围与取舍(为什么只有这些)
- Hybrid Mount precedence(先读这里)
- 规则索引
- 章节说明
Files
LICENSE.mddoc1,141 bytesSKILL.mdcore6,733 bytesguidelines/README.mddoc2,599 bytesguidelines/checklist/README.mddoc11,000 bytesguidelines/correctness/M-PANIC-CONTINUATION.mddoc1,608 bytesguidelines/correctness/M-PANIC-IS-STOP.mddoc1,370 bytesguidelines/correctness/M-PANIC-MESSAGE.mddoc947 bytesguidelines/correctness/M-PANIC-ON-BUG.mddoc2,119 bytesguidelines/correctness/M-UNSAFE-IMPLIES-UB.mddoc567 bytesguidelines/correctness/M-UNSAFE.mddoc3,050 bytesguidelines/correctness/M-UNSOUND.mddoc2,394 bytesguidelines/correctness/README.mddoc327 bytesguidelines/ffi/M-FFI-NAMING.mddoc663 bytesguidelines/ffi/M-FFI-TRANSLATES.mddoc1,964 bytesguidelines/ffi/M-ISOLATE-DLL-STATE.mddoc2,807 bytesguidelines/ffi/README.mddoc198 bytesguidelines/universal/M-DOCUMENTED-MAGIC.mddoc1,254 bytesguidelines/universal/M-LINT-OVERRIDE-EXPECT.mddoc759 bytesguidelines/universal/M-LOG-STRUCTURED.mddoc4,117 bytesguidelines/universal/M-PUBLIC-DEBUG.mddoc1,062 bytesguidelines/universal/M-PUBLIC-DISPLAY.mddoc689 bytesguidelines/universal/M-REGULAR-FN.mddoc1,281 bytesguidelines/universal/M-SHORT-NAMES.mddoc861 bytesguidelines/universal/M-SMALLER-CRATES.mddoc1,851 bytesguidelines/universal/M-STATIC-VERIFICATION.mddoc3,333 bytesguidelines/universal/M-UPSTREAM-GUIDELINES.mddoc1,932 bytesguidelines/universal/M-WEASEL-WORDS.mddoc1,786 bytesguidelines/universal/README.mddoc476 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubrust-skills
When your agent uses it
Comprehensive Rust coding guidelines with 265 rules across 26 categories, organized for code review, refactoring, and writing new Rust. Use when reviewing Rust code for ownership, borrow, allocation, panic, or error-handling problems; when refactoring or optimizing Rust; when idiomatic API, naming or documentation feedback is requested; or when auditing unsafe, concurrency, numeric-overflow, or macro code. Covers ownership, error handling, async, unsafe, API design, memory, performance, serde, testing, and anti-patterns.
What it loads into context
Frontmatter
298 tokensAlways available to the agent
SKILL.md
10,870 tokensWhen the skill is activated
Reference documents
231,965 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Hybrid Mount precedence (read before applying any rule)
- When to Apply
- Rule Categories by Priority
- Quick Reference
- Recommended Cargo.toml Settings
- How to Use
- Sources & Attribution
Scripts executed separately
checks/validate.py
Files
LICENSEasset1,075 bytesSKILL.mdcore40,417 bytesSKILL.mdcore40,417 bytesSKILL.mdcore40,417 bytesSKILL.mdcore40,417 byteschecks/validate.pyruns2,039 bytesrules/anti-clone-excessive.mddoc2,614 bytesrules/anti-collect-intermediate.mddoc3,230 bytesrules/anti-empty-catch.mddoc3,134 bytesrules/anti-expect-lazy.mddoc2,696 bytesrules/anti-format-hot-path.mddoc3,636 bytesrules/anti-index-over-iter.mddoc2,909 bytesrules/anti-lock-across-await.mddoc3,201 bytesrules/anti-over-abstraction.mddoc3,147 bytesrules/anti-panic-expected.mddoc3,428 bytesrules/anti-premature-optimize.mddoc3,778 bytesrules/anti-string-for-str.mddoc2,656 bytesrules/anti-stringly-typed.mddoc4,182 bytesrules/anti-type-erasure.mddoc3,731 bytesrules/anti-unwrap-abuse.mddoc3,423 bytesrules/anti-vec-for-slice.mddoc2,530 bytesrules/api-builder-must-use.mddoc3,931 bytesrules/api-builder-pattern.mddoc4,673 bytesrules/api-common-traits.mddoc4,369 bytesrules/api-default-impl.mddoc4,122 bytesrules/api-extension-trait.mddoc3,872 bytesrules/api-from-not-into.mddoc3,393 bytesrules/api-impl-asref.mddoc3,539 bytesrules/api-impl-fromiterator.mddoc3,484 bytesrules/api-impl-into.mddoc4,094 bytesrules/api-must-use.mddoc3,579 bytesrules/api-newtype-safety.mddoc4,028 bytesrules/api-non-exhaustive.mddoc3,975 bytesrules/api-operator-overload.mddoc3,383 bytesrules/api-parse-dont-validate.mddoc4,424 bytesrules/api-sealed-trait.mddoc4,641 bytesrules/api-serde-optional.mddoc4,305 bytesrules/api-typestate.mddoc4,992 bytesrules/async-async-fn-bounds.mddoc3,454 bytesrules/async-bounded-channel.mddoc4,608 bytesrules/async-broadcast-pubsub.mddoc4,149 bytesrules/async-cancel-safety.mddoc4,438 bytesrules/async-cancellation-token.mddoc4,913 bytesrules/async-clone-before-await.mddoc4,079 bytesrules/async-fn-in-trait.mddoc3,691 bytesrules/async-join-parallel.mddoc4,103 bytesrules/async-joinset-structured.mddoc4,620 bytesrules/async-mpsc-queue.mddoc4,015 bytesrules/async-no-lock-await.mddoc4,059 bytesrules/async-oneshot-response.mddoc4,567 bytesrules/async-select-racing.mddoc4,673 bytesrules/async-spawn-blocking.mddoc3,717 bytesrules/async-tokio-fs.mddoc4,175 bytesrules/async-tokio-runtime.mddoc4,576 bytesrules/async-try-join.mddoc4,429 bytesrules/async-watch-latest.mddoc4,623 bytesrules/closure-disjoint-capture.mddoc3,590 bytesrules/closure-fn-trait-bounds.mddoc2,931 bytesrules/closure-impl-fn-return.mddoc2,848 bytesrules/closure-move-capture.mddoc2,920 bytesrules/closure-static-vs-dyn.mddoc3,271 bytesrules/coll-binaryheap.mddoc3,594 bytesrules/coll-map-choice.mddoc3,707 bytesrules/coll-seq-choice.mddoc2,987 bytesrules/coll-set-membership.mddoc3,209 bytesrules/conc-atomic-ordering.mddoc3,585 bytesrules/conc-rayon-par-iter.mddoc2,467 bytesrules/conc-scoped-threads.mddoc2,805 bytesrules/conc-thread-local.mddoc2,637 bytesrules/const-block.mddoc2,962 bytesrules/const-fn.mddoc2,186 bytesrules/const-generics.mddoc2,784 bytesrules/const-vs-static.mddoc2,829 bytesrules/conv-asmut-mutable.mddoc2,151 bytesrules/conv-fromstr-parsing.mddoc2,591 bytesrules/conv-tryfrom-fallible.mddoc2,341 bytesrules/doc-all-public.mddoc2,730 bytesrules/doc-cargo-metadata.mddoc3,236 bytesrules/doc-crate-readme.mddoc2,137 bytesrules/doc-errors-section.mddoc3,319 bytesrules/doc-examples-section.mddoc2,925 bytesrules/doc-hidden-setup.mddoc3,631 bytesrules/doc-intra-links.mddoc3,423 bytesrules/doc-link-types.mddoc3,887 bytesrules/doc-module-inner.mddoc2,852 bytesrules/doc-panics-section.mddoc3,171 bytesrules/doc-question-mark.mddoc3,227 bytesrules/doc-safety-section.mddoc3,925 bytesrules/err-anyhow-app.mddoc4,266 bytesrules/err-context-chain.mddoc3,538 bytesrules/err-custom-type.mddoc4,080 bytesrules/err-doc-errors.mddoc3,928 bytesrules/err-expect-bugs-only.mddoc3,829 bytesrules/err-from-impl.mddoc3,955 bytesrules/err-lowercase-msg.mddoc3,365 bytesrules/err-no-unwrap-prod.mddoc3,209 bytesrules/err-question-mark.mddoc3,383 bytesrules/err-result-over-panic.mddoc3,482 bytesrules/err-source-chain.mddoc3,893 bytesrules/err-thiserror-lib.mddoc4,187 bytesrules/lint-cargo-metadata.mddoc2,880 bytesrules/lint-cfg-check.mddoc2,475 bytesrules/lint-clippy-nursery-selected.mddoc2,665 bytesrules/lint-deny-correctness.mddoc2,289 bytesrules/lint-missing-docs.mddoc3,004 bytesrules/lint-pedantic-selective.mddoc3,178 bytesrules/lint-rustfmt-check.mddoc2,791 bytesrules/lint-unsafe-doc.mddoc3,177 bytesrules/lint-warn-complexity.mddoc3,030 bytesrules/lint-warn-perf.mddoc3,236 bytesrules/lint-warn-style.mddoc2,944 bytesrules/lint-warn-suspicious.mddoc2,987 bytesrules/lint-workspace-lints.mddoc3,644 bytesrules/macro-export-crate-path.mddoc2,618 bytesrules/macro-fragment-specifiers.mddoc3,003 bytesrules/macro-prefer-functions.mddoc2,132 bytesrules/macro-private-helpers.mddoc3,035 bytesrules/macro-proc-error-spans.mddoc3,816 bytesrules/macro-proc-syn-quote.mddoc3,537 bytesrules/macro-proc-two-crate.mddoc3,884 bytesrules/macro-rules-hygiene.mddoc2,853 bytesrules/mem-arena-allocator.mddoc4,555 bytesrules/mem-arrayvec.mddoc3,706 bytesrules/mem-assert-type-size.mddoc3,874 bytesrules/mem-avoid-format.mddoc3,608 bytesrules/mem-box-large-variant.mddoc3,815 bytesrules/mem-boxed-slice.mddoc3,589 bytesrules/mem-clone-from.mddoc3,536 bytesrules/mem-compact-string.mddoc3,798 bytesrules/mem-drop-order.mddoc4,581 bytesrules/mem-reuse-collections.mddoc4,318 bytesrules/mem-smaller-integers.mddoc3,993 bytesrules/mem-smallvec.mddoc3,452 bytesrules/mem-take-replace.mddoc3,626 bytesrules/mem-thinvec.mddoc3,311 bytesrules/mem-with-capacity.mddoc3,835 bytesrules/mem-write-over-format.mddoc4,393 bytesrules/mem-zero-copy.mddoc4,116 bytesrules/name-acronym-word.mddoc2,859 bytesrules/name-as-free.mddoc2,340 bytesrules/name-consts-screaming.mddoc2,255 bytesrules/name-crate-no-rs.mddoc2,063 bytesrules/name-funcs-snake.mddoc1,981 bytesrules/name-into-ownership.mddoc2,801 bytesrules/name-is-has-bool.mddoc3,240 bytesrules/name-iter-convention.mddoc3,368 bytesrules/name-iter-method.mddoc3,376 bytesrules/name-iter-type-match.mddoc3,648 bytesrules/name-lifetime-short.mddoc2,360 bytesrules/name-no-get-prefix.mddoc3,117 bytesrules/name-to-expensive.mddoc2,998 bytesrules/name-type-param-single.mddoc2,347 bytesrules/name-types-camel.mddoc1,798 bytesrules/name-variants-camel.mddoc1,814 bytesrules/num-cast-try-from.mddoc3,154 bytesrules/num-float-compare.mddoc3,230 bytesrules/num-nonzero.mddoc3,444 bytesrules/num-overflow-explicit.mddoc2,759 bytesrules/num-saturating-clamp.mddoc3,150 bytesrules/obs-error-chain.mddoc3,464 bytesrules/obs-instrument-spans.mddoc3,301 bytesrules/obs-levels-filter.mddoc3,441 bytesrules/obs-library-facade.mddoc2,712 bytesrules/obs-no-sensitive-data.mddoc3,576 bytesrules/obs-structured-fields.mddoc2,740 bytesrules/obs-tracing-over-log.mddoc2,204 bytesrules/opt-bounds-check.mddoc4,247 bytesrules/opt-cache-friendly.mddoc4,652 bytesrules/opt-codegen-units.mddoc3,387 bytesrules/opt-cold-unlikely.mddoc3,577 bytesrules/opt-inline-always-rare.mddoc3,391 bytesrules/opt-inline-never-cold.mddoc4,448 bytesrules/opt-inline-small.mddoc3,947 bytesrules/opt-likely-hint.mddoc4,297 bytesrules/opt-lto-release.mddoc3,343 bytesrules/opt-pgo-profile.mddoc4,182 bytesrules/opt-simd-portable.mddoc4,097 bytesrules/opt-target-cpu.mddoc3,878 bytesrules/own-arc-shared.mddoc3,480 bytesrules/own-borrow-over-clone.mddoc2,445 bytesrules/own-clone-explicit.mddoc3,447 bytesrules/own-copy-small.mddoc3,033 bytesrules/own-cow-conditional.mddoc3,631 bytesrules/own-lifetime-elision.mddoc3,215 bytesrules/own-move-large.mddoc3,466 bytesrules/own-mutex-interior.mddoc2,829 bytesrules/own-rc-single-thread.mddoc3,412 bytesrules/own-refcell-interior.mddoc3,013 bytesrules/own-rwlock-readers.mddoc3,242 bytesrules/own-slice-over-vec.mddoc2,724 bytesrules/pat-at-bindings.mddoc2,972 bytesrules/pat-exhaustive-enum.mddoc2,737 bytesrules/pat-if-let-chains.mddoc2,210 bytesrules/pat-let-else.mddoc2,065 bytesrules/pat-matches-macro.mddoc2,697 bytesrules/perf-ahash.mddoc3,327 bytesrules/perf-black-box-bench.mddoc3,772 bytesrules/perf-chain-avoid.mddoc3,190 bytesrules/perf-collect-into.mddoc3,533 bytesrules/perf-collect-once.mddoc2,783 bytesrules/perf-drain-reuse.mddoc3,518 bytesrules/perf-entry-api.mddoc3,516 bytesrules/perf-extend-batch.mddoc3,488 bytesrules/perf-io-buffering.mddoc3,861 bytesrules/perf-iter-lazy.mddoc3,045 bytesrules/perf-iter-over-index.mddoc2,748 bytesrules/perf-profile-first.mddoc4,046 bytesrules/perf-release-profile.mddoc3,347 bytesrules/proj-bin-dir.mddoc2,965 bytesrules/proj-build-rs-minimal.mddoc3,141 bytesrules/proj-feature-additive.mddoc2,260 bytesrules/proj-flat-small.mddoc2,760 bytesrules/proj-lib-main-split.mddoc3,244 bytesrules/proj-mod-by-feature.mddoc3,333 bytesrules/proj-mod-rs-dir.mddoc2,776 bytesrules/proj-msrv-declare.mddoc2,125 bytesrules/proj-prelude-module.mddoc3,308 bytesrules/proj-pub-crate-internal.mddoc3,214 bytesrules/proj-pub-super-parent.mddoc2,924 bytesrules/proj-pub-use-reexport.mddoc3,062 bytesrules/proj-workspace-deps.mddoc3,824 bytesrules/proj-workspace-large.mddoc3,391 bytesrules/serde-custom-with.mddoc3,029 bytesrules/serde-default-compat.mddoc2,829 bytesrules/serde-deny-unknown-fields.mddoc2,720 bytesrules/serde-enum-representation.mddoc3,265 bytesrules/serde-flatten.mddoc3,035 bytesrules/serde-rename-all.mddoc2,186 bytesrules/serde-skip-empty.mddoc2,821 bytesrules/serde-try-from-validate.mddoc4,027 bytesrules/test-arrange-act-assert.mddoc3,710 bytesrules/test-cfg-test-module.mddoc2,972 bytesrules/test-criterion-bench.mddoc3,730 bytesrules/test-descriptive-names.mddoc2,698 bytesrules/test-doctest-examples.mddoc3,245 bytesrules/test-fixture-raii.mddoc3,638 bytesrules/test-integration-dir.mddoc3,056 bytesrules/test-loom-concurrency.mddoc3,409 bytesrules/test-mock-traits.mddoc4,582 bytesrules/test-mockall-mocking.mddoc4,584 bytesrules/test-proptest-properties.mddoc3,514 bytesrules/test-should-panic.mddoc2,894 bytesrules/test-snapshot-testing.mddoc3,169 bytesrules/test-tokio-async.mddoc3,430 bytesrules/test-use-super.mddoc2,653 bytesrules/trait-associated-type-vs-generic.mddoc4,017 bytesrules/trait-blanket-impl.mddoc3,353 bytesrules/trait-coherence-newtype.mddoc3,622 bytesrules/trait-default-methods.mddoc4,217 bytesrules/trait-dyn-vs-generic.mddoc3,546 bytesrules/trait-object-safety.mddoc3,738 bytesrules/type-deref-coercion.mddoc2,586 bytesrules/type-display-vs-debug.mddoc2,782 bytesrules/type-enum-states.mddoc4,106 bytesrules/type-generic-bounds.mddoc3,468 bytesrules/type-never-diverge.mddoc3,233 bytesrules/type-newtype-ids.mddoc3,659 bytesrules/type-newtype-validated.mddoc3,718 bytesrules/type-no-stringly.mddoc3,258 bytesrules/type-numeric-fmt.mddoc2,733 bytesrules/type-option-nullable.mddoc3,235 bytesrules/type-phantom-marker.mddoc3,824 bytesrules/type-repr-transparent.mddoc3,225 bytesrules/type-result-fallible.mddoc3,423 bytesrules/unsafe-extern-block.mddoc3,383 bytesrules/unsafe-maybeuninit.mddoc3,725 bytesrules/unsafe-minimize-scope.mddoc3,539 bytesrules/unsafe-miri-ci.mddoc2,934 bytesrules/unsafe-no-mangle-unsafe.mddoc2,865 bytesrules/unsafe-safety-comment.mddoc2,963 bytesrules/unsafe-send-sync-manual.mddoc4,313 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubrust-unsafe-review
When your agent uses it
Google 的 unsafe Rust 安全文档与审查方法论(上游名 unsafe-rust-review):把每个 `# Safety` 文档与 safety 注释当作可机械检验的证明义务,依据 Rust Reference、 标准库文档、可信依赖契约与项目不变量逐条核对。用于 Hybrid Mount 的 unsafe / FFI / syscall 面——src/sys(mount、ioctl、lkm、fs)、src/storage/ext4、 src/magic_mount、src/overlayfs、src/vfs 的 raw pointer 与 libc 调用。
What it loads into context
Frontmatter
375 tokensAlways available to the agent
SKILL.md
15,544 tokensWhen the skill is activated
Reference documents
2,262 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Hybrid Mount precedence (read before applying any rule)
- Mission
- Activation criteria
- Core model
- Authority and evidence hierarchy
- Mandatory fact classification
- Core distinction: documentation vs comments
- Criteria for `# Safety` documentation
- Criteria for safety comments
- Auditing procedure for writing safety comments
- Required proof topics checklist
- Core axiom lookup discipline
- Reject patterns
- Safe dependency and caller-provided code review rules
- Reference creation is the unsafe operation
Files
LICENSE.mddoc11,357 bytesSKILL.mdcore71,224 bytesSKILL.mdcore71,224 bytesSKILL.mdcore71,224 bytesSKILL.mdcore71,224 bytesSKILL.mdcore71,224 bytesSKILL.mdcore71,224 bytesSKILL.mdcore71,224 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubvue-best-practices
When your agent uses it
写或改 Hybrid Mount 的 WebUI(webui/ 下的 .vue、composable、Vite 配置)时用:Vue 3 Composition API + `<script setup lang="ts">`、响应式模型、组件边界与拆分、props/emits 契约,并按需展开 references/ 下的专题。
What it loads into context
Frontmatter
204 tokensAlways available to the agent
SKILL.md
2,336 tokensWhen the skill is activated
Reference documents
25,884 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Hybrid Mount precedence (read before applying any rule)
- Core Principles
- 1) Confirm architecture before coding (required)
- 2) Apply essential Vue foundations (required)
- 3) Consider optional features only when requirements call for them
- 4) Run performance optimization after behavior is correct
- 5) Final self-check before finishing
Files
LICENSEasset1,098 bytesSKILL.mdcore10,472 bytesSKILL.mdcore10,472 bytesSKILL.mdcore10,472 bytesreferences/animation-class-based-technique.mddoc5,026 bytesreferences/animation-state-driven-technique.mddoc5,829 bytesreferences/component-async.mddoc2,532 bytesreferences/component-data-flow.mddoc6,956 bytesreferences/component-fallthrough-attrs.mddoc4,047 bytesreferences/component-keep-alive.mddoc3,487 bytesreferences/component-slots.mddoc4,469 bytesreferences/component-suspense.mddoc5,367 bytesreferences/component-teleport.mddoc2,921 bytesreferences/component-transition-group.mddoc3,004 bytesreferences/component-transition.mddoc2,722 bytesreferences/composables.mddoc7,011 bytesreferences/directives.mddoc3,803 bytesreferences/perf-avoid-component-abstraction-in-lists.mddoc4,683 bytesreferences/perf-v-once-v-memo-directives.mddoc4,769 bytesreferences/perf-virtualize-large-lists.mddoc5,002 bytesreferences/plugins.mddoc3,882 bytesreferences/reactivity.mddoc8,452 bytesreferences/render-functions.mddoc3,866 bytesreferences/sfc.mddoc6,216 bytesreferences/state-management.mddoc3,380 bytesreferences/updated-hook-performance.mddoc4,618 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubvue-testing-best-practices
When your agent uses it
给 Hybrid Mount WebUI 写或修测试时用:Vitest + Vue Test Utils 的组件测试、异步与 flushPromises、composable 测试、避免只写快照,以及本仓库实际的测试门禁。
What it loads into context
Frontmatter
186 tokensAlways available to the agent
SKILL.md
893 tokensWhen the skill is activated
Reference documents
14,712 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Hybrid Mount precedence (read before applying any rule)
- Reference
Files
LICENSEasset1,098 bytesSKILL.mdcore3,729 bytesreference/async-component-testing.mddoc4,896 bytesreference/teleport-testing-complexity.mddoc4,136 bytesreference/testing-async-await-flushpromises.mddoc5,254 bytesreference/testing-browser-vs-node-runners.mddoc5,623 bytesreference/testing-component-blackbox-approach.mddoc4,753 bytesreference/testing-composables-helper-wrapper.mddoc6,119 bytesreference/testing-e2e-playwright-recommended.mddoc6,581 bytesreference/testing-no-snapshot-only.mddoc6,283 bytesreference/testing-pinia-store-setup.mddoc6,249 bytesreference/testing-suspense-async-components.mddoc6,448 bytesreference/testing-vitest-recommended-for-vue.mddoc5,039 bytes
No excerpt is shown for this license. Read the source on GitHub.
View the complete source on GitHubSkills included
- hm-build-release
- hm-ci
- hm-module-scripts
- hm-mount-safety-review
- hm-planner-debug
- hm-runtime
- hm-rust-android
- hm-rust-lsp
- hm-verify
- hm-vfs
- hm-webui
- hybrid-mount-overview
- kernel-development-skills
- rust-best-practices
- rust-guidelines
- rust-skills
- rust-unsafe-review
- vue-best-practices
- vue-testing-best-practices
Repository facts
- License
- GPL-3.0
- Created
- Nov 24, 2025
- Last pushed
- Nov 6, 2026
- Forks
- 90
- Open issues
- 3
- Project activity
- Active
Rank over the last 12 weeks
Now #586 · best #458 · down 69 in 30 days
- #574 on Nov 2
- #577 on Nov 3
- #578 on Nov 4
- #582 on Nov 5
- #583 on Nov 6
- #586 since Nov 7
79 earlier periods
- #454 on Aug 2
- #456 on Aug 8
- #455 on Aug 9
- #470 on Aug 10
- #468 on Aug 11
- #475 on Aug 13
- #470 on Aug 14
- #458 on Aug 15
- #463 on Aug 16
- #467 on Aug 17
- #474 on Aug 18
- #473 on Aug 19
- #474 on Aug 20
- #472 on Aug 21
- #459 on Aug 22
- #476 on Aug 23
- #475 on Aug 24
- #478 on Aug 25
- #471 on Aug 26
- #481 on Aug 27
- #478 on Aug 28
- #469 on Aug 29
- #458 on Aug 30
- #480 on Aug 31
- #483 on Sep 1
- #487 on Sep 2
- #490 on Sep 3
- #477 on Sep 4
- #476 on Sep 5
- #485 on Sep 6
- #487 on Sep 7
- #501 on Sep 8
- #492 from Sep 9 to Sep 10
- #490 on Sep 11
- #487 on Sep 12
- #485 on Sep 13
- #499 on Sep 14
- #495 on Sep 15
- #506 on Sep 16
- #502 on Sep 17
- #508 on Sep 18
- #488 on Sep 19
- #497 from Sep 20 to Sep 21
- #511 on Sep 22
- #503 on Sep 23
- #490 on Sep 24
- #488 on Sep 25
- #484 on Sep 26
- #502 on Sep 27
- #504 on Sep 28
- #515 on Sep 29
- #505 on Sep 30
- #499 from Oct 1 to Oct 2
- #486 on Oct 3
- #480 on Oct 4
- #487 on Oct 5
- #501 on Oct 6
- #499 on Oct 7
- #517 on Oct 8
- #518 on Oct 9
- #511 from Oct 10 to Oct 11
- #521 on Oct 12
- #519 on Oct 13
- #521 on Oct 14
- #518 on Oct 15
- #522 on Oct 16
- #512 on Oct 17
- #517 on Oct 18
- #529 on Oct 19
- #531 on Oct 20
- #535 on Oct 21
- #526 on Oct 22
- #520 on Oct 23
- #510 on Oct 24
- #558 on Oct 25
- #565 on Oct 28
- #567 on Oct 29
- #570 from Oct 30 to Oct 31
- #572 on Nov 1
Before you install
Network or broad shellAutomated signals, not a guarantee
Checked Nov 3, 2026
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 88 notes
.dsh/skills/hm-build-release/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed.dsh/skills/hm-build-release/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed.dsh/skills/hm-build-release/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed.dsh/skills/hm-build-release/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed.dsh/skills/hm-ci/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed.dsh/skills/hm-ci/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed.dsh/skills/hm-ci/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedtests/shell/customize_lkm.sh:1Analysis incomplete: Referenced executable target unavailable; not analyzedtests/shell/vfs_sources_digest.sh:1Analysis incomplete: Referenced executable target unavailable; not analyzedtests/shell/vfs_sources_digest.sh:1Analysis incomplete: Referenced executable target unavailable; not analyzed.dsh/skills/hm-module-scripts/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed.dsh/skills/hm-module-scripts/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed.dsh/skills/hm-module-scripts/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed.dsh/skills/hm-module-scripts/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed.dsh/skills/hm-module-scripts/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed.dsh/skills/hm-module-scripts/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed.dsh/skills/hm-module-scripts/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed.dsh/skills/hm-module-scripts/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed.dsh/skills/hm-module-scripts/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed.dsh/skills/hm-module-scripts/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed
- No broad tool permissions
- 20 dangerous shell commandsin 7 files: module/vfs/setup.sh:8 hm-module-scripts/SKILL.md:20 hm-vfs/SKILL.md:76 and 4 more
- 386 network referencesin 78 files: module/vfs/setup.sh:6 rust-skills/SKILL.md:17 rust-guidelines/guidelines/correctness/M-UNSAFE.md:29 and 75 more
- No hidden or obfuscated text
- No instruction overrides
- 43 executable scriptsin 9 files: module/vfs/setup.sh:1 tests/shell/vfs_sources_digest.sh:1 tests/shell/boot_lock.sh:1 and 6 more
- 12 references to secretsin 4 files: rust-skills/rules/api-builder-pattern.md:18 rust-skills/rules/obs-no-sensitive-data.md:17 vue-testing-best-practices/reference/testing-browser-vs-node-runners.md:11 and 1 more
- No requests to vote in Hot
Show all 461 signals by file
.dsh/skills/hm-ci/SKILL.md
- Network accessline 51
3. `sed` 把 version 写进 `Cargo.toml` 并 `grep -q` 反查;`cargo xtask build --release`;上传 artifact(固定名 `package`)。 4. release job 下载 artifact,`cargo xtask notify --label "丰收 (Harvest) - <tag>" --topic-id 6`。 5. 仅 tag:`cargo xtask update-json <tag> - Network accessline 52
4. release job 下载 artifact,`cargo xtask notify --label "丰收 (Harvest) - <tag>" --topic-id 6`。 5. 仅 tag:`cargo xtask update-json <tag> <version_code> https://github.com/<repo>/releases/download/<tag>/<zip>`(changelog 默认指向 dev 的 `changelog.md` - Network accessline 53
5. 仅 tag:`cargo xtask update-json <tag> <version_code> https://github.com/<repo>/releases/download/<tag>/<zip>`(changelog 默认指向 dev 的 `changelog.md`),再 `cp update.json /tmp/update.json`。
.dsh/skills/hm-module-scripts/SKILL.md
- Network accessline 19
| `module/emulated-soft-reboot.sh` | ksud 软重启(late-load)按 stage 名调用 | ksud | `exec hybrid-mount runtime prepare-reboot`,交给运行期账本清理 | | `module/uninstall.sh` | 卸载本模块时 | root 管理器 | `rm -rf /data/adb/hybrid-mount`;不碰 `/data/adb/modules` | | `mo - Dangerous shell operationline 20
| `module/uninstall.sh` | 卸载本模块时 | root 管理器 | `rm -rf /data/adb/hybrid-mount`;不碰 `/data/adb/modules` | - Dangerous shell operationline 21
| `module/vfs/setup.sh` | 手动:在内核树根执行(本地路径或 `curl \| bash`) | 开发者 | 把 `src/` 集成到 `fs/hybridmount/` 并改 `fs/Makefile`、`fs/Kconfig`;`--cleanup` 回滚;拒绝已集成 NoMount 的树 | - Network accessline 21
| `module/vfs/setup.sh` | 手动:在内核树根执行(本地路径或 `curl \| bash`) | 开发者 | 把 `src/` 集成到 `fs/hybridmount/` 并改 `fs/Makefile`、`fs/Kconfig`;`--cleanup` 回滚;拒绝已集成 NoMount 的树 | - Dangerous shell operationline 40
5. **metainstall 只做符号链接**:唯一允许的操作是 `ln -sf "./system/$partition" "$MODPATH/$partition"`,不得 `cp -a` + `rm -rf`、不得 `mv system/<partition>`;`ln` 之前必须先判 `-e`/`-L`,否则会往已存在的目录里再建一层链接。`handle_partition` 被刻意留成空实现、`mark_replace` 改写 opaque xattr,这两处是
.dsh/skills/hm-vfs/SKILL.md
- Network accessline 74
- `sources.txt` 是 `sha256sum hybridmount.c hybridmount.h Kconfig Makefile` 再取一次 sha256 的单一摘要;`tests/shell/vfs_sources_digest.sh` 重算比对,`lints.yml` 与 `release.yml` 都会执行。`list.txt` 只证明 `.ko` 自身未变,发现不了源码已漂移。 - 编译需要 DDK,所以**源码变更与产物刷新必然是两次提交**:改源 - Dangerous shell operationline 76
- 内置集成(在干净内核树根执行):`curl -LSs "https://raw.githubusercontent.com/Hybrid-Mount/meta-hybrid_mount/dev/module/vfs/setup.sh" | bash`,之后自行开 `CONFIG_HYBRIDMOUNT=y`(或 `=m`);`--cleanup` 回退。脚本拒绝已集成 NoMount 的内核树。 - Network accessline 76
- 内置集成(在干净内核树根执行):`curl -LSs "https://raw.githubusercontent.com/Hybrid-Mount/meta-hybrid_mount/dev/module/vfs/setup.sh" | bash`,之后自行开 `CONFIG_HYBRIDMOUNT=y`(或 `=m`);`--cleanup` 回退。脚本拒绝已集成 NoMount 的内核树。
.dsh/skills/hm-webui/SKILL.md
- Network accessline 14
cd webui pnpm install --frozen-lockfile pnpm dev # vite --host,默认 http://localhost:5173 - Network accessline 15
pnpm install --frozen-lockfile pnpm dev # vite --host,默认 http://localhost:5173 pnpm build # 构建产物;打包时由 xtask 负责 MODULE_ID 注入 - Network accessline 16
pnpm dev # vite --host,默认 http://localhost:5173
.dsh/skills/kernel-development-skills/SKILL.md
- Network accessline 7
version: "0.3.0" vendored: source: https://github.com/UtsavBalar1231/kernel-development-skills - Network accessline 8
vendored: source: https://github.com/UtsavBalar1231/kernel-development-skills commit: cc513486979618140f2c9e6e31bd20530fb5e0e3 - Network accessline 9
source: https://github.com/UtsavBalar1231/kernel-development-skills
.dsh/skills/kernel-development-skills/references/debugging-testing.md
- Network accessline 40
- https://docs.kernel.org/dev-tools/testing-overview.html - Network accessline 41
- https://docs.kernel.org/dev-tools/kunit/ - Network accessline 42
- https://docs.kernel.org/dev-tools/kselftest.html - Network accessline 43
- https://docs.kernel.org/dev-tools/ktap.html - Network accessline 44
- https://docs.kernel.org/admin-guide/dynamic-debug-howto.html - Network accessline 45
- https://docs.kernel.org/trace/ftrace.html - Network accessline 46
- https://docs.kernel.org/fault-injection/fault-injection.html - Network accessline 47
- https://docs.kernel.org/dev-tools/kasan.html - Network accessline 48
- https://docs.kernel.org/dev-tools/kcsan.html - Network accessline 49
- https://docs.kernel.org/dev-tools/kfence.html - Network accessline 50
- https://docs.kernel.org/dev-tools/kgdb.html - Network accessline 51
- https://docs.kernel.org/admin-guide/ramoops.html - Network accessline 52
- https://github.com/google/syzkaller/tree/master/docs
.dsh/skills/kernel-development-skills/references/device-tree-drivers.md
- Network accessline 43
- https://docs.kernel.org/devicetree/bindings/writing-schema.html - Network accessline 44
- https://docs.kernel.org/devicetree/bindings/submitting-patches.html - Network accessline 45
- https://docs.kernel.org/devicetree/bindings/dts-coding-style.html - Network accessline 46
- https://docs.kernel.org/driver-api/ - Network accessline 47
- https://docs.kernel.org/driver-api/driver-model/ - Network accessline 48
- https://docs.kernel.org/process/stable-api-nonsense.html
.dsh/skills/kernel-development-skills/references/kernel-workflow.md
- Network accessline 30
- https://docs.kernel.org/process/submitting-patches.html - Network accessline 31
- https://docs.kernel.org/process/submit-checklist.html - Network accessline 32
- https://docs.kernel.org/process/handling-regressions.html - Network accessline 33
- https://docs.kernel.org/process/stable-kernel-rules.html - https://docs.kernel.org/maintainer/rebasing-and-merging.html - https://docs.kernel.org/maintainer/pull-requests.html - Network accessline 34
- https://docs.kernel.org/maintainer/rebasing-and-merging.html - https://docs.kernel.org/maintainer/pull-requests.html - https://docs.kernel.org/dev-tools/checkpatch.html - Network accessline 35
- https://docs.kernel.org/maintainer/pull-requests.html - Network accessline 36
- https://docs.kernel.org/dev-tools/checkpatch.html - Network accessline 58
Fixes: <12+ sha> ("original subject") Reported-by: Name <mail> Closes: https://bugzilla.kernel.org/... - Network accessline 59
Reported-by: Name <mail> Closes: https://bugzilla.kernel.org/... Link: https://lore.kernel.org/... - Network accessline 60
Closes: https://bugzilla.kernel.org/... - Network accessline 61
Link: https://lore.kernel.org/...
.dsh/skills/kernel-development-skills/scripts/check_kernel_api_patterns.py
- Executable scriptline 1
#!/usr/bin/env python3
.dsh/skills/kernel-development-skills/scripts/index_kernel_docs.py
- Executable scriptline 1
#!/usr/bin/env python3
.dsh/skills/kernel-development-skills/scripts/triage_kernel_change.py
- Executable scriptline 1
#!/usr/bin/env python3
.dsh/skills/rust-best-practices/SKILL.md
- Network accessline 24
Apply these guidelines when writing or reviewing Rust code. Based on Apollo GraphQL's [Rust Best Practices Handbook](https://github.com/apollographql/rust-best-practices).
.dsh/skills/rust-best-practices/references/chapter_01.md
- Network accessline 499
Different languages have different ways of sorting their imports, in the Rust ecosystem the [standard way](https://github.com/rust-lang/rustfmt/issues/4107) is: - Network accessline 562
> "Duplication is far cheaper than the wrong abstraction." -- [Sandi Metz, The Wrong Abstraction](https://sandimetz.com/blog/2016/1/20/the-wrong-abstraction) - Network accessline 566
From [Martin Fowler's *Refactoring*](https://martinfowler.com/books/refactoring.html), attributed to Don Roberts: - Network accessline 574
[DRY](https://en.wikipedia.org/wiki/Don%27t_repeat_yourself) (*The Pragmatic Programmer*) says every piece of **knowledge** should have a single representation. It does **not** say "no two code fragments may look alike". Two blocks that *ha - Network accessline 601
Every new variant will grow another parameter or branch. And the `bool` is a smell in its own right: `write_entry(out, key, value, true)` tells the reader nothing at the call site -- Martin Fowler calls this a [Flag Argument](https://martin - Network accessline 614
If you find yourself maintaining an abstraction like `write_entry`, [Sandi Metz's advice](https://sandimetz.com/blog/2016/1/20/the-wrong-abstraction) is to **unwind it, not patch it**: - Network accessline 637
In tests, be **even more tolerant of duplication**. The Google Testing Blog calls this [DAMP -- "Descriptive And Meaningful Phrases"](https://testing.googleblog.com/2019/12/testing-on-toilet-tests-too-dry-make.html) ([*Software Engineering
.dsh/skills/rust-best-practices/references/chapter_02.md
- Network accessline 5
Clippy documentation can be found [here](https://doc.rust-lang.org/clippy/usage.html). - Network accessline 41
| Lint Name | Why | Link | | --------- | ----| -----| | `redundant_clone` | Detects unnecessary `clones`, has performance impact | [link (nursery + perf)](https://rust-lang.github.io/rust-clippy/master/#redundant_clone) | - Network accessline 42
| --------- | ----| -----| | `redundant_clone` | Detects unnecessary `clones`, has performance impact | [link (nursery + perf)](https://rust-lang.github.io/rust-clippy/master/#redundant_clone) | | `needless_borrow` group | Removes redundant - Network accessline 43
| `redundant_clone` | Detects unnecessary `clones`, has performance impact | [link (nursery + perf)](https://rust-lang.github.io/rust-clippy/master/#redundant_clone) | - Network accessline 44
| `needless_borrow` group | Removes redundant `&` borrowing | [link (style)](https://rust-lang.github.io/rust-clippy/master/#needless_borrow) | - Network accessline 45
| `map_unwrap_or` / `map_or` | Simplifies nested `Option/Result` handling | [`map_unwrap_or`](https://rust-lang.github.io/rust-clippy/master/#map_unwrap_or) [`unnecessary_map_or`](https://rust-lang.github.io/rust-clippy/master/#unnecessary_ - Network accessline 46
| `manual_ok_or` | Suggest using `.ok_or_else` instead of `match` | [link (style)](https://rust-lang.github.io/rust-clippy/master/#manual_ok_or) | - Network accessline 47
| `large_enum_variant` | Warns if an enum has very large variant which is bad for memory. Suggests `Boxing` it | [link (perf)](https://rust-lang.github.io/rust-clippy/master/#large_enum_variant) | - Network accessline 48
| `unnecessary_wraps` | If your function always returns `Some` or `Ok`, you don't need `Option`/`Result` | [link (pedantic)](https://rust-lang.github.io/rust-clippy/master/#unnecessary_wraps) | - Network accessline 49
| `clone_on_copy` | Catches accidental `.clone()` on `Copy` types like `u32` and `bool` | [link (complexity)](https://rust-lang.github.io/rust-clippy/master/#clone_on_copy) | - Network accessline 50
| `needless_collect` | Prevents collecting and allocating an iterator, when allocation is not needed | [link (nursery)](https://rust-lang.github.io/rust-clippy/master/#needless_collect) |
.dsh/skills/rust-best-practices/references/chapter_03.md
- Network accessline 10
* Use `--release` flag on you builds (might sound dummy, but it is quite common to hear people complaining that their Rust code is slower than their X language code, and 99% of the time is because they didn't use the `--release` flag). * `$ - Network accessline 11
* `$ cargo clippy -- -D clippy::perf` gives you important tips on best practices for performance. * [`cargo bench`](https://doc.rust-lang.org/cargo/commands/cargo-bench.html) is a cargo tool to create micro-benchmarks and test different cod - Network accessline 12
* [`cargo bench`](https://doc.rust-lang.org/cargo/commands/cargo-bench.html) is a cargo tool to create micro-benchmarks and test different code solutions. Write a test scenario and bench you solution against the original code, if your impro - Network accessline 13
* [`cargo flamegraph`](https://github.com/flamegraph-rs/flamegraph) a powerful profiler for Rust code. For MacOS, [samply](https://github.com/mstange/samply) might be a better DX option. - Network accessline 15
> #### Further reading on Benchmarking: > - [How to build a Custom Benchmarking Harness in Rust](https://bencher.dev/learn/benchmarking/rust/custom-harness/) - Network accessline 16
> - [How to build a Custom Benchmarking Harness in Rust](https://bencher.dev/learn/benchmarking/rust/custom-harness/) - Network accessline 72
In sections [Borrowing over Cloning](./chapter_01.md#11-borrowing-over-cloning) and [Important Clippy lints to respect](./chapter_02.md#23-important-clippy-lints-to-respect) we mentioned the impacts of cloning and the relevant clippy lint [ - Network accessline 157
Sometimes you don't actually need owned data, but that is not clear from the API perspective, so using [`std::borrow::Cow`](https://doc.rust-lang.org/std/borrow/enum.Cow.html) is a way to efficiently address this case: - Network accessline 187
* Only use `#[inline]` when benchmark proves beneficial, Rust is already pretty good at inlining **without** hints. * Avoid massive stack allocations, box them. Example `let buffer: Box<[u8; 65536]> = Box::new(..)` would first allocate `[u8 - Network accessline 189
* For large `const` arrays, considering using [crate smallvec](https://docs.rs/smallvec/latest/smallvec/) as it behaves like an array, but is smart enough to allocate large arrays on the heap.
.dsh/skills/rust-best-practices/references/chapter_04.md
- Network accessline 9
Rust has a powerful type that wraps fallible data, [`Result<T, E>`](https://doc.rust-lang.org/std/result/), this allows us to handle Error cases according to our needs and manage the state of the application based on that.
.dsh/skills/rust-best-practices/references/chapter_05.md
- Network accessline 159
If you are testing separate behaviors, make multiple tests each with descriptive names. To avoid boilerplate, either use a shared setup function or [rstest](https://crates.io/crates/rstest) cases *with descriptive test names*: - Network accessline 160
To avoid boilerplate, either use a shared setup function or [rstest](https://crates.io/crates/rstest) cases *with descriptive test names*: - Network accessline 252
* Test for happy paths and common use cases. * Allow external states and side effects, [testcontainers](https://rust.testcontainers.org/) might help. - Network accessline 253
* Allow external states and side effects, [testcontainers](https://rust.testcontainers.org/) might help. - Network accessline 291
* Since Rust 1.96 prefer the stabilized [`assert_matches!`](https://doc.rust-lang.org/std/macro.assert_matches.html) (and [`debug_assert_matches!`](https://doc.rust-lang.org/std/macro.debug_assert_matches.html)) over `assert!(matches!(..))` - Network accessline 297
* Use `#[should_panic]` wisely. It should only be used when panic is the desired behavior, prefer result instead of panic. * There are some other that can enhance your testing experience like: * [`rstest`](https://crates.io/crates/rstes - Network accessline 298
* There are some other that can enhance your testing experience like: * [`rstest`](https://crates.io/crates/rstest): fixture based test framework with procedural macros. * [`pretty_assertions`](https://crates.io/crates/pretty_assert - Network accessline 299
* [`rstest`](https://crates.io/crates/rstest): fixture based test framework with procedural macros. - Network accessline 300
* [`pretty_assertions`](https://crates.io/crates/pretty_assertions): overrides `assert_eq` and `assert_ne`, and creates colorful diffs between them. - Network accessline 329
To learn more about `cargo insta` check out its [documentation](https://insta.rs/docs/quickstart/) as it is a very complete and well documented tool. - Network accessline 373
* Use [redactions](https://insta.rs/docs/redactions/) for unstable fields (randomly generated, timestamps, uuid, etc):
.dsh/skills/rust-best-practices/references/chapter_06.md
.dsh/skills/rust-best-practices/references/chapter_07.md
- Network accessline 5
> Recently it became the standard design pattern of Rust programming. However, it is not exclusive to Rust, as it is achievable and has inspired other languages to do the same [swift](https://swiftology.io/articles/typestate/) and [typescri - Network accessline 23
[Github Example](https://github.com/apollographql/rust-best-practices/tree/main/examples/simple-type-state) - Network accessline 85
[Github Example](https://github.com/apollographql/rust-best-practices/tree/main/examples/type-state-builder)
.dsh/skills/rust-best-practices/references/chapter_08.md
- Network accessline 157
| Lint | Description | |-------------- |------------------------------------------- | | [missing_docs](https://doc.rust-lang.org/rustdoc/lints.html#missing_docs) | Warns that a public functions, struct, const, enum has missing documentation - Network accessline 158
|-------------- |------------------------------------------- | | [missing_docs](https://doc.rust-lang.org/rustdoc/lints.html#missing_docs) | Warns that a public functions, struct, const, enum has missing documentation | | [broken_intra_doc_ - Network accessline 159
| [missing_docs](https://doc.rust-lang.org/rustdoc/lints.html#missing_docs) | Warns that a public functions, struct, const, enum has missing documentation | - Network accessline 160
| [broken_intra_doc_links](https://doc.rust-lang.org/rustdoc/lints.html#broken_intra_doc_links) | Detects if an internal documentation link is broken. Specially useful when things are renamed. | - Network accessline 161
| [empty_docs](https://rust-lang.github.io/rust-clippy/master/#empty_docs) | Disallow empty docs - preventing bypass of `missing_docs` | - Network accessline 162
| [missing_panics_doc](https://rust-lang.github.io/rust-clippy/master/#missing_panics_doc) | Warns that documentation should have a `# Panics` section if function can panic | - Network accessline 163
| [missing_errors_doc](https://rust-lang.github.io/rust-clippy/master/#missing_errors_doc) | Warns that documentation should have a `# Errors` section if function returns a `Result` explaining `Err` conditions | - Network accessline 164
| [missing_safety_doc](https://rust-lang.github.io/rust-clippy/master/#missing_safety_doc) | Warns that documentation should have a `# Safety` section if public facing functions have visible unsafe blocks | - Network accessline 231
- [ ] Invariants or expectations. - [ ] Example construction or usage. - [ ] Consider using [`#[non_exhaustive]`](https://doc.rust-lang.org/reference/attributes/type_system.html#the-non_exhaustive-attribute) if external users may match - Network accessline 233
- [ ] Consider using [`#[non_exhaustive]`](https://doc.rust-lang.org/reference/attributes/type_system.html#the-non_exhaustive-attribute) if external users may match on it.
.dsh/skills/rust-best-practices/references/chapter_09.md
- Network accessline 80
### [`Box<T>`](https://doc.rust-lang.org/std/boxed/struct.Box.html) - Heap Allocated - Network accessline 92
### [`Rc<T>`](https://doc.rust-lang.org/std/rc/struct.Rc.html) - Reference Counter (single-thread) - Network accessline 96
### [`Arc<T>`](https://doc.rust-lang.org/std/sync/struct.Arc.html) - Atomic Reference Counter (multi-thread) - Network accessline 100
### [`RefCell<T>`](https://doc.rust-lang.org/std/cell/struct.RefCell.html) - Runtime checked interior mutability - Network accessline 122
### [`Cell<T>`](https://doc.rust-lang.org/std/cell/struct.Cell.html) - Copy-only interior mutability - Network accessline 150
### [`Mutex<T>`](https://doc.rust-lang.org/std/sync/struct.Mutex.html) - Thread-safe mutability - Network accessline 154
### [`RwLock<T>`](https://doc.rust-lang.org/std/sync/struct.RwLock.html) - Thread-safe mutability - Network accessline 159
### [`*const T/*mut T`](https://doc.rust-lang.org/std/primitive.pointer.html) - Raw pointers - Network accessline 171
### [`OnceCell`](https://doc.rust-lang.org/std/cell/struct.OnceCell.html) - Single-thread single initialization container - Network accessline 206
### [`LazyCell`](https://doc.rust-lang.org/std/cell/struct.LazyCell.html) - Lazy initialization of `OnceCell` - Network accessline 210
### [`OnceLock`](https://doc.rust-lang.org/std/sync/struct.OnceLock.html) - thread-safe `OnceCell` - Network accessline 237
### [`LazyLock`](https://doc.rust-lang.org/std/sync/struct.LazyLock.html) - thread-safe `LazyCell` - Network accessline 254
## References - [Mara Bos - Rust Atomics and Locks](https://marabos.nl/atomics/) - Network accessline 255
- [Mara Bos - Rust Atomics and Locks](https://marabos.nl/atomics/) - Network accessline 256
- [Semicolon video on pointers](https://www.youtube.com/watch?v=Ag_6Q44PBNs)
.dsh/skills/rust-guidelines/SKILL.md
.dsh/skills/rust-guidelines/guidelines/README.md
- Network accessline 11
We build on existing high-quality guidelines, most notably the [Rust API Guidelines](https://rust-lang.github.io/api-guidelines/checklist.html), - Network accessline 43
- Check if your guideline follows the [meta design principles](#meta-design-principles) above. - Check if your suggestion is not already covered by the [API Guidelines](https://rust-lang.github.io/api-guidelines/checklist.html) or [Clippy]( - Network accessline 44
- Check if your suggestion is not already covered by the [API Guidelines](https://rust-lang.github.io/api-guidelines/checklist.html) or [Clippy](https://rust-lang.github.io/rust-clippy/master/?groups). - Network accessline 45
- File a [PR or issue](https://github.com/microsoft/rust-guidelines).
.dsh/skills/rust-guidelines/guidelines/correctness/M-PANIC-IS-STOP.md
- Network accessline 9
Although your code must be [_minimally_ panic-safe](https://doc.rust-lang.org/nomicon/exception-safety.html) (i.e., a survived panic may not lead to
.dsh/skills/rust-guidelines/guidelines/correctness/M-UNSAFE.md
- Network accessline 29
- [ ] Verify there is no established alternative. If there is, prefer that. - [ ] Your abstraction must be minimal and testable. - [ ] It must be hardened and tested against ["adversarial code"](https://cheats.rs/#adversarial-code), esp. - Network accessline 30
- [ ] Your abstraction must be minimal and testable. - [ ] It must be hardened and tested against ["adversarial code"](https://cheats.rs/#adversarial-code), esp. - If they accept closures they must become invalid (e.g., poisoned) if the c - Network accessline 31
- [ ] It must be hardened and tested against ["adversarial code"](https://cheats.rs/#adversarial-code), esp. - Network accessline 33
- They must assume any safe trait is misbehaving, esp. `Deref`, `Clone` and `Drop`. - [ ] Any use of `unsafe` must be accompanied by plain-text reasoning outlining its safety - [ ] It must pass [Miri](https://github.com/rust-lang/miri), inc - Network accessline 34
- [ ] Any use of `unsafe` must be accompanied by plain-text reasoning outlining its safety - [ ] It must pass [Miri](https://github.com/rust-lang/miri), including adversarial test cases - [ ] It must follow all other [unsafe code guidelines - Network accessline 35
- [ ] It must pass [Miri](https://github.com/rust-lang/miri), including adversarial test cases - Network accessline 36
- [ ] It must follow all other [unsafe code guidelines](https://rust-lang.github.io/unsafe-code-guidelines/) - Network accessline 41
- [ ] Any use of `unsafe` must be accompanied by plain-text reasoning outlining its safety. This applies to both calling `unsafe` methods, as well as providing `_unchecked` ones. - [ ] The code in question must pass [Miri](https://github. - Network accessline 42
calling `unsafe` methods, as well as providing `_unchecked` ones. - [ ] The code in question must pass [Miri](https://github.com/rust-lang/miri) - [ ] You must follow the [unsafe code guidelines](https://rust-lang.github.io/unsafe-code-guid - Network accessline 43
- [ ] The code in question must pass [Miri](https://github.com/rust-lang/miri) - Network accessline 44
- [ ] You must follow the [unsafe code guidelines](https://rust-lang.github.io/unsafe-code-guidelines/) - Network accessline 48
- [ ] We recommend you use an established interop library to avoid `unsafe` constructs - [ ] You must follow the [unsafe code guidelines](https://rust-lang.github.io/unsafe-code-guidelines/) - Network accessline 49
- [ ] You must follow the [unsafe code guidelines](https://rust-lang.github.io/unsafe-code-guidelines/) - Network accessline 54
- [Nomicon](https://doc.rust-lang.org/nightly/nomicon/) - Network accessline 55
- [Unsafe Code Guidelines](https://rust-lang.github.io/unsafe-code-guidelines/) - Network accessline 56
- [Miri](https://github.com/rust-lang/miri) - Network accessline 57
- ["Adversarial code"](https://cheats.rs/#adversarial-code)
.dsh/skills/rust-guidelines/guidelines/correctness/M-UNSOUND.md
- Network accessline 18
> behavior is only a 'remote, theoretical possibility' requiring 'weird code', the function is unsound. > > Also see [Unsafe, Unsound, Undefined](https://cheats.rs/#unsafe-unsound-undefined). - Network accessline 20
> Also see [Unsafe, Unsound, Undefined](https://cheats.rs/#unsafe-unsound-undefined).
.dsh/skills/rust-guidelines/guidelines/universal/M-LOG-STRUCTURED.md
- Network accessline 7
Logging should use structured events with named properties and message templates following the [message templates](https://messagetemplates.org/) specification. - Network accessline 8
the [message templates](https://messagetemplates.org/) specification. - Network accessline 10
> **Note:** Examples use the [`tracing`](https://docs.rs/tracing/) crate's `event!` macro, - Network accessline 61
Use [OTel semantic conventions](https://opentelemetry.io/docs/specs/semconv/) for common attributes if needed. - Network accessline 108
Sensitive data includes email addresses, file paths revealing user identity, filenames containing secrets or tokens, file contents with PII, temporary file paths with session IDs and more. Consider using the [`data_privacy`](https://crates. - Network accessline 109
file contents with PII, temporary file paths with session IDs and more. Consider using the [`data_privacy`](https://crates.io/crates/data_privacy) crate for consistent redaction. - Network accessline 113
- [Message Templates Specification](https://messagetemplates.org/) - Network accessline 114
- [OpenTelemetry Semantic Conventions](https://opentelemetry.io/docs/specs/semconv/) - Network accessline 115
- [OWASP Logging Cheat Sheet](https://cheatsheetseries.owasp.org/cheatsheets/Logging_Cheat_Sheet.html)
.dsh/skills/rust-guidelines/guidelines/universal/M-STATIC-VERIFICATION.md
- Network accessline 10
* [compiler lints](https://doc.rust-lang.org/rustc/lints/index.html) offer many lints to avoid bugs and improve code quality. - Network accessline 11
* [clippy lints](https://doc.rust-lang.org/clippy/) contain hundreds of lints to avoid bugs and improve code quality. - Network accessline 12
* [rustfmt](https://github.com/rust-lang/rustfmt) ensures consistent source formatting. - Network accessline 13
* [cargo-audit](https://crates.io/crates/cargo-audit) verifies crate dependencies for security vulnerabilities. - Network accessline 14
* [cargo-hack](https://crates.io/crates/cargo-hack) validates that all combinations of crate features work correctly. - Network accessline 15
* [cargo-udeps](https://crates.io/crates/cargo-udeps) detects unused dependencies in Cargo.toml files. - Network accessline 16
* [miri](https://github.com/rust-lang/miri) validates the correctness of unsafe code.
.dsh/skills/rust-guidelines/guidelines/universal/M-UPSTREAM-GUIDELINES.md
- Network accessline 9
- [Rust API Guidelines](https://rust-lang.github.io/api-guidelines/checklist.html) - Network accessline 10
- [Rust Style Guide](https://doc.rust-lang.org/nightly/style-guide/) - Network accessline 11
- [Rust Design Patterns](https://rust-unofficial.github.io/patterns//intro.html) - Network accessline 12
- [Rust Reference - Undefined Behavior](https://doc.rust-lang.org/reference/behavior-considered-undefined.html) - Network accessline 16
- [ ] [C-CONV](https://rust-lang.github.io/api-guidelines/naming.html#ad-hoc-conversions-follow-as_-to_-into_-conventions-c-conv) - Ad-hoc conversions - Network accessline 17
follow `as_`, `to_`, `into_` conventions - [ ] [C-GETTER](https://rust-lang.github.io/api-guidelines/naming.html#getter-names-follow-rust-convention-c-getter) - Getter names follow Rust convention - [ ] [C-COMMON-TRAITS](https://rust-lang. - Network accessline 18
- [ ] [C-GETTER](https://rust-lang.github.io/api-guidelines/naming.html#getter-names-follow-rust-convention-c-getter) - Getter names follow Rust convention - Network accessline 19
- [ ] [C-COMMON-TRAITS](https://rust-lang.github.io/api-guidelines/interoperability.html#c-common-traits) - Types eagerly implement common traits - Network accessline 20
- `Copy`, `Clone`, `Eq`, `PartialEq`, `Ord`, `PartialOrd`, `Hash`, `Default`, `Debug` - `Display` where type wants to be displayed - [ ] [C-CTOR](https://rust-lang.github.io/api-guidelines/predictability.html?highlight=new#constructors-ar - Network accessline 21
- `Display` where type wants to be displayed - [ ] [C-CTOR](https://rust-lang.github.io/api-guidelines/predictability.html?highlight=new#constructors-are-static-inherent-methods-c-ctor) - Constructors are static, inherent methods - Network accessline 22
- [ ] [C-CTOR](https://rust-lang.github.io/api-guidelines/predictability.html?highlight=new#constructors-are-static-inherent-methods-c-ctor) - - Network accessline 23
Constructors are static, inherent methods - In particular, have `Foo::new()`, even if you have `Foo::default()` - [ ] [C-FEATURE](https://rust-lang.github.io/api-guidelines/naming.html#feature-names-are-free-of-placeholder-words-c-feature - Network accessline 24
- In particular, have `Foo::new()`, even if you have `Foo::default()` - [ ] [C-FEATURE](https://rust-lang.github.io/api-guidelines/naming.html#feature-names-are-free-of-placeholder-words-c-feature) - Feature names are free of placeholder - Network accessline 25
- [ ] [C-FEATURE](https://rust-lang.github.io/api-guidelines/naming.html#feature-names-are-free-of-placeholder-words-c-feature) - Feature names
.dsh/skills/rust-skills/SKILL.md
- Network accessline 17
version: "1.5.1" vendored: source: https://github.com/leonardomso/rust-skills - Network accessline 18
vendored: source: https://github.com/leonardomso/rust-skills commit: fd2a861ab0406a4ac536a55274d14ea6fd1ca9c9 - Network accessline 19
source: https://github.com/leonardomso/rust-skills - Network accessline 502
**Official Rust documentation** - [The Rust Reference](https://doc.rust-lang.org/reference/) - Network accessline 503
- [The Rust Reference](https://doc.rust-lang.org/reference/) - Network accessline 504
- [Rust API Guidelines](https://rust-lang.github.io/api-guidelines/) - Network accessline 505
- [The Rustonomicon](https://doc.rust-lang.org/nomicon/) (unsafe code) - Network accessline 506
- [Rust 2024 Edition Guide](https://doc.rust-lang.org/edition-guide/rust-2024/) - Network accessline 507
- [The Cargo Book](https://doc.rust-lang.org/cargo/) - Network accessline 508
- [Standard library docs](https://doc.rust-lang.org/std/) and [release notes](https://doc.rust-lang.org/releases.html) - Network accessline 510
**Books & guides** - [The Rust Performance Book](https://nnethercote.github.io/perf-book/) — Nicholas Nethercote - Network accessline 511
- [The Rust Performance Book](https://nnethercote.github.io/perf-book/) — Nicholas Nethercote - Network accessline 512
- [Rust Design Patterns](https://rust-unofficial.github.io/patterns/) — rust-unofficial - Network accessline 513
- [Rust Atomics and Locks](https://marabos.nl/atomics/) — Mara Bos - Network accessline 514
- [Effective Rust](https://effective-rust.com/) — David Drysdale - Network accessline 516
**Tooling** - [Clippy lint documentation](https://rust-lang.github.io/rust-clippy/) - Network accessline 517
- [Clippy lint documentation](https://rust-lang.github.io/rust-clippy/) - Network accessline 518
- [Miri](https://github.com/rust-lang/miri)
.dsh/skills/rust-skills/checks/validate.py
- Executable scriptline 1
#!/usr/bin/env python3
.dsh/skills/rust-skills/rules/api-builder-must-use.md
- Network accessline 30
// Bug: builder methods are ignored - no warning! let request = RequestBuilder::new("https://api.example.com"); - Network accessline 31
let request = RequestBuilder::new("https://api.example.com"); - Network accessline 60
// Now warns: unused return value that must be used let request = RequestBuilder::new("https://api.example.com"); - Network accessline 61
let request = RequestBuilder::new("https://api.example.com"); - Network accessline 64
// Correct: chain methods let response = RequestBuilder::new("https://api.example.com") - Network accessline 65
let response = RequestBuilder::new("https://api.example.com")
.dsh/skills/rust-skills/rules/api-builder-pattern.md
- Network accessline 12
// Constructor with many parameters - hard to read, easy to get wrong let client = Client::new( "https://api.example.com", // Which is which? - Network accessline 13
let client = Client::new( "https://api.example.com", // Which is which? 30, // Timeout? Retries? - Network accessline 14
"https://api.example.com", // Which is which? - Access to secretsline 18
[Credential-related source omitted] - Access to secretsline 40
[Credential-related source omitted] - Access to secretsline 67
[Credential-related source omitted] - Access to secretsline 68
[Credential-related source omitted] - Access to secretsline 81
[Credential-related source omitted] - Network accessline 86
// Usage - clear and self-documenting let client = ClientBuilder::new() .base_url("https://api.example.com") - Network accessline 87
let client = ClientBuilder::new() .base_url("https://api.example.com") .timeout(Duration::from_secs(10)) - Network accessline 88
.base_url("https://api.example.com") - Access to secretsline 91
[Credential-related source omitted] - Network accessline 145
// https://github.com/seanmonstar/reqwest/blob/master/src/async_impl/client.rs
.dsh/skills/rust-skills/rules/api-common-traits.md
- Access to secretsline 142
[Credential-related source omitted]
.dsh/skills/rust-skills/rules/api-must-use.md
.dsh/skills/rust-skills/rules/api-parse-dont-validate.md
.dsh/skills/rust-skills/rules/api-typestate.md
.dsh/skills/rust-skills/rules/async-joinset-structured.md
- Network accessline 15
for url in urls { handles.push(tokio::spawn(fetch(url))); - Network accessline 16
handles.push(tokio::spawn(fetch(url))); - Network accessline 32
for url in urls { set.spawn(fetch(url.clone())); - Network accessline 33
set.spawn(fetch(url.clone())); - Network accessline 105
for url in urls { set.spawn(fetch(url.clone())); - Network accessline 106
set.spawn(fetch(url.clone())); - Network accessline 167
let url = url.clone(); set.spawn(async move { (index, fetch(&url).await) - Network accessline 168
set.spawn(async move { (index, fetch(&url).await) }); - Network accessline 169
(index, fetch(&url).await)
.dsh/skills/rust-skills/rules/async-tokio-runtime.md
- Network accessline 37
// Good for many concurrent network connections let handles: Vec<_> = urls.iter() .map(|url| tokio::spawn(fetch(url.clone()))) - Network accessline 38
let handles: Vec<_> = urls.iter() .map(|url| tokio::spawn(fetch(url.clone()))) .collect(); - Network accessline 39
.map(|url| tokio::spawn(fetch(url.clone())))
.dsh/skills/rust-skills/rules/doc-all-public.md
.dsh/skills/rust-skills/rules/doc-cargo-metadata.md
- Network accessline 31
description = "A fast, ergonomic HTTP client for Rust" license = "MIT OR Apache-2.0" repository = "https://github.com/username/my-awesome-crate" - Network accessline 33
repository = "https://github.com/username/my-awesome-crate" - Network accessline 35
# Highly recommended documentation = "https://docs.rs/my-awesome-crate" - Network accessline 36
documentation = "https://docs.rs/my-awesome-crate" - Network accessline 39
categories = ["network-programming", "web-programming::http-client"] authors = ["Your Name <you@example.com>"] homepage = "https://my-awesome-crate.dev" - Network accessline 41
homepage = "https://my-awesome-crate.dev" - Network accessline 65
| Field | Purpose | Example | |-------|---------|---------| | `repository` | Link to source code | `https://github.com/user/repo` | - Network accessline 66
|-------|---------|---------| | `repository` | Link to source code | `https://github.com/user/repo` | | `documentation` | Link to docs | `https://docs.rs/crate` | - Network accessline 67
| `repository` | Link to source code | `https://github.com/user/repo` | - Network accessline 68
| `documentation` | Link to docs | `https://docs.rs/crate` | - Network accessline 86
Choose from [crates.io categories](https://crates.io/category_slugs):
.dsh/skills/rust-skills/rules/doc-crate-readme.md
.dsh/skills/rust-skills/rules/doc-hidden-setup.md
- Network accessline 114
/// // Configuration IS the example - show it /// let client = Client::builder() /// .base_url("https://api.example.com") - Network accessline 115
/// let client = Client::builder() /// .base_url("https://api.example.com") /// .timeout_secs(30) - Network accessline 116
/// .base_url("https://api.example.com")
.dsh/skills/rust-skills/rules/doc-intra-links.md
.dsh/skills/rust-skills/rules/doc-question-mark.md
- Network accessline 30
/// ``` /// let client = Client::new(); /// let response = client.get("https://api.example.com").unwrap(); - Network accessline 31
/// let client = Client::new(); /// let response = client.get("https://api.example.com").unwrap(); /// let data: Data = response.json().unwrap(); - Network accessline 32
/// let response = client.get("https://api.example.com").unwrap(); - Network accessline 65
/// # async fn example() -> Result<(), Error> { /// let client = Client::new(); /// let response = client.get("https://api.example.com").await?; - Network accessline 66
/// let client = Client::new(); /// let response = client.get("https://api.example.com").await?; /// let data: Data = response.json().await?; - Network accessline 67
/// let response = client.get("https://api.example.com").await?;
.dsh/skills/rust-skills/rules/err-anyhow-app.md
- Network accessline 21
// No context - hard to debug fn process() -> Result<(), Box<dyn std::error::Error>> { let data = fetch()?; // Which fetch failed? - Network accessline 22
fn process() -> Result<(), Box<dyn std::error::Error>> { let data = fetch()?; // Which fetch failed? transform(data)?; // What was being transformed? - Network accessline 23
let data = fetch()?; // Which fetch failed? - Network accessline 74
// Dynamic context fetch(url) - Network accessline 75
fetch(url)
.dsh/skills/rust-skills/rules/err-lowercase-msg.md
.dsh/skills/rust-skills/rules/lint-cargo-metadata.md
- Network accessline 79
description = "A short description of what this crate does" license = "MIT OR Apache-2.0" repository = "https://github.com/user/my-crate" - Network accessline 81
repository = "https://github.com/user/my-crate" - Network accessline 83
# Recommended documentation = "https://docs.rs/my-crate" - Network accessline 84
documentation = "https://docs.rs/my-crate"
.dsh/skills/rust-skills/rules/mem-arena-allocator.md
- Network accessline 103
// https://github.com/roc-lang/roc/blob/main/crates/compiler/solve/src/to_var.rs - Network accessline 155
microbenchmarks — but the actual speedup depends on the allocator, workload, and allocation size. Arena reset is O(1) regardless of how many allocations were made. Measure with [criterion](https://crates.io/crates/criterion) to - Network accessline 156
and allocation size. Arena reset is O(1) regardless of how many allocations were made. Measure with [criterion](https://crates.io/crates/criterion) to confirm the benefit in your specific use case. - Network accessline 157
were made. Measure with [criterion](https://crates.io/crates/criterion) to
.dsh/skills/rust-skills/rules/mem-smallvec.md
- Network accessline 71
// https://github.com/rust-lang/rust/blob/main/compiler/rustc_expand/src/base.rs
.dsh/skills/rust-skills/rules/mem-with-capacity.md
- Network accessline 123
// https://github.com/sharkdp/fd/blob/master/src/walk.rs
.dsh/skills/rust-skills/rules/mem-write-over-format.md
- Network accessline 153
consistently faster than `format!()` in tight loops. The exact difference depends on string length, allocator, and hardware — measure with [criterion](https://crates.io/crates/criterion) in your own workload. - Network accessline 155
[criterion](https://crates.io/crates/criterion) in your own workload.
.dsh/skills/rust-skills/rules/name-funcs-snake.md
- Network accessline 55
let http_response = fetch();
.dsh/skills/rust-skills/rules/obs-no-sensitive-data.md
.dsh/skills/rust-skills/rules/opt-inline-small.md
- Network accessline 92
// https://github.com/BurntSushi/ripgrep/blob/master/crates/printer/src/standard.rs
.dsh/skills/rust-skills/rules/opt-lto-release.md
.dsh/skills/rust-skills/rules/opt-pgo-profile.md
- Dangerous shell operationline 133
run: sudo apt-get install llvm
.dsh/skills/rust-skills/rules/own-borrow-over-clone.md
- Network accessline 82
// https://github.com/BurntSushi/ripgrep/blob/master/crates/globset/src/pathutil.rs
.dsh/skills/rust-skills/rules/own-cow-conditional.md
- Network accessline 58
// https://github.com/BurntSushi/ripgrep/blob/master/crates/globset/src/pathutil.rs
.dsh/skills/rust-skills/rules/perf-collect-into.md
- Network accessline 9
> **Note:** `collect_into` is currently **nightly-only** (requires `#![feature(iter_collect_into)]`, tracking issue [#94780](https://github.com/rust-lang/rust/issues/94780)). On stable Rust, use `extend()` instead — see the Stable Alternati
.dsh/skills/rust-skills/rules/proj-build-rs-minimal.md
.dsh/skills/rust-skills/rules/proj-workspace-deps.md
.dsh/skills/rust-skills/rules/test-criterion-bench.md
- Network accessline 150
// https://github.com/tokio-rs/tokio/blob/master/benches/sync_mpsc.rs
.dsh/skills/rust-skills/rules/test-mockall-mocking.md
- Network accessline 177
#[async_trait] trait AsyncDatabase { async fn fetch(&self, id: u64) -> Option<Data>; - Network accessline 178
trait AsyncDatabase { async fn fetch(&self, id: u64) -> Option<Data>; } - Network accessline 179
async fn fetch(&self, id: u64) -> Option<Data>; - Network accessline 189
let result = mock.fetch(1).await;
.dsh/skills/rust-unsafe-review/LICENSE.md
.dsh/skills/rust-unsafe-review/SKILL.md
.dsh/skills/vue-best-practices/LICENSE
- Network accessline 3
Copyright (c) 2025 hyf0, SerKo <https://github.com/serkodev>
.dsh/skills/vue-best-practices/SKILL.md
.dsh/skills/vue-best-practices/references/reactivity.md
- Network accessline 263
A computed getter should only derive a value. No mutation, no API calls, no storage writes, no event emits. ([Reference](https://vuejs.org/guide/essentials/computed.html#best-practices)) - Network accessline 264
([Reference](https://vuejs.org/guide/essentials/computed.html#best-practices)) - Network accessline 338
const res = await fetch(`/api/search?q=${encodeURIComponent(q)}`, {
.dsh/skills/vue-best-practices/references/sfc.md
.dsh/skills/vue-best-practices/references/updated-hook-performance.md
- Network accessline 31
updated() { // This runs after every single state change! fetch('/api/sync', { - Network accessline 32
// This runs after every single state change! fetch('/api/sync', { method: 'POST', - Network accessline 33
fetch('/api/sync', { - Network accessline 83
methods: { syncToServer: debounce(function(items) { fetch('/api/sync', { - Network accessline 84
syncToServer: debounce(function(items) { fetch('/api/sync', { method: 'POST', - Network accessline 85
fetch('/api/sync', { - Network accessline 108
const syncToServer = useDebounceFn((items) => { fetch('/api/sync', { method: 'POST', body: JSON.stringify(items) }) - Network accessline 109
fetch('/api/sync', { method: 'POST', body: JSON.stringify(items) })
.dsh/skills/vue-testing-best-practices/LICENSE
- Network accessline 3
Copyright (c) 2025 hyf0, SerKo <https://github.com/serkodev>
.dsh/skills/vue-testing-best-practices/SKILL.md
- Network accessline 8
metadata: vendored: source: https://github.com/vuejs-ai/skills - Network accessline 9
vendored: source: https://github.com/vuejs-ai/skills commit: c9d355ff23f654309dd02006be671859df0a134c - Network accessline 10
source: https://github.com/vuejs-ai/skills - Network accessline 43
- [Vue.js Testing Guide](https://vuejs.org/guide/scaling-up/testing) - Network accessline 44
- [Vue Test Utils](https://test-utils.vuejs.org/) - Network accessline 45
- [Vitest Documentation](https://vitest.dev/) - Network accessline 46
- [Playwright Documentation](https://playwright.dev/)
.dsh/skills/vue-testing-best-practices/reference/async-component-testing.md
.dsh/skills/vue-testing-best-practices/reference/teleport-testing-complexity.md
- Network accessline 156
## Reference - [Vue Test Utils - Teleport](https://test-utils.vuejs.org/guide/advanced/teleport) - Network accessline 157
- [Vue Test Utils - Teleport](https://test-utils.vuejs.org/guide/advanced/teleport) - Network accessline 158
- [Vue Test Utils - Stubs](https://test-utils.vuejs.org/guide/advanced/stubs-shallow-mount)
.dsh/skills/vue-testing-best-practices/reference/testing-async-await-flushpromises.md
- Network accessline 173
## Reference - [Vue Test Utils - Asynchronous Behavior](https://test-utils.vuejs.org/guide/advanced/async-suspense) - Network accessline 174
- [Vue Test Utils - Asynchronous Behavior](https://test-utils.vuejs.org/guide/advanced/async-suspense) - Network accessline 175
- [Vue.js Testing Guide](https://vuejs.org/guide/scaling-up/testing)
.dsh/skills/vue-testing-best-practices/reference/testing-browser-vs-node-runners.md
- Access to secretsline 11
[Credential-related source omitted] - Access to secretsline 20
[Credential-related source omitted] - Network accessline 206
## Reference - [Vue.js Testing - Component Testing](https://vuejs.org/guide/scaling-up/testing#component-testing) - Network accessline 207
- [Vue.js Testing - Component Testing](https://vuejs.org/guide/scaling-up/testing#component-testing) - Network accessline 208
- [Vitest Browser Mode](https://vitest.dev/guide/browser.html)
.dsh/skills/vue-testing-best-practices/reference/testing-component-blackbox-approach.md
- Network accessline 141
## Reference - [Vue.js Testing Guide](https://vuejs.org/guide/scaling-up/testing) - Network accessline 142
- [Vue.js Testing Guide](https://vuejs.org/guide/scaling-up/testing) - Network accessline 143
- [Vue Test Utils - Testing Philosophy](https://test-utils.vuejs.org/guide/) - Network accessline 144
- [Testing Library Guiding Principles](https://testing-library.com/docs/guiding-principles)
.dsh/skills/vue-testing-best-practices/reference/testing-composables-helper-wrapper.md
- Network accessline 236
## Reference - [Vue.js Testing Guide - Testing Composables](https://vuejs.org/guide/scaling-up/testing#testing-composables) - Network accessline 237
- [Vue.js Testing Guide - Testing Composables](https://vuejs.org/guide/scaling-up/testing#testing-composables) - Network accessline 238
- [Vue Test Utils - Mounting Components](https://test-utils.vuejs.org/guide/)
.dsh/skills/vue-testing-best-practices/reference/testing-e2e-playwright-recommended.md
- Network accessline 48
use: { // Base URL for navigation baseURL: 'http://localhost:5173', - Network accessline 49
// Base URL for navigation baseURL: 'http://localhost:5173', // Capture trace on first retry - Network accessline 50
baseURL: 'http://localhost:5173', - Network accessline 78
webServer: { command: 'npm run dev', url: 'http://localhost:5173', - Network accessline 79
command: 'npm run dev', url: 'http://localhost:5173', reuseExistingServer: !process.env.CI, - Network accessline 80
url: 'http://localhost:5173', - Network accessline 239
## Reference - [Playwright Documentation](https://playwright.dev/) - Network accessline 240
- [Playwright Documentation](https://playwright.dev/) - Network accessline 241
- [Vue.js E2E Testing Recommendations](https://vuejs.org/guide/scaling-up/testing#e2e-testing) - Network accessline 242
- [Playwright Best Practices](https://playwright.dev/docs/best-practices)
.dsh/skills/vue-testing-best-practices/reference/testing-no-snapshot-only.md
- Network accessline 194
## Reference - [Vue.js Testing Guide - What Not to Test](https://vuejs.org/guide/scaling-up/testing) - Network accessline 195
- [Vue.js Testing Guide - What Not to Test](https://vuejs.org/guide/scaling-up/testing) - Network accessline 196
- [Effective Snapshot Testing](https://kentcdodds.com/blog/effective-snapshot-testing) - Network accessline 197
- [Vitest Snapshot Testing](https://vitest.dev/guide/snapshot.html)
.dsh/skills/vue-testing-best-practices/reference/testing-pinia-store-setup.md
- Network accessline 225
## Reference - [Pinia Testing Guide](https://pinia.vuejs.org/cookbook/testing.html) - Network accessline 226
- [Pinia Testing Guide](https://pinia.vuejs.org/cookbook/testing.html) - Network accessline 227
- [@pinia/testing Package](https://www.npmjs.com/package/@pinia/testing) - Network accessline 228
- [Vue Test Utils - Plugins](https://test-utils.vuejs.org/guide/advanced/plugins.html)
.dsh/skills/vue-testing-best-practices/reference/testing-suspense-async-components.md
- Network accessline 226
## Reference - [Vue Test Utils - Async Suspense](https://test-utils.vuejs.org/guide/advanced/async-suspense) - Network accessline 227
- [Vue Test Utils - Async Suspense](https://test-utils.vuejs.org/guide/advanced/async-suspense) - Network accessline 228
- [Vue.js Suspense Documentation](https://vuejs.org/guide/built-ins/suspense.html) - Network accessline 229
- [Testing Library Vue Suspense Issue](https://github.com/testing-library/vue-testing-library/issues/230)
.dsh/skills/vue-testing-best-practices/reference/testing-vitest-recommended-for-vue.md
- Network accessline 201
## Reference - [Vitest Documentation](https://vitest.dev/) - Network accessline 202
- [Vitest Documentation](https://vitest.dev/) - Network accessline 203
- [Vue.js Testing Guide](https://vuejs.org/guide/scaling-up/testing) - Network accessline 204
- [Vue Test Utils](https://test-utils.vuejs.org/)
module/vfs/setup.sh
- Executable scriptline 1
#!/bin/sh - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
#!/bin/sh - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
#!/bin/sh - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Network accessline 6
# Run this from the root of a kernel tree: # # curl -LSs "https://raw.githubusercontent.com/Hybrid-Mount/meta-hybrid_mount/dev/module/vfs/setup.sh" | bash - Network accessline 6
# Run this from the root of a kernel tree: # # curl -LSs "https://raw.githubusercontent.com/Hybrid-Mount/meta-hybrid_mount/dev/module/vfs/setup.sh" | bash - Network accessline 6
# Run this from the root of a kernel tree: # # curl -LSs "https://raw.githubusercontent.com/Hybrid-Mount/meta-hybrid_mount/dev/module/vfs/setup.sh" | bash - Network accessline 7
# # curl -LSs "https://raw.githubusercontent.com/Hybrid-Mount/meta-hybrid_mount/dev/module/vfs/setup.sh" | bash # curl -LSs "https://raw.githubusercontent.com/Hybrid-Mount/meta-hybrid_mount/dev/module/vfs/setup.sh" | bash -s -- --cleanu - Network accessline 7
# # curl -LSs "https://raw.githubusercontent.com/Hybrid-Mount/meta-hybrid_mount/dev/module/vfs/setup.sh" | bash # curl -LSs "https://raw.githubusercontent.com/Hybrid-Mount/meta-hybrid_mount/dev/module/vfs/setup.sh" | bash -s -- --cleanu - Network accessline 7
# # curl -LSs "https://raw.githubusercontent.com/Hybrid-Mount/meta-hybrid_mount/dev/module/vfs/setup.sh" | bash # curl -LSs "https://raw.githubusercontent.com/Hybrid-Mount/meta-hybrid_mount/dev/module/vfs/setup.sh" | bash -s -- --cleanu - Dangerous shell operationline 8
# curl -LSs "https://raw.githubusercontent.com/Hybrid-Mount/meta-hybrid_mount/dev/module/vfs/setup.sh" | bash - Dangerous shell operationline 8
# curl -LSs "https://raw.githubusercontent.com/Hybrid-Mount/meta-hybrid_mount/dev/module/vfs/setup.sh" | bash - Dangerous shell operationline 8
# curl -LSs "https://raw.githubusercontent.com/Hybrid-Mount/meta-hybrid_mount/dev/module/vfs/setup.sh" | bash - Network accessline 8
# curl -LSs "https://raw.githubusercontent.com/Hybrid-Mount/meta-hybrid_mount/dev/module/vfs/setup.sh" | bash - Network accessline 8
# curl -LSs "https://raw.githubusercontent.com/Hybrid-Mount/meta-hybrid_mount/dev/module/vfs/setup.sh" | bash - Network accessline 8
# curl -LSs "https://raw.githubusercontent.com/Hybrid-Mount/meta-hybrid_mount/dev/module/vfs/setup.sh" | bash - Dangerous shell operationline 9
# curl -LSs "https://raw.githubusercontent.com/Hybrid-Mount/meta-hybrid_mount/dev/module/vfs/setup.sh" | bash -s -- --cleanup - Dangerous shell operationline 9
# curl -LSs "https://raw.githubusercontent.com/Hybrid-Mount/meta-hybrid_mount/dev/module/vfs/setup.sh" | bash -s -- --cleanup - Dangerous shell operationline 9
# curl -LSs "https://raw.githubusercontent.com/Hybrid-Mount/meta-hybrid_mount/dev/module/vfs/setup.sh" | bash -s -- --cleanup - Network accessline 9
# curl -LSs "https://raw.githubusercontent.com/Hybrid-Mount/meta-hybrid_mount/dev/module/vfs/setup.sh" | bash -s -- --cleanup - Network accessline 9
# curl -LSs "https://raw.githubusercontent.com/Hybrid-Mount/meta-hybrid_mount/dev/module/vfs/setup.sh" | bash -s -- --cleanup - Network accessline 9
# curl -LSs "https://raw.githubusercontent.com/Hybrid-Mount/meta-hybrid_mount/dev/module/vfs/setup.sh" | bash -s -- --cleanup - Dangerous shell operationline 33
rm -rf "$DOWNLOAD_DIR" - Dangerous shell operationline 33
rm -rf "$DOWNLOAD_DIR" - Dangerous shell operationline 33
rm -rf "$DOWNLOAD_DIR" - Network accessline 41
DOWNLOAD_DIR=$(mktemp -d) SRC_DIR="$DOWNLOAD_DIR" source_url="https://raw.githubusercontent.com/Hybrid-Mount/meta-hybrid_mount/dev/module/vfs/src" - Network accessline 41
DOWNLOAD_DIR=$(mktemp -d) SRC_DIR="$DOWNLOAD_DIR" source_url="https://raw.githubusercontent.com/Hybrid-Mount/meta-hybrid_mount/dev/module/vfs/src" - Network accessline 41
DOWNLOAD_DIR=$(mktemp -d) SRC_DIR="$DOWNLOAD_DIR" source_url="https://raw.githubusercontent.com/Hybrid-Mount/meta-hybrid_mount/dev/module/vfs/src" - Network accessline 42
SRC_DIR="$DOWNLOAD_DIR" source_url="https://raw.githubusercontent.com/Hybrid-Mount/meta-hybrid_mount/dev/module/vfs/src" for source_file in hybridmount.c hybridmount.h Kconfig LICENSE; do - Network accessline 42
SRC_DIR="$DOWNLOAD_DIR" source_url="https://raw.githubusercontent.com/Hybrid-Mount/meta-hybrid_mount/dev/module/vfs/src" for source_file in hybridmount.c hybridmount.h Kconfig LICENSE; do - Network accessline 42
SRC_DIR="$DOWNLOAD_DIR" source_url="https://raw.githubusercontent.com/Hybrid-Mount/meta-hybrid_mount/dev/module/vfs/src" for source_file in hybridmount.c hybridmount.h Kconfig LICENSE; do - Network accessline 43
source_url="https://raw.githubusercontent.com/Hybrid-Mount/meta-hybrid_mount/dev/module/vfs/src" for source_file in hybridmount.c hybridmount.h Kconfig LICENSE; do curl -fLSs "$source_url/$source_file" -o "$SRC_DIR/$source_file" - Network accessline 43
source_url="https://raw.githubusercontent.com/Hybrid-Mount/meta-hybrid_mount/dev/module/vfs/src" for source_file in hybridmount.c hybridmount.h Kconfig LICENSE; do curl -fLSs "$source_url/$source_file" -o "$SRC_DIR/$source_file" - Network accessline 43
source_url="https://raw.githubusercontent.com/Hybrid-Mount/meta-hybrid_mount/dev/module/vfs/src" for source_file in hybridmount.c hybridmount.h Kconfig LICENSE; do curl -fLSs "$source_url/$source_file" -o "$SRC_DIR/$source_file" - Network accessline 44
for source_file in hybridmount.c hybridmount.h Kconfig LICENSE; do curl -fLSs "$source_url/$source_file" -o "$SRC_DIR/$source_file" if [ ! -s "$SRC_DIR/$source_file" ]; then - Network accessline 44
for source_file in hybridmount.c hybridmount.h Kconfig LICENSE; do curl -fLSs "$source_url/$source_file" -o "$SRC_DIR/$source_file" if [ ! -s "$SRC_DIR/$source_file" ]; then - Network accessline 44
for source_file in hybridmount.c hybridmount.h Kconfig LICENSE; do curl -fLSs "$source_url/$source_file" -o "$SRC_DIR/$source_file" if [ ! -s "$SRC_DIR/$source_file" ]; then - Network accessline 45
curl -fLSs "$source_url/$source_file" -o "$SRC_DIR/$source_file" - Network accessline 45
curl -fLSs "$source_url/$source_file" -o "$SRC_DIR/$source_file" - Network accessline 45
curl -fLSs "$source_url/$source_file" -o "$SRC_DIR/$source_file" - Dangerous shell operationline 108
rm -rf "${FS_DIR:?}/$DIR_NAME" - Dangerous shell operationline 108
rm -rf "${FS_DIR:?}/$DIR_NAME" - Dangerous shell operationline 108
rm -rf "${FS_DIR:?}/$DIR_NAME"
tests/shell/boot_lock.sh
- Executable scriptline 1
#!/bin/sh - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Dangerous shell operationline 6
trap 'rm -r "$WORK"' EXIT HUP INT TERM
tests/shell/customize_lkm.sh
tests/shell/runtime_hooks.sh
- Executable scriptline 1
#!/bin/sh - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Dangerous shell operationline 6
trap 'rm -r "$WORK"' EXIT HUP INT TERM
tests/shell/vfs_sources_digest.sh
- Executable scriptline 1
#!/bin/sh - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
#!/bin/sh - Executable scriptline 1
Executable file; content unavailable - Executable scriptline 1
Executable file; content unavailable
How the signals fit together
Facts from a static read of the files at the pinned commit. They describe what the code does, not why.
Some files could not be read; the facts below still hold.
Signal confidence: 459 facts
- Network access in prose of the SKILL.mdhm-ci/SKILL.md:51Low confidence
- Network access in prose of the SKILL.mdhm-ci/SKILL.md:52Low confidence
- Network access in prose of the SKILL.mdhm-ci/SKILL.md:53Low confidence
- Network access in prose of the SKILL.mdhm-module-scripts/SKILL.md:19Low confidence
- Dangerous shell operation in prose of the SKILL.mdhm-module-scripts/SKILL.md:20Low confidence
- Dangerous shell operation in prose of the SKILL.mdhm-module-scripts/SKILL.md:21Low confidence
- Network access in prose of the SKILL.mdhm-module-scripts/SKILL.md:21Low confidence
- Dangerous shell operation in prose of the SKILL.mdhm-module-scripts/SKILL.md:40Low confidence
- Network access in prose of the SKILL.mdhm-vfs/SKILL.md:74Low confidence
- Dangerous shell operation in prose of the SKILL.mdhm-vfs/SKILL.md:76Low confidence
- Network access in prose of the SKILL.mdhm-vfs/SKILL.md:76Low confidence
- Network access in code of the SKILL.mdhm-webui/SKILL.md:14High confidence
- Network access in code of the SKILL.mdhm-webui/SKILL.md:15High confidence
- Network access in code of the SKILL.mdhm-webui/SKILL.md:16High confidence
- Network access in the frontmatter of the SKILL.mdkernel-development-skills/SKILL.md:7Low confidence
- Network access in the frontmatter of the SKILL.mdkernel-development-skills/SKILL.md:8Low confidence
- Network access in the frontmatter of the SKILL.mdkernel-development-skills/SKILL.md:9Low confidence
- Network access in prose of documentationkernel-development-skills/references/debugging-testing.md:40Low confidence
- Network access in prose of documentationkernel-development-skills/references/debugging-testing.md:41Low confidence
- Network access in prose of documentationkernel-development-skills/references/debugging-testing.md:42Low confidence
- Network access in prose of documentationkernel-development-skills/references/debugging-testing.md:43Low confidence
- Network access in prose of documentationkernel-development-skills/references/debugging-testing.md:44Low confidence
- Network access in prose of documentationkernel-development-skills/references/debugging-testing.md:45Low confidence
- Network access in prose of documentationkernel-development-skills/references/debugging-testing.md:46Low confidence
- Network access in prose of documentationkernel-development-skills/references/debugging-testing.md:47Low confidence
- Network access in prose of documentationkernel-development-skills/references/debugging-testing.md:48Low confidence
- Network access in prose of documentationkernel-development-skills/references/debugging-testing.md:49Low confidence
- Network access in prose of documentationkernel-development-skills/references/debugging-testing.md:50Low confidence
- Network access in prose of documentationkernel-development-skills/references/debugging-testing.md:51Low confidence
- Network access in prose of documentationkernel-development-skills/references/debugging-testing.md:52Low confidence
- Network access in prose of documentationkernel-development-skills/references/device-tree-drivers.md:43Low confidence
- Network access in prose of documentationkernel-development-skills/references/device-tree-drivers.md:44Low confidence
- Network access in prose of documentationkernel-development-skills/references/device-tree-drivers.md:45Low confidence
- Network access in prose of documentationkernel-development-skills/references/device-tree-drivers.md:46Low confidence
- Network access in prose of documentationkernel-development-skills/references/device-tree-drivers.md:47Low confidence
- Network access in prose of documentationkernel-development-skills/references/device-tree-drivers.md:48Low confidence
- Network access in prose of documentationkernel-development-skills/references/kernel-workflow.md:30Low confidence
- Network access in prose of documentationkernel-development-skills/references/kernel-workflow.md:31Low confidence
- Network access in prose of documentationkernel-development-skills/references/kernel-workflow.md:32Low confidence
- Network access in prose of documentationkernel-development-skills/references/kernel-workflow.md:33Low confidence
- Network access in prose of documentationkernel-development-skills/references/kernel-workflow.md:34Low confidence
- Network access in prose of documentationkernel-development-skills/references/kernel-workflow.md:35Low confidence
- Network access in prose of documentationkernel-development-skills/references/kernel-workflow.md:36Low confidence
- Network access in code of documentationkernel-development-skills/references/kernel-workflow.md:58Low confidence
- Network access in code of documentationkernel-development-skills/references/kernel-workflow.md:59Low confidence
- Network access in code of documentationkernel-development-skills/references/kernel-workflow.md:60Low confidence
- Network access in code of documentationkernel-development-skills/references/kernel-workflow.md:61Low confidence
- Executable script in code of a file that runskernel-development-skills/scripts/check_kernel_api_patterns.py:1High confidence
- Executable script in code of a file that runskernel-development-skills/scripts/index_kernel_docs.py:1High confidence
- Executable script in code of a file that runskernel-development-skills/scripts/triage_kernel_change.py:1High confidence
and 409 more
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Native | Path CLAUDE.md | .claude/skills/<skill-name>/ |
| Codex | Compatible | Standard SKILL.md .dsh/skills/hm-build-release/SKILL.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md .dsh/skills/hm-build-release/SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md .dsh/skills/hm-build-release/SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md .dsh/skills/hm-build-release/SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard SKILL.md .dsh/skills/hm-build-release/SKILL.md | .opencode/skills/<skill-name>/ |
- Native The repository ships a manifest, folder or frontmatter field for this agent.
- Compatible A standard SKILL.md that this agent can read.
- Unknown No evidence either way.
Derived automatically from paths, manifests and frontmatter. Not tested on each agent.
Explore alternatives and comparisons
Add this badge to your README
It updates every night and links to this page.
[](https://hotskills.dev/skill/hybrid-mount-meta-hybrid_mount/)