본문으로 건너뛰기
cccskills
무료GitHub에 공개

create-control-manifest

Turn accepted architecture decisions, project preferences, and engine references into a practical rules document. Organize required patterns, forbidden approaches, and performance limits by architectural layer, with a source attached to each rule.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

원문원문 설명 보기

Builds a short list of must-do and never-do coding rules per system from accepted ADRs. Use when the user wants programmer rules or a cheat sheet from the ADRs, or needs it regenerated after ADR changes.

설치 방법 보기

이럴 때 유용합니다

  • Consolidating implementation rules from accepted decisions
  • Updating rules after architecture decisions change
  • Reviewing naming conventions and performance limits
  • Tracing required and forbidden approaches to their sources

포함된 파일(1)

  • SKILL.md13.2 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

!bash "${CLAUDE_SKILL_DIR}/../../hooks/yaml-helper.sh" resolve_config --keys review_mode,review_gate,automation

Resolved above — use as-is; --review overrides review_mode for this run. No block → defaults in .claude/docs/config-resolution.md.

Ask with the question tool. Without one, list the options numbered and end your turn to wait. A skipped or dismissed question is not an answer: ask again in plain text.

Create Control Manifest

The control manifest is a flat rules sheet for programmers: what to do and what never to do, by architectural layer, taken from the Accepted ADRs, the project's technical preferences and the engine reference docs. The ADRs say why; the manifest says what.

Writes: docs/architecture/control-manifest.md, after the user's yes. When: after /architecture-review passes and the ADRs are Accepted. Run it again whenever an ADR is accepted or revised.

Asks follow .claude/docs/automation-modes.md (collaborative always asks, guided asks on major choices, autonomous logs and goes on; automation_always_ask categories always ask).

Phase 1: Load the inputs

ADRs

bash .claude/scripts/adr-status.sh reads every docs/architecture/adr-*.md in one pass: the counts first (adrs, then accepted, proposed, deprecated, superseded, unfilled, other, no_status), then one row per ADR with its status and layer. Establish the denominator first: decide from the counts, before reading any ADR:

CountsMeaningAction
adrs 0No ADRs."No ADRs found — run /architecture-decision before building a control manifest." Stop.
accepted ≥ 1Normal.The Accepted rows are the set A. Name every other ADR, with its status, in the Phase 4 preview: the user approves a manifest knowing what it leaves out.
accepted 0, some with a statusNo Accepted ADRs."[N] ADRs found, none Accepted. A manifest built from Proposed ADRs would encode decisions that may still change." Ask whether to go on with the Proposed ones or stop. Never write an empty manifest silently.
every ADR no_statusMalformed ADRs, not an empty Accepted set."[N] ADRs found, none has a ## Status section, so acceptance cannot be told. Run /architecture-decision retrofit [file] on each." Stop. Never treat them as Accepted.

Each stop above ends with Verdict: BLOCKED — [the reason]. Note the number and title of every ADR a rule comes from.

Project config

  • naming.* and performance.* from project.yaml; for any key absent or empty, .claude/docs/technical-preferences.md.
  • Approved libraries and forbidden patterns from .claude/docs/technical-preferences.md (not migrated to project.yaml).

Engine reference

  • docs/engine-reference/[engine]/VERSION.md for the engine and version.
  • docs/engine-reference/[engine]/deprecated-apis.md: these become forbidden APIs.
  • docs/engine-reference/[engine]/current-best-practices.md, when it exists.

What exists already

