Token导航 LogoToken导航

Agent Skill · 研究检索

architecture-decision(架构决策)

architecture-decision 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

architecture-decision 是研究检索类 Agent Skill,可用宿主为 Codex、Claude、Cursor、Gemini CLI,通过GitHub 仓库获取,权限为执行命令;许可证信息还不明确,第三方扫描已通过,按安装量在研究检索类的 73,675 个 Skill 里排第 42,473。

总安装 1,071周安装 46GitHub Stars 16,807下载 375核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
unknown

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:architecture-decision(架构决策)
来源仓库:https://github.com/donchitos/claude-code-game-studios
仓库路径:skills/architecture-decision
安装命令:
npx skills add https://github.com/donchitos/claude-code-game-studios --skill architecture-decision
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/donchitos/claude-code-game-studios --skill architecture-decision

这个 Skill 是做什么的

研究检索类 Skill 主要解决「找资料、核对事实、把来源整理清楚」的问题,通常会让助手先检索再总结。

该技能管理系统架构决策记录(ADR),确保技术选择可追溯。适用于大型游戏项目的技术方案评审和决策治理场景。支持 retrofit 模式更新已有 ADR,保持模板一致性。需配合项目特定的架构模板和评审流程使用。architecture-decision 属于研究检索类 Skill,可作为该场景下的辅助能力补充。

来源仓库内路径:skills/architecture-decision

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 Codex、Claude、Cursor、Gemini CLI;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 npx skills add https://github.com/donchitos/claude-code-game-studios --skill arc…;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要执行命令,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

architecture-decision 怎么安装?

在终端执行 npx skills add https://github.com/donchitos/claude-code-game-studios --skill architecture-…。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

architecture-decision 支持哪些 AI 工具?

公开资料标注支持 Codex、Claude、Cursor、Gemini CLI。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

architecture-decision 需要什么权限?

权限级别是执行命令。安装流程涉及命令执行,可能通过 npx skills add https://github.com/donchitos/claude-code-game-studios --skill architecture-decision 联网下载 Skill 或依赖。用户安装前应确认命令来源、仓库内容和执行环境。

architecture-decision 是免费的吗?

公开资料没有标注明确许可证,收费和商用限制都无法确认。正式使用前请到来源仓库核对授权说明。

architecture-decision 用的人多吗?

公开数据是累计安装 1,071 次,近一周安装 46 次,下载 375 次,GitHub 16,807 星。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

architecture-decision 安全吗?

第三方扫描结果为通过,但这只覆盖已知的静态检查项,不能替代自己读一遍源码和安装命令。

值得选的地方和要先想清楚的地方

值得选的地方

  • 同时适配 4 种工具,换客户端不用重新找替代品。
  • 第三方扫描已通过,常见的高风险行为没有命中。
  • 来源仓库有 16,807 星,维护活跃度相对可查。

先想清楚的地方

  • 需要执行命令,装到常用环境前要先评估影响面。
  • 许可证没有明确标注,能不能商用、能不能再分发都不确定。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 Codex,想直接扩展它能力的人。
  • 需要处理研究检索类任务、又不想每次都手写提示词的人。

不太适合

  • 不能接受 Skill 在你机器上执行命令的人。
  • 需要明确授权才能用到公司项目里的场景。
  • 需要厂商级技术支持和 SLA 的生产系统。

研究检索类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
find-skills

寻找技能 · Codex、Claude

31,199,81316,486操作浏览器MIT有提醒
self-improving-agent

自我改进 Agent · OpenClaw

16,464,0023,396接触敏感数据MIT-0通过
soultrace

灵魂追踪 · Codex、Claude

7,588,94412需要联网未明确有提醒
self-improving

自我完善 · OpenClaw

6,829,2841,046需要联网MIT-0通过
microsoft-foundry

微软代工厂 · Codex、Claude

6,614,144764调用外部服务未明确有提醒
architecture-decision

架构决策 · 本页

1,07116,807执行命令未明确通过

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

When this skill is invoked:

0. Parse Arguments — Detect Retrofit Mode

Resolve the review mode (once, store for all gate spawns this run):

  1. If --review [full|lean|solo] was passed → use that
  2. Else read production/review-mode.txt → use that value
  3. Else → default to lean

See .claude/docs/director-gates.md for the full check pattern.

