skill-based-architecture
skill-based-architecture中频by WoJiSama
综合评分详见右侧面板A meta-skill that produces skills. Point it at any codebase and it distills the project's rules, workflows, and hard-won lessons into a dedicated skills/<name>/ directory — a proj…
安装此 Skill
git clone https://github.com/WoJiSama/skill-based-architecture ~/.claude/skills/skill-based-architectureSKILL.md 预览
name: skill-based-architecture description: > This skill should be used when the user asks to "organize the project rules", "clean up scattered documentation", "把规则迁移到 skills 目录", "优化 skill 路由", "提高 description 命中率", or "减少薄壳重复维护". Activate when a SKILL.md is too large, rules are duplicated across agent entry files, task routing or trigger_examples miss natural user language, or templates / thin shells / validation scripts need drift-resistant maintenance.
Skill-Based Architecture
Restructure oversized single-file Skills or scattered project rules into a well-organized Skill directory. Builds on the official minimal Agent Skill contract (name + description) and kicks in when a single small SKILL.md is no longer enough.
When to Use
- A single SKILL.md exceeds ~150 lines, mixing rules, workflows, and background material
- Project rules are scattered across
AGENTS.md,CLAUDE.md,CODEX.md,.cursor/rules/,.claude/, etc. - User explicitly requests Skill-based architecture or rule consolidation
When NOT to Use
- Temporary repos with no durable instruction or task-routing need
- Teams with a working documentation system that do not want to migrate
- Do not force structured folders onto a small project; an explicit SBA request
may still materialize a complete direct
SKILL.mdcarrier
Progressive Rigor
Grow only under pressure. The materializer derives Single-file,
Folder-light, or Full/broad internally from target evidence; users do
not select a tier, profile, capability pack, or install mode. routing.yaml,
Task Execution, Task Closure, maintenance checks, and each harness surface need
their own routing/loading/ownership pressure. Split by abstraction (骨架/肉)
when content tangles invariant design theory with current-code facts: abstract
theory → architecture/, code maps → references/, house style →
conventions/, per-module landmines → gotchas/ (methodology stays in
rules/). Downgrade when content shrinks. Details:
references/progressive-rigor.md.
Evidence-Selected Structure
# direct
skills/<name>/SKILL.md
# folder-light or broad: only admitted owners/directories
skills/<name>/{SKILL.md,rules/,workflows/,references/,scripts/}
# routing.yaml appears only when route data has an independent owner
# root/tool entry and registration surfaces appear only for proven readers
Existing root entries are preserved. Emitted routed entries use a generated
routing.yaml bootstrap; direct entries point to the sole SKILL.md procedure.
Cursor registration exists only when Cursor is detected, declared, currently
used, or explicitly requested. See REFERENCE.md for sources.
Core Principles
- Single concise entry —
SKILL.mdkeeps a dual budget: description ≤ 25 lines (trigger phrases + activation) + body ≤ 90 lines (navigation). It navigates, not exhausts. ✓ Check: smoke-test reports both separately; over either → split intent clusters / move detail to sub-files. - One skill folder when a folder is admitted — folder-light and broad results keep formal docs under
skills/<name>/; a direct result may remain a complete singleSKILL.mdcarrier. ✓ Check: no emitted root entry becomes a second rule/workflow owner. - Rules ≠ Flows —
rules/for constraints,workflows/for procedures. ✓ Check: any numbered steps inrules/? Any "always/never" inworkflows/? Either = mixing. - Routing.yaml as source when admitted — a direct carrier owns its sole
route in
SKILL.md; multiple/shared routes live only inrouting.yaml, with routed shells generated from it. ✓ Check: is there an independent selector or consumer that justifies the manifest, and does its fitted sync check pass? - Harness surfaces follow readers — create/merge only entries and registrations supported by existing files/config, the current harness, repository/team declaration, or an explicit request. ✓ Check: can every emitted surface name its reader, and was every existing entry preserved?
- Progressive Rigor — three carriers (Single-file / Folder-light / Full) grow only under pressure and are not user package choices. ✓ Check: can you name the independent responsibility that forced every generated file?
- Description = coarse activation — domain boundary + real user trigger phrases; never enumerate workflow keywords nor summarize a workflow's steps — a step-summary becomes a shortcut the agent runs instead of reading the body (ref). ✓ Check: (a) can
routing.yamltask routes change without rewriting the description? (b) does the description or any route label carry HOW an agent could act on without opening the body/workflow? "no" to (a) or "yes" to (b) → fix. - Gotchas are highest-value — maintain costly pitfalls actively; keep them discoverable. ✓ Check: is each high-cost gotcha activated by the admitted route owner (
SKILL.mdorrouting.yaml), not only buried inreferences/? - Progressive disclosure — every loaded file needs an independent task-time reason; conditional content leaves the startup read set, and files every real caller co-loads should merge unless ownership/generation requires separate storage. ✓ Check: for each route read, can you name a request that needs it now and a next action it changes? No → conditionally route, merge, or remove it.
- Task Execution + Closure — after route selection, only one clear read-only or fixed-contract maintenance action/check with no new desired behavior executes directly. Any request that adds or changes user-visible behavior, a business flow/state, or an external contract follows
requirement-ready -> Task Anchor -> implementation-ready -> Native Plan -> mutation: an incomplete Requirement returns understanding, real risk/conflict, and the minimum normative question; a clear one needs no ceremonial confirmation; code owner and Current -> Target are proven before implementation steps. The Requirement is the target, the Anchor is its Goal/Done When/Boundaries projection, and the Plan is only its revisable implementation means. Present alignment proportionally, do not repeat visible native steps, and run a compact Anchor Checkpoint before every main step. Enter the applicable completion owner: a simple workflow may inline fitted verification/AAR/completion, while an independent Task Closure owner is materialized only when its own lifecycle pressure is admitted (ref). Workflow remains the domain procedure; Native Plan is only this Session's runtime step owner, with no planning-file persistence. ✓ Check: immediately before mutation, can you name the governing Requirement, Task Anchor projection, proven Current -> Target binding, active Plan step, and applicable completion proof without letting the Plan redefine its target? - Durable-record rule — generic records generalize across projects; business global models stay project-specific but must survive implementation replacement (ref). ✓ Check: use the destination's test—cross-project pattern or cross-implementation business truth—without mixing code details into either.
- Self-maintenance — line counts signal evaluation, not automatic action. Split only for independently selected tasks; merge files universally co-loaded/co-changed unless ownership or generation explains the boundary. ✓ Check: can the before/after load matrix prove less irrelevant reading without losing definitions, conditions, boundaries, or reasons?
- Activation over storage — content in
references/alone is not "captured"; it must be on the task path and change what the agent does when read. Reached-but-inert (correct, on-route, yet the agent would have proceeded identically without it) is a distinct failure from absent or unreachable — and no structural gate (orphan / route-reachability / smoke-test) can see it, only judgment can. ✓ Check: (a) trace the normal route — Agent hits the entry without hunting? (b) does hitting it change the next action — a file it now reads, a check it now runs, a step it now skips? "no" to either → stored, not activated. - Token efficiency — Always Read defaults to empty; every addition needs proof that all real tasks require it before workflow selection. Domain and lifecycle knowledge loads only when evidence or a phase boundary can change the next action. ✓ Check: can any startup read be delayed without changing the first workflow decision? If yes, move it to that workflow checkpoint.
- Rationalizations Table — captures verbatim excuses from real pressure-test failures, organic or proven by a baseline run before shipping (ref, Phase 9). ✓ Check: every row traces to a real failure — no failure observed and unwilling to baseline it → imagined-pain, drop it.
- Response discipline — output short, precise, direct answers; avoid process narration, self-congratulation, gratuitous confirmations, and requirement restatement. Correct objective errors neutrally; do not infer user stance. ✓ Check: does each sentence serve the explicit request? No → delete it.
- Proof claims stay separated — fitted structural checks, source-disposition migration evidence, and live Agent behavior prove different things. Green structure cannot be promoted into semantic or behavioral correctness. ✓ Check: does the final claim name the exact layer actually run, and report unavailable live evidence as no verdict?
Common Pitfalls
- Missing admitted harness surface — A project proves a Cursor/Claude/etc. reader but its fitted registration/entry is absent → that harness never discovers the formal owner. The opposite error is emitting every harness without evidence and imposing permanent maintenance cost.
- Wrong routing carrier — A routed shell says only "go read SKILL.md"
without the generated
routing.yamlbootstrap, or a direct project gains an empty manifest merely for uniformity → either recovery breaks or false machinery appears. - Vague / wrong-scope description — Description is passive, wrong-language, too narrow ("fix bug" only), or bloated with every workflow keyword → skill misses natural requests or over-fires; keep description domain-level and route tasks in SKILL.md
- Stored but not activated — or activated but inert — Costly pitfall recorded in
references/but not surfaced in an owning workflow checkpoint or canonical route when task selection changes → future agents still miss it. Subtler form: it is on the route and gets read, but it's "correct but inert" — written as a background fact, not as a next action — so the agent reads it and proceeds unchanged. Reachable ≠ useful; the entry must change what the agent does, not merely be present and correct - Completion responsibility lost during materialization — Agent considers
itself "done" after main work even though the admitted workflow/Closure owner
requires fitted verification or AAR. A simple workflow may own that behavior
inline; an independent
task-closure.mdis not required merely for form. Pure Q&A/read-only tasks remain exempt. - Project-specific records — Lessons written as project narratives ("in our product module, we found…") instead of reusable knowledge → useless outside current context; apply generalization rule before recording
- No SessionStart hook on long sessions —
/clearor/compactsilently drops SKILL.md from context; agent loses all routing and protocol awareness without the user noticing → install SessionStart hook if your harness supports it (see references/thin-shells.md § SessionStart Hook) - Route skipping in multi-task sessions — Agent reads SKILL.md for the first task, then skips re-reading for subsequent tasks in the same session ("I already know the rules"). New tasks may match different routes; context may have been compressed. Result: agent works from partial/stale memory, misses critical rules, debugs in wrong direction for hours → SKILL.md template ships a tiered Session Discipline (re-match the route every task; re-read files only on route-change or compaction — cheap re-match catches different routes without re-reading everything); all shells carry the trigger
- Missing or performative Task Anchor / long-task drift — Agent starts a non-Simple task without a stable Goal/Done When, invents them only at the end, or dumps a fixed labeled block that duplicates the native Plan → use
templates/skill/workflows/task-execution.md; keep the Anchor as runtime state, present only useful alignment, and runreboot-check.mdbefore final validation/commit if the original constraints are no longer fresh - Imagined-pain engineering — Agent 提议加任何机制(规则/脚本/文件结构/模板章节)前没反问"这解决的是真痛点还是脑补":为未发生的失败加保险、为想象用户预建脚手架、为不存在的协议加 marker / 监控、给假设的"agent 偏差"立规矩。✓ Check:能给一个具体场景(file+line / commit / session)证明这事真发生过吗?给不出 → 不上。Historic: 5 ghost scripts (砍 2026-05-19), dossier schema (砍 2026-05-19), reflection-first mode shift (弃 2026-05-20), observations 日志 (拒上 2026-05-20)
Content Classification
| Content type — tier by abstraction: 骨架 (architecture/workflows/rules = invariant theory) vs 肉 (conventions/gotchas/references = current-code facts) · split playbook | Target | Kind |
|---|---|---|
| Abstract design theory — layering/contract/orchestration/transaction principles, the "why" (NOT the module map) | architecture/ | 骨架 |
| Code maps + background — module tree, dir layout, source index, build/env notes | references/ | 肉 |
| House style — naming, paths, commands, formats, must/never conventions | conventions/ | 肉 |
| Code-coupled landmines (symptom → cause → fix), split only by independently routed module | gotchas/ (selecting gotchas/index.md only after multi-file pressure) | 肉 |
| Step-by-step task procedures (process theory) | workflows/ | 骨架 |
| Prompts/reports/docs · editor config (thin shells) | docs/ · .cursor/ .claude/ | — |
Multi-Skill & Composition
Multi-skill repos — see references/multi-skill-routing.md (operating + fission + coexistence). For invoking other skills from your workflows (embedded / serial / subagent delegation), see references/skill-composition.md + starter templates/skill/workflows/invoke-skill.md.example.
Resources
- WORKFLOW.md — Migration procedure (Quick Start + 9 phases + Downstream Upgrade)
- REFERENCE.md + references/ — Templates, decision guides, anti-patterns, troubleshooting, self-hosting routing source
- TEMPLATES-GUIDE.md — Starter templates + meta-workflow templates
- EXAMPLES.md + examples/ — behavior failures + before/after scenarios
统计信息
使用频率(自动计算)
41
Fork
Shell
语言
MIT
开源协议
2026/8/14
更新
综合评分
2.9基于社区认可、使用热度、文档完整度、功能丰富度、维护活跃度自动计算
标签
链接
GitHub相关Skills
superpowers
superpowersAn agentic skills framework & software development methodology that works.
awesome-cursorrules-zh
awesome-cursorrules-zhCursor AI 编程规则精选集 | 132+ 规则,覆盖前端/后端/AI/DevOps 等 32 个领域
marketingskills
marketingskillsMarketing skills for Claude Code and AI agents. CRO, copywriting, SEO, analytics, and growth engineering.
CowAgent
CowAgentOpen-source super AI assistant & Agent Harness. Plans tasks, runs tools and skills, self-evolves with memory and knowledge. Multi-model, multi-channel. Lightweight, extensible, on…