Profiles and Hubs
Profiles
A Profile groups bundles from multiple sources. Activate with one click.
Commands
- Create: Open the Command Palette (
Ctrl+Shift+Pon Windows/Linux orCmd+Shift+Pon macOS) and run AI Primitives Hub: Create Profile - Activate: Right-click profile → Activate Profile
- Deactivate: Right-click active profile → Deactivate Profile
If a bundle that a hub profile marks required: true cannot be installed,
activation fails: the error is shown, the bundles the activation installed are
removed, and the profile is not left active. The previously active profile stays
deactivated. A bundle marked required: false that fails to install is logged
and skipped. Local profiles (the ones you create yourself) do not check
required yet: a bundle that fails to install is logged and skipped.
Views
- Shared Profiles — Full catalog from hubs
- Favorites — Your curated list + local profiles
Toggle with ⭐ button in Registry Explorer.
Profile details display imported metadata as plain text, not HTML. The details panel disables scripts and blocks remote images and other external resources.
Hubs
A Hub is a centralized repository of versioned profiles and sources. Share across your organization.
Use a Hub when a team needs one maintained catalog of approved sources and role-based profiles. A Hub contains configuration; the collections and their primitive files remain in the referenced sources. If you only need to publish one collection repository, configure a source instead of creating a Hub.
First-Run Hub Selection
On first launch, AI Primitives Hub offers a hub selection dialog:
- Pre-configured Hubs — Default hubs are verified for availability before being shown
- Custom Hub URL — Import from any URL
- Skip — Configure later via commands
When you select a hub:
- Hub is imported and set as active
- All sources from the hub are automatically synced
- First available profile is auto-activated
- Tree view refreshes to show hub content
Switching Hubs
Use AI Primitives Hub: Switch Hub to choose a pre-configured hub or any previously imported
custom hub, including inactive hubs. The active hub is marked [Active];
selecting it again leaves it unchanged. Pre-configured hubs reuse an existing
import instead of importing another copy. If multiple imports match, the active
one is preferred. Choose Import New Hub... to add a different hub.
Automatic Source Addition
On first run, the extension automatically adds the Awesome Copilot source (github/awesome-copilot) as a default source. This ensures you have immediate access to community collections.
Automatic Hub Sync
The active hub is automatically synchronized to keep it up-to-date:
- On startup: Hub configuration is refreshed each time VS Code starts
- Periodic: Hub re-syncs every 24 hours while VS Code is open
- Manual: Right-click hub → Sync Hub
After every hub sync (startup, periodic, or manual), all sources are automatically re-synced and the tree view refreshes with the latest bundles.
While a hub's sources are loading, its Registry Explorer row shows a percentage
after the hub name, leaving the hub icon unchanged. The [Active] marker appears
as soon as the hub is activated and stays visible beside the percentage during
loading (for example, [Active] 25%). Progress reflects completed source work, not elapsed
time or downloaded bytes; it may pause while a source is still syncing.
Skipped or failed sources count as settled work, so 100% means loading has
finished, not that every source succeeded. The normal row presentation returns
when loading finishes or fails; check the output log for source errors.
Hub sync refreshes the Hub configuration and source catalog. It can reveal added, removed, or version-changed references in an active profile, but it does not automatically install, remove, or update collections that are already on the user's machine. Sync Profile accepts the updated profile definition, while collection installation, updates, and removal remain separate actions.
Commands
- Import: Open the Command Palette (
Ctrl+Shift+Pon Windows/Linux orCmd+Shift+Pon macOS) and run AI Primitives Hub: Import Hub - Export: Open the Command Palette (
Ctrl+Shift+Pon Windows/Linux orCmd+Shift+Pon macOS) and run AI Primitives Hub: Export Hub Configuration - Sync: Right-click hub → Sync Hub
- Reset First Run: Open the Command Palette (
Ctrl+Shift+Pon Windows/Linux orCmd+Shift+Pon macOS) and run AI Primitives Hub: Reset First Run (re-triggers hub selector)
Hub Config Format
version: "1.0.0"
metadata:
name: "Team Hub"
description: "Shared prompt configuration"
maintainer: "team-name"
updatedAt: "2026-08-16T00:00:00Z" # Replace with the current ISO 8601 timestamp
sources:
- id: "team-prompts"
type: "github"
repository: "org/prompts"
enabled: true
priority: 10
profiles:
- id: "backend"
name: "Backend Developer"
description: "Prompts for backend development"
icon: "🛠️"
bundles:
- id: "api-design"
version: "latest"
source: "team-prompts"
required: true
The schema accepts any string for icon; the extension's profile UI uses
emoji, so these guides use emoji consistently. Pin a semantic version when a
profile must remain stable. Use latest only when following the newest
available collection is intentional.
See Also
- Getting Started — First-run experience
- Sources — Configure sources
- Creating a Hub — Author and publish a Hub
- Hub Schema — Full schema reference