claude

pyhouse-universal

Python house-style rules that bind whichever architecture a service uses: naming derivation, typing and logging forms, the package and re-export contract, settings read from the environment, the data-access obligations every store meets, what a program owes a unit delivered at least once, the lint, type-check and dependency configuration every distribution carries once, the single error catalogue, what a distribution's version promises and which change moves it, the testing constitution, the workspace root for a repository holding several distributions, the container image a runnable program ships in, and a command-line interface's commands, exit codes and their test. Ships the hex-vs-flat architecture chooser and its /choose-architecture command, so a greenfield service can settle its family before installing pyhouse-hex or pyhouse-flat, the /pyhouse-universal:adopt command, which tells a repository's agents which skill governs each kind of Python work, and the namespaced /pyhouse-universal:code-review command with the reviewer subagent behind it, which applies these skills to existing code instead of writing new code, and the /pyhouse-universal:change-review command with the change-reviewer subagent behind it, which reviews a change before it lands for the contracts it breaks, the failure paths nothing catches and the tests that would not notice, each finding with the scenario that goes wrong.

3 on GitHubby Yegor Vorobyevv0.25.0MITupdated 2 days ago
/

Plugin pyhouse-universal from marketplace pyhouse in wntic/pyhouse. Commands read from the repo's manifest — 2 days ago.

What it installs

Skills (18)

  • architecture-choice

    Use when deciding whether a service should be hexagonal or flat-layered — a greenfield service whose family is unsettled, or an existing one that has outgrown the style it was built in. Decides from what the service itself must enforce, names what each choice costs, and states plainly which project

  • at-least-once-delivery

    Use when a program receives units of work another party delivers, and delivers again until they are acknowledged — a queue or stream consumer, a webhook receiver, any handler a broker or a third-party sender calls — or is itself that sender, relaying an effect it recorded with a committed write, as

  • coupling

    Use when asking whether something should be one module or two — splitting a package, extracting a service, merging two, or why a simple area keeps breaking. Weighs shared knowledge, distance and volatility to place a boundary — not which layer layout a service uses (`hex-architecture`, `flat-layered

  • exception-catalog

    Use when adding an error class or reusing one, or translating an SDK or library exception at a boundary. Owns the single catalog file, its root and bare subclasses, the stable codes, the inherited `context` dict, translation with `from exc`, the ban on swallowing a failure, best-effort compensation

  • meta-skill-author

    Use when creating a skill or reviewing its format. Defines the catalogue frontmatter and its real length limits, the two-layer principle/binding anatomy, the five-question portability gate, section order, skill shapes, naming, rule ownership, and which plugin a skill belongs to.

  • naming

    Use when deciding what something is called — what should I call this module or class, this name is vague, rename this, re-derive a ported or generated name. Owns the derivation procedure, the six naming tests, the `I` prefix on ports, the error-class and repository-class identifier forms, the vague-

  • persistence

    Use when code reads or writes a datastore, written or reviewed, in any project whatever its architecture — beside the family's data-access skill whenever its templates are written, since the obligations they satisfy are stated here — who owns a transaction, where a driver error is translated and wha

  • python-cli

    Use when writing or changing a Python command-line interface — a CLI tool, or a command added to a service of either family — its commands and their arguments, the exit code each outcome leaves, and the test that invokes them. Owns the thin command that parses its arguments, calls one ordinary typed

  • python-container-image

    Use when a Python program that ships as a container image gets its image build or changes it — a Dockerfile and its ignore file, the base image, how dependencies get in, the user the process runs as, or how the platform's stop signal reaches the process. Owns a runtime image carrying only the instal

  • python-logging

    Use when writing code that reports what it did or what went wrong — a log call, a `print` for progress or errors, an `except` that records a failure, or logging setup in an entry point, a CLI or a library. Owns one structured event per occurrence with a stable `<subject>_<past_tense_verb>` name and

  • python-packaging

    Use when the question is the mechanics around a module rather than what it is called — `__init__.py`, `__all__`, a re-export, one file or two modules, relative versus absolute imports, a circular import, or whether this needs a class at all. Owns when a class earns its place and the one-class-per-mo

  • python-settings

    Use when a program reads configuration from its environment — writing or extending a settings class, deciding whether a field gets a default, carrying a secret, or deciding where the settings object is built and how its values reach the code that uses them. Owns one settings class per configured com

  • python-style

    Use when choosing a type annotation, deciding what shape a record takes as it crosses a boundary, or asking whether a comment belongs here. Owns the 3.13 house interpreter floor for a new deployable project and a distributed package's floor being its consumers', `X | None` over `Optional`, the ban o

  • python-toolchain

    Use when laying down or changing the configuration every Python distribution carries once in `pyproject.toml` — the src layout, the linter's rule selection and its written function-size and complexity thresholds, the few sanctioned lint suppressions, strict type checking, the line length, the test r

  • python-versioning

    Use when deciding what version a Python distribution declares and what changes it — a first release, a breaking change, a deprecation, a pre-release, a tag, or the note a consumer reads before upgrading. Owns whether the number is a compatibility promise at all or only a label, the single place it i

  • python-workspace

    Use when several Python distributions live in one repository — creating the workspace root, or admitting a member to it. Covers the root project as a container with no runtime code of its own, the shared-library versus runnable-member split, the two-sentence admission test a new member passes, in-re

  • test-architecture-rule

    Use when forbidding X in layer Y with a static grep firewall — an architecture test, its path constants, a rule fragment, a bounded allow-list. Owns `tests/unit/test_architecture.py` in a standalone distributable and `tests/test_architecture.py` at the root of a repository of several members. Runtim

  • test-principles

    Use when writing or changing tests in any Python project and the question is a rule rather than a file — the layer budgets, where tests and shared fixtures sit and what may be autouse, fixture versus module-level builder, the substitution ladder and no-mocks contract, assert strength and literal exp

Slash commands (4)

  • /pyhouse-universal:adopt

    Write into this repository's CLAUDE.md which pyhouse skill governs each kind of Python work, so agents load the skills rather than merely having them installed; settles no architecture family

  • /pyhouse-universal:change-review

    Review a change before it lands for what it breaks — contracts other code relies on, failure paths, and tests that would not catch it — in one run, and print every finding with its scenario and severity, and an outcome line for the merge commit. Works in any project and on any stack. Run `recheck` o

  • /pyhouse-universal:choose-architecture

    Walk the architecture-choice skill interactively for one service and print the family it belongs to, or that no family applies

  • /pyhouse-universal:code-review

    Review a diff, a commit range, a path or a tree for conformance to the pyhouse catalogue — the architecture family's rules plus the universal ones, and for a commit range each commit message against the commit convention when pyhouse-git is installed — and print only what departs from a rule a skill

Subagents (2)

  • change-reviewer

    Reviews one change — a git range, a ref or the working-tree diff — for what it breaks, in any project and whatever its stack. In find mode it answers three lenses in one pass over the diff — contracts other code relies on, failure paths, and whether the tests would catch the change being wrong, incl

  • pyhouse-reviewer

    Reviews Python code against the pyhouse house-style catalogue — a diff, a commit range, a set of paths or a whole tree — and reports where it departs from the rules those skills state. For a commit range it also reviews each commit message against `git-commit-message` when `pyhouse-git` is installed

View source on GitHub

More from wntic/pyhouse

All 6 plugins →

Hexagonal (ports-and-adapters) Python service skills: layer boundaries and the composition root, entities and value objects, repository and capability ports, CQRS commands, queries and handlers, relational persistence with paired migrations, dishka wiring, the FastAPI REST family with optional token auth, and the eight test families that cover them. Depends on pyhouse-universal, which Claude Code installs with it.

23 skills

3

Flat package-by-technical-role Python service skills for workers, crawlers, pipelines, ETL and glue, written for one distribution on its own and equally true of one among several: the one-time project setup — the dependencies each role brings and the migration bootstrap — the four role kinds and the import contract between them, one data-access package per store, named for its technology and the obligations that come with it, entrypoint trigger choice between loop, schedule, stream, HTTP and durable execution, and the four test families that cover them. Depends on pyhouse-universal, which Claude Code installs with it.

8 skills

3

Repository workflow, independent of language and of any architecture. Ships the git-commit-message skill, which carries the Conventional Commits 1.0.0 convention an agent follows whenever it writes a commit message — a type that records the release the change earns, feat for a minor, fix for a patch, a break for a major, or for a minor below 1.0.0, so a version is read off the history instead of argued at release time. Also the git-branching skill — one mainline, one merge method recorded per repository, short-lived branches whose history is cleaned before it lands and never rewritten after. Then /pyhouse-git:adopt, which records in a repository's agent instructions how its changes branch, land and are committed and turns off the agent's own authorship line, /commit, which stages the named files, reviews the staged diff and commits only those files by git-commit-message, and /install-commit-hook, which puts a commit-msg hook in the repository so a malformed message is refused at commit time, and /release, which proposes the next version from the commit types since the last tag and cuts it only on an explicit yes. And /release-notes, which drafts the release note for the project's users from the changes themselves, never from the commit subjects. Depends on nothing and is installed on its own.

2 skills · 5 commands

3

How one change is delivered, rather than how its code is written. Ships the delivery-spec skill — the spec a change is implemented from, short enough to review in one sitting, naming as contracts only what other code depends on and stating the behaviour its tests are written from, its statements about today's system checked before any code exists, and its goal, scope and contracts frozen once it is ready. And /pyhouse-delivery:spec, which writes that spec with the person who wants the change, checks those statements and marks the spec ready once the person has accepted it. Ships delivery-change-contract — the short list of what is frozen while a ready spec is implemented, and every edit to it caught by a diff from a base commit rather than forbidden. And /pyhouse-delivery:implement, which implements a ready spec through the delivery-implementer subagent, which writes the tests from the spec before the code, then the code, and checks its own work by the project's gate and, where the change shows only in a running process, a live check — then /pyhouse-universal:change-review and one round of fixes — and hands over the body of the merge commit. Depends on pyhouse-universal.

2 skills · 2 commands · 1 agent

3

pyhouse

claude

The whole pyhouse catalogue in one install: depends on pyhouse-universal, pyhouse-hex, pyhouse-flat, pyhouse-git and pyhouse-delivery, which Claude Code installs with it, and ships /pyhouse:setup, which sets a repository up for them in one run — the Python skill table and the branching section in its CLAUDE.md, the agent's authorship line turned off, and the commit-msg hook — by running each plugin's own commands in turn. Holds no skill and states no rule of its own.

1 command

3

Similar plugins

Skill: add headroom-ai compress() to a Python or TypeScript app to cut LLM input tokens (tool outputs, logs, JSON, chat history). No API key.

1 skill

headroomlabs-ai/headroom 79,508

Generate natively editable PPTX from PDF / DOCX / URL / Markdown — real DrawingML shapes, text boxes, charts, and animations. Note: run `pip install -r requirements.txt` inside the installed plugin directory for the Python post-processing scripts to work.

1 skill

hugohe3/ppt-master 76,375

pake

claudecodex

Package any website or local web build into a lightweight desktop app with Pake CLI.

1 skill

tw93/Pake 63,463

Install the "AAS Python Development" workflow plugin from Agentic Awesome Skills.

13 skills

sickn33/agentic-awesome-skills 49,620

TDengine IDMP plugin with packaged skills for discovery, schema inspection, and safe operational workflows.

23 skills

anthropics/claude-plugins-official 47,076

Modern Python development with Python 3.12+, Django, FastAPI, async patterns, and production best practices

16 skills · 1 command · 3 agents

wshobson/agents 42,461

Maintain pyhouse-universal?

This page updates itself from your repo. Add the badge to your README, or get it Featured to pin it above the organic results with a followed link to your site.

claude & codex plugins6 plugins