bff

Create dedicated API layers for each client type with data shaping.

Updated Jun 5, 2026
One-click install
npx skills add https://github.com/hung-phan/system-skills --skill bff
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: bff
Source: https://github.com/hung-phan/system-skills/tree/main/skills/system-review/references/architecture-patterns/bff
Command: npx skills add https://github.com/hung-phan/system-skills --skill bff

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires pypdf, pdfplumber, pdf2image, and includes scripts (resource) and references (resource) components.

What problem does it solve?

The BFF pattern addresses the challenge of delivering optimized data to different client types (e.g., mobile, web, TV) by creating a dedicated API tier for each client.

Core Features & Use Cases

  • Client-Specific APIs: Creates tailored APIs for each client type, ensuring efficient data delivery.
  • Data Shaping: Aggregate and reshape data for each client, reducing payload size and improving performance.
  • Use Case: For a social media platform, the BFF pattern can provide a mobile API optimized for bandwidth and latency, while the web API offers richer features and interactions.

Quick Start

Implement a BFF for your application to create separate API layers for mobile and web clients.

Frequently Asked Questions about bff

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

FAQPage Schema
What is a Backend-for-Frontend architecture and how does it optimize API data delivery?

A Backend-for-Frontend (BFF) architecture optimizes API data delivery by creating a dedicated API layer for each client type, such as mobile or web. This specialized tier aggregates and reshapes data to reduce payload size and improve overall performance.

How do I design a BFF microservice to handle parallel service calls and data shaping?

To design a BFF microservice, you implement parallel service calls, data shaping, and client-specific policies. This approach aggregates backend data and reshapes it specifically for each client, ensuring optimized delivery and efficient bandwidth usage.

When should I use a BFF pattern instead of a single generic API for mobile and web clients?

You should use a BFF pattern when you need to deliver tailored data to different client types, such as mobile and web. It allows you to create client-specific APIs, providing a mobile API optimized for bandwidth while offering richer web features.

Does a BFF layer handle authentication and error handling for client-specific APIs?

Yes, a BFF layer handles authentication and error handling for client-specific APIs. It implements these policies alongside response shaping to ensure optimized, secure, and reliable client experiences across different platforms.

What is the best way to reduce API payload size for mobile clients using a BFF?

The best way to reduce API payload size for mobile clients using a BFF is through data shaping. The BFF pattern creates a dedicated mobile API layer that aggregates and reshapes data, ensuring efficient delivery and lower latency.