Agent skill

Houndarr Python

by av1155 in av1155/houndarr

Houndarr-specific Python conventions on top of the global python skill.

AGPL-3.0Auto-check passedDevelopment

Install Houndarr Python

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

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

GitHub CLI
$ gh skill install av1155/houndarr houndarr-python --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-python .claude/skills/houndarr-python && 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-python
GitHub stars
292
Token cost
~1.2k tokens
SKILL.md length
484 words
Files
1
Skills in repo
9
Repo updated
First seen
Licence
AGPL-3.0

At a glance

Houndarr-specific Python conventions on top of the global python skill.

  • Development work in your project
  • SKILL.md covers Imports, Naming conventions, Dataclass invariants and Logging, plus 5 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Houndarr Python is an agent skill from av1155/houndarr. Houndarr-specific Python conventions on top of the global python skill. Loads when reading or editing .py files in this repo. Covers the noqa/nosec suppression table, the AppSettings-as-plain-dataclass decision, the frozen-dataclass-with-slots invariant for domain models, the per-module logger pattern, and the background-task error-handling shape.

Its SKILL.md is about 1.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. It works with Python. 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

  • Development work in your project

Example prompts

  • “/houndarr-python”

Requirements

  • Python 3

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

    No scripts in the folder and no shell commands in SKILL.md.

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

  • Network

    Links to these hosts (documentation or services it may open):

    • github.com

    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 Python loads about 1.2k tokens when it runs. Until then it costs about 91 tokens; SKILL.md has 484 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~91
When it runs · the whole SKILL.md, loaded when a task matches
~1.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). 484 words, ~1,211 tokens.

