chore(skill): Own tttk-authoring in the repo

Move the skill to .agents/skills/tttk-authoring and point gen:skill-reference at it. Activate it by symlinking ~/.agents/skills/tttk-authoring to the in-repo copy.

Extend the reference drift guard to cover the skill copy now that it is versioned, and document activation in docs/development.md.
This commit is contained in:
2026-09-12 17:19:38 +08:00
parent 6d94a99b42
commit d8ccaecade
15 changed files with 870 additions and 16 deletions
@@ -0,0 +1,68 @@
# The Hollow Mill
## Adventure brief
The mill on the village edge has stood silent for a year. Last week its wheel
began turning again — on its own.
> [!WARNING]
> The mill's guardian is not hostile by default. Attacking it forfeits the
> peaceful resolution.
## Locations
:md-table[./locations.csv]
## Random encounters
:md-table[./encounters.csv]{roll=true}
## The mill guardian
:md-dice[1d20+3]{key="guardian-attack"}
The guardian strikes with :[sword] for :md-dice[2d6+2]{key="guardian-damage"}.
## Encounter table (inline)
```csv role=spark-table roll=true
d6,Encounter
1,A crow watches from the rafters.
2,The floorboards groan underfoot.
3,A cold draft carries the smell of grain.
4,The wheel outside stops for one breath.
5,A sack of flour splits open.
6,The guardian's lantern flickers to life.
```
## Route
```mermaid
graph TD
A[Village] --> B[Mill Road]
B --> C{Mill Door}
C -->|Force| D[Ground Floor]
C -->|Listen| E[Secret Cellar]
D --> F[Wheel Room]
E --> F
```
## Guardian card
```yaml role=tag
tag: md-deck
body: ./guardian.csv
data-config:
size: 63x88
grid: 5x5
layers:
- prop: name
pos: 1,1-5,1
font: 12
- template: |
**{{type}}** — {{hp}} HP
{{description}}
pos: 1,3-5,8
font: 3
align: l
```
@@ -0,0 +1,36 @@
group,label,body
Mill Road,1,"### A crow on the fence
A crow fixes you with one eye, then flies toward the mill.
**Interaction**: Follow it (Perception 3/1)
**Risk**: None"
Mill Road,2,"### Broken cart
An overturned cart blocks half the road.
**Interaction**: Clear it (Strength 3/2)
**Risk**: Failure costs 1 Stamina"
Mill Road,3,"### Cold spot
The air turns suddenly cold.
**Interaction**: Press on (Constitution 3/1)
**Risk**: Failure deals 1 Constitution damage"
Wheel Room,1,"### The turning wheel
The wheel grinds without water.
**Interaction**: Jam the gears (Strength 3/3)
**Risk**: Failure deals 1 Agility damage"
Wheel Room,2,"### Flour dust
Thick dust fills the air.
**Interaction**: Cover your mouth (Constitution 3/1)
**Risk**: Failure deals 1 Constitution damage"
1 group label body
2 Mill Road 1 ### A crow on the fence A crow fixes you with one eye, then flies toward the mill. **Interaction**: Follow it (Perception 3/1) **Risk**: None
3 Mill Road 2 ### Broken cart An overturned cart blocks half the road. **Interaction**: Clear it (Strength 3/2) **Risk**: Failure costs 1 Stamina
4 Mill Road 3 ### Cold spot The air turns suddenly cold. **Interaction**: Press on (Constitution 3/1) **Risk**: Failure deals 1 Constitution damage
5 Wheel Room 1 ### The turning wheel The wheel grinds without water. **Interaction**: Jam the gears (Strength 3/3) **Risk**: Failure deals 1 Agility damage
6 Wheel Room 2 ### Flour dust Thick dust fills the air. **Interaction**: Cover your mouth (Constitution 3/1) **Risk**: Failure deals 1 Constitution damage
@@ -0,0 +1,2 @@
label,name,type,hp,description
1,The Hollow Miller,Spirit,10,"Bound to the wheel by an old promise. Speaks only in the sound of grinding stone."
1 label name type hp description
2 1 The Hollow Miller Spirit 10 Bound to the wheel by an old promise. Speaks only in the sound of grinding stone.
@@ -0,0 +1,47 @@
label,body
Village,"### Village
**Type**: Starting location
A quiet village at the edge of the marsh. The miller's daughter asks after her
father.
**Interaction**: Ask about the mill (Charisma 3/1)
**Supplies**: Rope, torches, one healing draught"
Mill Road,"### Mill Road
**Type**: Route
A muddy track winding between hedgerows toward the mill.
**Interaction**: Spot tracks (Perception 3/1)
**Encounters**: 3 random encounters"
Ground Floor,"### Ground Floor
**Type**: Hub
Sacks of grain, a cold hearth, and a ladder to the wheel room.
**Interaction**:
- Search the hearth (Perception 3/2) — find a brass key
- Climb the ladder (Agility 3/1)"
Secret Cellar,"### Secret Cellar
**Type**: Archive
A low cellar beneath the millstones. Ledgers line the walls.
**Interaction**: Read the ledgers (Intelligence 3/2) — learn the guardian's name
**Clue**: The last entry is dated one year ago, in the miller's hand"
Wheel Room,"### Wheel Room
**Type**: Finale
The great wheel turns in silence, though no water reaches it.
**Interaction**:
- Speak the guardian's name (Charisma 3/3) — peaceful resolution
- Break the wheel (Strength 3/4) — hostile resolution"
1 label body
2 Village ### Village **Type**: Starting location A quiet village at the edge of the marsh. The miller's daughter asks after her father. **Interaction**: Ask about the mill (Charisma 3/1) **Supplies**: Rope, torches, one healing draught
3 Mill Road ### Mill Road **Type**: Route A muddy track winding between hedgerows toward the mill. **Interaction**: Spot tracks (Perception 3/1) **Encounters**: 3 random encounters
4 Ground Floor ### Ground Floor **Type**: Hub Sacks of grain, a cold hearth, and a ladder to the wheel room. **Interaction**: - Search the hearth (Perception 3/2) — find a brass key - Climb the ladder (Agility 3/1)
5 Secret Cellar ### Secret Cellar **Type**: Archive A low cellar beneath the millstones. Ledgers line the walls. **Interaction**: Read the ledgers (Intelligence 3/2) — learn the guardian's name **Clue**: The last entry is dated one year ago, in the miller's hand
6 Wheel Room ### Wheel Room **Type**: Finale The great wheel turns in silence, though no water reaches it. **Interaction**: - Speak the guardian's name (Charisma 3/3) — peaceful resolution - Break the wheel (Strength 3/4) — hostile resolution