添加 claude code game studios 到项目
This commit is contained in:
150
CCGS Skill Testing Framework/templates/agent-test-spec.md
Normal file
150
CCGS Skill Testing Framework/templates/agent-test-spec.md
Normal file
@@ -0,0 +1,150 @@
|
||||
# Agent Spec: [agent-name]
|
||||
|
||||
> **Tier**: [directors | leads | specialists | godot | unity | unreal | operations | creative]
|
||||
> **Category**: [director | lead | specialist | engine | operations | creative]
|
||||
> **Spec written**: [YYYY-MM-DD]
|
||||
|
||||
## Agent Summary
|
||||
|
||||
[One paragraph describing this agent's domain, what decisions it owns, and what it
|
||||
delegates vs. handles directly. Include which gates it triggers (if any).]
|
||||
|
||||
**Domain**: [files/directories this agent owns]
|
||||
**Escalates to**: [parent agent — e.g., creative-director for design conflicts]
|
||||
**Delegates to**: [sub-agents this agent typically spawns]
|
||||
|
||||
---
|
||||
|
||||
## Static Assertions
|
||||
|
||||
- [ ] Agent file exists at `.claude/agents/[name].md`
|
||||
- [ ] Frontmatter has `name`, `description`, `model`, `tools` fields
|
||||
- [ ] Domain clearly stated
|
||||
- [ ] Escalation path documented
|
||||
- [ ] Does not make decisions outside its domain
|
||||
|
||||
---
|
||||
|
||||
## Test Cases
|
||||
|
||||
### Case 1: In-Domain Request — [brief name]
|
||||
|
||||
**Scenario**: A request that is clearly within this agent's domain.
|
||||
|
||||
**Fixture**:
|
||||
- [relevant project state]
|
||||
- [input provided to agent]
|
||||
|
||||
**Expected behavior**:
|
||||
1. Agent accepts the request
|
||||
2. Agent produces [specific output type]
|
||||
3. Agent asks before writing files (if applicable)
|
||||
|
||||
**Assertions**:
|
||||
- [ ] Agent handles request within its domain without escalating
|
||||
- [ ] Output format matches expected structure
|
||||
- [ ] Collaborative protocol followed (ask → draft → approve)
|
||||
|
||||
**Case Verdict**: PASS / FAIL / PARTIAL
|
||||
|
||||
---
|
||||
|
||||
### Case 2: Out-of-Domain Redirect — [brief name]
|
||||
|
||||
**Scenario**: A request that falls outside this agent's domain.
|
||||
|
||||
**Fixture**:
|
||||
- [request that belongs to a different agent]
|
||||
|
||||
**Expected behavior**:
|
||||
1. Agent identifies the request is out of domain
|
||||
2. Agent redirects to the correct agent
|
||||
3. Agent does NOT attempt to handle it
|
||||
|
||||
**Assertions**:
|
||||
- [ ] Agent declines and redirects (does not silently handle cross-domain work)
|
||||
- [ ] Correct agent named in redirect
|
||||
|
||||
**Case Verdict**: PASS / FAIL / PARTIAL
|
||||
|
||||
---
|
||||
|
||||
### Case 3: Gate Verdict — [brief name]
|
||||
|
||||
**Scenario**: Agent is invoked as part of a director gate check.
|
||||
|
||||
**Fixture**:
|
||||
- [project state presented for review]
|
||||
- [gate ID: e.g., CD-PHASE-GATE]
|
||||
|
||||
**Expected behavior**:
|
||||
1. Agent reads the relevant documents
|
||||
2. Agent produces a PASS / CONCERNS / FAIL verdict
|
||||
3. Agent does not auto-advance on CONCERNS or FAIL
|
||||
|
||||
**Assertions**:
|
||||
- [ ] Verdict keyword present in output (PASS, CONCERNS, FAIL)
|
||||
- [ ] Reasoning provided for verdict
|
||||
- [ ] On CONCERNS/FAIL: work is blocked, not silently continued
|
||||
|
||||
**Case Verdict**: PASS / FAIL / PARTIAL
|
||||
|
||||
---
|
||||
|
||||
### Case 4: Conflict Escalation — [brief name]
|
||||
|
||||
**Scenario**: This agent's domain conflicts with another agent's decision.
|
||||
|
||||
**Fixture**:
|
||||
- [conflicting decisions from two agents at same tier]
|
||||
|
||||
**Expected behavior**:
|
||||
1. Agent identifies the conflict
|
||||
2. Agent escalates to the shared parent (or creative-director / technical-director)
|
||||
3. Agent does NOT unilaterally resolve cross-domain conflicts
|
||||
|
||||
**Assertions**:
|
||||
- [ ] Conflict surfaced explicitly
|
||||
- [ ] Correct escalation path followed
|
||||
- [ ] No unilateral cross-domain changes made
|
||||
|
||||
**Case Verdict**: PASS / FAIL / PARTIAL
|
||||
|
||||
---
|
||||
|
||||
### Case 5: Context Pass-Through — [brief name]
|
||||
|
||||
**Scenario**: Agent receives a task with full context from a parent agent.
|
||||
|
||||
**Fixture**:
|
||||
- [context block passed from parent]
|
||||
- [specific sub-task to execute]
|
||||
|
||||
**Expected behavior**:
|
||||
1. Agent reads and uses the provided context
|
||||
2. Agent completes the sub-task
|
||||
3. Agent returns result to parent (does not prompt user unnecessarily)
|
||||
|
||||
**Assertions**:
|
||||
- [ ] Agent uses provided context rather than re-asking for it
|
||||
- [ ] Result is scoped to the sub-task, not expanded beyond it
|
||||
- [ ] Output format suitable for parent agent consumption
|
||||
|
||||
**Case Verdict**: PASS / FAIL / PARTIAL
|
||||
|
||||
---
|
||||
|
||||
## Protocol Compliance
|
||||
|
||||
- [ ] Stays within declared domain — no unilateral cross-domain changes
|
||||
- [ ] Escalates conflicts to correct parent
|
||||
- [ ] Uses `"May I write"` before file writes (or is read-only)
|
||||
- [ ] Presents findings before requesting approval
|
||||
- [ ] Does not skip tiers in the delegation hierarchy
|
||||
|
||||
---
|
||||
|
||||
## Coverage Notes
|
||||
|
||||
[Any gaps in coverage, known edge cases not tested, or behaviors that require
|
||||
a live agent invocation to verify.]
|
||||
142
CCGS Skill Testing Framework/templates/skill-test-spec.md
Normal file
142
CCGS Skill Testing Framework/templates/skill-test-spec.md
Normal file
@@ -0,0 +1,142 @@
|
||||
# Skill Spec: /[skill-name]
|
||||
|
||||
> **Category**: [gate | review | authoring | readiness | pipeline | analysis | team | sprint | utility]
|
||||
> **Priority**: [critical | high | medium | low]
|
||||
> **Spec written**: [YYYY-MM-DD]
|
||||
|
||||
## Skill Summary
|
||||
|
||||
[One paragraph describing what this skill does, what inputs it takes, and what outputs it produces.]
|
||||
|
||||
---
|
||||
|
||||
## Static Assertions
|
||||
|
||||
These should pass before any behavioral testing:
|
||||
|
||||
- [ ] Frontmatter has all required fields (`name`, `description`, `argument-hint`, `user-invocable`, `allowed-tools`)
|
||||
- [ ] 2+ phase headings found
|
||||
- [ ] At least one verdict keyword present (`PASS`, `FAIL`, `CONCERNS`, `APPROVED`, `BLOCKED`, `COMPLETE`, `READY`)
|
||||
- [ ] If `allowed-tools` includes Write/Edit: `"May I write"` language present
|
||||
- [ ] Next-step handoff section present at end
|
||||
|
||||
---
|
||||
|
||||
## Director Gate Checks
|
||||
|
||||
[Describe which director gates this skill triggers (if any), and under what review mode conditions.]
|
||||
|
||||
- **Full mode**: [gates triggered — e.g., CD-PHASE-GATE, TD-PHASE-GATE, PR-PHASE-GATE, AD-PHASE-GATE]
|
||||
- **Lean mode**: [phase gates only — e.g., CD-PHASE-GATE only, or none]
|
||||
- **Solo mode**: [no gates — skill runs without director review]
|
||||
- **N/A**: [if this skill never triggers gates, explain why]
|
||||
|
||||
---
|
||||
|
||||
## Test Cases
|
||||
|
||||
### Case 1: Happy Path — [brief name]
|
||||
|
||||
**Fixture** (assumed project state):
|
||||
- [file/condition 1]
|
||||
- [file/condition 2]
|
||||
|
||||
**Expected behavior**:
|
||||
1. [Step 1]
|
||||
2. [Step 2]
|
||||
3. [Step 3]
|
||||
|
||||
**Assertions**:
|
||||
- [ ] [Assertion 1]
|
||||
- [ ] [Assertion 2]
|
||||
- [ ] [Assertion 3]
|
||||
|
||||
**Case Verdict**: PASS / FAIL / PARTIAL
|
||||
|
||||
---
|
||||
|
||||
### Case 2: Failure / Blocked — [brief name]
|
||||
|
||||
**Fixture**:
|
||||
- [missing or invalid condition]
|
||||
|
||||
**Expected behavior**:
|
||||
1. [Skill detects the problem]
|
||||
2. [Skill reports FAIL/BLOCKED]
|
||||
3. [Skill does NOT proceed]
|
||||
|
||||
**Assertions**:
|
||||
- [ ] Skill stops early and does not produce output
|
||||
- [ ] Correct error/block message displayed
|
||||
- [ ] No files written without user approval
|
||||
|
||||
**Case Verdict**: PASS / FAIL / PARTIAL
|
||||
|
||||
---
|
||||
|
||||
### Case 3: Mode Variant — [brief name]
|
||||
|
||||
**Fixture**:
|
||||
- [standard project state]
|
||||
- [specific mode or flag set]
|
||||
|
||||
**Expected behavior**:
|
||||
1. [Behavior differs from happy path because of mode]
|
||||
|
||||
**Assertions**:
|
||||
- [ ] [Mode-specific assertion]
|
||||
- [ ] [Output differs correctly from Case 1]
|
||||
|
||||
**Case Verdict**: PASS / FAIL / PARTIAL
|
||||
|
||||
---
|
||||
|
||||
### Case 4: Edge Case — [brief name]
|
||||
|
||||
**Fixture**:
|
||||
- [unusual or boundary condition]
|
||||
|
||||
**Expected behavior**:
|
||||
1. [Skill handles gracefully]
|
||||
|
||||
**Assertions**:
|
||||
- [ ] [Edge case handled without crash or silent failure]
|
||||
- [ ] [Correct output or message]
|
||||
|
||||
**Case Verdict**: PASS / FAIL / PARTIAL
|
||||
|
||||
---
|
||||
|
||||
### Case 5: Director Gate — [brief name]
|
||||
|
||||
**Fixture**:
|
||||
- [project state that triggers a gate check]
|
||||
- Review mode: [full | lean | solo]
|
||||
|
||||
**Expected behavior**:
|
||||
1. [Gate fires / does not fire based on mode]
|
||||
2. [Correct director agents spawned or skipped]
|
||||
|
||||
**Assertions**:
|
||||
- [ ] In full mode: [specific gates spawn]
|
||||
- [ ] In lean mode: [phase gates only, or skip]
|
||||
- [ ] In solo mode: no director gates spawn
|
||||
- [ ] Skill does not auto-advance past a CONCERNS or FAIL verdict
|
||||
|
||||
**Case Verdict**: PASS / FAIL / PARTIAL
|
||||
|
||||
---
|
||||
|
||||
## Protocol Compliance
|
||||
|
||||
- [ ] Uses `"May I write"` before any file writes (or is read-only and skips this)
|
||||
- [ ] Presents findings/draft to user before requesting approval
|
||||
- [ ] Ends with a recommended next step or follow-up action
|
||||
- [ ] Does not auto-create files without user approval
|
||||
|
||||
---
|
||||
|
||||
## Coverage Notes
|
||||
|
||||
[Any gaps in coverage, known edge cases not tested, or conditions that would require
|
||||
a live skill run to verify.]
|
||||
Reference in New Issue
Block a user