Download SKILL.mdSave it as .claude/skills/houndarr-python/SKILL.md (or your agent's skills folder).
name
houndarr-python
description
Houndarr-specific Python conventions on top of the global python skill. Loads when reading or editing .py files in this repo. Covers the noqa/nosec suppression table, the AppSettings-as-plain-dataclass decision, the frozen-dataclass-with-slots invariant for domain models, the per-module logger pattern, and the background-task error-handling shape.
paths
**/*.py

Houndarr-specific Python conventions

Apply alongside the global python skill. The global skill covers PEP 604 unions, lowercase generics, mypy strict, naming, etc. This skill adds the Houndarr-specific decisions that are not generic Python good-practice.

Imports

from __future__ import annotations is mandatory in every .py file that contains code. Empty __init__.py package markers are exempt. isort runs via Ruff with known-first-party = ["houndarr"].

Naming conventions

KindStyleExample
Classes / dataclassesPascalCaseSonarrClient, AppSettings
Functions / methodssnake_casecreate_instance, run_instance_search
Private helpers_leading_underscore_write_log, _render
ConstantsUPPER_SNAKE_CASESESSION_MAX_AGE_SECONDS, SCHEMA_VERSION
Module-level state_leading_underscore_db_path, _runtime_settings
EnumsStrEnum, lowercase valuesInstanceType.sonarr
Type aliasesPascalCase or LiteralRunNowStatus = Literal["accepted", "not_found", "disabled"]

Dataclass invariants

  • AppSettings is a plain dataclass, not Pydantic. Pydantic is used only at the *arr wire boundary (src/houndarr/clients/_wire_models/), never for internal domain models or config. get_settings() is a lazy singleton and the only deliberately-mutable dataclass (env overrides applied in-place).
  • Every frozen dataclass uses slots=True. Domain models (MissingEpisode, LibraryMovie, etc.) live next to the client that builds them; Instance composes seven frozen sub-structs and is itself frozen and slotted. Callers evolve through dataclasses.replace.

Logging

Every module that logs uses logger = logging.getLogger(__name__) at module level. Root logger is configured in __main__.py via logging.basicConfig(). No alternative logging libraries (structlog, loguru) are used.

Error handling shape

  • Background tasks: except asyncio.CancelledError: raise first, then broad except Exception with # noqa: BLE001; log + continue/retry.
  • HTTP clients: response.raise_for_status() in _get() / _post(); callers catch httpx.HTTPError or httpx.TransportError.
  • Auth helpers: catch-all returns False (never leaks info).
  • Routes: return re-rendered templates with status_code=422 for validation errors; use HTTPException in API routes.

Docstrings

  • Module-level docstring on every file that contains code.
  • Google-style for functions: Args:, Returns:, Raises: sections.
  • Test functions may use brief single-line docstrings.
Show full SKILL.md (206 more words)Show less

Comments

Read docs/commenting-standard.md at least once per session before writing or editing code in this repo. It codifies the full commenting standard (per-language rules for Python, HTML/Jinja2, CSS, JS, SQL, YAML, shell, Markdown) plus the universal principles. Core rule: comments explain why, code explains what.

Known noqa / nosec suppressions

CodeReason
SIM117Nested async with required by aiosqlite pattern
S104Intentional bind to 0.0.0.0 for self-hosted server
B008FastAPI Depends() in function defaults
S608 + nosecDynamic SQL with explicit column allowlist (4 files). Use bare # nosec (no test ID) per bandit#1204: the test-ID form emits a spurious WARNING nosec encountered (B608), but no failed test per f-string interpolation on bandit 1.7.3+
BLE001Broad exception in background loops (always with logging)
A002Parameter names type / id shadowing builtins (FastAPI form / function signature convention)
SLF001Test fixtures and __main__.py accessing private module state
PLW0603Module-level global reassignment (singletons); the PLW rule family is not currently selected in ruff config, so these comments are defensive / inert
S101Defensive assert in adapters and instance validation; also globally ignored in ruff config. Per-file comments are defensive.

Type annotations (Houndarr-specific reminders)

  • Tests are exempt from ANN rules (per-file-ignores in pyproject.toml).
  • collections.abc.AsyncGenerator, not typing.AsyncGenerator.
  • Specific error codes: # type: ignore[assignment]; never bare # type: ignore.

© 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-python of av1155/houndarr.

Open the folder on GitHubat commit 9b39fdb

Compare with similar skills

Houndarr Python 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 Python compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Houndarr Python this skillav1155/houndarr292—~1.2kAutomated safety check: PassAGPL-3.0
Code Review ChecklistshareAI-lab/learn-claude-code78k5 repos~1.1kAutomated safety check: PassMIT
Summarise Ecosystem Resultsastral-sh/ruff50k1 repos~2.2kAutomated safety check: PassMIT
Minimizing Ty Ecosystem Changesastral-sh/ruff50k—~4.6kAutomated safety check: PassMIT
Merge Dependabot PRsonyx-dot-app/onyx32k1 repos~2.2kAutomated safety check: PassMIT
Code Graph Mermaid Diagramstrailofbits/skills7.4k1 repos~1.7kAutomated safety check: PassCC-BY-SA-4.0

Similar skills

  • Code Review Checklist

    shareAI-lab/learn-claude-code

    Reviews code against a five-part checklist covering security, correctness, performance, maintainability and testing, and reports findings in a fixed format.

    78k GitHub starsUsed in 5 repos~1.1k tokens
    DevelopmentAuto-check passed
  • Official

    A skill your agent uses when a user says "summarise ecosystem results", "summarize this ty ecosystem report", "what changed in this ecosystem run?", or asks to summarise or summarize ty ecosystem…

    50k GitHub starsUsed in 1 repo~2.2k tokens
    DevelopmentAuto-check passed
  • Official

    A skill your agent uses when a user says "minimize this ty ecosystem change", "reproduce this ecosystem result", "investigate a primer difference", "investigate a mypyprimer difference"…

    50k GitHub stars~4.6k tokensUpdated today
    DevelopmentAuto-check passed
  • Merge Dependabot PRs

    onyx-dot-app/onyx

    Triages and lands a batch of open Dependabot PRs in the Onyx repo, where main is gated exclusively by GitHub's merge queue: approves and enqueues green PRs, closes superseded duplicates, fixes…

    32k GitHub starsUsed in 1 repo~2.2k tokens
    DevelopmentAuto-check passed
  • Code Graph Mermaid Diagrams

    trailofbits/skills

    Official

    Generates Mermaid diagrams from Trailmark code graphs, including call graphs, class hierarchies, module dependency maps, complexity heatmaps and attack surface data flows.

    7.4k GitHub starsUsed in 1 repo~1.7k tokens
    DevelopmentAuto-check passed
  • CLI Developer

    Jeffallan/claude-skills

    Walks through designing, building and polishing a command-line tool: user workflow and command hierarchy, implementation in commander, click, typer or cobra, completions and cross-platform testing.

    12k GitHub starsUsed in 2 repos~1.2k tokens
    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 2 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 2 days ago
    Auto-check passed
  • Houndarr Architecture

    av1155/houndarr

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

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

    av1155/houndarr

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

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

    av1155/houndarr

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

    292 GitHub stars~1k tokensUpdated 2 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 2 days ago
    Auto-check passed

Works with

Categories

Questions about Houndarr Python

What does Houndarr Python do?

Houndarr-specific Python conventions on top of the global python skill. Houndarr Python is an agent skill from av1155/houndarr. Houndarr-specific Python conventions on top of the global python skill.

When should I use Houndarr Python?

Houndarr Python fits situations like: development work in your project.

How do I install Houndarr Python in Claude Code?

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

How do I install Houndarr Python in Codex?

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

Can I use Houndarr Python 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-python -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-python, .gemini/skills/houndarr-python, .github/skills/houndarr-python and .opencode/skills/houndarr-python in your project.

What does Houndarr Python need to run?

SKILL.md names no scripts, command-line tools or credentials: Houndarr Python is instructions for the agent only. Our summary lists: Python 3.

Does Houndarr Python access the network?

SKILL.md names 1 domain. As links in the text: github.com. This is read from the text; nothing was executed.

Is Houndarr Python 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 Python use?

Houndarr Python 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 Python use?

About 1.2k tokens (SKILL.md is roughly 4.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 Python?

Skills that share tags, products or a category with Houndarr Python: Code Review Checklist (shareAI-lab/learn-claude-code, 78k stars), Summarise Ecosystem Results (astral-sh/ruff, 50k stars), Minimizing Ty Ecosystem Changes (astral-sh/ruff, 50k stars) and Merge Dependabot PRs (onyx-dot-app/onyx, 32k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Houndarr Python?

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.