agentleFS
hongyuanchongyuanc/codex-game-studios/.agents/skills/quick-design/SKILL.md

quick-design

Skill5 starsChanged 4 months agoMITView on GitHub

Create a lightweight approved design specification for a bounded change that does not require a full GDD.

We split this skill into the rules it gives an agent

18 rules. 4 are common, 3 are distinctive, and 11 are very specific to this project.

  • 4

    Common

    Most of the 9 edited versions we read keep these.

  • 3

    Distinctive

    This author's own choices. Worth a look.

  • 11

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    If the change does NOT fit these categories — it introduces a new system with significant cross-system dependencies, requires more than one …

    line 43
  2. Distinctive:

    If there is no argument, ask the user to describe the change (plain text prompt), then classify it using the criteria above.

    line 48
  3. Very specific:

    If [F]: stop. Verdict: REDIRECTED — use $design-system for this change.

    line 60
  4. Common:

    Before drafting anything, read the relevant context:

    line 67
  5. Very specific:

    Search design/gdd/ for the GDD most relevant to this change.

    line 69
  6. Very specific:

    Check whether design/gdd/systems-index.md exists.

    line 71
  7. Very specific:

    Check design/quick-specs/ for any prior quick specs that touched this system — avoid contradicting them.

    line 75
  8. Very specific:

    If this is a Tuning change, also check assets/data/ for the data file that holds the relevant values.

    line 77
  9. Distinctive:

    No conflicting quick specs found." (or note any conflicts found.)

    line 81
  10. Common:

    Use the appropriate spec format for the change category.

    line 87
  11. Common:

    Use a trimmed GDD structure.

    line 176
  12. Very specific:

    Use today's date in the filename.

    line 226
  13. Distinctive:

    Ask one concise approval question and wait for the answer:

    line 237
  14. Very specific:

    If [A], create design/quick-specs/ if needed and write every listed file.

    line 244
  15. Common:

    After writing the file, output:

    line 254
  16. Very specific:

    Run $story-readiness [story-path] to validate the story before implementation begins — reference this spec in the story's GDD Reference …

    line 289
  17. Very specific:

    Run $dev-story [story-path] to implement once the story passes readiness checks

    line 290
  18. Very specific:

    If the change is larger than expected, run $design-system [system-name] to author a full GDD instead

    line 291

“Common” is measured: kept by at least 6 in 10 of the 9 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Codex-native operating rules

Ask at most one user question per turn and wait for the answer. Preserve incremental approval for material concept and design sections. Before writing, show the complete approved artifact changeset and target paths once; after that approval, write those approved sections and files without per-line or per-file prompts. Pause again for new design decisions or scope expansion.

Quick Design

This is the lightweight design path for changes that don't need a full GDD. Full GDD authoring via $design-system is the heavyweight path. Use this skill for work under approximately 4 hours of implementation — tuning adjustments, minor behavioral tweaks, small additions to existing systems, or standalone features too small to warrant a full document.

Output: design/quick-specs/[name]-[date].md

When to run: Anytime a change is too small for $design-system but too meaningful to implement without a written rationale.


1. Classify the Change

First, read the argument and determine which category this change falls into:

  • Tuning — changing numbers or balance values in an existing system with no behavioral change (most minimal path). Example: "increase jump height from 5 to 6 units", "reduce enemy patrol speed by 10%".
  • Tweak — a small behavioral change to an existing system that introduces no new states, branches, or systems. Example: "make dash invincible on frame 1", "allow combo to cancel into roll".
  • Addition — adding a small mechanic to an existing system that may introduce 1-2 new states or interactions. Example: "add a parry window to the block mechanic", "add a charge variant to the basic attack".
  • New Small System — a standalone feature small enough that it has no existing GDD and is under approximately one week of implementation work. Example: "achievement popup system", "simple day/night visual cycle".

If the change does NOT fit these categories — it introduces a new system with significant cross-system dependencies, requires more than one week of implementation, or fundamentally alters an existing system's core rules — stop and redirect to $design-system instead.

If there is no argument, ask the user to describe the change (plain text prompt), then classify it using the criteria above.

Present the inferred classification using one concise question, then wait for the answer:

  • Prompt: "I've classified this as [inferred type] — [brief reason]. Is that correct?"
  • Options:
    • [A] Yes — [inferred type] is correct
    • [B] Tuning — changing numbers or balance values only
    • [C] Tweak — small behavioral change to an existing system
    • [D] Addition — adding a small mechanic to an existing system
    • [E] New Small System — standalone feature, under one week of work
    • [F] This is too large — redirect me to $design-system

If [F]: stop. Verdict: REDIRECTED — use $design-system for this change. Otherwise: proceed with the selected type.


2. Context Scan

Before drafting anything, read the relevant context:

  • Search design/gdd/ for the GDD most relevant to this change. Read the sections that this change would affect.
  • Check whether design/gdd/systems-index.md exists. If it does, read it to understand where this system sits in the dependency graph and what tier it belongs to. If it does not exist, note "No systems index found — skipping dependency tier check." and continue.
  • Check design/quick-specs/ for any prior quick specs that touched this system — avoid contradicting them.
  • If this is a Tuning change, also check assets/data/ for the data file that holds the relevant values.

Report what was found: "Found GDD at [path]. Relevant section: [section name]. No conflicting quick specs found." (or note any conflicts found.)


3. Draft the Quick Design Spec

Use the appropriate spec format for the change category.

For Tuning changes

Produce a single table:

# Quick Design Spec: [Title]

**Type**: Tuning
**System**: [System name]
**GDD Reference**: `design/gdd/[filename].md` — Tuning Knobs section
**Date**: [today]

