gof-facade

Installation
SKILL.md

One-line summary

Provide a unified, simplified interface to a set of interfaces in a subsystem — making the subsystem easier to use without preventing direct access for power users.

When to use this skill

  • A subsystem has many parts and most callers only want a small, common combination of operations on them.
  • Onboarding new code into a complex codebase — Facade gives the new code one clean entry point.
  • Wrapping a legacy or third-party library whose internal complexity should not leak everywhere.
  • The canonical example: a "watch a movie" facade that turns on the TV, dims the lights, lowers the screen, switches the receiver to the right input, queues the popcorn maker, and starts the DVD — instead of having every caller orchestrate those steps.

When NOT to use this skill

  • You're trying to replace the subsystem rather than offer a simpler entry point — that's a refactor of the subsystem.
  • You're trying to change the interface of a single class — that's gof-adapter.
  • The subsystem is genuinely small and a Facade would only add a layer of indirection.
  • Callers actually need the full control the subsystem offers; a Facade that hides too much forces them to bypass it.

Core content

Installs
20
GitHub Stars
1
First Seen
Jul 13, 2026
gof-facade — yonatankarp/software-design-skills