Remote Sources
Remote sources let you keep skills and steering files in external locations (Notion pages, URLs, or local paths outside the hub) and automatically sync them into your workspace every time you run hub generate.
This is useful when your team maintains documentation in Notion or other tools and wants that content to flow into AI agent context without manual copy-paste.
Quick Start
Add remote_sources to your config:
remote_sources:
- name: api-conventions
type: steering
notion_page: https://www.notion.so/your-org/API-Conventions-abc123def456
- name: onboarding-guide
type: skill
url: https://your-docs.com/onboarding.md
triggers: [onboarding, new developer, setup]
- name: architecture-decisions
type: steering
path: ./docs/architecture.md
Run hub generate and the content will be fetched and installed as skills or steering files in your editor config.
Source Types
Notion Pages
Fetches a Notion page and converts it to markdown. Requires NOTION_API_KEY or NOTION_TOKEN environment variable.
remote_sources:
- name: design-guidelines
type: steering
notion_page: https://www.notion.so/your-org/Design-Guidelines-abc123
instructions: "Follow these guidelines for all UI work"
The Notion page ID is extracted automatically from the URL. You can also pass the raw page ID.
URLs
Fetches plain text or markdown from any URL.
remote_sources:
- name: coding-standards
type: skill
url: https://your-docs.com/standards.md
triggers: [standards, conventions, code style]
Local Paths
Reads a local file. Useful for docs that live outside the hub directory structure.
remote_sources:
- name: api-spec
type: steering
path: ../shared-docs/api-spec.md
Configuration
Each remote source has these properties:
| Property | Required | Description |
|---|---|---|
name | Yes | Identifier used as the filename |
type | Yes | skill or steering |
notion_page | No | Notion page URL or ID |
url | No | URL to fetch content from |
path | No | Local file path |
instructions | No | Text prepended to the content |
triggers | No | Keywords for skill activation (skills only) |
At least one of notion_page, url, or path must be provided.
How It Works
During hub generate:
- Each remote source is fetched from its origin
- Skills are written to
{editor}/skills/{name}/SKILL.mdwith frontmatter - Steering files are written to
{editor}/steering/{name}.md(or equivalent) - Failed fetches are logged as warnings but don’t block generation
Notion Setup
To use Notion sources, create an internal integration:
- Go to notion.so/my-integrations
- Create a new integration with “Read content” capability
- Copy the token and set it as
NOTION_API_KEYin your.env - Share the Notion pages with your integration
# .env
NOTION_API_KEY=ntn_xxxxxxxxxxxxx