docs/architecture/control-manifest.md present: this run regenerates it; read it before the Phase 5 write, which replaces it. production/epics/*/EPIC.md present: epics exist. Phase 6 picks its next step from both.

Report: "Loaded [A] Accepted ADRs of [N], engine: [name + version]."

Phase 2: Extract the rules from each ADR

For each ADR in A, read only four sections, never the whole file:

bash .claude/scripts/md-section.sh extract docs/architecture/[adr-file].md "Decision"

and the same for Alternatives Considered, Performance Implications and Engine Compatibility. Context, Consequences, Migration Plan and Validation Criteria say why a decision was made; the manifest records what to do. A section an ADR lacks: note it for that ADR and go on. A section missing from every ADR in A: report "No Accepted ADR has a [section] section — the manifest's [category] rules will be empty. Verify this is intended." Read beyond the four only when a section points outside itself ("subject to the constraints in Context"), and then that one section.

From each ADR:

  • Required patterns (Decision): every "must", "should", "required to", "always", and every pattern or approach it mandates, including any ### Implementation Guidelines inside it. Never look for that sub-heading alone: many ADRs state their mandates directly under Decision, and a scan for the sub-heading alone yields an empty section.
  • Forbidden approaches (Alternatives Considered): every rejected alternative, with why it was rejected as the rule ("never use X because Y"), and any named anti-pattern.
  • Performance guardrails (Performance Implications): budgets ("max N ms per frame for this system") and memory limits.
  • Engine API constraints (Engine Compatibility): post-cutoff APIs that need verifying, behaviour that differs from what a model would assume, fields or methods that changed in the pinned version.

Layer. Each rule goes under the layer of the system it governs, the ADR's layer column where it has one:

  • Foundation: scene management, event architecture, save/load, engine start-up
  • Core: core gameplay loop, main player systems, physics and collision
  • Feature: secondary systems and mechanics, AI
  • Presentation: rendering, audio, UI, VFX, shaders

An ADR that spans layers puts its rule in each one.

Phase 3: Add the global rules

Rules for every layer, each with its source (the project.yaml key, technical-preferences.md, or the engine-reference file), as a layer rule has:

  • Naming from naming.*: classes, variables, signals and events, files, constants.
  • Performance budgets from performance.*: target frame rate, frame budget, draw calls, memory ceiling.
  • Forbidden APIs from deprecated-apis.md, only those that apply to what this project builds. Never copy the table whole: its GodotPhysics3D → Jolt Physics 3D row is 3D-only, and a 2D project does not use that engine. When you cannot tell whether an entry applies (2D or 3D, a module the project may not include), scope the rule ("when using 3D physics: …") or leave it out and list it as unresolved. /create-stories reads this file, and rules that do not apply are rules nobody reads.
  • Required patterns from current-best-practices.md, when it exists.
  • Forbidden patterns from technical-preferences.md, copied as written.

Phase 4: Show the summary, then the review

## Control Manifest Preview
Engine: [name + version]
ADRs covered: [ADR numbers]
ADRs left out: [ADR-NNNN ([status]), … — every ADR not in A, or "None"]
Rules extracted:
  - Foundation layer: [N] required, [M] forbidden, [P] guardrails
  - Core layer: [N] required, [M] forbidden, [P] guardrails
  - Feature layer: …
  - Presentation layer: …
  - Global: [N] naming conventions, [M] forbidden APIs, [P] approved libraries
Unresolved: [engine entries left out because whether they apply is unclear, or "None"]

Ask: "Does this rule summary look complete?" Options: Yes — review and write it / Add rules — I have more to include / Remove rules — some should be dropped / Stop — I need to review the ADRs first.

The technical review. Read the review_gate line above. skill-gates=skip (solo or lean): no agent; note TD-MANIFEST skipped — [Solo | Lean] mode. skill-gates=run: hand the review to the technical-director agent with gate TD-MANIFEST (.claude/docs/director-gates/td-manifest.md; the agent reads it itself). Brief:

  • Objective: check the extracted rules before they are written.
  • Give it: the preview above with the full rule list, the ADRs covered, the engine version, and the rules taken from technical preferences or the engine reference.
  • Check: every mandatory ADR pattern is captured and stated accurately; the forbidden approaches are complete and correctly attributed; no rule lacks a source ADR or preference document; the guardrails agree with the ADRs' constraints.
  • Return: APPROVE, CONCERNS, REJECT, or NOT ASSESSED naming a missing input.
  • Boundaries: it writes no file.

Act on the verdict:

  • APPROVE: go to Phase 5.
  • CONCERNS: ask: "The technical director raised concerns. How do you want to go on?" Options: Revise the flagged rules / Accept and go on / Discuss further.
  • REJECT: write nothing; fix the flagged rules and show the summary again.
  • NOT ASSESSED: it is not an approval (.claude/docs/director-gates.md). Name what was missing, then supply it and run the review again; or, when the user chooses to go on without it, go to Phase 5 and state TD-MANIFEST: NOT ASSESSED — [input] in the reply and the final verdict line.

Phase 5: Write the control manifest

Ask: "May I write the control manifest to docs/architecture/control-manifest.md?" Options: Yes, write it / Show me the full draft first, then ask again / Not yet — I want more changes. Write only on an explicit yes.

# Control Manifest

> **Engine**: [name + version]
> **Last Updated**: [date]
> **Manifest Version**: [date]
> **ADRs Covered**: [ADR-NNNN, ADR-MMMM, ...]
> **Status**: Active — regenerate with `/create-control-manifest update` when ADRs change

`Manifest Version` is the date this manifest was generated. Stories embed it when
they are written, and `/story-readiness` compares a story's version with this one
to find stories written against old rules. It always equals `Last Updated`: the
same date, for different readers.

This manifest is a programmer's quick reference taken from the Accepted ADRs, the
technical preferences and the engine reference docs. For the reason behind a rule,
read its ADR.

---

## Foundation Layer Rules

*Applies to: scene management, event architecture, save/load, engine start-up*

### Required Patterns
- **[rule]** — source: [ADR-NNNN]

### Forbidden Approaches
- **Never [anti-pattern]** — [brief reason] — source: [ADR-NNNN]

### Performance Guardrails
- **[system]**: max [N]ms/frame — source: [ADR-NNNN]

---

## Core Layer Rules

*Applies to: core gameplay loop, main player systems, physics, collision*

### Required Patterns
...

### Forbidden Approaches
...

### Performance Guardrails
...

---

## Feature Layer Rules

*Applies to: secondary mechanics, AI systems, secondary features*

### Required Patterns
...

### Forbidden Approaches
...

---

## Presentation Layer Rules

*Applies to: rendering, audio, UI, VFX, shaders, animations*

### Required Patterns
...

### Forbidden Approaches
...

---

## Global Rules (All Layers)

### Naming Conventions
| Element | Convention | Example | Source |
|---------|-----------|---------|--------|
| Classes | [convention] | [example] | [`naming.classes` in project.yaml, or technical-preferences.md] |
| Variables | [convention] | [example] | [`naming.variables` in project.yaml, or technical-preferences.md] |
| Signals/Events | [convention] | [example] | [`naming.signals` in project.yaml, or technical-preferences.md] |
| Files | [convention] | [example] | [`naming.files` in project.yaml, or technical-preferences.md] |
| Constants | [convention] | [example] | [`naming.constants` in project.yaml, or technical-preferences.md] |

### Performance Budgets
| Target | Value | Source |
|--------|-------|--------|
| Framerate | [value] | [`performance.target_framerate` in project.yaml, or technical-preferences.md] |
| Frame budget | [value] | [`performance.frame_budget_ms` in project.yaml, or technical-preferences.md] |
| Draw calls | [value] | [`performance.draw_call_limit` in project.yaml, or technical-preferences.md] |
| Memory ceiling | [value] | [`performance.memory_ceiling_mb` in project.yaml, or technical-preferences.md] |

### Approved Libraries / Addons
- [library] — approved for [purpose] — source: technical-preferences.md

### Forbidden APIs ([engine version])
These APIs are deprecated or unverified for [engine + version]:
- `[api name]` — deprecated since [version] / unverified post-cutoff
- Source: `docs/engine-reference/[engine]/deprecated-apis.md`

### Cross-Cutting Constraints
- [constraint that applies in every layer] — source: [ADR-NNNN, preference key or engine-reference file]

Phase 6: Next steps

  • No epics yet: "Run /create-epics layer: foundation, then /create-stories [epic-slug]: stories embed this manifest's rules and version."
  • A regeneration: "Updated. Tell the team about the changed rules, above all any new Forbidden entries."

Every rule traces to an ADR, a technical preference or an engine reference doc; none is invented, and none is paraphrased in a way that changes its meaning. End with Verdict: COMPLETE — control manifest written after the write, or Verdict: BLOCKED — user declined the write when declined.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

adopt

무료

Audit an existing project's design documents and supporting files to check whether their formats work with the template's skills. Get a numbered migration plan that prioritizes gaps and required changes, rather than simply listing what exists.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Checking existing documents before adopting a project template
  • Auditing game design documents or architecture decision records
  • Prioritizing gaps in project tracking and configuration files
Donchitos/Claude-Code-Game-Studios2.7만2026년 10월 19일 업데이트

Document a technical decision in an architecture decision record, or ADR. Capture its context, alternatives, and consequences, assign a record number, and distinguish a proposed decision from an accepted one so dependent work reflects its actual status.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Recording the reasons behind a technical choice
  • Documenting alternatives and consequences of a design decision
  • Creating numbered records alongside existing architecture decisions
Donchitos/Claude-Code-Game-Studios2.7만2026년 10월 19일 업데이트

Review whether game design requirements are covered by documented architecture decisions. Identify missing coverage, conflicting decisions, and engine compatibility concerns, with an optional matrix linking requirements to development stories and tests.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Find game requirements without architecture decisions
  • Check for conflicts between architecture decisions
  • Review compatibility with the pinned engine version
Donchitos/Claude-Code-Game-Studios2.7만2026년 10월 19일 업데이트

art-bible

무료

Create a game's art direction document, defining its visual rules, mood, shapes, colors, and production standards. Review and approve sections individually, with guidance that connects character, environment, and interface design to the game's concept and technical constraints.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Defining a game's core visual identity before asset production
  • Documenting character, environment, and interface design rules
  • Aligning asset standards with engine and performance limits
Donchitos/Claude-Code-Game-Studios2.7만2026년 10월 19일 업데이트

Audit game asset files for naming rules, size limits, formats, and broken references. Receive a report of measured violations and suggested fixes, with clear explanations of checks that lack data or cannot be assessed for the engine.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Checking image and audio naming conventions
  • Finding files that exceed asset size limits
  • Investigating missing references and potentially unused assets
Donchitos/Claude-Code-Game-Studios2.7만2026년 10월 19일 업데이트

Turn game design documents and character profiles into asset specifications and image generation prompts. Define appearance, dimensions, file formats, and naming rules, then maintain an asset list that tracks progress and identifies shared assets.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • List the visual assets needed for a game
  • Define consistent character and environment asset specifications
  • Prepare image generation prompts from an art direction guide
Donchitos/Claude-Code-Game-Studios2.7만2026년 10월 19일 업데이트

Donchitos의 스킬 모두 보기

이 스킬의 문제 신고