.claude/skills/implement/SKILL.md
Implement features, fix bugs, or refactor source code. Use when asked to add functionality, modify source code, or improve code structure. Not for documentation-only changes.
npx skillsauth add adobe/s3mock implementInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Before making any changes: Read
AGENTS.md(root + relevant module). These files are the authoritative source for architecture, conventions, and guardrails — they must be read, not skipped.
A complete feature implementation requires these skills — run them in sequence:
refactor skill — if nearby existing code, tests, or configuration would benefit from cleanup before adding new code, do it first rather than working around itimplement skill (this skill) — write the production codelint skill — fix formatting and verify style gates passtest skill — add/update unit and integration tests (*Test.kt, *IT.kt)document skill — update CHANGELOG.md, README.md, and AGENTS.md where applicablePrefer refactoring over workarounds: if you find yourself adding complexity to work around existing code, stop and invoke the
refactorskill to clean it up first.
Follow DTO → Store → Service → Controller (see AGENTS.md Architecture):
server/.../dto/): Data classes with Jackson XML annotations. Verify element names against AWS S3 API docs.server/.../store/): Filesystem operations. Follow existing patterns for metadata JSON and binary data.server/.../service/): Business logic, validation, store coordination. Throw S3Exception constants.server/.../controller/): HTTP mapping only — delegate all logic to services.AGENTS.md (required before any other step)2017-<current year> in the header of every file you modifylint skill to fix formatting and verify style gates passtest skill to add/update unit and integration testsdocument skill to update CHANGELOG.md, README.md, and AGENTS.mdlint skillmake skip-docker to isolatedevelopment
Write, update, or fix tests. Use when asked to test code, create test cases, or debug failing tests.
development
Review code changes in PRs or local diffs. Use when asked to review a PR, inspect changes, or provide feedback on code quality.
development
Fix code style issues and ensure linting passes. Use when asked to fix lint errors, formatting issues, or when ktlint or Checkstyle violations are reported.
development
Generate or update project documentation. Use when asked to document code, create docs, explain features, or fix formatting, wording, or style in existing documentation files.