If the argument starts with retrofit followed by a file path (e.g., /architecture-decision retrofit docs/architecture/adr-0001-event-system.md):

Enter retrofit mode:

  1. Read the existing ADR file completely.
  2. Identify which template sections are present by scanning headings:

- ## Status — BLOCKING if missing: /story-readiness cannot check ADR acceptance - ## ADR Dependencies — HIGH if missing: dependency ordering breaks - ## Engine Compatibility — HIGH if missing: post-cutoff risk unknown - ## GDD Requirements Addressed — MEDIUM if missing: traceability lost

  1. Present to the user: ## Retrofit: [ADR title] File: [path] Sections already present (will not be touched): ✓ Status: [current value, or "MISSING — will add"] ✓ [section] Missing sections to add: ✗ Status — BLOCKING (stories cannot validate ADR acceptance without this) ✗ ADR Dependencies — HIGH ✗ Engine Compatibility — HIGH
  2. Ask: "Shall I add the [N] missing sections? I will not modify any existing content."
  3. If yes:

- For Status: ask the user — "What is the current status of this decision?" Options: "Proposed", "Accepted", "Deprecated", "Superseded by ADR-XXXX" - For ADR Dependencies: ask — "Does this decision depend on any other ADR? Does it enable or block any other ADR or epic?" Accept "None" for each field. - For Engine Compatibility: read the engine reference docs (same as Step 0 below) and ask the user to confirm the domain. Then generate the table with verified data. - For GDD Requirements Addressed: ask — "Which GDD systems motivated this decision? What specific requirement in each GDD does this ADR address?" - Append each missing section to the ADR file using the Edit tool. - Never modify any existing section. Only append or fill absent sections.

  1. After adding all missing sections, update the ADR's ## Date field if it is absent.
  2. Suggest: "Run /architecture-review to re-validate coverage now that this ADR has its Status and Dependencies fields."

If NOT in retrofit mode, proceed to Step 0 below (normal ADR authoring).

No-argument guard: If no argument was provided (title is empty), ask before running Phase 0:

"What technical decision are you documenting? Please provide a short title (e.g., event-system-architecture, physics-engine-choice)."

Use the user's response as the title, then proceed to Step 0.


0. Load Engine Context (ALWAYS FIRST)

Before doing anything else, establish the engine environment:

  1. Read docs/engine-reference/[engine]/VERSION.md to get:

- Engine name and version - LLM knowledge cutoff date - Post-cutoff version risk levels (LOW / MEDIUM / HIGH)

  1. Identify the domain of this architecture decision from the title or user description. Common domains: Physics, Rendering, UI, Audio, Navigation, Animation, Networking, Core, Input, Scripting.
  2. Read the corresponding module reference if it exists: docs/engine-reference/[engine]/modules/[domain].md
  3. Read docs/engine-reference/[engine]/breaking-changes.md — flag any changes in the relevant domain that post-date the LLM's training cutoff.
  4. Read docs/engine-reference/[engine]/deprecated-apis.md — flag any APIs in the relevant domain that should not be used.
  5. Display a knowledge gap warning before proceeding if the domain carries MEDIUM or HIGH risk: ⚠️ ENGINE KNOWLEDGE GAP WARNING Engine: [name + version] Domain: [domain] Risk Level: HIGH — This version is post-LLM-cutoff. Key changes verified from engine-reference docs: - [Change 1 relevant to this domain] - [Change 2] This ADR will be cross-referenced against the engine reference library. Proceed with verified information only — do NOT rely solely on training data. If no engine has been configured yet, prompt: "No engine is configured. Run /setup-engine first, or tell me which engine you are using."

1. Determine the next ADR number

Scan docs/architecture/ for existing ADRs to find the next number.


2. Gather context

Read related code, existing ADRs, and relevant GDDs from design/gdd/.

2a: Architecture Registry Check (BLOCKING gate)

Read docs/registry/architecture.yaml. Extract entries relevant to this ADR's domain and decision (grep by system name, domain keyword, or state being touched).

Present any relevant stances to the user before the collaborative design begins, as locked constraints:

## Existing Architectural Stances (must not contradict)

State Ownership:
  player_health → owned by health-system (ADR-0001)
  Interface: HealthComponent.current_health (read-only float)
  → If this ADR reads or writes player health, it must use this interface.

