Agent Skillsrustfs/rustfs › arch-checks

arch-checks

GitHub

修复仓库架构守卫脚本(如分层依赖、不安全代码许可、日志规范等)引发的 CI/CD 失败。指导开发者重构代码以符合架构约束,更新基线或文档,严禁弱化检查规则,确保系统合规性。

.agents/skills/arch-checks/SKILL.md rustfs/rustfs

Trigger Scenarios

make pre-commit 或 make pre-pr 失败 CI 流水线中架构检查脚本报错

Install

npx skills add rustfs/rustfs --skill arch-checks -g -y
More Options

Non-standard path

npx skills add https://github.com/rustfs/rustfs/tree/main/.agents/skills/arch-checks -g -y

Use without installing

npx skills use rustfs/rustfs@arch-checks

指定 Agent (Claude Code)

npx skills add rustfs/rustfs --skill arch-checks -a claude-code -g -y

安装 repo 全部 skill

npx skills add rustfs/rustfs --all -g -y

预览 repo 内 skill

npx skills add rustfs/rustfs --list

SKILL.md

Frontmatter
{
    "name": "arch-checks",
    "description": "Resolve failures from the repository's architecture guard scripts — check_layer_dependencies.sh, check_architecture_migration_rules.sh, check_unsafe_code_allowances.sh, check_logging_guardrails.sh, check_doc_paths.sh. Use when make pre-commit \/ pre-pr or CI fails on one of these checks."
}

Architecture Guard Checks

All five run in make pre-commit / make pre-pr and in CI. Fix the cause; never weaken a check to get green.

check_layer_dependencies.sh — layer DAG in rustfs/src

Enforces composition (server, startup/init) → interface (admin, storage/ecfs, storage/s3_api) → app → infra; no upward imports. Server source files are composition roots, while imports of their exported HTTP contracts are classified as interface dependencies. Known legacy violations live in scripts/layer-dependency-baseline.txt.

Dedicated *_test.rs and tests/ modules are outside this production guard. Inline #[cfg(test)] imports remain checked under their source file's layer; move architecture-crossing test scaffolding into a dedicated test module.

  • New violation: restructure your change so the dependency points downward (move the shared type/function to the lower layer).
  • You legitimately removed a baseline entry: run ./scripts/check_layer_dependencies.sh --update-baseline and commit the shrunken baseline. Never add new entries to the baseline to make a new violation pass.

check_architecture_migration_rules.sh — required doc sections

Asserts that the core docs under docs/architecture/ (overview, crate-boundaries, runtime-lifecycle, readiness-matrix, storage-control-data-plane, global-state-crate-split-plan, ecstore-module-split-plan, …) still contain specific headings and exact source lines. If it fails after a doc edit, you reworded or removed a guarded line — restore the wording or update the script deliberately in the same PR, with rationale.

check_unsafe_code_allowances.sh

Every #[allow(unsafe_code)] needs a SAFETY: comment within a few lines. Write the actual safety argument; don't add a placeholder.

check_logging_guardrails.sh

A fixed list of security-sensitive files (auth, IAM, KMS, admin handlers…) is scanned for logging violations. If you created a new sensitive file, consider adding it to the script's checked_files list.

check_doc_paths.sh

Instruction/architecture docs (AGENTS.md, CLAUDE.md, ARCHITECTURE.md, docs/architecture/*.md) must not reference repo file paths that no longer exist. If your refactor moved code, update the docs that point at it — the error message lists doc -> stale-path pairs.

check_no_planning_docs.sh

Planning-type documents must not be committed (see AGENTS.md "Sources of Truth"). The guard fails if anything is tracked under docs/superpowers/.gitignore already ignores it, but git add -f bypasses that, so this closes the hole. Fix by removing the listed file(s) with git rm; keep the plan or spec in the issue tracker or a local worktree instead.

Version History

  • 0d129ec Current 2026-08-20 14:32

Same Skill Collection

.agents/skills/adversarial-validation/SKILL.md
.agents/skills/code-change-verification/SKILL.md
.agents/skills/plugin-contract-guard/SKILL.md
.agents/skills/pr-creation-checker/SKILL.md
.agents/skills/rust-code-quality/SKILL.md
.agents/skills/rustfs-logging-governance/SKILL.md
.agents/skills/rustfs-release-publish/SKILL.md
.agents/skills/rustfs-release-version-bump/SKILL.md
.agents/skills/security-advisory-lessons/SKILL.md
.agents/skills/test-coverage-improver/SKILL.md
.agents/skills/tier-debug/SKILL.md
.mimocode/skills/issue-triage/SKILL.md
.mimocode/skills/pr-review/SKILL.md

Metadata

Files
0
Version
0fe41da
Hash
4fbfff21
Indexed
2026-08-20 14:32

Accueil - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-08-29 21:51
浙ICP备14020137号-1 $Carte des visiteurs$