Kiss banner
dsweet99 dsweet99

Kiss

AI community

Description

Code-quality feedback for LLM coding agents

Installation

This entry records only its repository, not the path inside it, so there is no exact command to give. Open the source below and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

README

kiss

Global code feedback for LLM coding agents

tl;dr

`kiss check` provides feedback to LLMs about code complexity and duplication; `kiss test` refreshes and enforces cached runtime line coverage. Add an AI coder rule (e.g., in `AGENTS.md`) like

When you write code, always make sure `pytest -sv tests`, `ruff check`, `kiss check`, and `kiss test` pass.
Iterate until they do.

kiss will help your agent produce simpler, clearer, more maintainable code. kiss works on Python and Rust.

The Problem: Missing Global Context

LLMs operate locally, focusing on whatever code they are editing plus bits and pieces of other, relevant code. They ignore the overall structure of the codebase because they don't see it. Over time, code tends to be a little more tangled, a little less DRY, harder to read and harder to update. To counteract this, LLMs need global information about the codebase.

kiss attempts to provide that in the form of stats about files, functions, etc., code-graph metrics, detected duplication, and low runtime line coverage. `kiss check` stays fast and static; run `kiss test` when you need coverage enforcement. kiss's output is compact, so it won't bloat context. `orphan_module` is a static isolation check: a production module with no production or test-only import edges, that is not a recognized entry, and is not under `orphan_allowed`.

Installation

cargo install kiss-ai

Quickstart

In your repo root, run:

kiss check

If `.kissconfig` is missing, `kiss check` will write one with threshold set so that your repo *just* passes `kiss check`. Any future code complexity increases will be prevented.

When your LLM runs `kiss check` it will see whether any of the code it has written has violated a constraint. For example:

VIOLATION:positional_args:src/shipping.py:12:calculate_shipping: Function 'calculate_shipping' has 6 positional arguments (threshold: 3) Consider using keyword-only arguments, a config object, or the b