Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions .github/copilot-instructions.md
Original file line number Diff line number Diff line change
Expand Up @@ -101,9 +101,19 @@ For MVP, prioritize tests for:

Do not block MVP on broad coverage targets.

## Narrative and mechanics separation

- Create and maintain story canon in `docs/FABULA.md` before final mechanics are locked.
- Keep `docs/GAME_BRIEF.md` and `docs/GDD.md` aligned with the current story and scope.
- Treat `mechanika/` as the place for gameplay rules, not for raw worldbuilding.

## Copilot workflow

- Use `/game-dev` for project orchestration.
- Use `/game-brief` for the durable product and mission brief.
- Use `/fabula` for story bible work before mechanics solidify.
- Use `/gdd` for structured design-document updates.
- Use `/investigate` for focused repo analysis and blocker discovery.
- Use `/new-scene` for Phaser scenes.
- Use `/new-system` for systems.
- Use `/new-event` for event data.
Expand Down
56 changes: 56 additions & 0 deletions .github/prompts/fabula.prompt.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
---
name: fabula
description: 'Creates or updates the story bible and narrative foundation before mechanics are finalized.'
agent: agent
model: gpt-5.4
tools:
- search/codebase
- edit/editFiles
- read/problems
- execute/runInTerminal
- execute/runTests
---

# /fabula

Use this prompt to create or refine the project story bible in `docs/FABULA.md`.

## Read first

- `README.md`
- `docs/GAME_BRIEF.md`
- `docs/GDD.md` if it exists
- `docs/SCOPE.md`
- `docs/IDEAS_LATER.md`
- `mechanika/README.md`
- `mechanika/00-template-do-wypelnienia.md`

## Narrative scope

Focus on:

- mission premise,
- tone,
- world assumptions,
- crew roles as characters,
- factions only as story mentions if needed,
- intro text, recurring motifs, event themes, and discovery mystery.

## Rules

- Do not define gameplay formulas or hidden mechanics here.
- Do not turn narrative ideas into combat, XP, morale, or quest systems.
- Keep canon easy to reuse later in events, UI text, and mission content.
- Write concise, production-friendly material that can guide future content generation.

## Output

Update `docs/FABULA.md` and end with:

```md
## Fabula update
Completed:
Open questions:
Future hooks:
Files changed:
```
50 changes: 50 additions & 0 deletions .github/prompts/game-brief.prompt.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
---
name: game-brief
description: 'Creates or updates the durable game brief before implementation expands.'
agent: agent
model: gpt-5.4
tools:
- search/codebase
- edit/editFiles
- read/problems
- execute/runInTerminal
- execute/runTests
---

# /game-brief

Use this prompt to create or refine the durable project brief in `docs/GAME_BRIEF.md`.

## Read first

- `README.md`
- `docs/ARCHITECTURE.md`
- `docs/SCOPE.md`
- `docs/IDEAS_LATER.md`
- `docs/FABULA.md` if it exists
- `mechanika/README.md`
- `mechanika/00-template-do-wypelnienia.md`

## Goals

- Keep one short source of truth for the fantasy, player role, mission, tone, and product promise.
- Support later mechanics and content decisions without inventing gated `mechanika/` rules.
- Keep the brief stable enough to guide future scenes, systems, events, and story writing.

## Rules

- Do not invent combat formulas, progression curves, trait effects, faction systems, or quest-chain logic.
- Keep this document high-level and durable.
- If a detail belongs to narrative canon, place or link it in `docs/FABULA.md`.
- If a detail belongs to gameplay rules, leave a note pointing to `mechanika/`.

## Output

Update `docs/GAME_BRIEF.md` and end with:

```md
## Game brief update
Completed:
Open questions:
Files changed:
```
52 changes: 52 additions & 0 deletions .github/prompts/gdd.prompt.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
---
name: gdd
description: 'Builds or updates the Game Design Document while respecting mechanika gates.'
agent: agent
model: gpt-5.4
tools:
- search/codebase
- edit/editFiles
- read/problems
- execute/runInTerminal
- execute/runTests
---

# /gdd

Use this prompt to maintain `docs/GDD.md` as the structured design reference.

## Read first

- `README.md`
- `docs/GAME_BRIEF.md`
- `docs/FABULA.md`
- `docs/ARCHITECTURE.md`
- `docs/SCOPE.md`
- `mechanika/README.md`
- `mechanika/00-template-do-wypelnienia.md`
- any refined files inside `mechanika/`

## Goals

- Translate the current project intent into a structured design doc.
- Keep narrative, UX, scope, and content plans aligned.
- Record placeholders and open questions instead of inventing blocked mechanics.

## Rules

- Treat `mechanika/` as the future gameplay source of truth.
- Keep sections explicit about status: approved now, reserved, or open question.
- Prefer tables, bullet lists, and short sections over long prose.
- Link to `docs/FABULA.md` for worldbuilding and story canon.

## Output

Update `docs/GDD.md` and end with:

```md
## GDD update
Completed:
Blocked by mechanika:
Open questions:
Files changed:
```
53 changes: 53 additions & 0 deletions .github/prompts/investigate.prompt.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
---
name: investigate
description: 'Investigates repository state, docs, content gaps, or implementation blockers before making changes.'
agent: agent
model: gpt-5.4
tools:
- search/codebase
- edit/editFiles
- read/problems
- execute/runInTerminal
- execute/runTests
---

# /investigate

Use this prompt when you need a focused repo investigation before planning or implementation.

## Read first

Inspect only the files needed for the request, but prefer these sources first:

