Discover plugins and skills
What a workspace can add, from every marketplace it reads: plugins, one per listing (ref as name@marketplace, display_name, description, version, author, category, tags, how g1t would fetch it, and availability: available, installed with enabled, unavailable with why for sources g1t cannot read such as npm or a command, or soon for g1t's own announced ones), skills, one per skill inside those plugins (ref as plugin:skill, with added when the library already has it), and the marketplaces themselves.
/workspaces/{workspace}/customize/discoverMembers only.
availability.kind is available, installed (with enabled), unavailable (with why: an npm or command source, or a git host g1t does not read; such a plugin still works in Claude Code) or soon (g1t’s own, announced but not released). fetch is where g1t reads the plugin from: github (at sha when the listing pins one, else ref), g1t, archive (a zip at url) or unsupported. skills on a plugin lists the skills its listing names outright, so a skills-only plugin shows them before it is fetched.
- Authentication: Required. Send an access token as
Authorization: Bearer. - MCP tool:
customizewithactiondiscover, and the same inputs - Scope: An access token needs
workspace:read.
Path parameters
Section titled “Path parameters”| Name | Type | Required | Description |
|---|---|---|---|
workspace |
string | Yes | The workspace’s slug. |
Example request
Section titled “Example request”curl https://api.g1t.sh/workspaces/flagon-io/customize/discover \ -H "Authorization: Bearer $G1T_TOKEN"Example response
Section titled “Example response”A successful request answers 200 with:
{ "plugins": [ { "ref": "commit-commands@claude-plugins-official", "name": "commit-commands", "marketplace": "claude-plugins-official", "display_name": "Commit commands", "description": "Commands for committing, pushing and opening pull requests.", "version": "1.0.0", "author": "Anthropic", "homepage": null, "category": "productivity", "tags": [ "git" ], "keywords": [], "fetch": { "kind": "github", "repo": "anthropics/claude-plugins-official", "ref": null, "sha": null, "path": "plugins/commit-commands" }, "availability": { "kind": "installed", "enabled": true }, "skills": [] }, { "ref": "release-notes@flagon-tools", "name": "release-notes", "marketplace": "flagon-tools", "display_name": "Release notes", "description": "Writes release notes from merged pull requests.", "version": "0.3.1", "author": "Flagon", "homepage": "https://g1t.sh/flagon-io/plugins", "category": "docs", "tags": [], "keywords": [ "releases" ], "fetch": { "kind": "g1t", "repo": "flagon-io/plugins", "ref": null, "path": "plugins/release-notes" }, "availability": { "kind": "available" }, "skills": [ "release-notes" ] } ], "skills": [ { "ref": "release-notes:release-notes", "name": "release-notes", "plugin": "release-notes", "marketplace": "flagon-tools", "description": "Writes release notes from merged pull requests.", "category": "docs", "author": "Flagon", "added": false, "availability": { "kind": "available" } } ], "marketplaces": [ { "name": "claude-plugins-official", "source": { "source": "github", "repo": "anthropics/claude-plugins-official" }, "builtin": true, "about": "Official plugins from Anthropic.", "owner": "Anthropic", "plugins": 42, "fetched_at": "2026-10-11T14:02:11.408Z", "problem": null, "added_by": null, "added_at": null, "can_remove": false } ]}Errors
Section titled “Errors”A failed request answers with one of these statuses and a body like {"error": {"code": "not_found", "message": "Repository not found."}}. See errors.
| Status | Code | When |
|---|---|---|
| 401 | unauthenticated |
A token is required, or the one sent is not valid. |
| 403 | forbidden |
The token is valid but not allowed to do this, such as a member-only change or an agent token outside its repository. |
| 404 | not_found |
It does not exist, or you cannot see it. |
| 422 | invalid |
The input is not valid. message says which field and why. |