## Change

| Parameter | Old Value | New Value | Rationale |
|-----------|-----------|-----------|-----------|
| [param]   | [old]     | [new]     | [why]     |

## Tuning Knob Mapping

Maps to GDD Tuning Knob: [knob name and its documented range].
New value is [within / at the edge of / outside] the documented range.
[If outside: explain why the range should be extended.]

## Acceptance Criteria

- [ ] [Parameter] reads [new value] from `assets/data/[file]`
- [ ] Behavior difference is observable in [specific context]
- [ ] No regression in [related behavior]

For Tweak and Addition changes

# Quick Design Spec: [Title]

**Type**: [Tweak / Addition]
**System**: [System name]
**GDD Reference**: `design/gdd/[filename].md`
**Date**: [today]

## Change Summary

[1-2 sentences describing what changes and why.]

## Motivation

[Why is this change needed? What player experience problem does it solve?
Reference the relevant MDA aesthetic or player feedback if applicable.]

## Design Delta

Current GDD says (quoting `design/gdd/[filename].md`, [section]):

> [exact quote of the relevant rule or description]

This spec changes that to:

[New rule or description, written with the same precision as a GDD Detailed
Rules section. A programmer should be able to implement from this text alone.]

## New Rules / Values

[Full unambiguous statement of the replacement content. If this introduces
new states, list them. If it introduces new parameters, define their ranges.]

## Affected Systems

| System | Impact | Action Required |
|--------|--------|-----------------|
| [system] | [how it is affected] | [update GDD / update data file / no action] |

## Acceptance Criteria

- [ ] [Specific, testable criterion 1]
- [ ] [Specific, testable criterion 2]
- [ ] [Specific, testable criterion 3]
- [ ] No regression: [the original behavior this must not break]

## GDD Update Required?

[Yes / No]
[If yes: which file, which section, and what the update should say.]

For New Small System changes

Use a trimmed GDD structure. Include only the sections that are directly necessary — skip Player Fantasy, full Formulas, and Edge Cases unless the system specifically requires them.

# Quick Design Spec: [Title]

**Type**: New Small System
**Scope**: [1-2 sentence description of what this system does and doesn't do]
**Date**: [today]
**Estimated Implementation**: [hours]

## Overview

[One paragraph a new team member could understand. What does this system do,
when does it activate, and what does it produce?]

## Core Rules

[Unambiguous rules for the system. Use numbered lists for sequential behavior
and bullet lists for conditions. Be precise enough that a programmer can
implement without asking questions.]

## Tuning Knobs

| Knob | Default | Range | Category | Rationale |
|------|---------|-------|----------|-----------|
| [name] | [value] | [min–max] | [feel/curve/gate] | [why this default] |

All values must live in `assets/data/[appropriate-file].json`, not hardcoded.

## Acceptance Criteria

- [ ] [Functional criterion: does the right thing]
- [ ] [Functional criterion: handles the edge case]
- [ ] [Experiential criterion: feels right — what a playtest validates]
- [ ] [Regression criterion: does not break adjacent system]

## Systems Index

This system is not currently in `design/gdd/systems-index.md`.
[If it should be added: suggest which layer and priority tier.]
[If it is too small to track: state "This system is below systems-index
tracking threshold — quick spec is sufficient."]

4. Approval and Filing

Use today's date in the filename. The title should be a kebab-case description of the change (e.g., jump-height-tuning-2026-03-10, parry-window-addition-2026-03-10).

Complete changeset approval

Present the draft and one complete proposed changeset before asking. Always list:

  • design/quick-specs/[kebab-case-title]-[YYYY-MM-DD].md — the full Quick Design Spec
  • design/gdd/[filename].md — only when the spec requires a GDD update; show the exact old and new section text

Ask one concise approval question and wait for the answer:

  • [A] Approve and write the complete listed changeset exactly as shown
  • [B] Write only the Quick Design Spec and explicitly defer the listed GDD update (only offer when a GDD update is required)
  • [C] Revise the proposed changeset — I'll describe what to change
  • [D] This grew too large — redirect to $design-system instead

If [A], create design/quick-specs/ if needed and write every listed file. If [B], write only the Quick Design Spec and record the GDD update as pending. If [C], revise and re-present the complete changeset with the same single approval question. If [D], stop with verdict REDIRECTED. Do not request a second approval after any option.


5. Handoff

After writing the file, output:

Quick Design Spec written to: design/quick-specs/[filename].md
Type: [Tuning / Tweak / Addition / New Small System]
System: [system name]
GDD update: [Required — pending approval / Applied / Not required]

Next step: This spec is ready for `$story-readiness` validation before
implementation. Reference this spec in the story's GDD Reference field.

Pipeline Notes

Verdict: COMPLETE — quick design spec written and ready for implementation.

Quick Design Specs bypass $design-review and $review-all-gdds by design. They are for small, low-risk, well-scoped changes where the cost of the full review pipeline exceeds the risk of the change itself.

Redirect to the full pipeline if any of the following are true:

  • The change adds a new system that belongs in the systems index
  • The change significantly alters cross-system behavior or a system's contracts with other systems
  • The change introduces new player-facing mechanics that affect the game's MDA aesthetic balance
  • Implementation is likely to exceed one week of work

In those cases: "This change has grown beyond quick-spec scope. I recommend using $design-system to author a full GDD for this."


Recommended Next Steps

  • Run $story-readiness [story-path] to validate the story before implementation begins — reference this spec in the story's GDD Reference field
  • Run $dev-story [story-path] to implement once the story passes readiness checks
  • If the change is larger than expected, run $design-system [system-name] to author a full GDD instead

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.