Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
6ff7b9f
Consolidate 5 plugins into AgentKit + SaaSKit
saif-shines May 12, 2026
ade11de
remove testing-agentkit-tools skill — redundant with MCP server
saif-shines May 13, 2026
4f4eac9
trim agents: remove sdk-version-advisor, session-management-reviewer,…
saif-shines May 13, 2026
d56faff
add install scripts and fix README install examples
saif-shines May 13, 2026
c7d2d32
rename scripts/install_copilot_marketplace.sh to scripts/install.sh
saif-shines May 13, 2026
adeae05
Improve post-install message with plugin activation and auto-update g…
saif-shines May 13, 2026
58cd1c7
Simplify post-install message to focus on what to look for, not UI steps
saif-shines May 13, 2026
4ece3c1
Make bootstrap installer resilient to missing execute bit in tarball
saif-shines May 13, 2026
97044a1
Add 4 missing agent-connectors docs (attention, chorus, clari_copilot…
saif-shines May 13, 2026
dccdd2a
Remove agent-connectors directory, point to live docs instead
saif-shines May 13, 2026
c2ebf8b
fix: align copilot plugins with platform conventions
saif-shines May 13, 2026
d45f6b9
fix: use plugin@marketplace format for copilot install commands
saif-shines May 13, 2026
a00ab29
fix: tolerate already-registered marketplace in install script
saif-shines May 13, 2026
ab0d03e
fix: remove and re-add marketplace to ensure latest version on reinstall
saif-shines May 13, 2026
c0119c0
fix: use local path for marketplace when running from git checkout
saif-shines May 13, 2026
b30cd7a
fix: revert local checkout detection, keep CLI commands for install
saif-shines May 13, 2026
76c392a
fix: restore original install structure, keep @marketplace qualifier fix
saif-shines May 13, 2026
a2c333b
fix: handle already-registered marketplace gracefully, suggest auto-u…
saif-shines May 13, 2026
b8a8810
fix: update all plugins on re-run instead of just suggesting it
saif-shines May 13, 2026
19fdcb5
fix: use remove+add to refresh marketplace (no update command available)
saif-shines May 13, 2026
a4d381c
fix: use copilot plugin update NAME on re-runs, fix installed-plugins…
saif-shines May 13, 2026
cec8c33
fix: update stale install examples and product name in plugin READMEs
saif-shines May 14, 2026
b4d399e
fix: add old plugin name symlinks for backwards compatibility
saif-shines May 14, 2026
919d61a
fix: broken cross-references, stale CLAUDE.md, wrong tool name and re…
saif-shines May 14, 2026
88df993
Add scalekit-code-doctor skill to both plugins
saif-shines May 15, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 27 additions & 15 deletions .github/plugin/marketplace.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,38 +5,50 @@
"email": "support@scalekit.com"
},
"metadata": {
"description": "GitHub Copilot CLI plugins for authentication",
"description": "Scalekit Auth Stack for GitHub Copilot — AgentKit and SaaSKit plugins.",
"version": "1.0.0"
},
"plugins": [
{
"name": "mcp-auth",
"description": "Add OAuth 2.1 authorization to MCP servers using Scalekit.",
"version": "1.0.0",
"source": "./plugins/mcp-auth"
"name": "agentkit",
"description": "Authentication for AI agents. OAuth flows, token vault, 40+ connectors (Gmail, Slack, Salesforce, etc.), tool discovery, and live testing — so agents can act on behalf of users.",
"version": "2.0.0",
"source": "./plugins/agentkit"
},
{
"name": "full-stack-auth",
"description": "Production-ready authentication flows (sign-up, login, logout, sessions) using Scalekit full-stack auth across common stacks.",
"version": "1.3.4",
"source": "./plugins/full-stack-auth"
"name": "saaskit",
"description": "Production-ready auth for B2B SaaS apps. Login, sessions, SSO (Okta, Azure AD, Google), SCIM provisioning, RBAC, MCP server auth, and API key management.",
"version": "2.0.0",
"source": "./plugins/saaskit"
},
{
"name": "agent-auth",
"description": "Implements Scalekit Agent Auth so AI agents can act in third-party apps (Gmail, Slack, Calendar, Notion) on behalf of users.",
"version": "1.5.2",
"description": "Alias for agentkit — AI agent authentication with OAuth flows, token vault, and 40+ connectors.",
"version": "2.0.0",
"source": "./plugins/agent-auth"
},
{
"name": "mcp-auth",
"description": "Alias for saaskit — includes OAuth 2.1 for MCP servers alongside login, SSO, SCIM, and RBAC.",
"version": "2.0.0",
"source": "./plugins/mcp-auth"
},
{
"name": "full-stack-auth",
"description": "Alias for saaskit — full-stack authentication including login, sessions, SSO, SCIM, and RBAC.",
"version": "2.0.0",
"source": "./plugins/full-stack-auth"
},
{
"name": "modular-sso",
"description": "Modular SSO flows using Scalekit for apps with existing user management, including IdP-initiated login and enterprise onboarding.",
"version": "1.1.4",
"description": "Alias for saaskit — enterprise SSO is now part of the unified SaaSKit plugin.",
"version": "2.0.0",
"source": "./plugins/modular-sso"
},
{
"name": "modular-scim",
"description": "SCIM webhook provisioning with Scalekit for real-time user and group lifecycle management.",
"version": "1.1.2",
"description": "Alias for saaskit — SCIM provisioning is now part of the unified SaaSKit plugin.",
"version": "2.0.0",
"source": "./plugins/modular-scim"
}
]
Expand Down
10 changes: 5 additions & 5 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -390,7 +390,7 @@ copilot plugin marketplace add ./github-copilot-authstack
copilot plugin list