Interface Contracts:
  damage_delivery → signal pattern (ADR-0003)
  Signal: damage_dealt(amount, target, is_crit)
  → If this ADR delivers or receives damage events, it must use this signal.

Forbidden Patterns:
  ✗ autoload_singleton_coupling (ADR-0001)
  ✗ direct_cross_system_state_write (ADR-0000)
  → The proposed approach must not use these patterns.

If the user's proposed decision would contradict any registered stance, surface the conflict immediately:

"⚠️ Conflict: This ADR proposes [X], but ADR-[NNNN] established that [Y] is the accepted pattern for this purpose. Proceeding without resolving this will produce contradictory ADRs and inconsistent stories. Options: (1) Align with the existing stance, (2) Supersede ADR-[NNNN] with an explicit replacement, (3) Explain why this case is an exception."

Do not proceed to Step 3 (collaborative design) until any conflict is resolved or explicitly accepted as an intentional exception.


3. Guide the decision collaboratively

Before asking anything, derive the skill's best guesses from the context already gathered (GDDs read, engine reference loaded, existing ADRs scanned). Then present a confirm/adjust prompt using AskUserQuestion — not open-ended questions.

Derive assumptions first:

  • Problem: Infer from the title + GDD context what decision needs to be made
  • Alternatives: Propose 2-3 concrete options from engine reference + GDD requirements
  • Dependencies: Scan existing ADRs for upstream dependencies; assume None if unclear
  • GDD linkage: Extract which GDD systems the title directly relates to
  • Status: Always Proposed for new ADRs — never ask the user what the status is

Scope of assumptions tab: Assumptions cover only: problem framing, alternative approaches, upstream dependencies, GDD linkage, and status. Schema design questions (e.g., "How should spawn timing work?", "Should data be inline or external?") are NOT assumptions — they are design decisions belonging to a separate step after the assumptions are confirmed. Do not include schema design questions in the assumptions AskUserQuestion widget.

After assumptions are confirmed, if the ADR involves schema or data design choices, use a separate multi-tab AskUserQuestion to ask each design question independently before drafting.

Present assumptions with AskUserQuestion:

Here's what I'm assuming before drafting:

Problem: [one-sentence problem statement derived from context]
Alternatives I'll consider:
  A) [option derived from engine reference]
  B) [option derived from GDD requirements]
  C) [option from common patterns]
GDD systems driving this: [list derived from context]
Dependencies: [upstream ADRs if any, otherwise "None"]
Status: Proposed

[A] Proceed — draft with these assumptions
[B] Change the alternatives list
[C] Adjust the GDD linkage
[D] Add a performance budget constraint
[E] Something else needs changing first

Do not generate the ADR until the user confirms assumptions or provides corrections.

After engine specialist and TD reviews return (Step 4.5/4.6), if unresolved decisions remain, present each one as a separate AskUserQuestion with the proposed options as choices plus a free-text escape:

Decision: [specific unresolved point]
[A] [option from specialist review]
[B] [alternative option]
[C] Different approach — I'll describe it

ADR Dependencies — derive from existing ADRs, then confirm:

  • Does this decision depend on any other ADR not yet Accepted?
  • Does it unlock or unblock any other ADR or epic?
  • Does it block any specific epic from starting?

Record answers in the ADR Dependencies section. Write "None" for each field if no constraints apply.


4. Generate the ADR

Following this format:

# ADR-[NNNN]: [Title]

## Status
[Proposed | Accepted | Deprecated | Superseded by ADR-XXXX]

## Date
[Date of decision]

## Engine Compatibility

| Field | Value |
|-------|-------|
| **Engine** | [e.g. Godot 4.6] |
| **Domain** | [Physics / Rendering / UI / Audio / Navigation / Animation / Networking / Core / Input] |
| **Knowledge Risk** | [LOW / MEDIUM / HIGH — from VERSION.md] |
| **References Consulted** | [List engine-reference docs read, e.g. `docs/engine-reference/godot/modules/physics.md`] |
| **Post-Cutoff APIs Used** | [Any APIs from post-LLM-cutoff versions this decision depends on, or "None"] |
| **Verification Required** | [Specific behaviours to test before shipping, or "None"] |

## ADR Dependencies