- `README.md`
- `docs/ARCHITECTURE.md`
- `docs/SCOPE.md`
- `docs/COPILOT_WORKFLOW.md`
- `mechanika/`
- `.github/prompts/`
- `.github/skills/`

## Goals

- Find the current source of truth for the requested area.
- Identify blockers, missing assets, or contradictory docs.
- Recommend the next 1-3 safe actions.

## Rules

- Do not make speculative architecture changes unless asked.
- Do not invent gated mechanics.
- When the repo is still docs-only, prefer docs, prompts, and skill updates over code scaffolding.

## Output

Return:

```md
## Investigation result
Question:
Sources checked:
What is true now:
Blockers:
Recommended next action:
```
25 changes: 25 additions & 0 deletions .github/skills/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Local skills

This directory contains the repository-local skills that Copilot can use for SpaceshipGame.

## Active local skills

- `scaffold-scene` — Phaser 4 scene scaffolding aligned with repo architecture.
- `scaffold-system` — pure TypeScript system scaffolding with serializable state.
- `mechanika-spec` — controlled work inside `mechanika/`.
- `story-bible` — narrative canon and story foundation in `docs/FABULA.md`.
- `skill-creator` — local skill adaptation workflow for this repo.
- `content-research-writer` — grounded documentation authoring for Sprint 0 and beyond.

## Intake flow for additional skills

1. Drop raw or draft material into `.github/skills/incoming/`.
2. Review whether it fits the repo rules, stack, and current gate.
3. Adapt it into a clean local skill package under `.github/skills/{skill-name}/`.
4. Update `README.md`, `docs/COPILOT_WORKFLOW.md`, and adoption docs if the skill becomes part of the standard workflow.

## Rules

- Prefer adapted local skills over bulk imports.
- Do not treat `incoming/` content as active by default.
- Record activation gates and blockers for every non-trivial skill.
21 changes: 21 additions & 0 deletions .github/skills/content-research-writer/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
---
name: content-research-writer
description: 'Creates grounded design, narrative, and workflow documentation for the repository.'
---

# Content Research Writer

Use this skill when creating or revising repository documentation such as:

- `docs/GAME_BRIEF.md`,
- `docs/GDD.md`,
- `docs/FABULA.md`,
- ADR notes,
- workflow and adoption docs.

Rules:

- Ground every update in current repo docs first.
- Keep language concise and easy to maintain.
- Separate story canon, gameplay rules, and technical architecture into the correct files.
- When information is missing, write an open question or blocker instead of filling gaps with invented mechanics.
23 changes: 23 additions & 0 deletions .github/skills/incoming/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Skill intake / upload area

Use this directory as the staging area for additional skills before they become active repository skills.

## What goes here

- draft skills copied in for review,
- external skill references,
- partially adapted skill packages,
- notes about source, purpose, and gate.

## Required note for each incoming skill

Include at least:

- original source,
- intended use in SpaceshipGame,
- current gate (`Sprint 0 docs`, `app scaffold`, `CI`, `design pipeline`, or `external tool`),
- blockers or open questions.

## Promotion rule

A skill moves from `incoming/` to an active folder in `.github/skills/` only after it is adapted to repository conventions and documented in the workflow docs.
22 changes: 22 additions & 0 deletions .github/skills/mechanika-spec/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
---
name: mechanika-spec
description: 'Refines one mechanic spec at a time inside mechanika/ without over-inventing blocked systems.'
---

# Mechanika Spec

Use this skill when filling in or refining files inside `mechanika/`.

Rules:

- Start from `mechanika/00-template-do-wypelnienia.md` or the closest numbered file.
- Work on one mechanic area at a time.
- Use natural language for intent and tables for values or rule summaries.
- If the source information is missing, record an open question instead of inventing a final rule.
- Keep combat, traits, progression, morale formulas, factions, and quest chains evidence-based.

Expected outputs:

- updated `mechanika/` file,
- any linked note in `99-open-questions.md`,
- no production-code changes unless explicitly requested later.
23 changes: 23 additions & 0 deletions .github/skills/skill-creator/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
---
name: skill-creator
description: 'Creates or adapts local repository skills using the SpaceshipGame conventions and activation gates.'
---

# Skill Creator

Use this skill when adding a new package under `.github/skills/`.

Checklist:

- Confirm the skill supports the approved stack, docs workflow, narrative work, or future gated workflows.
- Write a short `name` and `description` in frontmatter.
- Explain when to use the skill and what files it may touch.
- Record any gate such as Sprint 0 docs-only, app scaffold required, CI required, or external tool required.
- If the skill comes from an external pattern, adapt it instead of bulk-copying it.
- If the skill is not ready for active use, stage it under `.github/skills/incoming/` first.

Do not:

- commit secrets or personal tokens,
- assume external MCP configuration already exists,
- invent blocked game mechanics.
24 changes: 24 additions & 0 deletions .github/skills/story-bible/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
---
name: story-bible
description: 'Builds and maintains the narrative canon in docs/FABULA.md without turning it into gameplay rules.'
---

# Story Bible

Use this skill when creating or revising `docs/FABULA.md`.

Focus areas:

- premise and mission context,
- tone and style,
- worldbuilding assumptions,
- crew as characters,
- intro text and recurring motifs,
- event-theme hooks for future content.

Rules:

- Keep story canon separate from gameplay formulas.
- Do not define combat, XP, morale, trait, faction, or quest mechanics here.
- Prefer concise sections that are easy to reuse in event writing and UI text.
- Flag unresolved canon questions explicitly.
Loading
Loading