# Install a specific plugin
copilot plugin install mcp-auth
copilot plugin install agentkit@github-copilot-authstack

# Test the plugin
copilot <agent-name> "Your prompt"
Expand Down Expand Up @@ -469,11 +469,11 @@ Documentation
| Artifact | Convention | Example |
|---|---|---|
| Marketplace name | `kebab-case` | `team-plugins` |
| Plugin name | `kebab-case` | `mcp-auth` |
| Plugin name | `kebab-case` | `agentkit` |
| Agent filename | `<name>.agent.md` | `scalekit-mcp-auth-troubleshooter.agent.md` |
| Agent ID | derived from filename | `scalekit-mcp-auth-troubleshooter` |
| Skill directory | `kebab-case` | `mcp-auth` |
| Skill name | defined in SKILL.md | `MCP Auth` |
| Skill directory | `kebab-case` | `integrating-agentkit` |
| Skill name | defined in SKILL.md | `integrating-agentkit` |
| MCP server name | `kebab-case` | `scalekit-auth-server` |

**Note**: All file paths must use forward slashes (`/`) regardless of operating system.
Expand Down Expand Up @@ -505,7 +505,7 @@ copilot plugin marketplace add octo-org/octo-repo
copilot plugin list

# Install a specific plugin
copilot plugin install mcp-auth
copilot plugin install agentkit@github-copilot-authstack

# Use an agent from the plugin
copilot <agent-name> "Your prompt"
Expand Down
188 changes: 38 additions & 150 deletions CLAUDE.md
Original file line number Diff line number Diff line change
@@ -1,168 +1,56 @@
# CLAUDE.md (Repo guide for agents)

This repository contains GitHub Copilot CLI plugins for marketplace distribution.
It is a monorepo. Always work inside one plugin directory at a time.
This repository is a monorepo of GitHub Copilot CLI plugins for marketplace distribution.
Always work inside one plugin directory at a time.

If you are making changes, read AGENTS.md first and follow it as the source of truth.
Read AGENTS.md first it is the source of truth for all rules.

## Quick orientation
## Repo structure

Top level:

- .github/plugin/ Marketplace manifest location
- plugins/ Monorepo root for all plugins
- AGENTS.md Non negotiable rules for manifests, commands, security
- README.md Repo overview

Plugins (examples you may see here):

- plugins/frontend-design/
- plugins/security-checks/
- plugins/deploy-tools/
```
.github/plugin/marketplace.json Marketplace manifest
plugins/agentkit/ AgentKit plugin (OAuth, token vault, connectors)
plugins/saaskit/ SaaSKit plugin (SSO, SCIM, sessions, MCP auth)
plugins/agent-auth -> agentkit Backwards-compat symlink
plugins/mcp-auth -> saaskit Backwards-compat symlink
plugins/full-stack-auth -> saaskit Backwards-compat symlink
plugins/modular-sso -> saaskit Backwards-compat symlink
plugins/modular-scim -> saaskit Backwards-compat symlink
AGENTS.md Non-negotiable rules
README.md Repo overview
scripts/install.sh Installation script
```

