Skip to content

Add skill about simple design rules -> 053-design-simple-rules #903

Description

@jabrena

User Story: Add skill about simple design rules -> 053-design-simple-rules

As a Java Enterprise developer and rule maintainer
I want to add a dedicated 053-design-simple-rules skill about Kent Beck's simple design rules
So that agents can guide Java design and refactoring decisions using a clear, ordered, testable, low-duplication, and readable design heuristic.

Background

The skill should explain and apply the simple design rules in this priority order:

  1. Passes the tests
  2. Reveals intention / maximizes clarity
  3. Has no duplication / minimizes duplication
  4. Has the fewest elements

Acceptance Criteria

Feature: Simple design rules skill
  The project provides a generated agent skill for applying simple design rules to Java code design and refactoring work.

  Background:
    Given the cursor-rules-java skill generation pipeline is available
    And skill changes are made in XML sources under skills-generator/src/main/resources

  @acceptance-test
  Scenario: Generated skill explains the ordered simple design rules
    Given a maintainer adds the 053-design-simple-rules skill source
    When the skills-generator module is built
    Then the generated skill describes the simple design rules in priority order
    And the generated skill explains that passing tests comes before design cleanup
    And the generated skill explains how clarity, duplication reduction, and fewer elements guide design choices
    And the generated skill references the supporting Simple Design articles

  @integration-test
  Scenario: Skill is registered in the skill inventory
    Given the 053-design-simple-rules skill source exists
    When the skill inventory is generated
    Then the skill appears with a clear name and description
    And the skill can be discovered by agents for Java design or refactoring tasks

  @integration-test
  Scenario: Generated skill passes validation
    Given the local generated skill output is refreshed
    When the applicable skill validation checks run
    Then the generated skill passes formatter validation
    And any required acceptance prompt entry for the changed skill is updated or confirmed not applicable

Notes

  • Edit XML sources in skills-generator/src/main/resources, not generated skills/ output.
  • Keep the skill aligned with the existing design skill numbering and style.
  • Preserve the ordering from the referenced material and make the tradeoffs explicit for Java design/refactoring decisions.

References

INVEST Validation

  • Independent: The skill can be added as a standalone design guidance skill without depending on another unfinished skill.
  • Negotiable: The exact examples and wording can be refined while preserving the four ordered simple design rules.
  • Valuable: Agents and maintainers gain a shared design heuristic for evaluating Java code changes.
  • Estimable: Scope is bounded to one generated skill, inventory registration, references, and validation.
  • Small: The work fits in a single iteration because it adds one focused skill rather than a broader design framework.
  • Testable: Completion can be verified through generated skill output, inventory registration, and validation checks.

Metadata

Metadata

Assignees

Labels

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions