.opencode/skills/changelog/SKILL.md
Use when updating CHANGELOG.md for a release or user-facing change
npx skillsauth add recyclarr/recyclarr changelogInstall 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.
CHANGELOG format and conventions for documenting Recyclarr releases.
Recyclarr uses keepachangelog.com format. The audience is non-technical end users who run Recyclarr but do not read source code. They care about what changed in their experience, not why or how.
File: CHANGELOG.md
Section order: Added, Changed, Deprecated, Removed, Fixed, Security
Entry format: - Scope: Description (#NNN)
### Fixed
- Sync: Crash while processing quality profiles (#720)
[Unreleased] section near the top of the file(#NNN) at the end of the entry when an issue exists. Omit when
there is no associated issue.CRITICAL: Changelog entries must contain ZERO implementation details. Every entry must pass this filter before being written.
Never mention any of the following:
Litmus test: If a reader would need to look at source code to understand a term, that term does not belong in the changelog.
Transformation process: When writing an entry, draft it, then strip every technical term. Restate the user-visible symptom or behavior in plain language.
# BAD: Leaks library name and internal concept
- CLI: Automatically switch to log output mode when stdout is redirected (non-TTY),
preventing garbled output from Spectre.Console animations in cron jobs and piped
commands
# GOOD: Describes the user-visible behavior only
- CLI: Automatically switch to log output mode when stdout is redirected, preventing
garbled output in cron jobs and piped commands
# BAD: Exposes internal error type
- Config: NullReferenceException when quality_profiles section is empty
# GOOD: States the symptom
- Config: Crash when quality_profiles section is empty
# BAD: References internal architecture
- Sync: Pipeline transaction phase fails to persist custom format mappings to cache
# GOOD: States what the user observes
- Sync: Custom format changes not saved between syncs
# BAD: Mentions HTTP details
- Config: Trailing slash in base_url caused HTTP 401 Unauthorized from Sonarr API
# GOOD: States the user-facing result
- Config: Trailing slash in `base_url` caused authentication errors
Required for any release with breaking changes:
## [X.0.0] - YYYY-MM-DD
This release contains **BREAKING CHANGES**. See the [vX.0 Upgrade Guide][breakingX] for required
changes you may need to make.
[breakingX]: https://recyclarr.dev/guide/upgrade-guide/vX.0/
### Changed
- **BREAKING**: Description of breaking change
Check if deprecation was in a prior release:
git log --oneline --diff-filter=A -- "path/to/deprecation" | tail -1
git tag --contains <sha> | grep -E '^v[0-9]'
X has been removed."X option has been removed. Use Y instead."tools
Use when deciding whether to extract shared abstractions across similar-but-independent types, code-generated clients, or parallel implementations serving different external systems
testing
Use when creating or editing ADRs or PDRs in docs/decisions/
testing
Create, edit, improve, or audit AgentSkills. Use when creating a new skill from scratch or when asked to improve, review, audit, tidy up, or clean up an existing skill or SKILL.md file. Also use when editing or restructuring a skill directory (moving files to references/ or scripts/, removing stale content, validating against the AgentSkills spec). Triggers on phrases like "create a skill", "author a skill", "tidy up a skill", "improve this skill", "review the skill", "clean up the skill", "audit the skill".
testing
Host security hardening and risk-tolerance configuration for OpenClaw deployments. Use when a user asks for security audits, firewall/SSH/update hardening, risk posture, exposure review, OpenClaw cron scheduling for periodic checks, or version status checks on a machine running OpenClaw (laptop, workstation, Pi, VPS).