Each plugin is expected to look like:
Each plugin contains:
```
plugins/<plugin-name>/
manifest.json Plugin manifest (name, version, commands)
src/index.ts Plugin entrypoint
commands/ CLI command implementations
package.json Node.js dependencies
README.md Required docs for that plugin

## Marketplace structure

The marketplace.json file in .github/plugin/ defines which plugins are available:

```json
{
"name": "github-copilot-authstack",
"owner": {
"name": "Plugin Owner",
"email": "owner@example.com"
},
"metadata": {
"description": "GitHub Copilot CLI plugins marketplace",
"version": "1.0.0"
},
"plugins": [
{
"name": "plugin-name",
"description": "Plugin description",
"version": "1.0.0",
"source": "./plugins/plugin-name"
}
]
}
.github/plugin/plugin.json Plugin manifest (required)
agents/*.agent.md Agent definitions
skills/<skill-name>/SKILL.md Skill entrypoints
references/ Deep docs loaded on demand
hooks/hooks.json Lifecycle hooks (optional)
.mcp.json MCP server config (optional)
README.md Required docs
```

Source paths are relative to the repository root. Use `./plugins/plugin-name` or `plugins/plugin-name` (both work).

## Golden rules

- Do not edit multiple plugins in one change unless explicitly requested.
- Prefer smallest viable change that improves correctness, safety, or docs.
- Never add secrets, tokens, or credentials to this repo.
- Follow naming rules from AGENTS.md for plugin names and command names.
- Keep command implementations focused and testable.

## Workflow for improvements

1. Identify the target plugin directory under plugins/<plugin-name>.
2. Read these files before coding:
- .github/plugin/marketplace.json
- plugins/<plugin-name>/manifest.json
- plugins/<plugin-name>/README.md
- plugins/<plugin-name>/src/index.ts
- Any relevant commands/*.ts
3. Decide the change type:
- New plugin: Create plugin directory, update marketplace.json
- New command: Add command file, update manifest.json commands array
- Command change: Update command implementation, update README if needed
- Manifest change: Update manifest.json fields (version, description, etc.)
4. Update documentation:
- Always update plugins/<plugin-name>/README.md when behavior changes.
- Update .github/plugin/marketplace.json if adding/updating plugins.
5. Local verification:
- Add marketplace locally:
copilot plugin marketplace add ./github-copilot-authstack
- List available plugins:
copilot plugin list
- Test the plugin command:
copilot <plugin-name> <command> [args]
6. Definition of done:
- Clear docs for how to use the change
- No secrets added
- Naming follows AGENTS.md
- Marketplace.json source path is correct
- Minimal surface area change

## When adding a new plugin

1. Create plugin directory: plugins/<plugin-name>/
2. Create manifest.json with required fields
3. Create src/index.ts with plugin entrypoint
4. Create commands/ directory and implement commands
5. Create package.json with dependencies
6. Create README.md with all 7 required sections
7. Update .github/plugin/marketplace.json to include the new plugin
8. Test locally with copilot CLI

## When updating an existing plugin
## Before coding

1. Edit plugin files in plugins/<plugin-name>/
2. Update version in manifest.json if behavior changes
3. Update README.md if commands or behavior changes
4. Run local tests with copilot CLI
5. Commit changes with conventional commit message
1. Read AGENTS.md for all rules
2. Read .github/plugin/marketplace.json for plugin registry
3. Read the target plugin's plugin.json and README.md

## Common pitfalls to avoid

- Wrong source paths in marketplace.json. Must be relative to repo root.
- Missing required fields in manifest.json.
- Using reserved words in plugin names (github, copilot).
- Not validating command inputs.
- Forgetting to update README.md when behavior changes.
- Hardcoding credentials or secrets.
- Not testing with copilot CLI before committing.

## Testing before publishing

Always test locally:
## Local testing

```bash
# Add the marketplace
copilot plugin marketplace add ./github-copilot-authstack

# Verify marketplace loaded
copilot plugin list

# Test plugin commands
copilot <plugin-name> <command> [args]

# Verify output matches expected behavior
```

Run unit tests if available:

```bash
cd plugins/<plugin-name>
npm test
copilot plugin install agentkit@github-copilot-authstack
```

## When uncertain

If the request is ambiguous, ask which plugin folder under plugins/ is the target before making changes.

If unsure about marketplace.json structure, reference the existing entries in .github/plugin/marketplace.json.

## Branch strategy for pushing

When making changes that will be pushed to GitHub:

1. Create a feature branch: `git checkout -b feature/plugin-name-update`
2. Make your changes
3. Test locally with copilot CLI
4. Commit changes with conventional commit format
5. Push to remote: `git push origin feature/plugin-name-update`
6. Create pull request for review
## Golden rules

Never push directly to main branch for marketplace changes.
- One plugin at a time unless explicitly asked otherwise.
- Never add secrets, tokens, or credentials.
- Prefer minimal changes for correctness, safety, and clarity.
- Forward slashes in all paths.
- Update README.md when behavior changes.
Loading