Teams

Teams

Collaborate on skills with your team. Manage roles, configure per-member permissions, and maintain a shared skill library that every team member can access from their IDE.

Plan Tiers

SkillRepo offers two plan tiers. Publisher is free and single-seat; Team is per-seat and unlocks shared workspace, role-based permissions, and skill moderation.

FeaturePublisherTeam
Team members1Unlimited
SkillsUnlimited200
Access keys11 / seat
Shared workspace
Role-based permissions
Configurable per-member permissions
Skill moderation (admin flag/hide)
GitHub integration
14-day trial
PriceFree$8 / seat / month

Each user gets one active access key. Use the Rotate key CTA on Connect to revoke and re-mint in a single step. Platform admins can raise the per-user cap via the per-account override; see Access Keys in a Team. Anti-abuse rate limits apply on top of the cap; rate-limited responses return 429 with Retry-After.

Roles

Every team member has one of three roles. Roles determine baseline permissions, with some capabilities further tunable through configurable settings.

Owner

Full control over the account. Manages billing, can transfer ownership, and has all permissions by default. Every account has exactly one owner.

  • Create, update, and delete any skill in the account
  • Publish skills to the global catalog
  • Invite and remove team members
  • Change any member's role
  • Manage billing and subscription
  • Configure account-wide and per-member permission settings
  • Transfer ownership to another member

Admin

Manages the team and skill catalog. Has nearly all owner permissions except billing and ownership transfer.

  • Create, update, and delete any skill in the account
  • Publish skills to the global catalog
  • Invite and remove team members
  • Change member roles (if enabled by the owner)
  • Manage GitHub connections and trigger syncs
  • Configure per-member permission settings
  • Create access keys with read or write scopes

Member

A standard team participant. Members can create skills and use the shared library, but cannot manage the team or publish to the global catalog.

  • Create new skills
  • Update and delete skills they created
  • Use all skills in the shared library
  • Add/remove library skills (if enabled)
  • Create read-scoped access keys (if enabled)
  • View their own audit log entries

Own vs. any

Members can only update and delete skills they personally created. Owners and admins can modify any skill in the account.

Inviting Team Members

Owners and admins can invite new members from the Team page in the dashboard. Members do not have permission to send invitations.

Sending invitations

  1. 1

    Open the Team page

    Open the Team page. It's visible to owners and admins on Team plans.

  2. 2

    Click Invite

    The invite dialog opens with a row for each person you want to invite. Enter their email address and choose a role.

  3. 3

    Choose a role

    Select Admin or Member for each invitee. Owners can assign either role. Admins can only assign the Member role.

  4. 4

    Invite multiple people at once

    Click Add another to add more rows. Each row gets its own email and role. The dialog shows how many seats remain on your plan so you know how many invitations you can send.

  5. 5

    Send

    Click Send invitation (or Send N invitations for multiple). Each invitee receives an email with a unique link to join your team.

Seat limits

Pending invitations count toward your billed seat count on the Team plan. Adding a pending invite triggers a Stripe seat-quantity update at the next sync. Manage seats from Settings → Billing.

Accepting an invitation

When someone is invited, they receive an email with a link to join the team. Here is what the invitee experiences:

  1. Check your email

    The invitation email includes the team name, who invited you, and your assigned role. Click the accept link to continue.

  2. Sign in

    If you are not already signed in, you will be prompted to sign in with GitHub or Google. New users can create an account at this step — you will be redirected back to the invitation automatically.

  3. Accept and join

    The acceptance page shows the team name, your role, and who invited you. Click Accept invitation to join. You are taken to the dashboard and can immediately access the shared skill library.

Email must match

You must sign in with the same email address the invitation was sent to. If you sign in with a different email, you will see a message asking you to switch accounts.

Accepting through the CLI

Invitees who are already setting up the SkillRepo CLI can accept their invitation without opening the email first. Running npx skillrepo init opens the same browser flow used to mint an access key. After signing in, any pending invitations for that email address are listed alongside the accounts the user already belongs to. Picking the invitation accepts it and issues a key against the invited account in a single database transaction, and the CLI finishes its first-run sync against the team library.

Both paths land in the same end state: a member row on the team plus a working access key. Pick whichever is closer to the invitee's starting point — the email link if they are not setting up the CLI yet, the CLI flow if they want to skip the inbox round trip.

Managing pending invitations

Pending invitations appear on the Team page below your current members. Owners and admins can take the following actions:

Resend — Generates a new invitation link and sends a fresh email. The previous link is invalidated. You can resend once every 5 minutes. The expiration timer resets to 7 days.

