Back to list
KvFxKaido

mechanics-check

by KvFxKaido

Tactical, Relationship-Driven TTRPG with AI Game Master - 11 factions, narrative choices, consequence tracking

0🍴 0📅 Jan 25, 2026

SKILL.md


name: mechanics-check description: Audit SENTINEL game data integrity. Validates regions, jobs, vehicles, and favors against schema enums. allowed-tools: Bash, Read, Glob, Grep user-invocable: true proactive: false

Mechanics Integrity Check

Validate SENTINEL game data consistency to catch bugs before they surface during play.

When to Use

  • After modifying regions.json, job templates, or favor costs
  • Before committing game data changes
  • When adding new factions, regions, or mission types
  • After updating schema enums
  • Periodic health checks on game data

How to Run

Run the validation script directly:

python C:/dev/SENTINEL/sentinel-agent/scripts/check_mechanics.py

JSON Output (for CI/automation)

python C:/dev/SENTINEL/sentinel-agent/scripts/check_mechanics.py --json

Present Results

Format the output as an actionable checklist:

## Mechanics Health Report

### Status: [HEALTHY | NEEDS ATTENTION | BROKEN]

### Issues Found
- [ ] Issue 1 (ERROR) — must fix
- [ ] Issue 2 (WARNING) — should investigate
- [ ] Issue 3 (INFO) — informational

### Recommendations
- ...

What It Checks

Regions (data/regions.json)

  • All 11 Region enum values have entries
  • primary_faction and contested_by reference valid faction IDs
  • adjacent lists contain valid region IDs
  • Adjacency is bidirectional (if A→B then B→A)

Jobs (data/jobs/*.json)

  • faction matches FactionName enum (display names)
  • type matches MissionType enum
  • region (if present) matches Region enum
  • opposing_factions contain valid faction names
  • requires_vehicle_tags exist in at least one vehicle
  • requires_vehicle_type matches actual vehicle types

Vehicles (tui_commands.py VEHICLE_DATA)

  • All job-required tags exist in at least one vehicle
  • Reports orphan tags (defined but not used by any job) as INFO

Favors (systems/favors.py)

  • All FavorType values have costs defined
  • All Disposition levels have favor mappings and cost modifiers

Severity Levels

SeverityMeaningAction
ERRORBreaks game functionalityMust fix
WARNINGInconsistency that may workShould investigate
INFOSuggestion or design noteOptional

Exit Codes

CodeMeaning
0All checks passed (HEALTHY)
1Warnings only (NEEDS ATTENTION)
2Errors found (BROKEN)

Tips

  • Run after any schema.py changes that add/remove enum values
  • The check is read-only — it never modifies files
  • JSON output can be filtered with jq:
    python check_mechanics.py --json | jq '.issues[] | select(.severity == "error")'
    
  • Orphan vehicle tags (INFO) are not bugs — they're future-proofing for jobs not yet written

Data Sources

DataLocation
Schema enumssrc/state/schema.py
Regionsdata/regions.json
Jobsdata/jobs/*.json
Vehiclessrc/interface/tui_commands.py
Favorssrc/systems/favors.py

Score

Total Score

70/100

Based on repository quality metrics

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

+10
説明文

100文字以上の説明がある

+10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

Reviews

💬

Reviews coming soon