darts-domain

Define and validate darts scoring rules and board structure knowledge.

Updated Nov 26, 2025
One-click install
npx skills add https://github.com/shiroinock/Darts-Score-Trainer --skill darts-domain
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: darts-domain
Source: https://github.com/shiroinock/Darts-Score-Trainer/tree/main/.claude/skills/darts-domain
Command: npx skills add https://github.com/shiroinock/Darts-Score-Trainer --skill darts-domain

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill encapsulates the darts scoring rules and board structure knowledge, enabling developers to implement, validate, simulate, or test dart score logic reliably.

Core Features & Use Cases

  • Board structure and scoring rules: Describes segments, rings, and valid scores.
  • Validation helpers: Use domain knowledge to implement input validation for scores.
  • Use Case: Validate a throw score like 60 via T20 or 20 via double 10; design tests for valid scores and invalid ones.

Quick Start

Refer to the knowledge when implementing or testing darts score logic. For example, validate that 25 is a valid bull score and 23 is invalid.

Frequently Asked Questions about darts-domain

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I validate dart scores against official board rules?

Darts scoring validation checks whether a thrown score is achievable on a regulation board. Valid scores account for singles (1–20), doubles (2–40), triples (3–60), and the bull (25) and outer bull (50). Use domain knowledge to reject invalid combinations like 23, which cannot be scored on any segment.

What are the valid segment combinations for scoring in darts?

A regulation dartboard has 20 segments (1–20) arranged in fixed order, each accessible as single, double, or triple rings, plus inner bull (25) and outer bull (50). These segments and rings define all achievable scores; understanding their layout enables accurate score simulation and test generation.

How do I test dart score logic for edge cases like busts and checkouts?

Darts scoring includes edge cases: busts occur when the score exceeds the target or leaves only 1 point; checkouts require finishing on a double. Domain knowledge maps valid checkout combinations and identifies impossible states, enabling comprehensive test coverage for game logic.

Can I use darts domain rules to implement score simulation?

Yes. Domain knowledge defines the complete scoring space—valid scores, segment mappings, and constraint rules—providing the foundation to simulate sequences of throws, validate intermediate states, and generate realistic test data for darts applications.

What makes a score unreachable on a standard dartboard?

Unreachable scores fall outside the domain: scores below 1, above 180 (three triple-20s), or specific gaps like 23, 29, 31, 35, 37. Understanding segment anatomy and ring values identifies these impossible scores for validation and error handling.