integration-providers

Explain the IntegrationProvider abstraction for OAuth provider integration in Seer.

5|1|Updated Oct 14, 2025
One-click install
npx skills add https://github.com/seer-engg/seer --skill integration-providers
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: integration-providers
Source: https://github.com/seer-engg/seer/tree/main/.claude/skills/integration-providers
Command: npx skills add https://github.com/seer-engg/seer --skill integration-providers

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This skill explains the IntegrationProvider abstraction that acts as a bridge between OAuth flows and provider-specific logic in Seer, helping developers understand, debug, and extend integrations.

Core Features & Use Cases

  • Defines a reusable IntegrationProvider base with overridable lifecycle hooks and a registry that maps provider names and aliases.
  • Describes context objects (OAuthAuthorizeContext, ProviderContext) and how they enable customization per provider.
  • Illustrates typical provider implementations (Google, GitHub, Discord, Supabase) and the aliasing pattern to share a single provider across multiple integration names.
  • Use Case: When adding a new provider, a developer can implement only the differences while reusing default behavior for common flows.

Quick Start

Explore the provider implementations in the codebase to understand how to extend or debug integrations.

Frequently Asked Questions about integration-providers

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

FAQPage Schema
How does the IntegrationProvider abstraction handle OAuth provider integration?

The IntegrationProvider abstraction bridges OAuth flows and provider-specific logic by defining a base class with overridable lifecycle hooks. It maps provider names and aliases via a registry, enabling customization per provider.

How do I add a new OAuth provider using the IntegrationProvider base class?

To add a new OAuth provider, implement only the differences while reusing default behavior for common flows. Override lifecycle hooks and register the provider name and aliases in the provider registry.

What are OAuthAuthorizeContext and ProviderContext used for in OAuth integrations?

OAuthAuthorizeContext and ProviderContext are context objects that enable customization per OAuth provider. They pass provider-specific data through lifecycle hooks, allowing tailored handling for Google, GitHub, Discord, or Supabase.

Can I alias a single OAuth provider across multiple integration names?

Yes, you can alias a single provider across multiple integration names using the provider registry. This pattern allows sharing one provider implementation, like Google or GitHub, across different integration names.

How do I debug OAuth provider integrations when default behaviors need overrides?

Debug OAuth provider integrations by exploring provider implementations in the codebase and checking overridden lifecycle hooks. The IntegrationProvider base documents default behaviors and core classes to trace issues.

What is the provider registry and how does it map OAuth provider aliases?

The provider registry maps provider names and aliases to their corresponding IntegrationProvider implementations. It enables the aliasing pattern, allowing a single provider to be shared across multiple integration names for OAuth flows.