Compare commits

...

9 Commits

Author SHA1 Message Date
siujamo 2625fac6d8 feat: register british-english, commit-message, and spring-boot skills 2026-06-22 11:46:08 +08:00
siujamo a7fa29e3ec feat: add skills.json marketplace manifest 2026-06-22 11:23:09 +08:00
siujamo e10bcfa734 @
docs(british-english): remove redundant guidance line

The "Follow these rules consistently throughout a document." line
added no real directive beyond what the rule sections already convey,
and the "a document" framing was too narrow for outputs like commit
messages and code comments.
@
2026-06-16 17:21:31 +08:00
siujamo 3be04dab3a docs(spring-boot): align examples with documented conventions
Two consistency cleanups:

- Drop redundant column aliases in the MyBatis Mapper example; map-underscore-to-camel-case is already enabled in application.yml, so the explicit aliases are noise.
- Re-nest the request/response directories under a top-level domain/ package in the end-to-end example to match the project layout shown earlier in the skill. The transfer-objects section already refers to com.example.app.domain.request.* and com.example.app.domain.response.* implicitly via the layout tree.

Also drops the now-orphaned 阿里巴巴《Java 开发手册》 line from Authoritative References, since the rest of the skill no longer leans on it for terminology.
2026-06-16 15:36:12 +08:00
siujamo 6beb72688e docs: add CONTRIBUTING guide
Document the process for adding or modifying a skill, frontmatter requirements, style (British English), commit conventions, and the licence under which contributions are accepted.
2026-06-16 15:24:54 +08:00
siujamo b14493d3ad docs: add LICENCE (MIT)
Add the MIT Licence text, copyright Onixbyte 2026, to make the terms under which the skills catalogue is shared explicit.
2026-06-16 15:24:53 +08:00
siujamo caae678e26 docs: expand README
Add an Available Skills table summarising each skill's purpose, plus contributor notes covering the per-skill directory layout and the rationale for ignoring .claude/.
2026-06-16 15:22:06 +08:00
siujamo 7f43b55b61 chore: expand .gitignore
Add common IDE, OS, and editor-backup exclusions to keep per-machine artefacts out of version control alongside the existing .claude/ entry.
2026-06-16 15:22:03 +08:00
siujamo abf70542c2 chore: add .claude/ to gitignore
Claude Code's local settings.local.json lives under .claude/ and is per-machine; keep it out of version control.
2026-06-16 15:11:51 +08:00
7 changed files with 160 additions and 11 deletions
+22
View File
@@ -0,0 +1,22 @@
# Local Claude Code configuration (per-machine)
.claude/
# IDE
.idea/
.vscode/
*.iml
*.iws
*.ipr
.project
.classpath
.settings/
# OS
.DS_Store
Thumbs.db
desktop.ini
# Editor backups
*.swp
*.swo
*~
+61
View File
@@ -0,0 +1,61 @@
# Contributing
Guidelines for adding or modifying a skill in this catalogue.
## Adding a Skill
1. Pick a short, kebab-case name (`my-skill`).
2. Create a directory and a `SKILL.md` inside it:
```
mkdir my-skill
```
3. Start `SKILL.md` with the required frontmatter:
```yaml
---
name: my-skill
description: ...
---
```
4. Open a pull request against `main`.
### Frontmatter
- `name` must match the directory name. Claude Code uses it to identify the skill.
- `description` controls when the skill is invoked. Be specific: name the file types, project shapes, and user requests that should trigger it. A vague description (for example, "helps with Java") will fire too often and add noise.
- The body of `SKILL.md` is loaded into the conversation when the skill fires. Keep it dense and self-contained.
## Modifying a Skill
Edit the skill's `SKILL.md` in place. Open a PR. If the change alters the skill's public contract (the `description`, the rules, or the inputs/outputs the skill expects), call it out in the PR description so reviewers can decide whether the change should also trigger a version bump in any catalogue that consumes it.
## Style
- **British English** is the default for all prose, code comments, and commit messages. Use the `british-english` skill to self-review before requesting review.
- Use sentence case in headings ("Adding a skill", not "Adding A Skill").
- Code samples should be runnable, or marked clearly when truncated for brevity.
## Commit Messages
Use conventional commits. For this repository:
| Type | When |
|---|---|
| `feat` | A new skill, or a new feature within an existing skill |
| `fix` | A behavioural correction |
| `docs` | README, CONTRIBUTING, LICENCE, or doc-only edits |
| `chore` | Tooling, `.gitignore`, build configuration |
See the `commit-message` skill for the full format.
## Review
Reviewers check for:
- Frontmatter correctness and specificity
- Compliance with any cross-cutting rules (for example, the four-layer architecture in the `spring-boot` skill)
- British English conformance
- A concrete example for every non-trivial claim
## Licence
By contributing, you agree that your contributions are licensed under the MIT Licence (see [`LICENCE`](LICENCE)).
+21
View File
@@ -0,0 +1,21 @@
MIT License
Copyright (c) 2026 Onixbyte
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
+19
View File
@@ -5,3 +5,22 @@ This repository stores commonly used skills for Claude Code internally.
## Installation
Clone this repository into `~/.claude/skills` with `git clone git@git.onixbyte.com:onixbyte/claude-code-skills ~/.claude/skills`.
## Available Skills
| Skill | Description |
|---|---|
| `british-english` | Apply British English spelling and grammar as a global default for files, commits, and documentation when no project-level language override is set. |
| `commit-message` | Produce conventional-commit messages from the current staged diff, with optional gitmoji support. |
| `spring-boot` | Conventions for Spring Boot services on Gradle + Java 21 + Spring Boot 3.5: a strict four-layer architecture (Controller → Service → Manager/Client → Mapper/Repository), with an optional Variant layer for multi-implementation strategies. Covers MyBatis + JPA, Spring Validation, global exception handling, TraceId logging, and SpringDoc OpenAPI. |
## Adding a Skill
1. Create a directory named after the skill: `mkdir my-skill/`.
2. Add a `SKILL.md` inside it, beginning with the required frontmatter (`name`, `description`).
3. Open a pull request against `main`.
## Repository Hygiene
- Local Claude Code configuration (`.claude/`) is ignored — keep per-machine settings out of version control.
- Each skill lives in its own top-level directory named exactly as the `name` field in its `SKILL.md`.
+1 -1
View File
@@ -5,7 +5,7 @@ description: Apply British English spelling and grammar as a global default when
# British English
Conventions for writing in British English, as distinct from American English. Follow these rules consistently throughout a document.
Conventions for writing in British English, as distinct from American English.
## Spelling
+26
View File
@@ -0,0 +1,26 @@
{
"name": "Claude Code Skills",
"skills": [
{
"name": "british-english",
"description": "Apply British English spelling and grammar conventions to project documents and code",
"repository": "https://onixbyte.dev/onixbyte/claude-code-skills",
"branch": "main",
"path": "british-english"
},
{
"name": "commit-message",
"description": "Generate well-formatted git commit messages following conventional commits",
"repository": "https://onixbyte.dev/onixbyte/claude-code-skills",
"branch": "main",
"path": "commit-message"
},
{
"name": "spring-boot",
"description": "Add JPA CRUD resources following Spring Boot layered architecture",
"repository": "https://onixbyte.dev/onixbyte/claude-code-skills",
"branch": "main",
"path": "spring-boot"
}
]
}
+8 -8
View File
@@ -507,14 +507,14 @@ A protected no-arg constructor is required by JPA. Static factories (`fromReques
public interface UserMapper {
@Select("""
SELECT id, email, display_name AS displayName, status, created_at AS createdAt
SELECT id, email, display_name, status, created_at
FROM users
WHERE id = #{id}
""")
Optional<UserEntity> findById(Long id);
@Select("""
SELECT id, email, display_name AS displayName, status, created_at AS createdAt
SELECT id, email, display_name, status, created_at
FROM users
<where>
<if test="email != null">AND email LIKE CONCAT('%', #{email}, '%')</if>
@@ -780,11 +780,12 @@ com.example.app/
│ └── UserMapper.java (MyBatis, when needed)
├── entity/
│ └── UserEntity.java
├── request/
│ ├── CreateUserRequest.java
│ ├── UpdateUserRequest.java
└── UserSearchCriteria.java
├── response/
├── domain/
│ ├── request/
│ ├── CreateUserRequest.java
│ ├── UpdateUserRequest.java
│ │ └── UserSearchCriteria.java
│ └── response/
│ └── UserResponse.java
└── enums/
└── UserStatus.java
@@ -822,4 +823,3 @@ public class App {
- Spring Data JPA Reference
- Jakarta Bean Validation 3.0
- springdoc-openapi 2.x
- 阿里巴巴《Java 开发手册》(层结构、Manager/Client 命名来源)