Skip to content

feat(skills): make description optional during skills gen - #3584

Merged
twishabansal merged 48 commits into
mainfrom
feat/groups-pr4-skills-description
Jul 24, 2026
Merged

twishabansal merged 48 commits into
mainfrom
feat/groups-pr4-skills-description

Conversation

@twishabansal

@twishabansal twishabansal commented Jul 9, 2026 •

Copy link
Copy Markdown
Contributor

Description

Once description becomes optional, skills generation can take in description directly from Groups.

Note: group description takes precedence when present, --description is used otherwise, and both may be empty.

Based on #3605

twishabansal and others added 18 commits June 22, 2026 15:47
Introduce internal/group as the source of truth for a named collection of
tools and prompts. Group.Initialize reuses the toolset/promptset Initialize
logic; ToToolset/ToPromptset project the legacy views keyed by the group name.
No existing behavior changes yet.
Embed the initialized Toolset and Promptset in Group instead of
flattening their fields, so ToToolset/ToPromptset return the views
with their lookup sets intact rather than rebuilding them per call.
Replace the toolset/promptset maps with an authoritative groups map and
derive the toolset/promptset views from it via ToToolset/ToPromptset.
Legacy kind: toolsets configs convert to tools-only groups at init, and
the default nameless group holds all tools and prompts. No YAML surface
change; kind: groups parsing is deferred to a follow-up.
Add parsing for `kind: group` documents (flat and nested `groups:`
blocks) in UnmarshalResourceConfig, returning parsed GroupConfigs.
Validate duplicate default/named groups and reject a default group
that declares tools or prompts. Wire GroupConfigs through config
merge, reload, and initializeGroups so kind: group definitions
override same-named toolsets.
The MCP route is /{toolsetName}, so promptsetName was always empty and
GetPromptset("") returned all prompts regardless of the connected group.
Resolve the group by its URL name and use its derived toolset/promptset
views so prompts/list scopes per group.
Expose group introspection across all five protocol versions. groups/list
returns named groups with descriptions, omitting the default nameless group.
groups/get returns a named group's tools and prompts.
The vdraft protocol requires every MCP method to validate request headers
and metadata. Wire GROUPS_LIST/GROUPS_GET handlers to accept the header,
call validateHeader/validateMetadata, and carry RequestParams on their
request types.
Move groups/list and groups/get result shaping into GenerateListGroupsResult
and GenerateGetGroupResult in manifests.go so the handlers stay thin, matching
the tools/prompts pattern. Embed PaginatedRequest in ListGroupsRequest for
request-type parity across all five protocol versions.
Group descriptions now take precedence when generating a skill per group;
--description becomes optional and acts as the fallback.
@twishabansal
twishabansal requested a review from a team as a code owner July 9, 2026 15:19
@twishabansal twishabansal added the do not merge Indicates a pull request not ready for merge, due to either quality or timing. label Jul 9, 2026

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request refactors the skills command to make the --description flag optional, utilizing it as a fallback when a group does not define its own description. It introduces a skillContent struct to manage tools and descriptions together, refactors the tool collection logic into buildSkillContents, and adds unit tests to verify description precedence. The review feedback suggests enhancing the unit tests for toolset mode to explicitly verify the precedence and fallback behavior of descriptions, providing a complete test implementation.

Comment thread cmd/internal/skills/command_test.go Outdated
@twishabansal twishabansal changed the title feat(skills): use group description with --description fallback feat(skills): make description optional during skills gen Jul 9, 2026
Decouple Group from the legacy tools.Toolset/prompts.Promptset types per
review feedback. Group now keeps its own O(1) tool/prompt membership sets and
exposes ContainsTool/ContainsPrompt directly, instead of deriving and storing
full toolset/promptset views. Per-tool and per-prompt manifests are generated
on demand by callers from the resolved tools/prompts maps, so the group no
longer needs serverVersion at Initialize.
Pass the resolved group.Group through ProcessMethod and the version
handlers instead of materialized toolset/promptset views. List handlers
now read ToolNames/PromptNames directly from the group, which scopes
prompts to a single group and fixes the always-empty promptset lookup.
Comment thread cmd/internal/skills/command.go Outdated
Base automatically changed from feat/groups to main July 24, 2026 17:54
twishabansal and others added 3 commits July 24, 2026 23:34
Remove duplicated groups block in testutils.SetUpResources and restore
primitives_test/server_test to main after the groups API change.
@twishabansal twishabansal removed the do not merge Indicates a pull request not ready for merge, due to either quality or timing. label Jul 24, 2026
@twishabansal
twishabansal merged commit d0a8f14 into main Jul 24, 2026
33 checks passed
@twishabansal
twishabansal deleted the feat/groups-pr4-skills-description branch July 24, 2026 18:55
@github-actions

Copy link
Copy Markdown
Contributor

🧨 Preview deployments removed.

Cloudflare Pages environments for pr-3584 have been deleted.

github-actions Bot pushed a commit that referenced this pull request Jul 24, 2026
)

## Description

Once description becomes optional, skills generation can take in
description directly from `Groups`.

Note: group description takes precedence when present, `--description`
is used otherwise, and both may be empty.

Based on [#3605](#3605)

---------

Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com> d0a8f14
twishabansal added a commit that referenced this pull request Jul 27, 2026
)

## Description

Adds a `--group ` flag to `skills-generate` that selects a single
named group and generates one skill (named exactly `--name`) from that
group's tools.

The description follows the same precedence as PR #3584: the group's own
`description` is used when present, `--description` is the fallback.
`--group` is mutually exclusive with `--toolset`.

This complements the existing behaviors:
- no flag + multiple groups → one skill per group (`--name-`)
- `--toolset X` → single skill from toolset X (legacy; uses
`--description`)
- `--group X` → single skill from group X (uses group description, falls
back to `--description`)

Based on #3584

---------

Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com>
github-actions Bot pushed a commit that referenced this pull request Jul 27, 2026
…roup (#3585)

## Description

Adds a `--group ` flag to `skills-generate` that selects a single
named group and generates one skill (named exactly `--name`) from that
group's tools.

The description follows the same precedence as PR #3584: the group's own
`description` is used when present, `--description` is the fallback.
`--group` is mutually exclusive with `--toolset`.

This complements the existing behaviors:
- no flag + multiple groups → one skill per group (`--name-`)
- `--toolset X` → single skill from toolset X (legacy; uses
`--description`)
- `--group X` → single skill from group X (uses group description, falls
back to `--description`)

Based on #3584

---------

Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com> c1abd4f
github-actions Bot pushed a commit to rodineyw/mcp-toolbox that referenced this pull request Jul 27, 2026
…roup (googleapis#3585)

## Description

Adds a `--group ` flag to `skills-generate` that selects a single
named group and generates one skill (named exactly `--name`) from that
group's tools.

The description follows the same precedence as PR googleapis#3584: the group's own
`description` is used when present, `--description` is the fallback.
`--group` is mutually exclusive with `--toolset`.

This complements the existing behaviors:
- no flag + multiple groups → one skill per group (`--name-`)
- `--toolset X` → single skill from toolset X (legacy; uses
`--description`)
- `--group X` → single skill from group X (uses group description, falls
back to `--description`)

Based on googleapis#3584

---------

Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com> c1abd4f
github-actions Bot pushed a commit to Jaleel-zhu/genai-toolbox that referenced this pull request Jul 27, 2026
…roup (googleapis#3585)

## Description

Adds a `--group ` flag to `skills-generate` that selects a single
named group and generates one skill (named exactly `--name`) from that
group's tools.

The description follows the same precedence as PR googleapis#3584: the group's own
`description` is used when present, `--description` is the fallback.
`--group` is mutually exclusive with `--toolset`.

This complements the existing behaviors:
- no flag + multiple groups → one skill per group (`--name-`)
- `--toolset X` → single skill from toolset X (legacy; uses
`--description`)
- `--group X` → single skill from group X (uses group description, falls
back to `--description`)

Based on googleapis#3584

---------

Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com> c1abd4f
github-actions Bot pushed a commit to pepe57/genai-toolbox that referenced this pull request Jul 27, 2026
…roup (googleapis#3585)

## Description

Adds a `--group ` flag to `skills-generate` that selects a single
named group and generates one skill (named exactly `--name`) from that
group's tools.

The description follows the same precedence as PR googleapis#3584: the group's own
`description` is used when present, `--description` is the fallback.
`--group` is mutually exclusive with `--toolset`.

This complements the existing behaviors:
- no flag + multiple groups → one skill per group (`--name-`)
- `--toolset X` → single skill from toolset X (legacy; uses
`--description`)
- `--group X` → single skill from group X (uses group description, falls
back to `--description`)

Based on googleapis#3584

---------

Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com> c1abd4f
Yuan325 added a commit that referenced this pull request Jul 28, 2026
🤖 I have created a release *beep* *boop*
---


##
[1.8.0](v1.7.0...v1.8.0)
(2026-07-28)


### Features

* Add `groups` support
([#3605](#3605))
([e75ec3b](e75ec3b))
* **prebuilt:** Migrate skills-repo toolsets to `kind: group` with
descriptions
([#3595](#3595))
([b895b36](b895b36))
* **server:** Add `/healthz` endpoint for container health checks
([#3060](#3060))
([d5aefbc](d5aefbc))
* **skills:** Add `--group` flag to generate a skill from one group
([#3585](#3585))
([c1abd4f](c1abd4f))
* **skills:** Default `--name` to `--group`, `--toolset`, or single
`--prebuilt` name
([#3586](#3586))
([2b33b08](2b33b08))
* **skills:** Make description optional during skills gen
([#3584](#3584))
([d0a8f14](d0a8f14))
* **tool/looker:** Add `get_field_value_suggestions` tool
([#3696](#3696))
([3debe81](3debe81))
* **tools/dataplex-update-data-product-aspects:** Add
dataplex-update-data-product-aspects tool
([#3607](#3607))
([f940937](f940937))
* Update draft specs to 2026-07-28
([#3699](#3699))
([cf128ff](cf128ff))


### Bug Fixes

* Re-add name validation to tools name
([#3654](#3654))
([944f6ce](944f6ce))
* Re-add tool validation during startup
([#3705](#3705))
([25ce953](25ce953))
* **server:** Sort default toolset alphabetically for stable ordering
([#3539](#3539))
([e5da24c](e5da24c))
* **source/cloud-sql-admin:** Validate source instance for backup-run
restore ([#3555](#3555))
([3ebe500](3ebe500))
* **source/dataplex:** Cleanup Dataplex Data Product resources that may
have leaked due to previously aborted tests
([#3627](#3627))
([3fb5a3f](3fb5a3f))
* **source/http:** Block CGNAT 100.64.0.0/10 in default SSRF guard
([#3625](#3625))
([a0f36f4](a0f36f4))
* **tools/looker:** Enhance looker-run-dashboard to handle result maker
structures and merge queries
([#3698](#3698))
([7666bc0](7666bc0))
* **tools/looker:** Log request/response traces at debug, not error
([#3552](#3552))
([c3ad445](c3ad445))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com>
github-actions Bot pushed a commit that referenced this pull request Jul 28, 2026
🤖 I have created a release *beep* *boop*
---

##
[1.8.0](v1.7.0...v1.8.0)
(2026-07-28)

### Features

* Add `groups` support
([#3605](#3605))
([e75ec3b](e75ec3b))
* **prebuilt:** Migrate skills-repo toolsets to `kind: group` with
descriptions
([#3595](#3595))
([b895b36](b895b36))
* **server:** Add `/healthz` endpoint for container health checks
([#3060](#3060))
([d5aefbc](d5aefbc))
* **skills:** Add `--group` flag to generate a skill from one group
([#3585](#3585))
([c1abd4f](c1abd4f))
* **skills:** Default `--name` to `--group`, `--toolset`, or single
`--prebuilt` name
([#3586](#3586))
([2b33b08](2b33b08))
* **skills:** Make description optional during skills gen
([#3584](#3584))
([d0a8f14](d0a8f14))
* **tool/looker:** Add `get_field_value_suggestions` tool
([#3696](#3696))
([3debe81](3debe81))
* **tools/dataplex-update-data-product-aspects:** Add
dataplex-update-data-product-aspects tool
([#3607](#3607))
([f940937](f940937))
* Update draft specs to 2026-07-28
([#3699](#3699))
([cf128ff](cf128ff))

### Bug Fixes

* Re-add name validation to tools name
([#3654](#3654))
([944f6ce](944f6ce))
* Re-add tool validation during startup
([#3705](#3705))
([25ce953](25ce953))
* **server:** Sort default toolset alphabetically for stable ordering
([#3539](#3539))
([e5da24c](e5da24c))
* **source/cloud-sql-admin:** Validate source instance for backup-run
restore ([#3555](#3555))
([3ebe500](3ebe500))
* **source/dataplex:** Cleanup Dataplex Data Product resources that may
have leaked due to previously aborted tests
([#3627](#3627))
([3fb5a3f](3fb5a3f))
* **source/http:** Block CGNAT 100.64.0.0/10 in default SSRF guard
([#3625](#3625))
([a0f36f4](a0f36f4))
* **tools/looker:** Enhance looker-run-dashboard to handle result maker
structures and merge queries
([#3698](#3698))
([7666bc0](7666bc0))
* **tools/looker:** Log request/response traces at debug, not error
([#3552](#3552))
([c3ad445](c3ad445))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com> 44d1a05
github-actions Bot pushed a commit to rodineyw/mcp-toolbox that referenced this pull request Jul 28, 2026
🤖 I have created a release *beep* *boop*
---

##
[1.8.0](googleapis/mcp-toolbox@v1.7.0...v1.8.0)
(2026-07-28)

### Features

* Add `groups` support
([googleapis#3605](googleapis#3605))
([e75ec3b](googleapis@e75ec3b))
* **prebuilt:** Migrate skills-repo toolsets to `kind: group` with
descriptions
([googleapis#3595](googleapis#3595))
([b895b36](googleapis@b895b36))
* **server:** Add `/healthz` endpoint for container health checks
([googleapis#3060](googleapis#3060))
([d5aefbc](googleapis@d5aefbc))
* **skills:** Add `--group` flag to generate a skill from one group
([googleapis#3585](googleapis#3585))
([c1abd4f](googleapis@c1abd4f))
* **skills:** Default `--name` to `--group`, `--toolset`, or single
`--prebuilt` name
([googleapis#3586](googleapis#3586))
([2b33b08](googleapis@2b33b08))
* **skills:** Make description optional during skills gen
([googleapis#3584](googleapis#3584))
([d0a8f14](googleapis@d0a8f14))
* **tool/looker:** Add `get_field_value_suggestions` tool
([googleapis#3696](googleapis#3696))
([3debe81](googleapis@3debe81))
* **tools/dataplex-update-data-product-aspects:** Add
dataplex-update-data-product-aspects tool
([googleapis#3607](googleapis#3607))
([f940937](googleapis@f940937))
* Update draft specs to 2026-07-28
([googleapis#3699](googleapis#3699))
([cf128ff](googleapis@cf128ff))

### Bug Fixes

* Re-add name validation to tools name
([googleapis#3654](googleapis#3654))
([944f6ce](googleapis@944f6ce))
* Re-add tool validation during startup
([googleapis#3705](googleapis#3705))
([25ce953](googleapis@25ce953))
* **server:** Sort default toolset alphabetically for stable ordering
([googleapis#3539](googleapis#3539))
([e5da24c](googleapis@e5da24c))
* **source/cloud-sql-admin:** Validate source instance for backup-run
restore ([googleapis#3555](googleapis#3555))
([3ebe500](googleapis@3ebe500))
* **source/dataplex:** Cleanup Dataplex Data Product resources that may
have leaked due to previously aborted tests
([googleapis#3627](googleapis#3627))
([3fb5a3f](googleapis@3fb5a3f))
* **source/http:** Block CGNAT 100.64.0.0/10 in default SSRF guard
([googleapis#3625](googleapis#3625))
([a0f36f4](googleapis@a0f36f4))
* **tools/looker:** Enhance looker-run-dashboard to handle result maker
structures and merge queries
([googleapis#3698](googleapis#3698))
([7666bc0](googleapis@7666bc0))
* **tools/looker:** Log request/response traces at debug, not error
([googleapis#3552](googleapis#3552))
([c3ad445](googleapis@c3ad445))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com> 44d1a05
github-actions Bot pushed a commit to pepe57/genai-toolbox that referenced this pull request Jul 28, 2026
🤖 I have created a release *beep* *boop*
---

##
[1.8.0](googleapis/mcp-toolbox@v1.7.0...v1.8.0)
(2026-07-28)

### Features

* Add `groups` support
([googleapis#3605](googleapis#3605))
([e75ec3b](googleapis@e75ec3b))
* **prebuilt:** Migrate skills-repo toolsets to `kind: group` with
descriptions
([googleapis#3595](googleapis#3595))
([b895b36](googleapis@b895b36))
* **server:** Add `/healthz` endpoint for container health checks
([googleapis#3060](googleapis#3060))
([d5aefbc](googleapis@d5aefbc))
* **skills:** Add `--group` flag to generate a skill from one group
([googleapis#3585](googleapis#3585))
([c1abd4f](googleapis@c1abd4f))
* **skills:** Default `--name` to `--group`, `--toolset`, or single
`--prebuilt` name
([googleapis#3586](googleapis#3586))
([2b33b08](googleapis@2b33b08))
* **skills:** Make description optional during skills gen
([googleapis#3584](googleapis#3584))
([d0a8f14](googleapis@d0a8f14))
* **tool/looker:** Add `get_field_value_suggestions` tool
([googleapis#3696](googleapis#3696))
([3debe81](googleapis@3debe81))
* **tools/dataplex-update-data-product-aspects:** Add
dataplex-update-data-product-aspects tool
([googleapis#3607](googleapis#3607))
([f940937](googleapis@f940937))
* Update draft specs to 2026-07-28
([googleapis#3699](googleapis#3699))
([cf128ff](googleapis@cf128ff))

### Bug Fixes

* Re-add name validation to tools name
([googleapis#3654](googleapis#3654))
([944f6ce](googleapis@944f6ce))
* Re-add tool validation during startup
([googleapis#3705](googleapis#3705))
([25ce953](googleapis@25ce953))
* **server:** Sort default toolset alphabetically for stable ordering
([googleapis#3539](googleapis#3539))
([e5da24c](googleapis@e5da24c))
* **source/cloud-sql-admin:** Validate source instance for backup-run
restore ([googleapis#3555](googleapis#3555))
([3ebe500](googleapis@3ebe500))
* **source/dataplex:** Cleanup Dataplex Data Product resources that may
have leaked due to previously aborted tests
([googleapis#3627](googleapis#3627))
([3fb5a3f](googleapis@3fb5a3f))
* **source/http:** Block CGNAT 100.64.0.0/10 in default SSRF guard
([googleapis#3625](googleapis#3625))
([a0f36f4](googleapis@a0f36f4))
* **tools/looker:** Enhance looker-run-dashboard to handle result maker
structures and merge queries
([googleapis#3698](googleapis#3698))
([7666bc0](googleapis@7666bc0))
* **tools/looker:** Log request/response traces at debug, not error
([googleapis#3552](googleapis#3552))
([c3ad445](googleapis@c3ad445))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com> 44d1a05
github-actions Bot pushed a commit to Jaleel-zhu/genai-toolbox that referenced this pull request Jul 28, 2026
🤖 I have created a release *beep* *boop*
---

##
[1.8.0](googleapis/mcp-toolbox@v1.7.0...v1.8.0)
(2026-07-28)

### Features

* Add `groups` support
([googleapis#3605](googleapis#3605))
([e75ec3b](googleapis@e75ec3b))
* **prebuilt:** Migrate skills-repo toolsets to `kind: group` with
descriptions
([googleapis#3595](googleapis#3595))
([b895b36](googleapis@b895b36))
* **server:** Add `/healthz` endpoint for container health checks
([googleapis#3060](googleapis#3060))
([d5aefbc](googleapis@d5aefbc))
* **skills:** Add `--group` flag to generate a skill from one group
([googleapis#3585](googleapis#3585))
([c1abd4f](googleapis@c1abd4f))
* **skills:** Default `--name` to `--group`, `--toolset`, or single
`--prebuilt` name
([googleapis#3586](googleapis#3586))
([2b33b08](googleapis@2b33b08))
* **skills:** Make description optional during skills gen
([googleapis#3584](googleapis#3584))
([d0a8f14](googleapis@d0a8f14))
* **tool/looker:** Add `get_field_value_suggestions` tool
([googleapis#3696](googleapis#3696))
([3debe81](googleapis@3debe81))
* **tools/dataplex-update-data-product-aspects:** Add
dataplex-update-data-product-aspects tool
([googleapis#3607](googleapis#3607))
([f940937](googleapis@f940937))
* Update draft specs to 2026-07-28
([googleapis#3699](googleapis#3699))
([cf128ff](googleapis@cf128ff))

### Bug Fixes

* Re-add name validation to tools name
([googleapis#3654](googleapis#3654))
([944f6ce](googleapis@944f6ce))
* Re-add tool validation during startup
([googleapis#3705](googleapis#3705))
([25ce953](googleapis@25ce953))
* **server:** Sort default toolset alphabetically for stable ordering
([googleapis#3539](googleapis#3539))
([e5da24c](googleapis@e5da24c))
* **source/cloud-sql-admin:** Validate source instance for backup-run
restore ([googleapis#3555](googleapis#3555))
([3ebe500](googleapis@3ebe500))
* **source/dataplex:** Cleanup Dataplex Data Product resources that may
have leaked due to previously aborted tests
([googleapis#3627](googleapis#3627))
([3fb5a3f](googleapis@3fb5a3f))
* **source/http:** Block CGNAT 100.64.0.0/10 in default SSRF guard
([googleapis#3625](googleapis#3625))
([a0f36f4](googleapis@a0f36f4))
* **tools/looker:** Enhance looker-run-dashboard to handle result maker
structures and merge queries
([googleapis#3698](googleapis#3698))
([7666bc0](googleapis@7666bc0))
* **tools/looker:** Log request/response traces at debug, not error
([googleapis#3552](googleapis#3552))
([c3ad445](googleapis@c3ad445))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com> 44d1a05
Genesis929 pushed a commit to Genesis929/genai-toolbox that referenced this pull request Jul 28, 2026
…#3584)

## Description

Once description becomes optional, skills generation can take in
description directly from `Groups`.

Note: group description takes precedence when present, `--description`
is used otherwise, and both may be empty.

Based on [googleapis#3605](googleapis#3605)

---------

Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com>
Genesis929 pushed a commit to Genesis929/genai-toolbox that referenced this pull request Jul 28, 2026
…ogleapis#3585)

## Description

Adds a `--group ` flag to `skills-generate` that selects a single
named group and generates one skill (named exactly `--name`) from that
group's tools.

The description follows the same precedence as PR googleapis#3584: the group's own
`description` is used when present, `--description` is the fallback.
`--group` is mutually exclusive with `--toolset`.

This complements the existing behaviors:
- no flag + multiple groups → one skill per group (`--name-`)
- `--toolset X` → single skill from toolset X (legacy; uses
`--description`)
- `--group X` → single skill from group X (uses group description, falls
back to `--description`)

Based on googleapis#3584

---------

Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com>
Genesis929 pushed a commit to Genesis929/genai-toolbox that referenced this pull request Jul 28, 2026
🤖 I have created a release *beep* *boop*
---


##
[1.8.0](googleapis/mcp-toolbox@v1.7.0...v1.8.0)
(2026-07-28)


### Features

* Add `groups` support
([googleapis#3605](googleapis#3605))
([e75ec3b](googleapis@e75ec3b))
* **prebuilt:** Migrate skills-repo toolsets to `kind: group` with
descriptions
([googleapis#3595](googleapis#3595))
([b895b36](googleapis@b895b36))
* **server:** Add `/healthz` endpoint for container health checks
([googleapis#3060](googleapis#3060))
([d5aefbc](googleapis@d5aefbc))
* **skills:** Add `--group` flag to generate a skill from one group
([googleapis#3585](googleapis#3585))
([c1abd4f](googleapis@c1abd4f))
* **skills:** Default `--name` to `--group`, `--toolset`, or single
`--prebuilt` name
([googleapis#3586](googleapis#3586))
([2b33b08](googleapis@2b33b08))
* **skills:** Make description optional during skills gen
([googleapis#3584](googleapis#3584))
([d0a8f14](googleapis@d0a8f14))
* **tool/looker:** Add `get_field_value_suggestions` tool
([googleapis#3696](googleapis#3696))
([3debe81](googleapis@3debe81))
* **tools/dataplex-update-data-product-aspects:** Add
dataplex-update-data-product-aspects tool
([googleapis#3607](googleapis#3607))
([f940937](googleapis@f940937))
* Update draft specs to 2026-07-28
([googleapis#3699](googleapis#3699))
([cf128ff](googleapis@cf128ff))


### Bug Fixes

* Re-add name validation to tools name
([googleapis#3654](googleapis#3654))
([944f6ce](googleapis@944f6ce))
* Re-add tool validation during startup
([googleapis#3705](googleapis#3705))
([25ce953](googleapis@25ce953))
* **server:** Sort default toolset alphabetically for stable ordering
([googleapis#3539](googleapis#3539))
([e5da24c](googleapis@e5da24c))
* **source/cloud-sql-admin:** Validate source instance for backup-run
restore ([googleapis#3555](googleapis#3555))
([3ebe500](googleapis@3ebe500))
* **source/dataplex:** Cleanup Dataplex Data Product resources that may
have leaked due to previously aborted tests
([googleapis#3627](googleapis#3627))
([3fb5a3f](googleapis@3fb5a3f))
* **source/http:** Block CGNAT 100.64.0.0/10 in default SSRF guard
([googleapis#3625](googleapis#3625))
([a0f36f4](googleapis@a0f36f4))
* **tools/looker:** Enhance looker-run-dashboard to handle result maker
structures and merge queries
([googleapis#3698](googleapis#3698))
([7666bc0](googleapis@7666bc0))
* **tools/looker:** Log request/response traces at debug, not error
([googleapis#3552](googleapis#3552))
([c3ad445](googleapis@c3ad445))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com>
social4hyq pushed a commit to social4hyq/homebrew-core that referenced this pull request Sep 20, 2026
mcp-toolbox 1.8.0

Created-by: HarmonybrewBot
Commit-by: HarmonybrewBot
Merged-by: HarmonybrewBot
Description: Created by `brew bump`

---

Created with `brew bump-formula-pr`.
release notes
## [1.8.0](googleapis/mcp-toolbox@v1.7.0...v1.8.0) (2026-07-28)


### Features

* Add `groups` support ([#3605](googleapis/mcp-toolbox#3605)) ([e75ec3b](googleapis/mcp-toolbox@e75ec3b))
* **prebuilt:** Migrate skills-repo toolsets to `kind: group` with descriptions ([#3595](googleapis/mcp-toolbox#3595)) ([b895b36](googleapis/mcp-toolbox@b895b36))
* **server:** Add `/healthz` endpoint for container health checks ([#3060](googleapis/mcp-toolbox#3060)) ([d5aefbc](googleapis/mcp-toolbox@d5aefbc))
* **skills:** Add `--group` flag to generate a skill from one group ([#3585](googleapis/mcp-toolbox#3585)) ([c1abd4f](googleapis/mcp-toolbox@c1abd4f))
* **skills:** Default `--name` to `--group`, `--toolset`, or single `--prebuilt` name ([#3586](googleapis/mcp-toolbox#3586)) ([2b33b08](googleapis/mcp-toolbox@2b33b08))
* **skills:** Make description optional during skills gen ([#3584](googleapis/mcp-toolbox#3584)) ([d0a8f14](googleapis/mcp-toolbox@d0a8f14))
* **tool/looker:** Add `get_field_value_suggestions` tool ([#3696](googleapis/mcp-toolbox#3696)) ([3debe81](googleapis/mcp-toolbox@3debe81))
* **tools/dataplex-update-data-product-aspects:** Add dataplex-update-data-product-aspects tool ([#3607](googleapis/mcp-toolbox#3607)) ([f940937](googleapis/mcp-toolbox@f940937))
* Update draft specs to 2026-07-28 ([#3699](googleapis/mcp-toolbox#3699)) ([cf128ff](googleapis/mcp-toolbox@cf128ff))


### Bug Fixes

* Re-add name validation to tools name ([#3654](googleapis/mcp-toolbox#3654)) ([944f6ce](googleapis/mcp-toolbox@944f6ce))
* Re-add tool validation during startup ([#3705](googleapis/mcp-toolbox#3705)) ([25ce953](googleapis/mcp-toolbox@25ce953))
* **server:** Sort default toolset alphabetically for stable ordering ([#3539](googleapis/mcp-toolbox#3539)) ([e5da24c](googleapis/mcp-toolbox@e5da24c))
* **source/cloud-sql-admin:** Validate source instance for backup-run restore ([#3555](googleapis/mcp-toolbox#3555)) ([3ebe500](googleapis/mcp-toolbox@3ebe500))
* **source/dataplex:** Cleanup Dataplex Data Product resources that may have leaked due to previously aborted tests ([#3627](googleapis/mcp-toolbox#3627)) ([3fb5a3f](googleapis/mcp-toolbox@3fb5a3f))
* **source/http:** Block CGNAT 100.64.0.0/10 in default SSRF guard ([#3625](googleapis/mcp-toolbox#3625)) ([a0f36f4](googleapis/mcp-toolbox@a0f36f4))
* **tools/looker:** Enhance looker-run-dashboard to handle result maker structures and merge queries ([#3698](googleapis/mcp-toolbox#3698)) ([7666bc0](googleapis/mcp-toolbox@7666bc0))
* **tools/looker:** Log request/response traces at debug, not error ([#3552](googleapis/mcp-toolbox#3552)) ([c3ad445](googleapis/mcp-toolbox@c3ad445))

| **OS/Architecture**                                                                                       | **Description**                                                                                                          | **SHA256 Hash**                                                     |
| --------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------- |
| [linux/amd64](https://storage.googleapis.com/mcp-toolbox-for-databases/v1.8.0/linux/amd64/toolbox) ([Signature](https://storage.googleapis.com/mcp-toolbox-for-databases/v1.8.0/linux/amd64/toolbox.asc)) | For **Linux** systems running on **Intel/AMD 64-bit processors**.                                                        | 8c0ac3b9785d1424ad3d66799c26c5da695d73c74c45225a301689bf7d39d714    |
| [darwin/arm64](https://storage.googleapis.com/mcp-toolbox-for-databases/v1.8.0/darwin/arm64/toolbox)      | For **macOS** systems running on **Apple Silicon** (M1, M2, M3, etc.) processors.                                        | c69e0b5e25bd5f5f3f3f4d7563d1d8ef0b8ecc922c6654d5db7641f4b0bc4b95    |
| [darwin/amd64](https://storage.googleapis.com/mcp-toolbox-for-databases/v1.8.0/darwin/amd64/toolbox)      | For **macOS** systems running on **Intel processors**.                                                                   | cd69bb08c9e25c372e39cfd765e9166a7473f66ea15865870bd141014ddf4212    |
| [windows/amd64](https://storage.googleapis.com/mcp-toolbox-for-databases/v1.8.0/windows/amd64/toolbox.exe) | For **Windows** systems running on **Intel/AMD 64-bit processors**.                                                      | f3cd288d184adae71c9cc2d627e7d4db1f0d5c8a00d5d4cab30a42acecb43082    |
| [windows/arm64](https://storage.googleapis.com/mcp-toolbox-for-databases/v1.8.0/windows/arm64/toolbox.exe) | For **Windows** systems running on **ARM 64-bit processors**.                                                            | a18405b1a13656ca23c6667cc4a8a9b01ebd29b4f0057e74811f44c78bc8d266    |

View the full release notes at https://github.com/googleapis/mcp-toolbox/releases/tag/v1.8.0">https://github.com/googleapis/mcp-toolbox/releases/tag/v1.8.0.>


See merge request: Harmonybrew/homebrew-core!15323
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants