grasp-patterns

Apply nine GRASP principles to assign responsibilities in object-oriented designs.

Updated Apr 5, 2026
One-click install
npx skills add https://github.com/joleques/northstar-ai --skill grasp-patterns
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: grasp-patterns
Source: https://github.com/joleques/northstar-ai/tree/main/.codex/skills/grasp
Command: npx skills add https://github.com/joleques/northstar-ai --skill grasp-patterns

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

GRASP-based reasoning helps designers and developers assign responsibilities in object-oriented designs, improving cohesion and reducing coupling.

Core Features & Use Cases

  • Understand and apply the nine GRASP principles (Information Expert, Creator, Controller, Low Coupling, High Cohesion, Polymorphism, Pure Fabrication, Indirection, Protected Variations) to real-world code.
  • Guide architectural reviews and design decisions to place responsibilities where they belong, with practical examples and rationale.
  • Use as an educational reference for teams learning safe, maintainable OO design.

Quick Start

Identify a sample class design and apply the nine GRASP patterns to assign responsibilities more effectively.

Frequently Asked Questions about grasp-patterns

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

FAQPage Schema
How do I assign responsibilities in object-oriented design to reduce coupling?▼

To reduce coupling, apply GRASP principles like Low Coupling and Indirection to assign responsibilities in object-oriented design, ensuring classes interact through stable interfaces and mediators to minimize direct dependencies.

What are the nine GRASP patterns for software design?▼

The nine GRASP patterns for software design are Information Expert, Creator, Controller, Low Coupling, High Cohesion, Polymorphism, Pure Fabrication, Indirection, and Protected Variations, guiding responsibility assignment in OO systems.

How do I use GRASP patterns in a Java or C# code review?▼

Using GRASP patterns in a Java or C# code review involves mapping design decisions to principles like Controller and High Cohesion, documenting the rationale for responsibility placement to ensure safe, maintainable OO architecture.

When should I use the Pure Fabrication pattern instead of Information Expert?▼

Use the Pure Fabrication pattern instead of Information Expert when assigning a responsibility to the Information Expert would break High Cohesion or Low Coupling, justifying a fabricated class to preserve design balance.

Does GRASP guidance work for teaching object-oriented design to software teams?▼

GRASP guidance works effectively for teaching object-oriented design to software teams, providing canonical references and practical examples that help developers systematically assign responsibilities and document architectural reasoning.