| Field | Value |
|-------|-------|
| **Depends On** | [ADR-NNNN (must be Accepted before this can be implemented), or "None"] |
| **Enables** | [ADR-NNNN (this ADR unlocks that decision), or "None"] |
| **Blocks** | [Epic/Story name — cannot start until this ADR is Accepted, or "None"] |
| **Ordering Note** | [Any sequencing constraint that isn't captured above] |

## Context

### Problem Statement
[What problem are we solving? Why does this decision need to be made now?]

### Constraints
- [Technical constraints]
- [Timeline constraints]
- [Resource constraints]
- [Compatibility requirements]

### Requirements
- [Must support X]
- [Must perform within Y budget]
- [Must integrate with Z]

## Decision

[The specific technical decision made, described in enough detail for someone
to implement it.]

### Architecture Diagram
[ASCII diagram or description of the system architecture this creates]

### Key Interfaces
[API contracts or interface definitions this decision creates]

## Alternatives Considered

### Alternative 1: [Name]
- **Description**: [How this would work]
- **Pros**: [Advantages]
- **Cons**: [Disadvantages]
- **Rejection Reason**: [Why this was not chosen]

### Alternative 2: [Name]
- **Description**: [How this would work]
- **Pros**: [Advantages]
- **Cons**: [Disadvantages]
- **Rejection Reason**: [Why this was not chosen]

## Consequences

### Positive
- [Good outcomes of this decision]

### Negative
- [Trade-offs and costs accepted]

### Risks
- [Things that could go wrong]
- [Mitigation for each risk]

## GDD Requirements Addressed

| GDD System | Requirement | How This ADR Addresses It |
|------------|-------------|--------------------------|
| [system-name].md | [specific rule, formula, or performance constraint from that GDD] | [how this decision satisfies it] |

## Performance Implications
- **CPU**: [Expected impact]
- **Memory**: [Expected impact]
- **Load Time**: [Expected impact]
- **Network**: [Expected impact, if applicable]

## Migration Plan
[If this changes existing code, how do we get from here to there?]

## Validation Criteria
[How will we know this decision was correct? What metrics or tests?]

## Related Decisions
- [Links to related ADRs]
- [Links to related design documents]

4.5. Engine Specialist Validation — Before saving, spawn the primary engine specialist via Task to validate the drafted ADR:

  • Read .claude/docs/technical-preferences.md Engine Specialists section to get the primary specialist
  • If no engine is configured ([TO BE CONFIGURED]), skip this step
  • Spawn subagent_type: [primary specialist] with: the ADR's Engine Compatibility section, Decision section, Key Interfaces, and the engine reference docs path. Ask them to:

1. Confirm the proposed approach is idiomatic for the pinned engine version 2. Flag any APIs or patterns that are deprecated or changed post-training-cutoff 3. Identify engine-specific risks or gotchas not captured in the current ADR draft

  • If the specialist identifies a blocking issue (wrong API, deprecated approach, engine version incompatibility): revise the Decision and Engine Compatibility sections accordingly, then confirm the changes with the user before proceeding
  • If the specialist finds minor notes only: incorporate them into the ADR's Risks subsection

Review mode check — apply before spawning TD-ADR:

  • solo → skip. Note: "TD-ADR skipped — Solo mode." Proceed to Step 4.7 (GDD sync check).
  • lean → skip (not a PHASE-GATE). Note: "TD-ADR skipped — Lean mode." Proceed to Step 4.7 (GDD sync check).
  • full → spawn as normal.

4.6. Technical Director Strategic Review — After the engine specialist validation, spawn technical-director via Task using gate TD-ADR (.claude/docs/director-gates.md):

  • Pass: the ADR file path (or draft content), engine version, domain, any existing ADRs in the same domain
  • The TD validates architectural coherence (is this decision consistent with the whole system?) — distinct from the engine specialist's API-level check
  • If CONCERNS or REJECT: revise the Decision or Alternatives sections accordingly before proceeding

4.7. GDD Sync Check — Before presenting the write approval, scan all GDDs referenced in the "GDD Requirements Addressed" section for naming inconsistencies with the ADR's Key Interfaces and Decision sections (renamed signals, API methods, or data types). If any are found, surface them as a prominent warning block immediately before the write approval — not as a footnote:

⚠️ GDD SYNC REQUIRED
[gdd-filename].md uses names this ADR has renamed:
  [old_name] → [new_name_from_adr]
  [old_name_2] → [new_name_2_from_adr]
The GDD must be updated before or alongside writing this ADR to prevent
developers reading the GDD from implementing the wrong interface.

If no inconsistencies: skip this block silently.

  1. Write approval — Use AskUserQuestion:

If GDD sync issues were found:

  • "ADR draft is complete. How would you like to proceed?"

- [A] Write ADR + update GDD in the same pass - [B] Write ADR only — I'll update the GDD manually - [C] Not yet — I need to review further

If no GDD sync issues:

  • "ADR draft is complete. May I write it?"

- [A] Write ADR to docs/architecture/adr-[NNNN]-[slug].md - [B] Not yet — I need to review further

If yes to any write option, write the file, creating the directory if needed. For option [A] with GDD update: also update the GDD file(s) to use the new names.

  1. Update Architecture Registry

Scan the written ADR for new architectural stances that should be registered:

  • State it claims ownership of
  • Interface contracts it defines (signal signatures, method APIs)
  • Performance budget it claims
  • API choices it makes explicitly
  • Patterns it bans (Consequences → Negative or explicit "do not use X")

Present candidates:

Registry candidates from this ADR:
  NEW state ownership:      player_stamina → stamina-system
  NEW interface contract:   stamina_depleted signal
  NEW performance budget:   stamina-system: 0.5ms/frame
  NEW forbidden pattern:    polling stamina each frame (use signal instead)
  EXISTING (referenced_by update only): player_health → already registered ✅

Registry append logic: When writing to docs/registry/architecture.yaml, do NOT assume sections are empty. The file may already have entries from previous ADRs written in this session. Before each Edit call:

  1. Read the current state of docs/registry/architecture.yaml
  2. Find the correct section (state_ownership, interfaces, forbidden_patterns, api_decisions)
  3. Append the new entry AFTER the last existing entry in that section — do not try to replace a [] placeholder that may no longer exist
  4. If the section has entries already, use the closing content of the last entry as the old_string anchor, and append the new entry after it

BLOCKING — do not write to docs/registry/architecture.yaml without explicit user approval.

Ask using AskUserQuestion:

  • "May I update docs/registry/architecture.yaml with these [N] new stances?"

- Options: "Yes — update the registry", "Not yet — I want to review the candidates", "Skip registry update"

Only proceed if the user selects yes. If yes: append new entries. Never modify existing entries — if a stance is changing, set the old entry to status: superseded_by: ADR-[NNNN] and add the new entry.


7. Closing Next Steps

After the ADR is written (and registry optionally updated), close with AskUserQuestion.

Before generating the widget:

  1. Read docs/registry/architecture.yaml — check if any priority ADRs are still unwritten (look for ADRs flagged in technical-preferences.md or systems-index.md as prerequisites)
  2. Check if all prerequisite ADRs are now written. If yes, include a "Start writing GDDs" option.
  3. List ALL remaining priority ADRs as individual options — not just the next one or two.

Widget format:

ADR-[NNNN] written and registry updated. What would you like to do next?
[1] Write [next-priority-adr-name] — [brief description from prerequisites list]
[2] Write [another-priority-adr] — [brief description]  (include ALL remaining ones)
[N] Start writing GDDs — run `/design-system [first-undesigned-system]` (only show if all prerequisite ADRs are written)
[N+1] Stop here for this session

If there are no remaining priority ADRs and no undesigned GDD systems, offer only "Stop here" and suggest running /architecture-review in a fresh session.

Always include this fixed notice in the closing output (do NOT omit it):

To validate ADR coverage against your GDDs, open a fresh Claude Code session and run /architecture-review. Never run /architecture-review in the same session as /architecture-decision. The reviewing agent must be independent of the authoring context to give an unbiased assessment. Running it here would invalidate the review.

Update any stories that were Status: Blocked pending this ADR to Status: Ready.

平台分布

Codex

37.04%
按下载量换算139

Claude

31%
按下载量换算116

Cursor

17.98%
按下载量换算67

Gemini CLI

10.18%
按下载量换算38

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

执行命令

安装流程涉及命令执行,可能通过 npx skills add https://github.com/donchitos/claude-code-game-studios --skill architecture-decision 联网下载 Skill 或依赖。用户安装前应确认命令来源、仓库内容和执行环境。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills