Skip to content

Comments

feat: add project-level skill support in skill_domains#5

Merged
cuioss-oliver merged 5 commits intomainfrom
feature/project-skills-in-skill-domains
Feb 23, 2026
Merged

feat: add project-level skill support in skill_domains#5
cuioss-oliver merged 5 commits intomainfrom
feature/project-skills-in-skill-domains

Conversation

@cuioss-oliver
Copy link
Collaborator

Summary

  • Add project:{skill} notation for project-level skills in skill_domains, allowing .claude/skills/ skills to be discovered and attached to any configured domain
  • New verbs: skill-domains discover-project and skill-domains attach-project for discovery and attachment
  • skill-domains configure now preserves project_skills across reconfiguration
  • get_skill_description() resolves project: prefix from .claude/skills/ directory
  • Rename executor internal local: prefix to default-bundle: to avoid confusion with user-facing project: notation
  • Fix TOON serializer round-trip fidelity: quote string values that would be misinterpreted as numbers/booleans/null (fixes flaky CI tests)

Test plan

  • 322-line test suite for all new skill-domains functionality (discover, attach, configure preservation, get resolution)
  • TOON serializer fix verified — 1696/1696 tests pass
  • ./pw verify plan-marshall passes (744 tests)
  • ./pw verify pm-workflow passes (341 tests)
  • Full ./pw module-tests passes (1696 tests)

🤖 Generated with Claude Code

cuioss-oliver and others added 4 commits February 23, 2026 12:24
Allow project-level skills from .claude/skills/ to be discovered and
attached to any configured domain in marshal.json using project:{skill}
notation. This bridges the gap where only marketplace bundle skills were
represented in skill_domains.

Changes:
- Add discover-project and attach-project verbs to skill-domains
- Extend configure to preserve project_skills across reconfiguration
- Extend get/resolve to include project_skills in output
- Add project: notation support in get_skill_description()
- Add Step 11f to marshall-steward wizard for project skill discovery
- Rename executor internal local: prefix to default-bundle:
- Add comprehensive tests (322 new lines)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
… clarity

- Use lstrip() + split(':', 1) for more robust YAML frontmatter parsing
- Improve test name and assertions for discover-project structured output

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…fidelity

The TOON serializer wrote string values like "012345" unquoted, causing
the parser to coerce them to int (12345), losing leading zeros. This made
tests with random hex hash_ids flaky (~0.6% chance per hash of all-digit
with leading zero). Fix quotes strings that _parse_value would misinterpret
as numbers, booleans, null, or percentages.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@gemini-code-assist
Copy link

Summary of Changes

Hello @cuioss-oliver, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request introduces project-level skill support, enhancing the flexibility and discoverability of skills within specific projects. It also addresses a critical bug in the TOON serializer, ensuring data integrity and test stability. The changes include new commands for skill management, preservation of existing configurations, and internal refactoring for clarity.

Highlights

  • Project-Level Skills: Introduced support for project-level skills, enabling discovery and attachment of skills from the .claude/skills/ directory to configured domains.
  • New Commands: Added skill-domains discover-project and skill-domains attach-project commands for discovering and attaching project-level skills.
  • Configuration Preservation: Ensured that skill-domains configure preserves project_skills across reconfiguration.
  • TOON Serializer Fix: Fixed the TOON serializer to correctly quote string values that could be misinterpreted as numbers, booleans, or null, resolving flaky CI tests.
  • Internal Prefix Rename: Renamed the executor internal local: prefix to default-bundle: to avoid confusion with the user-facing project: notation.
Activity
  • Added project-level skill support in skill_domains
  • Introduced project:{skill} notation for project-level skills in skill_domains
  • Added skill-domains discover-project and skill-domains attach-project verbs
  • Ensured skill-domains configure preserves project_skills across reconfiguration
  • Implemented get_skill_description() to resolve project: prefix from .claude/skills/ directory
  • Renamed executor internal local: prefix to default-bundle:
  • Fixed TOON serializer round-trip fidelity
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link

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

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 introduces project-level skill support, which is a significant feature enhancement. The changes are well-structured, with new commands for discovering and attaching project skills, and updates to preserve this configuration. The renaming of the internal local: prefix to default-bundle: improves clarity. The fix for the TOON serializer also increases the robustness of the system. The accompanying test suite is comprehensive and covers the new functionality thoroughly.

I have one comment regarding code duplication in a fallback function within a core module, which seems to be caused by an incorrect import path. Addressing this would improve the maintainability of the code and align with the principle of maintaining a minimal internal dependency footprint.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@cuioss-oliver cuioss-oliver merged commit 399d88a into main Feb 23, 2026
4 checks passed
@cuioss-oliver cuioss-oliver deleted the feature/project-skills-in-skill-domains branch February 23, 2026 13:09
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.

1 participant