agentleFS
EnigmaWUEnigmaWU/MyCodeAgentSkills/apply-attribute-driven-design/SKILL.md

apply-attribute-driven-design

Skill4 starsChanged 3 months agoMITView on GitHub

WHEN/WHERE/WHO: [Scheduling: Software architects or lead developers designing a new feature or greenfield system.] HOW: [Structural: Use this SKILL to systematically execute the 7-step ADD 3.0 methodology to map drivers to design patterns.] WHY: [Scheduling: Ensures the architecture handles all constraints and quality attributes instead of just functional requirements.]

The file

We split this skill into the rules it gives an agent

10 rules. About 0 are common, 10 are distinctive, and 0 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈10

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    When this skill is activated, first load skill-common and apply the shared conventions it defines: canonical section order, frontmatter …

    line 13
  2. Distinctive:

    Transfer Check: Verify the workflow still works for a single subsystem iteration and for larger architecture redesigns that require several …

    line 45
  3. Distinctive:

    Stop Rule: If the architectural drivers are vague or absent, stop and ask before allocating responsibilities or choosing patterns.

    line 46
  4. Distinctive:

    Do not attempt to design the entire system in one pass.

    line 49
  5. Distinctive:

    If the input architectural drivers are missing or vague, stop and ask the user to clarify them before proceeding with the design.

    line 53
  6. Distinctive:

    Review Inputs: Ensure the architectural drivers are prioritized.

    line 57
  7. Distinctive:

    Sketch Views & Record Decisions: Create preliminary diagrams and write ADRs for the choices made.

    line 66
  8. Distinctive:

    Do the architectural drivers map step-by-step to design concepts (patterns/tactics)?

    line 77
  9. Distinctive:

    Verify that every selected design concept traces back to a specific architectural driver.

    line 82
  10. Distinctive:

    Ensure interfaces and responsibilities are clearly allocated.

    line 83

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Apply Attribute-Driven Design (ADD 3.0)

Common Contract (Load First)

When this skill is activated, first load skill-common and apply the shared conventions it defines: canonical section order, frontmatter rules, anti-pattern guidance, and the Review In Mind loop in review-in-mind. This skill adds only domain-specific rules below.

Who

Software architects, technical leads, and developers responsible for translating requirements into a concrete system design. The agent uses this skill to facilitate structured design iterations.

What

This skill executes the Attribute-Driven Design (ADD) 3.0 methodology. It produces a documented architectural design by systematically selecting design concepts (patterns/tactics) to satisfy specific architectural drivers.

When

Invoke this skill after architectural drivers have been defined, and before code implementation begins. Trigger phrases include: "design the architecture," "use ADD 3.0," "create a system design," or "decide on the architecture patterns."

Where

Applies to technical design documents, ADRs (Architecture Decision Records), and architecture strategy wikis.

Why

Ad hoc architecture design often ignores non-functional requirements until it's too late. ADD 3.0 enforces a disciplined, iterative approach that guarantees quality attributes (like scalability and security) drive the core structural decisions.

Inputs

  • Architectural Drivers (Use cases, Quality Attribute Scenarios, Constraints).
  • Context diagram or system boundaries.

Output (Logical Evidence)

  • Instantiated elements and allocated responsibilities.
  • Sketches of architectural views (Logical, Deployment, etc.).
  • Recorded design decisions.

Optimization Readiness

  • Failure Signals: Design choices ignore the selected drivers, iterations become a one-pass architecture dump, or recorded decisions are not traceable back to measurable quality goals.
  • Evidence To Collect: Prioritized drivers, allocation sketches, view drafts, ADR notes, and iteration reviews showing whether the selected drivers were satisfied.
  • Safe Mutation Boundaries: Refine iteration prompts, design-allocation guidance, and documentation structure without changing the core driver-led, iterative ADD workflow.
  • Acceptance Criteria: Accept revisions only if every design decision traces to an explicit driver and each iteration has a bounded goal, clear allocation, and recorded rationale.
  • Rejected Revision Handling: Record preference-driven design choices, unbounded redesign loops, and driverless decisions so they are not repeated.
  • Transfer Check: Verify the workflow still works for a single subsystem iteration and for larger architecture redesigns that require several passes.
  • Stop Rule: If the architectural drivers are vague or absent, stop and ask before allocating responsibilities or choosing patterns.

Constraints (Logical Boundaries)

  • Do not attempt to design the entire system in one pass; use iterations.
  • Base design choices on the drivers, not just preference.

One More Thing

If the input architectural drivers are missing or vague, stop and ask the user to clarify them before proceeding with the design.

How (Structural Workflow)

Phase 1: Preparation

  1. Review Inputs: Ensure the architectural drivers are prioritized.
  2. Establish the Iteration Goal: Select a subset of drivers to focus on for this iteration.

Phase 2: Design and Allocation

  1. Choose Elements to Refine: Pick the system or sub-system to focus on.
  2. Choose Design Concepts: Select Reference Architectures, Deployment Patterns, or Tactics that satisfy the selected drivers.
  3. Instantiate and Allocate: Map the design concepts to concrete elements. Define their responsibilities and how they interface.

Phase 3: Documentation and Analysis

  1. Sketch Views & Record Decisions: Create preliminary diagrams and write ADRs for the choices made.
  2. Perform Analysis: Review the iteration. Did it meet the goal? If not, iterate again.

Resources

  • ADD 3.0 Checklist

Review In Mind (ReviewInMindGenie)

Execute the common review loop in review-in-mind before delivering.

Review lens for this skill:

  • Do the architectural drivers map step-by-step to design concepts (patterns/tactics)?
  • Are ADD iterations documented with explicit inputs and outputs per step?
  • Could another architect reproduce the design decisions from the record?

Validation

  1. Verify that every selected design concept traces back to a specific architectural driver.
  2. Ensure interfaces and responsibilities are clearly allocated.
  3. Confirm that the iteration goal was met before concluding the skill.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.