Skip to content
Back to skills

Rhiza Maffay

ASecurity

Print one bonmot from a random Peter Maffay song — a pick-me-up for a long refactor. Takes an optional theme keyword. Needs no repo and no git, so it works anywhere.

  • 4 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 24, 2026
ai-agentspythongoshellbashgit

Works with

  • claude code
  • cli

Security analysis

A100/100

Scanned September 24, 2026

npx -y skills add Jebel-Quant/rhiza-claude --skill rhiza-maffay --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Rhiza Maffay?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Rhiza Maffay
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/jebel-quant-rhiza-maffay/badge)](https://www.skillsdirectory.com/skills/jebel-quant-rhiza-maffay)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: rhiza-maffay
description: Print one bonmot from a random Peter Maffay song — a pick-me-up for a long refactor. Takes an optional theme keyword. Needs no repo and no git, so it works anywhere.
---

> **Portable copy of `plugin/skills/maffay/SKILL.md`, generated by
> `plugin/scripts/build_bundle.py`. Edit the source and run `make bundle` —
> an edit here is overwritten.**
>
> - **`${RHIZA_ROOT}`** is your `rhiza-claude` checkout. Export it, or
>   substitute the path wherever it appears. Any remark below about the
>   variable being empty in a source checkout is Claude Code's spelling of the
>   same idea — `${RHIZA_ROOT}` replaces it, and the repo-relative fallbacks do
>   not apply, because you are working in the *user's* repo, not in this one.
> - **`/rhiza:<name>`** names another skill in this bundle, `rhiza-<name>`.
>   Invoke it however your client invokes skills.
> - **Tools.** `Read`, `Edit` and `Write` read and write files; `Grep` and
>   `Glob` search; `Bash` is a shell in the user's repo. Use your equivalents.
> - **`AskUserQuestion`** is a multiple-choice question put to the user. With no
>   such tool, ask in plain text, number the options, and **wait for a reply**:
>   where the procedure says nothing is created without an explicit selection,
>   that holds however the question was asked.
> - **Arguments:** [theme keyword e.g. mut]  (optional; omit for the whole catalogue).
>   The text below writes `$ARGUMENTS` for what the user passed;
>   substitute it yourself if your client does not.
> - **Runs:** `uv`. Nothing here enforces that list, where the
>   plugin's frontmatter did — your client has to permit them.

You are running `/maffay`. Goal: print **one** bonmot from a random Peter Maffay song.

That is the whole command. It reads nothing, writes nothing, and needs no repo — so it
works anywhere, including outside a rhiza-managed project.

**Do not pick the song yourself.** Asked to choose "at random" you will reach for
*Über sieben Brücken* and *Nessaja* almost every time, and by the third run the command
feels broken. The bundled script owns the choice, and `random.choice` over the
catalogue is uniform where you are not. Run it and relay the output verbatim.

Argument (optional): `$ARGUMENTS` — a theme keyword (`mut`, `sommer`, `nessaja`,
`liebe`, …) or part of a song title, matched case-insensitively. Anything else is
still passed through: the script reports the known themes itself on a miss, which is
more useful than you guessing what the user meant.

## 1. Draw one

`${RHIZA_ROOT}/plugin` resolves at runtime (**keep the quotes**); in a source
checkout it's empty, so fall back to the repo-relative path.

```bash
uv run --python 3.12 --no-project python "${RHIZA_ROOT}/plugin/scripts/maffay.py" --theme "$ARGUMENTS"
```

Drop `--theme` entirely when `$ARGUMENTS` is empty — an empty theme is not the same
as no theme, and passing `--theme ""` matches everything by accident rather than by
intent.

Exit **1** means the theme matched nothing. The script has already printed the known
themes; show that and stop. Do **not** retry without the filter and pass the result
off as what they asked for, and do **not** invent a song to fill the gap.

`--seed N` makes a draw reproducible and `--list` prints the whole catalogue; both are
there for demos and tests. `--json` gives the same entry as one object if you need the
fields.

## 2. Report

Relay the three lines as printed. Two things not to blur:

- **The quoted line is the song's title line** — the hook, and the only quoted text.
  Do not extend it into a verse from memory. A title is not a protectable work; the
  lyric body is, and this command deliberately does not ship one.
- **`Für uns:` is this repo's gloss, not Maffay's words.** Keep the label. If you drop
  it the joke reads as a lyric, which is exactly the confusion the format prevents.

One bonmot per invocation. If the user wants another, run it again.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.