Fixed
Project:
AI Best Practices for Drupal
Version:
1.0.x-dev
Component:
Documentation
Priority:
Normal
Category:
Task
Assigned:
Unassigned
Reporter:
Created:
3 Apr 2026 at 07:29 UTC
Updated:
15 Apr 2026 at 09:45 UTC
Jump to comment: Most recent
Comments
Comment #2
yautja_cetanu commentedCould we do a mixture of both? Have a fork of specific projects but closely align them so we can choose when we want to pull things in from the external project and aim to push things back?
This might be good from a "Drupal CMS" point of view but allow us to let other repos and libraries still control their own thing? (Given that this will likely be a dev tool anyway, its possible this isn't that important. The issue is whether or not the external skills we bring in change so much it makes devs less likely to want to use this tool)
I wonder if we take the approach of:
- Start by merely pulling in people's repos and leaving their code, skills etc in that external repo to manage. Get to a place where we like the core collection of skills that exist first.
- Figure out a good way of forking some skills and maintaining differences between the two and managing that. Do we have automated stuff telling us that things need to be updated so we can decide?
I suppose by "Both" I mean we fork it, but aim to keep it as close to the original as possible rather than truly have it diverge.
Edit: Seeing more of the context, I think we have lots of dependencies as the default approach. So many devs are already using lots of skills, it would be a shame for this to just be another one on the list. The world of Github that I think people are used to now is that there are tons of packages pulling things from all over the place. We can gradually fork things or build our own version of things here when we need to.
Edit: A major benefit to forking but keeping things in sync is it means we can more easily see and read through the skills in one place. If we go the dependency approach we should have some place, maybe documentation? That is automatically built that shows you all the skills that come with it so you can read them.
Comment #3
webchickHaving now "managed" (for some values of managed LOL) this project for a couple of weeks, I lean very much toward:
I think this is the correct approach. When I imagine this project 6 months from now, there are easily 20-30 skills in this repo, and I'd rather track against "upstream" targets with active maintainership, and try and beg those people to make updates in two places. Especially because almost by definition, if you are the kind of person who is publishing your own agent skills, you don't need this project. ;P
If well-used best practice skills fall into abandonment, we can always then fork them and include them directly and take on maintainership of them (if needed).
I think the main challenge with this approach is that very few of these skills in a quick spot-check of https://skills.sh/?q=drupal are doing robust release / tag management. (Common with dev tools.)
One thing to investigate is whether we can tie these external skill downloads to a specific git commit. If so, we can then control the "quality gate" and also check "diffs" / eval scores before pulling in newer versions. (I'm also curious if we can pull in _part_ of a broader skill; for example, https://skills.sh/grasmash/drupal-claude-skills/drupal-ddev which is part of https://skills.sh/grasmash/drupal-claude-skills/)
Ooh, I like that approach. We could even get Claude (or whatever) to generate it for us. ;)
Comment #4
webchickMarking this as RTBC, to see if anyone else has any concerns with the "call out to others' skills" approach. If not, let's lock it in as decided. 😎
Comment #5
ronaldtebrake commented+1 on the approach :)
That should definitely be possible, for drupal/surge I'll be using Composer's package repository type for discovery for those non composer packages. You can see an example here:
That way we're basically doing the testing and versioning ourselves on those upstream changes that aren't doing release or tag management, we keep the control and the communication there.
The only thing we need to tackle is making sure it ends up in the right directory, as composer require won't install this in the right skills directory by default (but that is something we can achieve ourselves as well)
Comment #6
webchickFantastic!! :D That resolves my remaining concern here, thank you!