Cancel — Immediately invalidates the invitation. The link will no longer work if the invitee tries to accept it. The seat is freed up for a new invitation.

Expiration — Invitations expire automatically after 7 days. Expired invitations cannot be accepted. Send a new invitation if the window has passed.

You can also suspend active members without removing them. Suspended members lose access but their skills and history are preserved. Unsuspend them at any time to restore access.

Managing Member Permissions

Beyond fixed role-based permissions, SkillRepo supports configurable toggles that let owners and admins fine-tune what members can do. These toggles work at two levels: account-wide defaults and per-member overrides.

Account-wide defaults

Set these on the Settings page. They apply to all members who do not have a per-member override.

SettingDefaultDescription
memberCanCreateAccessKeysOnAllow members to mint their own read-scoped access key for connecting their dev environment
memberCanManageLibraryOffAllow members to add and remove skills from the shared library
memberCanViewAllAuditLogsOffAllow members to see all audit log entries, not just their own
adminCanChangeRolesOffAllow admins to change other members' roles

Per-member overrides

Override the account-wide defaults for individual members from the member detail page. Click a team member's name to open their detail view, where you can toggle each configurable permission independently.

Resolution order

Per-member override takes priority over the account-wide default. If no per-member override is set, the account default applies. If neither is set, the hardcoded default is used.

Admins cannot edit their own permission settings or the owner's settings. The owner always has full permissions and shows as all-enabled with no toggles.

Shared Skill Library

On the Team plan, skills are scoped to the team account rather than individual users. The navigation label changes from “My Skills” to “Team Skills” to reflect this shared context.

All members can use library skills. Every team member can discover and activate skills in the shared library from their dev environment after running npx skillrepo init.

Library management is configurable. By default, only owners and admins can add or remove skills from the library. Enable memberCanManageLibrary to let members manage the library too.

Publishing is admin-only. Only owners and admins can publish skills to the global public catalog, since published skills represent the organization publicly.

All members can create skills. Any team member can create new skills. Members can update and delete their own skills, while owners and admins can modify any skill.

Access Keys in a Team

Access keys are how team members connect their dev environment to the shared skill library. Each key is scoped to the team account, so every request made with the key operates within the team's library. SkillRepo enforces one active access key per user; minting a second key requires rotating the existing one.

CapabilityOwner / AdminMember
Create read-scoped keysConfigurable (default: on)
Create write-scoped keysNot allowed
List all account keysOwn keys only
Revoke keysAny account keyOwn keys only
Rotate keysAny account keyOwn key only
Active keys per user1 (rotate to mint a new one)

Write scope restriction

Write-scoped keys (registry:write) are restricted to owners and admins. This prevents members from bypassing role-based permission checks through the API.

Rotating an access key

Because each user is capped at one active key, the Connect page surfaces a primary Rotate key CTA whenever you're at the limit. Rotating revokes your oldest active key and mints a fresh one in the same database transaction, so there's never a window where you have zero keys or two keys.

When it applies. Click Rotate key when you've lost an old key, want to invalidate one without a separate revoke step, or have hit quota_exceeded on a fresh mint.

What gets revoked. Only your own oldest active key. Other users’ keys on the same account are untouched. Service-key rows on the account (e.g. CI keys minted by an admin) are also preserved unless they’re owned by you.

Confirmation. Because rotating revokes a live key, the UI prompts you with an AlertDialog explaining that any agent or automation running with the old key will need the new key. Confirm to proceed; cancel to keep the existing key intact.

Programmatic clients. CLI users running with --key directly can't rotate from the terminal — they get quota_exceeded on the second mint and need to visit Connect to revoke or rotate.

Per-account override

Platform admins can raise the per-user cap above 1 (up to 100) via the per-account plan-limits override editor. Owners and admins on Team accounts who need more than one active key per user should reach out to sales@skillrepo.dev.

GitHub Integration

Both Publisher and Team accounts can connect GitHub repositories to automatically sync skills. When you push changes to a connected repository, SkillRepo detects SKILL.md files and keeps your skill library in sync.

Admin-managed connections. Only owners and admins can create, delete, and trigger syncs for GitHub connections.

Visible sync history. All team members, including members, can view the sync history to see when skills were last updated from GitHub.

Automatic updates. GitHub-synced skills are managed by the sync process. Changes are pushed via webhooks, so your team always has the latest version without manual intervention.

To set up a GitHub connection, open the Connect page and follow the prompts to install the SkillRepo GitHub App on your repository.

Next steps

With your team set up, connect each engineer’s dev environment and start collaborating on skills.

Command Palette

Search for a command to run...