apollo-federation▌
apollographql/skills · updated Apr 8, 2026
Apollo Federation enables composing multiple GraphQL APIs (subgraphs) into a unified supergraph.
Apollo Federation Schema Authoring
Apollo Federation enables composing multiple GraphQL APIs (subgraphs) into a unified supergraph.
Federation 2 Schema Setup
Every Federation 2 subgraph must opt-in via @link:
extend schema
@link(url: "https://specs.apollo.dev/federation/v2.12",
import: ["@key", "@shareable", "@external", "@requires", "@provides"])
Import only the directives your subgraph uses.
Core Directives Quick Reference
| Directive | Purpose | Example |
|---|---|---|
@key |
Define entity with unique key | type Product @key(fields: "id") |
@shareable |
Allow multiple subgraphs to resolve field | type Position @shareable { x: Int! } |
@external |
Reference field from another subgraph | weight: Int @external |
@requires |
Computed field depending on external fields | shippingCost: Int @requires(fields: "weight") |
@provides |
Conditionally resolve external field | @provides(fields: "name") |
@override |
Migrate field to this subgraph | @override(from: "Products") |
@inaccessible |
Hide from API schema | internalId: ID! @inaccessible |
@interfaceObject |
Add fields to entity interface | type Media @interfaceObject |
Reference Files
Detailed documentation for specific topics:
- Directives - All federation directives with syntax, examples, and rules
- Schema Patterns - Multi-subgraph patterns and recipes
- Composition - Composition rules, error codes, and debugging
Key Patterns
Entity Definition
type Product @key(fields: "id") {
id: ID!
name: String!
price: Int
}
Entity Contributions Across Subgraphs
# Products subgraph
type Product @key(fields: "id") {
id: ID!
name: String!
price: Int
}
# Reviews subgraph
type Product @key(fields: "id") {
id: ID!
reviews: [Review!]!
averageRating: Float
}
Computed Fields with @requires
type Product @key(fields: "id") {
id: ID!
size: Int @external
weight: Int @external
shippingEstimate: String @requires(fields: "size weight")
}
Value Types with @shareable
type Money @shareable {
amount: Int!
currency: String!
}
Entity Stub (Reference Without Contributing)
type Product @key(fields: "id", resolvable: false) {
id: ID!
}
Ground Rules
- ALWAYS use Federation 2.x syntax with
@linkdirective - ALWAYS import only the directives your subgraph uses
- NEVER use
@shareablewithout ensuring all subgraphs return identical values for that field - PREFER
@keywith single ID field for simple entity identification - USE
rover supergraph composeto validate composition locally - USE
rover subgraph checkto validate against production supergraph
Ratings
4.5★★★★★10 reviews- ★★★★★Shikha Mishra· Oct 10, 2024
apollo-federation is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.
- ★★★★★Piyush G· Sep 9, 2024
Keeps context tight: apollo-federation is the kind of skill you can hand to a new teammate without a long onboarding doc.
- ★★★★★Chaitanya Patil· Aug 8, 2024
Registry listing for apollo-federation matched our evaluation — installs cleanly and behaves as described in the markdown.
- ★★★★★Sakshi Patil· Jul 7, 2024
apollo-federation reduced setup friction for our internal harness; good balance of opinion and flexibility.
- ★★★★★Ganesh Mohane· Jun 6, 2024
I recommend apollo-federation for anyone iterating fast on agent tooling; clear intent and a small, reviewable surface area.
- ★★★★★Oshnikdeep· May 5, 2024
Useful defaults in apollo-federation — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.
- ★★★★★Dhruvi Jain· Apr 4, 2024
apollo-federation has been reliable in day-to-day use. Documentation quality is above average for community skills.
- ★★★★★Rahul Santra· Mar 3, 2024
Solid pick for teams standardizing on skills: apollo-federation is focused, and the summary matches what you get after install.
- ★★★★★Pratham Ware· Feb 2, 2024
We added apollo-federation from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.
- ★★★★★Yash Thakker· Jan 1, 2024
apollo-federation fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.