Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
6 changes: 0 additions & 6 deletions .claude-plugin/marketplace.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,6 @@
"version": "1.0.0"
},
"plugins": [
{
"name": "major",
"source": "./plugins/major",
"description": "Use the Major platform agentically via Claude Code",
"version": "1.0.7"
},
{
"name": "major-build",
"source": "./plugins/major-build",
Expand Down
4 changes: 2 additions & 2 deletions plugins/major-build/skills/agent-builder/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,9 +67,9 @@ On Slack there is no panel. Tell the user to open the agent in the web app to fi
## Picking connectors and applications

- Use `mcp__plugin_major-build_major__execute_resource_tool` with `toolName: "mcp__resources__list_resources"` to list the org's connectors; `mcp__plugin_major-build_major__list_apps` lists attachable apps. **Use `list_apps`, not `list_use_apps`** — an agent can only be granted apps the user can edit.
- If no existing connector matches, call `mcp__interactions__request_resource_setup` to prompt the user to create one inline. `connectorId` is required — pass one you already know (e.g. `"postgresql"`, `"snowflake"`) or use `mcp__plugin_major-build_major__execute_resource_tool` with `toolName: "mcp__resources__search_connector_types"` to discover the connectors you can set up; ask if unsure. The tool blocks until the user finishes or declines; on success add the returned `resourceId` to `connectors` in `agent.jsonc`.
- If no existing connector matches, call `mcp__plugin_major-build_major__request_resource_setup` to prompt the user to create one inline. `connectorId` is required — pass one you already know (e.g. `"postgresql"`, `"snowflake"`) or use `mcp__plugin_major-build_major__execute_resource_tool` with `toolName: "mcp__resources__search_connector_types"` to discover the connectors you can set up; ask if unsure. The tool blocks until the user finishes or declines; on success add the returned `resourceId` to `connectors` in `agent.jsonc`.
- Slack is provisioned automatically when the user installs the Major Slack integration (Settings → Integrations) and is intentionally not a creatable connector — if it's missing from `list_resources`, tell them to install the integration.
- If an existing connector needs more configuration to be usable (e.g. selecting a Google Sheets spreadsheet), call `mcp__interactions__request_resource_update` with the `resourceId` and what's missing.
- If an existing connector needs more configuration to be usable (e.g. selecting a Google Sheets spreadsheet), call `mcp__plugin_major-build_major__request_resource_update` with the `resourceId` and what's missing.
- After adding skills, call `list_suggested_connectors` — it returns connectors the attached skills' scripts actually use that the agent can't access yet. Propose them to the user and add accepted ones to `connectors`; a skill whose connector is missing will fail at runtime. Entries with `canAdd=false` need access the current user doesn't have — tell them to ask an admin.
- Don't add connectors or applications speculatively — every one expands the agent's permissions. Keep the set minimal.

Expand Down
2 changes: 1 addition & 1 deletion plugins/major-build/skills/app-builder/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -96,4 +96,4 @@ Use each command's `--help` for filters and pagination.

For app secrets, use the available MCP setup tool: `set-app-env-variables` in app chats, or `set_env_variables` on the build server. The user supplies values through the frontend; never ask them to paste secrets into chat. If the tool returns a setup URL, share it in one short sentence and wait for the user's confirmation. Use `major vars set KEY=VALUE` only for known values the user explicitly wants you to configure.

New connector setup still uses `mcp__interactions__request_resource_setup`; load `using-connectors` for that flow. An existing connector can be added to app code separately.
New connector setup still uses `mcp__plugin_major-build_major__request_resource_setup`; load `using-connectors` for that flow. An existing connector can be added to app code separately.
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

GitHub uses a GitHub App installation. When the user asks to connect GitHub:

1. Call `mcp__interactions__request_resource_setup` with `connectorId: "github"`.
1. Call `mcp__plugin_major-build_major__request_resource_setup` with `connectorId: "github"`.
2. Ask the user to finish the GitHub installation flow and select the repositories the app may access.
3. After setup completes, call `mcp__resources__list_resources` and use the connected GitHub resource's `resourceId` and mounted MCP slug.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Gmail requires OAuth authentication before use.

### When the user asks you to set up Gmail or connect their email:

1. Call `mcp__interactions__request_resource_setup` with `connectorId: "gmail"` — this prompts the user to authenticate with Google
1. Call `mcp__plugin_major-build_major__request_resource_setup` with `connectorId: "gmail"` — this prompts the user to authenticate with Google
2. Once setup completes, the resource is ready to use

---
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Google Calendar requires OAuth authentication before use.

### When the user asks you to set up Google Calendar or connect their calendar:

1. Call `mcp__interactions__request_resource_setup` with `connectorId: "googlecalendar"` — this prompts the user to authenticate with Google
1. Call `mcp__plugin_major-build_major__request_resource_setup` with `connectorId: "googlecalendar"` — this prompts the user to authenticate with Google
2. Once setup completes, the resource is ready to use

---
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Google Drive requires OAuth authentication before use.

### When the user asks you to set up Google Drive or connect their files:

1. Call `mcp__interactions__request_resource_setup` with `connectorId: "googledrive"` — this prompts the user to authenticate with Google
1. Call `mcp__plugin_major-build_major__request_resource_setup` with `connectorId: "googledrive"` — this prompts the user to authenticate with Google
2. Once setup completes, the resource is ready to use

---
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ Google Sheets requires a two-step setup: (1) OAuth authentication, (2) spreadshe

### When the user asks you to set up Google Sheets or connect a spreadsheet:

1. Call `mcp__interactions__request_resource_setup` with `connectorId: "googlesheets"` — this prompts the user to authenticate with Google
2. After setup completes, call `mcp__interactions__request_resource_update` with the returned `resourceId` and `message: "Please select your spreadsheet. Click 'Configure Resource' below, then use the spreadsheet picker to choose your sheet."` — this prompts them to select their spreadsheet
1. Call `mcp__plugin_major-build_major__request_resource_setup` with `connectorId: "googlesheets"` — this prompts the user to authenticate with Google
2. After setup completes, call `mcp__plugin_major-build_major__request_resource_update` with the returned `resourceId` and `message: "Please select your spreadsheet. Click 'Configure Resource' below, then use the spreadsheet picker to choose your sheet."` — this prompts them to select their spreadsheet
3. Once both steps complete, the resource is ready to use

### When the user sends a Google Sheets link:
Expand All @@ -20,7 +20,7 @@ If the user shares a Google Sheets URL (e.g., `https://docs.google.com/spreadshe

### When a Google Sheets resource exists but has no spreadsheet selected:

If you call a Google Sheets MCP tool and get an error indicating no spreadsheet is configured, use `mcp__interactions__request_resource_update` to prompt the user to select one.
If you call a Google Sheets MCP tool and get an error indicating no spreadsheet is configured, use `mcp__plugin_major-build_major__request_resource_update` to prompt the user to select one.

---

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ Customers see a flat key namespace (e.g. `user/avatar.png`); the underlying buck

## Setting It Up

Managed file storage is **not** offered through `mcp__interactions__request_resource_setup` — that tool only covers connectors set up via the standard Add-Connector dialog, and file storage is provisioned differently. Do not try to set it up that way; it will not appear. Use the dedicated tools instead:
Managed file storage is **not** offered through `mcp__plugin_major-build_major__request_resource_setup` — that tool only covers connectors set up via the standard Add-Connector dialog, and file storage is provisioned differently. Do not try to set it up that way; it will not appear. Use the dedicated tools instead:

- `mcp__resources__list_managed_file_stores` — list existing file stores in the org. **Always call this first** — reuse an existing store if one fits the use case.
- `mcp__resources__provision_managed_file_store` — create a new org-level file store. Synchronous; returns `{ resourceId, name }` immediately. Args: `name`. The caller is auto-granted `Resource:Admin`; the All Builders group gets `Resource:Builder`, so any builder in the org can use it.
Expand Down
8 changes: 0 additions & 8 deletions plugins/shared/skills/authn/SKILL.md

This file was deleted.

46 changes: 0 additions & 46 deletions plugins/shared/skills/crons/SKILL.md

This file was deleted.

Loading
Loading