Borrowing it
Nothing to install: this file belongs to kongsol-83/boardgame-studio. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/kongsol-83/boardgame-studio/main/.cursor/skills/bgs-ruleset/SKILL.mdgit clone --depth 1 https://github.com/kongsol-83/boardgame-studioWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/kongsol-83/boardgame-studio/bgs-ruleset)<a href="https://agentmods.dev/skills/kongsol-83/boardgame-studio/bgs-ruleset"><img src="https://agentmods.dev/badge/skills/kongsol-83/boardgame-studio/bgs-ruleset/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/kongsol-83/boardgame-studio/bgs-ruleset"><img src="https://agentmods.dev/badge/skills/kongsol-83/boardgame-studio/bgs-ruleset.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00090 | $0.02112 |
| Opus 5 | $0.00045 | $0.01056 |
| Sonnet 5 | $0.00018 | $0.00422 |
| Haiku 4.5 | $0.00009 | $0.00211 |
Grade A, and why
bgs-ruleset scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 10d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 174 lines — stays where its author put it; the contents beside it link to each section on GitHub.
룰셋 작성
projects/<slug>/ruleset.md 하나를 쓴다. 설계 사양과 룰북을 분리하지 않는다.
두 문서를 따로 두면 반드시 어긋난다. 처음부터 플레이어가 읽을 수 있는 형태로 쓰고,
설계 메모는 concept.md 에 남긴다.
문서 언어는 studio.config.json 의 language 를 따른다.
두 가지 규칙
이 스킬의 핵심이다. 나머지 절차는 이 둘을 지키려고 있다.
모든 수치는 본문이 아니라 표에 모은다. 본문에는 "라운드 시작에 카드를 보충한다"라고 쓰고 몇 장인지는 표에서 참조한다. 밸런싱은 수치를 계속 바꾸는 일인데, 숫자가 본문에 흩어져 있으면 개정할 때마다 문서 전체를 뒤져야 하고 반드시 하나를 빠뜨린다.
인원에 따라 달라지는 값만 인원별 열로 나눈다. 셋업 자원, 라운드 수, 시장 공개 장수처럼 인원이 늘면 조정하게 되는 값들이다. 반대로 인원과 무관한 값에 2인/3인/4인 열을 만들고 같은 숫자를 세 번 적으면 표가 거짓말을 한다. 읽는 사람은 열이 나뉘어 있으면 인원별로 다를 것이라 기대하고, 그게 아니라는 걸 알아채는 데 시간을 쓴다. 표를 둘로 나눈다.
진행
- [ ] 1. 무엇을 쓸지 확인한다 (신규 / 개정)
- [ ] 2. 구조를 잡는다
- [ ] 3. 본문을 쓴다
- [ ] 4. 수치를 표로 뽑는다
- [ ] 5. 예외 상황을 채운다
- [ ] 6. 버전과 변경 이력을 남긴다
1. 신규인가 개정인가
개정이면 무엇을 왜 바꾸는지 먼저 확인한다. 검토 리포트나 플레이테스트 기록이 근거로 있어야 한다. 근거 없이 "더 나을 것 같아서" 고치면 다음 판에서 무엇이 효과가 있었는지 알 수 없게 된다.
한 번에 여러 곳을 고치지 않는다. 검토에서 지적이 다섯 개 나왔어도 치명 항목만 반영하고 나머지는 남긴다. 이건 게으름이 아니라 인과를 지키는 문제다.
막히면 bgs-design-lead 를 부른다. 무엇부터 손댈지 모르겠거나 검토 결과가 여럿이라
우선순위가 안 잡힐 때다. 리드가 필요한 스페셜리스트를 골라 병렬로 돌리고 결과를 합쳐준다.
각도가 이미 분명하면 스페셜리스트를 직접 불러도 된다.
| 지금 필요한 것 | 부를 사람 |
|---|---|
| 규칙 구조, 액션 집합, 코어 루프 | bgs-system-designer |
| 카드 종류와 덱 구성 | bgs-content-designer |
| 테마 붙이기, 이름, 용어 통일 | bgs-narrative-designer |
| 수치 확정 | bgs-balance-designer |
2. 구조
승리 조건을 앞에 둔다. 목표를 모르는 채로 액션 설명을 읽으면 아무것도 이해되지 않는다. 잘 만든 룰북은 예외 없이 "이 게임에서 이기려면 무엇을 해야 하는가"를 먼저 말한다.
1. 개요 한 문단. 무엇을 하는 게임이고 몇 명이 몇 분 하는가
2. 구성물 목록과 수량
3. 승리 조건 여기가 앞이다
4. 셋업
5. 라운드 진행 전체 흐름을 먼저, 그다음 각 페이즈
6. 액션 상세
7. 게임 종료와 점수 계산
8. 수치표 인원별로 달라지는 것과 아닌 것을 나눠서
9. 예외 상황
10. 용어
11. 변경 이력
3. 본문
- 한 문단에 한 규칙. 두 규칙이 한 문단에 있으면 하나는 반드시 놓친다
- 예시를 붙인다. 조금이라도 헷갈릴 규칙에는 구체적인 예를 하나 넣는다. "예: 파랑 3개와 빨강 1개가 있는 플레이어가..." 처럼
- 용어를 고정한다. "자원"으로 부르기로 했으면 끝까지 자원이다. "재화"로 바꾸지 않는다
- "할 수 있다"와 "해야 한다"를 구분한다. 선택인지 강제인지가 안 드러나면 그 자리에서 테이블마다 다르게 플레이하게 된다
4. 수치표
## 수치
### 셋업
| 항목 | 2인 | 3인 | 4인 |
| --- | --- | --- | --- |
| 시작 자원 | 5 | 4 | 3 |
| 시작 손패 | 4 | 4 | 3 |
| 시장 공개 장수 | 4 | 5 | 6 |
### 진행
| 항목 | 2인 | 3인 | 4인 |
| --- | --- | --- | --- |
| 라운드 수 | 8 | 7 | 6 |
| 라운드당 액션 | 3 | 3 | 3 |
### 점수
| 항목 | 값 |
| --- | --- |
| 목표 달성 | 3점 |
| 남은 자원 2개당 | 1점 |
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 10d ago First seen · 174 lines · 90 tokens per session scan A d7679daed2d0
bgs-ruleset is a skill published in the GitHub repository kongsol-83/boardgame-studio (9 stars, last pushed 1mo ago), licensed Apache-2.0. It adds 90 tokens to every session and 2,112 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
gameobject-component-destroy
Destroy one or more Components from a target GameObject. Missing (null) components are skipped — they cannot be destroyed. Use 'gameobject-find' and 'gameobject-component-get' to identify the components first.
unity-version-split
Split a C# file into Unity 6.5+ and pre-Unity 6.5 variants. Use when a file needs different implementations for different Unity versions due to API changes (e.g., EntityId vs int, GetEntityId vs GetInstanceID).
godot-signals-groups
Build event-driven, decoupled Godot 4.7 gameplay with signals and node groups: declare and emit custom signals, connect with Callables (incl. bind/one-shot), and broadcast to many nodes via groups and callgroup. Use when wiring node communication in a Godot project, replacing tight references with signals…
unity-addressables
Manage Addressables groups, entries, profiles and content builds (com.unity.addressables, reflection-based).
motion
How an agent turns a character mesh into a usable animated FBX — and how to judge whether the result is shippable.
playtest-report
Generates a structured playtest report template or analyzes existing playtest notes into a structured format. Use this to standardize playtest feedback collection and analysis.