Move from 'gerund naming' of skills to drupal-<[domain-]-task-or-topic> pattern
>>> [!note] Migrated issue <!-- Drupal.org comment --> <!-- Migrated from issue #3585395. --> Reported by: [webchick](https://www.drupal.org/user/24967) Related to !14 >>> <h3 id="summary-problem-motivation">Problem/Motivation</h3> <p>("Major" only because it's much less disruptive to fix this now vs. later)</p> <p>From Claude in <span class="drupalorg-gitlab-issue-link drupalorg-gitlab-link-wrapper"><a href="https://git.drupalcode.org/project/ai_best_practices/-/work_items/3585379" class="drupalorg-gitlab-link">https://git.drupalcode.org/project/ai_best_practices/-/work_items/3585379</a></span>, arguing with previous Claude: &#129315;</p> <blockquote><p> Headline findings: only 1 of ~193 authored SKILL.md files matches ai_best_practices' locked gerund-prefix naming </p></blockquote> <p>I KNEW it was full of crap when it suggested that. :P Let's fix it!</p> <h3 id="summary-possible-resolution">Possible resolution</h3> <p>I didn't do the Claude run where this feedback originated, but I asked Codex what it thought of what Claude had to say, and what it would recommend based on its own analysis.</p> <p>It very quickly came back with <code>drupal-&lt;topic&gt;</code> as the convention. &#128077;</p> <p>However, <em>then</em> I asked "what happens if someone already has <code>drupal-workflow</code> installed? After some back and forth, here is what it recommended, keeping within the constraints of the <a href="https://agentskills.io/specification">skills specification</a>:</p> <pre>## Proposed model<br><br>Each skill has 3 layers of identity:<br><br>### 1. Human-facing skill name<br>This is the spec-compliant `name` field and parent directory name.<br><br>Example:<br>- `drupal-workflow`<br><br>This is the short name people see first and the one we optimize for readability.<br><br>### 2. Canonical source-qualified ID<br>This is stored in `metadata` and is the stable unique identity for the skill.<br><br>Example:<br>- `ai_best_practices/drupal-workflow`<br><br>This is the identifier we should use in:<br>- manifests<br>- migration tables<br>- de-duplication logic<br>- source attribution<br>- future tooling integrations<br><br>### 3. Optional collision-safe alias<br>This is also stored in `metadata` and can be used by aggregators/installers when the short `name` collides with another installed source.<br><br>Example:<br>- `abp-drupal-workflow`<br><br>This should not be the primary naming convention, but it gives us a deterministic fallback when uniqueness is required.<br><br>## Example frontmatter<br><br>```yaml<br>---<br>name: drupal-workflow<br>description: Guidance for Drupal development workflow, task sequencing, and contribution-safe implementation patterns.<br>metadata:<br>&nbsp; source: ai_best_practices<br>&nbsp; canonical-id: ai_best_practices/drupal-workflow<br>&nbsp; short-alias: abp-drupal-workflow<br>&nbsp; drupal-version: "10 || 11"<br>&nbsp; status: stable<br>---</pre><p>...Is that RIGHT or not? WHO can say? :D</p> <h3 id="summary-proposed-resolution">Proposed resolution</h3> <p>?</p> > Related issue: [Issue #3585379](https://www.drupal.org/node/3585379)
issue