Skip to content

Move project skills into shared agent layout#27204

Merged
ErisDS merged 2 commits into
mainfrom
chore/skills-layout-normalization
Apr 8, 2026
Merged

Move project skills into shared agent layout#27204
ErisDS merged 2 commits into
mainfrom
chore/skills-layout-normalization

Conversation

@ErisDS
Copy link
Copy Markdown
Member

@ErisDS ErisDS commented Apr 7, 2026

Summary

  • move the repo's checked-in skills into .agents/skills and replace .claude/skills/* with symlinks to the shared copies
  • add a skills-lock.json so the shared skills layout is explicit and reproducible
  • replace the Claude-only /commit command with a shared commit skill and update AGENTS.md to load that skill

This makes .agents/skills the canonical source so agent tooling can reuse one checked-in layout instead of creating divergent local copies under .claude.
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Apr 7, 2026

Walkthrough

Added a new commit skill at .agents/skills/commit/SKILL.md. Removed the legacy .claude/commands/commit.md. Added pointer files in .claude/skills/ that reference .agents/skills/* entries (commit, add-admin-api-endpoint, create-database-migration, format-number, add-private-feature-flag). Introduced skills-lock.json to register and lock available skills. Updated AGENTS.md to instruct agents to load the .agents/skills/commit skill instead of embedding commit rules.

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The PR title accurately and concisely summarizes the main change: moving skills into a shared agent layout structure.
Description check ✅ Passed The description directly relates to the changeset, explaining the three main objectives: moving skills, adding skills-lock.json, and replacing the Claude-specific commit command with a shared skill.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/skills-layout-normalization

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In @.agents/skills/commit/SKILL.md:
- Around line 43-53: Remove the extra spaces in the ATX heading "###  Main
emojis we are using:" (make it "### Main emojis we are using:") and add a
language identifier to the untyped fenced code block (change the opening fence
to ```text) so the example block is typed; update the closing fence accordingly
and ensure the inner example content remains unchanged to satisfy markdownlint
warnings.

In `@skills-lock.json`:
- Around line 3-24: Add the missing "commit" skill entry to skills-lock.json
under the top-level "skills" object so the lockfile reflects the new skill
introduced and consumed by this PR; locate the "skills" object (e.g., alongside
entries like "Add Admin API Endpoint" and "Format numbers") and add a "commit"
key with the appropriate source, sourceType, and computedHash (compute the hash
using the same tooling/process used for the other entries) so the registry is
complete and reproducible.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 744e11a1-4689-4d20-b373-a6729ee2e5f6

📥 Commits

Reviewing files that changed from the base of the PR and between a17ca41 and a105671.

📒 Files selected for processing (18)
  • .agents/skills/add-admin-api-endpoint/SKILL.md
  • .agents/skills/add-admin-api-endpoint/permissions.md
  • .agents/skills/add-admin-api-endpoint/reference.md
  • .agents/skills/add-admin-api-endpoint/validation.md
  • .agents/skills/add-private-feature-flag/SKILL.md
  • .agents/skills/commit/SKILL.md
  • .agents/skills/create-database-migration/SKILL.md
  • .agents/skills/create-database-migration/examples.md
  • .agents/skills/create-database-migration/rules.md
  • .agents/skills/format-number/SKILL.md
  • .claude/commands/commit.md
  • .claude/skills/add-admin-api-endpoint
  • .claude/skills/add-private-feature-flag
  • .claude/skills/commit
  • .claude/skills/create-database-migration
  • .claude/skills/format-number
  • AGENTS.md
  • skills-lock.json
💤 Files with no reviewable changes (1)
  • .claude/commands/commit.md

Comment on lines +43 to +53
### Main emojis we are using:

- ✨ Feature
- 🎨 Improvement / change
- 🐛 Bug Fix
- 🌐 i18n (translation) submissions
- 💡 Anything else flagged to users or whoever is writing release notes

### Example

```
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.

⚠️ Potential issue | 🟡 Minor

Fix markdownlint warnings in heading and code fence.

Line 43 has extra spaces in the ATX heading, and Line 53 uses an untyped fenced code block.

Proposed markdown fix
-###  Main emojis we are using:
+### Main emojis we are using:
@@
-```
+```text
 ✨ Added config flag for disabling page analytics
 
 ref https://linear.app/tryghost/issue/ENG-1234/
@@
 - using the term `pageAnalytics` as this was discussed as best reflecting what this does
</details>

<details>
<summary>🧰 Tools</summary>

<details>
<summary>🪛 markdownlint-cli2 (0.22.0)</summary>

[warning] 43-43: Multiple spaces after hash on atx style heading

(MD019, no-multiple-space-atx)

---

[warning] 53-53: Fenced code blocks should have a language specified

(MD040, fenced-code-language)

</details>

</details>

<details>
<summary>🤖 Prompt for AI Agents</summary>

Verify each finding against the current code and only fix it if needed.

In @.agents/skills/commit/SKILL.md around lines 43 - 53, Remove the extra spaces
in the ATX heading "### Main emojis we are using:" (make it "### Main emojis we
are using:") and add a language identifier to the untyped fenced code block
(change the opening fence to ```text) so the example block is typed; update the
closing fence accordingly and ensure the inner example content remains unchanged
to satisfy markdownlint warnings.


</details>

<!-- fingerprinting:phantom:triton:hawk:fffb20dd-13fc-4172-b26e-3fb474458f9d -->

<!-- This is an auto-generated comment by CodeRabbit -->

Comment thread skills-lock.json
This replaces the Claude-only /commit command with a shared skill so commit instructions live in one place and can be reused across agent setups.
@ErisDS ErisDS force-pushed the chore/skills-layout-normalization branch from a105671 to ed01aaa Compare April 7, 2026 14:38
@sonarqubecloud
Copy link
Copy Markdown

sonarqubecloud Bot commented Apr 7, 2026

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

♻️ Duplicate comments (1)
.agents/skills/commit/SKILL.md (1)

43-53: ⚠️ Potential issue | 🟡 Minor

Fix remaining markdownlint issues in heading and fenced block.

Line 43 still has double spacing after the ATX marker, and Line 53 still uses an untyped fenced block.

Proposed markdown fix
-###  Main emojis we are using:
+### Main emojis we are using:
@@
-```
+```text
 ✨ Added config flag for disabling page analytics
 
 ref https://linear.app/tryghost/issue/ENG-1234/
@@
 - using the term `pageAnalytics` as this was discussed as best reflecting what this does
</details>

<details>
<summary>🤖 Prompt for AI Agents</summary>

Verify each finding against the current code and only fix it if needed.

In @.agents/skills/commit/SKILL.md around lines 43 - 53, The heading "Main
emojis we are using:" currently has two spaces after the ATX marker—remove the
extra space so it reads a single space after the "#" in that heading;
additionally change the untyped fenced code block in the Example section to a
typed fence (e.g., use ```text) as shown in the proposed fix so markdownlint no
longer flags an untyped block; locate the heading and the fenced block within
.agents/skills/commit/SKILL.md (the "Main emojis we are using:" heading and the
following Example fenced block) and apply these two edits.


</details>

</blockquote></details>

</blockquote></details>

<details>
<summary>🤖 Prompt for all review comments with AI agents</summary>

Verify each finding against the current code and only fix it if needed.

Duplicate comments:
In @.agents/skills/commit/SKILL.md:

  • Around line 43-53: The heading "Main emojis we are using:" currently has two
    spaces after the ATX marker—remove the extra space so it reads a single space
    after the "#" in that heading; additionally change the untyped fenced code block
    in the Example section to a typed fence (e.g., use ```text) as shown in the
    proposed fix so markdownlint no longer flags an untyped block; locate the
    heading and the fenced block within .agents/skills/commit/SKILL.md (the "Main
    emojis we are using:" heading and the following Example fenced block) and apply
    these two edits.

</details>

---

<details>
<summary>ℹ️ Review info</summary>

<details>
<summary>⚙️ Run configuration</summary>

**Configuration used**: Path: .coderabbit.yaml

**Review profile**: CHILL

**Plan**: Pro

**Run ID**: `52b656dd-e0c1-4102-872b-a93e9d1d9c91`

</details>

<details>
<summary>📥 Commits</summary>

Reviewing files that changed from the base of the PR and between a1056713b0b07075fb776d22ab8e72ec8ba758b6 and ed01aaa2c94ff9cc4a6af2db2dd68c6b2da959cc.

</details>

<details>
<summary>📒 Files selected for processing (5)</summary>

* `.agents/skills/commit/SKILL.md`
* `.claude/commands/commit.md`
* `.claude/skills/commit`
* `AGENTS.md`
* `skills-lock.json`

</details>

<details>
<summary>💤 Files with no reviewable changes (1)</summary>

* .claude/commands/commit.md

</details>

<details>
<summary>✅ Files skipped from review due to trivial changes (2)</summary>

* .claude/skills/commit
* AGENTS.md

</details>

<details>
<summary>🚧 Files skipped from review as they are similar to previous changes (1)</summary>

* skills-lock.json

</details>

</details>

<!-- This is an auto-generated comment by CodeRabbit for review status -->

@ErisDS ErisDS merged commit afcabc6 into main Apr 8, 2026
37 checks passed
@ErisDS ErisDS deleted the chore/skills-layout-normalization branch April 8, 2026 12:09
franky19 pushed a commit to franky19/Ghost that referenced this pull request Apr 18, 2026
Agent skills are starting to settle as a pattern used by many agents. 

The approach set out in this commit uses the `npx skills` CLI from Vercel to init custom skills in the repo, using the more standard `.agent/skills` folder as the default. 

Symlinks are added for `.claude/skills` to keep compatibility with the main outlier.

Using `npx skills` gives us a skills-lock.json file with some metadata about skills, so we can determine custom vs installed skills, and supports keeping them up to date. 

This approach will also allow us to install custom skills from this repo on other repos.

The last thing this PR achieves is a commit skill, which will hopefully help agents to follow existing commit conventions more readily. This is an example of the pattern being set out.
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