judokon-architecture-guardian
Enforces JU-DO-KON! architectural boundaries, module responsibilities, and design intent. Use when designing, refactoring, or reviewing core game logic.
Installation
Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.
View source ↗GuidesSkill instructions
Skill Instructions
This skill ensures that all changes respect the established JU-DO-KON! architecture.
Inputs / Outputs / Non-goals
- Inputs: PRD sections, architecture docs, core engine/UI modules, refactor diffs.
- Outputs: boundary-compliant change guidance, module placement advice, risk callouts.
- Non-goals: redesigning architecture or altering public APIs without approval.
What this skill helps accomplish
- Prevent architectural drift
- Maintain separation of concerns
- Preserve the Battle Engine mental model
- Ensure UI, engine, and data layers remain decoupled
When to use this skill
- Adding new game modes
- Refactoring battle logic
- Modifying state machines
- Reviewing AI-generated code for correctness
Core architectural rules (must follow)
-
Battle Engine owns rules and outcomes
- No game rules in UI components
- No DOM access inside engine logic
-
UI is reactive, not authoritative
- UI reads state, never mutates it directly
-
JSON is the source of truth
- Battle states, judoka data, and configuration live in JSON
-
Facades define boundaries
- External callers interact through facades, not internals
-
Feature flags gate behaviour
- Experimental logic must be flag-protected
Boundary examples
- UI can render a timer display; engine computes timer state and transitions.
- UI reads state from facades; engine never imports or touches DOM helpers.
Anti-patterns (must avoid)
- Business logic inside rendering functions
- Implicit coupling between UI and engine internals
- Duplicated rule definitions across files
Check yourself
- No dynamic imports in hot paths (
src/helpers/classicBattle*,src/helpers/battleEngineFacade.js). - Engine logic has no DOM access; UI does not own rules.
- New logic behind flags when experimental.
Expected output
- Clear explanation of where changes belong
- Suggested module placement
- Warnings when boundaries are crossed
Examples
Read the usage examples in the source repository.
View source ↗Source history
- Indexed on
- 2026-01-20
- Index updated
- 2026-01-26
- Branch
- main
Index and sync dates describe this directory. View the source repository for code history.
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!