Agent skill

Houndarr Changelog

by av1155 in av1155/houndarr

Houndarr's CHANGELOG.md style guide and entry rules. An agent skill from av1155/houndarr.

AGPL-3.0Auto-check passedDevelopment

Install Houndarr Changelog

skills CLI
$ npx skills add av1155/houndarr --skill houndarr-changelog -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install av1155/houndarr houndarr-changelog --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/av1155/houndarr.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/houndarr-changelog .claude/skills/houndarr-changelog && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
houndarr-changelog
GitHub stars
292
Token cost
~2.2k tokens
SKILL.md length
1,042 words
Files
1
Skills in repo
9
Repo updated
First seen
Licence
AGPL-3.0

At a glance

Houndarr's CHANGELOG.md style guide and entry rules. An agent skill from av1155/houndarr.

  • Works in 2 steps: PR-time (version-check.yml): Runs on PRs… → Tag-time (release.yml): Validates…
  • Tasks that involve Changelog and release notes
  • SKILL.md covers Voice (noun-led, present tense), Length, Vocabulary the operator can… and Banned phrasings (drift…, plus 8 more sections
  • Calls helm

What it does

Houndarr Changelog is an agent skill from av1155/houndarr. Houndarr's CHANGELOG.md style guide and entry rules. Loads when reading or editing CHANGELOG.md or VERSION. Covers the noun-led present-tense voice, the 80-160 character length target, vocabulary the operator can act on, banned phrasings, what does not belong in a changelog, separator rules, and the bullet-justification protocol that prevents drafting from PR titles or memory.

Its SKILL.md is about 2.2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Development, covering Changelog and release notes. It works with Python and Docker. The repository describes itself as: Self-hosted arr companion for controlled missing, cutoff, and upgrade searches. The licence is AGPL-3.0.

When your agent uses it

  • Tasks that involve Changelog and release notes

Example prompts

  • “/houndarr-changelog”

Requirements

  • Python 3
  • Docker

Workflow steps

2 steps, taken from the first numbered list in SKILL.md.

  1. PR-time (version-check.yml): Runs on PRs touching VERSION or
  2. Tag-time (release.yml): Validates VERSION == tag, extracts the

What it can do on your machine

Read from SKILL.md and the folder at commit 9b39fdb. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • helm

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use helm, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Houndarr Changelog loads about 2.2k tokens when it runs. Until then it costs about 100 tokens; SKILL.md has 1,042 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~100
When it runs · the whole SKILL.md, loaded when a task matches
~2.2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from av1155/houndarr at commit 9b39fdb, republished under its AGPL-3.0 licence (© av1155). 1,042 words, ~2,211 tokens.

Download SKILL.mdSave it as .claude/skills/houndarr-changelog/SKILL.md (or your agent's skills folder).
name
houndarr-changelog
description
Houndarr's CHANGELOG.md style guide and entry rules. Loads when reading or editing CHANGELOG.md or VERSION. Covers the noun-led present-tense voice, the 80-160 character length target, vocabulary the operator can act on, banned phrasings, what does not belong in a changelog, separator rules, and the bullet-justification protocol that prevents drafting from PR titles or memory.
paths
CHANGELOG.md, VERSION

Houndarr changelog conventions

The audience is self-hosters and homelab operators running Houndarr in Docker or Kubernetes alongside the *arr stack. They read config files, env vars, log lines, and SQLite schemas; they do not read the Python source. Tune every bullet for that reader.

Voice (noun-led, present tense)

The category heading carries the verb (### Added, ### Fixed, ### Changed). Bullets describe the post-change state from the reader's vantage point, not the maintainer's action:

  • Good: Logs page distinguishes a fresh install (No log entries yet) from a filter that matches nothing (No entries match those filters.). (#566)
  • Avoid: We added a fresh-install vs filter-empty distinction to the logs page. (narrator voice)
  • Avoid: Distinguish fresh-install from filter-empty on the logs page. (imperative; reserved for SDK changelogs)

This matches the convention used by Authelia, AdGuard Home, Plausible, Caddy, and other self-hosted tools targeting the same audience.

Length

  • Target: 80 to 160 characters per bullet.
  • Hard ceiling: 250 characters. A bullet longer than that must split into two unrelated bullets, or the second clause moves to the PR body.
  • One sentence per bullet. A second sentence is permitted only when a migration or upgrade-affecting consequence must ride with the change (rare).

Vocabulary the operator can act on, only

  • Use: env var names (HOUNDARR_COOKIE_SAMESITE), config keys, schema version numbers (Schema v16), database column names that survive in the SQLite file (monitored_total, whisparr_episode), HTTP routes (/api/status), log strings the operator can grep (hourly limit reached (N/hr)), CVE IDs, dependency versions when a security or behaviour change ties to the bump.
  • Avoid: internal Python class names (InstanceValidationError, AuthMiddleware._dispatch_proxy), private helpers (_redirect_guard, _run_search_pass), file paths under src/, module attribute names that have no user surface. Describe the user-visible behaviour instead.
  • Borderline: public library types that surface in tracebacks (httpx.TransportError). Allowed when the user actually sees the type name in their logs, otherwise paraphrase to "transport-level error".

Banned phrasings (drift signals; rewrite or drop)

  • Vague: "Various bug fixes", "Minor improvements", "Misc updates", "Bug fixes and stability improvements".
  • Marketing: "We are thrilled to...", "delightful new experience", "groundbreaking", "exciting".
  • Magic adverbs without measurement: "seamlessly", "robustly", "significantly", "dramatically". Either quantify ("reduces idle CPU by 60%") or omit.
  • Empty verbs: "leverages", "utilizes", "harnesses", "facilitates". Pick the concrete verb.
  • Vague comparatives: "Improved error handling", "Enhanced UX", "Better performance". Name the change: "Connection errors now log at WARNING with the instance name."
  • Bold lead-ins: **Performance:** faster X. Plain bullet.
  • Marketing trail clauses: "for a smoother experience". Stop at the technical fact.
  • Past-tense narration: "We added...", "We fixed...". Drop the pronoun.
  • Em dashes anywhere (project-wide rule; use a colon, semicolon, comma, period, or parentheses).

What does NOT belong in the changelog

  • Pure refactors with no user-visible behaviour change (Common Changelog explicitly excludes these; they live in PR bodies).
  • Test-only changes.
  • Docs-only changes (the docs site has its own deploy log).
  • CI / workflow changes that do not affect deployers. Note the qualifier: a workflow change that alters what a release ships (signatures, attestations, published assets, image contents) does reach deployers and is bulleted.
  • Dependency bumps with no security or behaviour impact.

Schema version bumps

When a release ships a SQLite schema migration, name the schema number, what the migration touches, and any rollback constraint. An AdGuard-Home-style "to roll back, downgrade to <previous tag>" line helps operators who restore from a backup.

Examples (verbatim from the repo, judged)

  • Exemplary: Helm chart `appVersion` is now prefixed with `v` so it matches the published Docker image tags. (#364) (102 chars; named user-visible attribute; one causal clause).
  • Exemplary: Hourly rate-limit skip rows now read `hourly limit reached (N/hr)` across missing, cutoff, and upgrade passes. (#491) (names the exact log string the operator greps for).
  • Over-technical (rewrite before merging): Curated `InstanceValidationError.public_message` text replaces the raw exception in instance validation banners should read Instance validation banner shows a curated message instead of the raw Python exception.
  • Over-technical (rewrite): Random search order now uses a stratified-shuffle page deck plus partial-page sentinel padding should read Random search order spreads dispatch probability uniformly across the backlog so no page is over- or under-selected.
Show full SKILL.md (377 more words)Show less

CHANGELOG entry rules

CHANGELOG.md always carries a ## [Unreleased] section above every versioned block:

markdown
## [Unreleased]

### Added

- One sentence per bullet. (#N)

### Fixed

- One sentence. User-facing impact first. Issue/PR ref at end (#N).

---

## [X.Y.Z] - YYYY-MM-DD

### Added

- One sentence per bullet. (#N)

### Changed

- One sentence per bullet. (#N)

### Fixed

- One sentence per bullet. (#N)

### Removed

- One sentence per bullet. (#N)

---

Allowed ### headers (Keep a Changelog 1.1.0): Added, Changed, Deprecated, Removed, Fixed, Security. Level-4 #### subheadings may group items within ### sections for major releases. Omit any section that has no entries.

Bullet rules

  • Add the bullet to ## [Unreleased] as part of the same PR that ships the change. /bump promotes the accumulated Unreleased block to a versioned heading at release time.
  • Every bullet must be justified by a PR-body sentence, a diff fragment, or a source file:line. Do not draft from PR titles, commit messages, or memory alone. The verification protocol lives in .agents/skills/bump/SKILL.md §3b; skipping it is what shipped the inaccurate v1.9.0 bullets that had to be corrected in #420.
  • Adopt the PR author's vocabulary for nuance. If the PR body says "new default for fresh installs; existing instances keep their prior behaviour," the bullet says "new default for newly added instances," not "new default."
  • One sentence per bullet; no multi-line prose.
  • Lead with user-facing impact, not implementation details.
  • End with (#N) issue/PR reference.
  • Use backticks for identifiers, file names, env vars, UI elements.
  • Use markdown [text](url) syntax for links; bare URLs do not auto-link in the in-app What's New modal (GitHub's CHANGELOG view autolinks both, but the modal's _render_changelog_bullet filter only accepts the [text](url) form).
  • Be specific: Connection errors now log at WARNING with instance name not Improved error handling.

Separators

Both ## [Unreleased] and every versioned block end with a --- line (blank line before and after). The fresh Unreleased block reseeded by /bump carries only the heading and the trailing ---.

Non-user-facing PRs

CI-only, refactor-only, test-only, docs-only, and chore/infrastructure changes do not get a Changelog bullet. The /ship workflow filters these out automatically.

CI-enforced validation

  1. PR-time (version-check.yml): Runs on PRs touching VERSION or CHANGELOG.md. Validates VERSION format, requires ## [Unreleased] as the topmost ## [...] block, validates the Unreleased block's ### headers + trailing --- separator, and validates the ## [VERSION] - YYYY-MM-DD block matches VERSION with valid ### headers + trailing ---.
  2. Tag-time (release.yml): Validates VERSION == tag, extracts the ## [X.Y.Z] block via awk, creates GitHub Release using --notes-file (avoids backtick shell substitution).

The in-app What's New modal parser (src/houndarr/services/changelog.py) silently skips ## [Unreleased] because the heading lacks the X.Y.Z plus ISO-date suffix that _VERSION_HEADING requires; users only see versioned blocks until /bump promotes Unreleased.

© av1155, AGPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/houndarr-changelog of av1155/houndarr.

Open the folder on GitHubat commit 9b39fdb

Compare with similar skills

Houndarr Changelog next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Houndarr Changelog compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Houndarr Changelog this skillav1155/houndarr292—~2.2kAutomated safety check: PassAGPL-3.0
Release Skillsnexmoe/eve4213 repos~3.3kAutomated safety check: PassNone
Commitizencommitizen-tools/commitizen3.5k—~839Automated safety check: PassMIT
pybind11 Release Preparationpybind/pybind1118k—~1.7kAutomated safety check: PassCustom licence
pybind11 Release Publicationpybind/pybind1118k—~2.5kAutomated safety check: PassCustom licence
EverOS Release WorkflowEverMind-AI/EverOS13k—~1.3kAutomated safety check: PassApache-2.0

Similar skills

  • Release Skills

    nexmoe/eve

    Universal release workflow. An agent skill from nexmoe/eve.

    421 GitHub starsUsed in 3 repos~3.3k tokens
    DevelopmentAuto-check passed
  • Commitizen

    commitizen-tools/commitizen

    A skill your agent uses for tasks involving Conventional Commits, commit message validation, Commitizen configuration, semantic version bumps, changelog generation, or CI/release automation with the…

    3.5k GitHub stars~839 tokensUpdated 3 days ago
    DevelopmentAuto-check passed
  • Opens the pybind11 release-preparation pull request: picking the release base, bumping the version in common.h and integrating the changelog, following docs/release.rst.

    18k GitHub stars~1.7k tokensUpdated 2 days ago
    DevelopmentAuto-check passed
  • Walks a maintainer through publishing a pybind11 release after the preparation PR merges, with preflight checks, confirmations before each push and a GitHub release.

    18k GitHub stars~2.5k tokensUpdated 2 days ago
    DevelopmentAuto-check passed
  • EverOS Release Workflow

    EverMind-AI/EverOS

    Walks through cutting a versioned everos release: bump the version, update the changelog, tag it, and review the drafted GitHub Release page before publishing.

    13k GitHub stars~1.3k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Pre Release

    ZhuoZhuoCrayon/throttled-py

    Automates release preparation for throttled-py. An agent skill from ZhuoZhuoCrayon/throttled-py.

    651 GitHub stars~1.1k tokensUpdated 1 mo ago
    DevelopmentAuto-check passed

More from av1155/houndarr

All 9 skills in this repo
  • Bump

    av1155/houndarr

    Bump Houndarr version and prepare a release PR. An agent skill from av1155/houndarr.

    292 GitHub stars~1.2k tokensUpdated 5 days ago
    Auto-check passed
  • Check

    av1155/houndarr

    Run Houndarr's full quality gate (ruff lint, ruff format check, mypy, bandit, pytest) and report results in a single table.

    292 GitHub stars~366 tokensUpdated 5 days ago
    Auto-check passed
  • Houndarr Architecture

    av1155/houndarr

    Houndarr's source layout and architectural patterns at file granularity.

    292 GitHub stars~2k tokensUpdated 5 days ago
    Auto-check passed
  • Houndarr Testing

    av1155/houndarr

    Houndarr's pytest patterns. An agent skill from av1155/houndarr.

    292 GitHub stars~1k tokensUpdated 5 days ago
    Auto-check passed
  • Verify Algorithms

    av1155/houndarr

    Verify probabilistic, distributional, or random behaviour empirically before changing search-engine code.

    292 GitHub stars~1.6k tokensUpdated 5 days ago
    Auto-check passed
  • Houndarr CI

    av1155/houndarr

    Houndarr's CI workflow reference and branch protection. An agent skill from av1155/houndarr.

    292 GitHub stars~1.2k tokensUpdated 5 days ago
    Auto-check passed

Works with

Categories

Questions about Houndarr Changelog

What does Houndarr Changelog do?

Houndarr's CHANGELOG.md style guide and entry rules. An agent skill from av1155/houndarr. Houndarr Changelog is an agent skill from av1155/houndarr.md style guide and entry rules.

When should I use Houndarr Changelog?

Houndarr Changelog fits situations like: tasks that involve Changelog and release notes.

How do I install Houndarr Changelog in Claude Code?

Run `npx skills add av1155/houndarr --skill houndarr-changelog -a claude-code`. Or copy the skill folder (.agents/skills/houndarr-changelog in av1155/houndarr) into .claude/skills/houndarr-changelog in your project. Claude Code loads it when a task matches its description.

How do I install Houndarr Changelog in Codex?

Run `npx skills add av1155/houndarr --skill houndarr-changelog -a codex`. Or copy the skill folder (.agents/skills/houndarr-changelog in av1155/houndarr) into .agents/skills/houndarr-changelog in your project. Codex loads it when a task matches its description.

Can I use Houndarr Changelog in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add av1155/houndarr --skill houndarr-changelog -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/houndarr-changelog, .gemini/skills/houndarr-changelog, .github/skills/houndarr-changelog and .opencode/skills/houndarr-changelog in your project.

What does Houndarr Changelog need to run?

Going by SKILL.md and its folder, Houndarr Changelog needs the command-line tools its instructions call (helm). Our summary lists: Python 3; Docker.

Does Houndarr Changelog access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Houndarr Changelog safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Houndarr Changelog use?

Houndarr Changelog is published under the AGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Houndarr Changelog use?

About 2.2k tokens (SKILL.md is roughly 8.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Houndarr Changelog?

Skills that share tags, products or a category with Houndarr Changelog: Release Skills (nexmoe/eve, 421 stars), Commitizen (commitizen-tools/commitizen, 3.5k stars), pybind11 Release Preparation (pybind/pybind11, 18k stars) and pybind11 Release Publication (pybind/pybind11, 18k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Houndarr Changelog?

av1155 (a GitHub user) maintains it in av1155/houndarr, which has 292 GitHub stars. The repository holds 9 skills in this directory. The repository was last updated on October 5, 2026.

Source: av1155/houndarr on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.