Files
ttrpg-tools/.agents/skills/tttk-authoring/csv.md
T
hypercross d8ccaecade 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.
2026-09-12 17:19:38 +08:00

42 lines
1.2 KiB
Markdown

# CSV data files
**Keep CSV files clean** — a header row and data rows, nothing else. Put deck
configuration and templates in the `yaml role=tag` block's `data-config`, not in
the CSV. This keeps data portable and presentation in one place. See
`reference.md` for the element and role catalog.
```csv
label,body,name,type
1,"### 火球术卷轴
一张泛黄的羊皮纸。",火球术卷轴,消耗品
```
- `label` — unique row id (number or text).
- `body` — main content, supports markdown.
- Any other columns are custom fields.
- `{{prop}}` in `body` interpolates another column from the same row (or a
random row when the table uses `{remix}`).
- Wrap values containing `,`, `"`, or newlines in double quotes; escape `"` as
`""`. Lines beginning with `#` are comments.
## Front matter (avoid)
The parser also accepts YAML front matter delimited by `---`, which can declare
`fields`, a `deck:` block, and arbitrary keys merged into every row. **Prefer
not to use it** — it mixes presentation into the data file. Use the YAML tag
block instead.
```csv
---
fields:
- name: name
description: 卡牌名称
deck:
size: 63x88
grid: 5x5
game_system: D&D 5e
---
label,body,name,type
1,"### 火球术卷轴",火球术卷轴,消耗品
```