feat: add project-level skill support in skill_domains#5
Conversation
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>
Summary of ChangesHello @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
Activity
Using Gemini Code AssistThe 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
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 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
|
There was a problem hiding this comment.
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.
marketplace/bundles/pm-workflow/skills/manage-findings/scripts/findings_store.py
Show resolved
Hide resolved
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Summary
project:{skill}notation for project-level skills inskill_domains, allowing.claude/skills/skills to be discovered and attached to any configured domainskill-domains discover-projectandskill-domains attach-projectfor discovery and attachmentskill-domains configurenow preservesproject_skillsacross reconfigurationget_skill_description()resolvesproject:prefix from.claude/skills/directorylocal:prefix todefault-bundle:to avoid confusion with user-facingproject:notationTest plan
./pw verify plan-marshallpasses (744 tests)./pw verify pm-workflowpasses (341 tests)./pw module-testspasses (1696 tests)🤖 Generated with Claude Code