Add lint skill and wire it into the agent skill workflow#2985
Add lint skill and wire it into the agent skill workflow#2985
Conversation
Co-authored-by: afranken <763000+afranken@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
This PR introduces a dedicated lint skill for the S3Mock agent skill workflow, consolidating scattered references to make format and providing comprehensive guidance on both ktlint and Checkstyle linting tools.
Changes:
- Added new
.claude/skills/lint/SKILL.mddocumenting ktlint (auto-fix) and Checkstyle (manual fix) workflows - Integrated lint skill as step 3 in the implement skill workflow (between coding and testing)
- Updated implement, refactor, test, and review skills to reference the lint skill instead of bare
make formatcommands - Enhanced AGENTS.md to clarify that
make formatis ktlint-specific and point to the lint skill
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
.claude/skills/lint/SKILL.md |
New skill documenting ktlint and Checkstyle linting tools, workflow, and common violations |
.claude/skills/implement/SKILL.md |
Added lint skill as step 3 in workflow; replaced make format references with lint skill invocations |
.claude/skills/refactor/SKILL.md |
Updated checklist to invoke lint skill instead of running make format |
.claude/skills/test/SKILL.md |
Updated checklist to invoke lint skill instead of running make format |
.claude/skills/review/SKILL.md |
Extended CI gates checklist to suggest lint skill when style violations found |
AGENTS.md |
Annotated make format as ktlint-specific; added pointer to lint skill for complete linting |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| - Wrong indentation (4 spaces for Kotlin) | ||
| - Unused or wildcard imports | ||
| - Missing trailing newline | ||
| - Line length (max 120 characters — see `.editorconfig`) |
There was a problem hiding this comment.
The reference to .editorconfig for line length is incorrect. The .editorconfig file does not contain a max_line_length setting for Kotlin files. Ktlint uses 120 characters as its default maximum line length when not explicitly configured. The documentation should state this is the ktlint default rather than referencing .editorconfig.
| - Line length (max 120 characters — see `.editorconfig`) | |
| - Line length (ktlint default: max 120 characters) |
| ## ktlint (Kotlin) | ||
|
|
||
| `make format` auto-fixes most issues. Common violations: | ||
| - Wrong indentation (4 spaces for Kotlin) |
There was a problem hiding this comment.
The indentation specification is incorrect. According to the .editorconfig file (line 8), the default indent_size is 2 spaces, and there's no Kotlin-specific override. Kotlin files in this project use 2 spaces for indentation, not 4. This can be verified by examining any Kotlin file in the server/src directory.
| - Wrong indentation (4 spaces for Kotlin) | |
| - Wrong indentation (2 spaces for Kotlin) |
| ## Checkstyle (Java / XML) | ||
|
|
||
| Violations must be fixed manually. Common violations (config in `etc/checkstyle.xml`): | ||
| - Wrong indentation (2 spaces for Java) |
There was a problem hiding this comment.
The indentation specification is incorrect. According to the .editorconfig file (line 8), the default indent_size is 2 spaces for all files including Java. There's no Java-specific override that changes this to 2 spaces - it's already 2 spaces by default. The statement about "2 spaces for Java" is technically correct but misleading since it's the same as the default for all files in the project.
| - Wrong indentation (2 spaces for Java) | |
| - Wrong indentation (2 spaces, per `.editorconfig`) |
The agent skill set had no dedicated lint skill, leaving
make formatmentioned ad-hoc in multiple skills with no guidance on Checkstyle. This adds a first-classlintskill and replaces scattered references consistently.New skill:
.claude/skills/lint/SKILL.mdmake format) and Checkstyle (manual fix via./mvnw checkstyle:check)Updated skills
implement— insertslintas step 3 in the Skill Workflow (after writing code, beforetest); replaces baremake formatin checklist and troubleshootingrefactor,test— replacemake formatchecklist items with lint skill referencesreview— extends the CI gates checklist item to suggest invoking the lint skill when style violations are foundUpdated
AGENTS.mdmake formatas(ktlint)in the Build section✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.