# Attribution ## Slopo itself This bundle drives [slopo](https://github.com/rafal-qa/slopo) — an embedding-based duplicate-code detector by Rafal Kochanowski — as an external process. Slopo is **not** vendored, bundled, or modified here. It is installed separately and invoked through its own command-line interface. Slopo is licensed **AGPL-3.0-or-later**. This plugin does not link against it, import it, or redistribute it; it executes an unmodified, separately installed program. That is worth stating explicitly rather than leaving implicit. ## The skill text The bodies of the three skills under `skills/` are **ported from slopo's own shipped agent configurations**, specifically `src/slopo/agent/configs/claude-code-skills/{slopo-review,slopo-analyze-one,slopo-analyze-ignore}/SKILL.md` from slopo 0.8.0, which carry `license: AGPL-3.0-or-later`. They are included and adapted here under the same licence, which is why this repository is AGPL-3.0-or-later rather than something more permissive. The review and triage guidance is the substance of the feature — rewriting it would have been a rewrite of the product, not a port of it. ### What was changed in the port | Original (Claude Code) | Here | | --- | --- | | `description` only | `name` + `description`, both required by dsh | | `disable-model-invocation: true` | kept verbatim (dsh has the same key) | | `allowed-tools: Bash(slopo *)` | dropped — not a dsh frontmatter key | | `argument-hint` / `arguments` | dropped — not dsh frontmatter keys | | `` !`slopo agent-review …` `` shell injection in the body | replaced with an instruction to call the `slopo` tool and an explicit exit-code check | | `license: AGPL-3.0-or-later` | moved here, since dsh frontmatter has no `license` key | The guidance prose after the initialisation section is quoted from slopo, with only the invocation mechanics replaced. Deliberate improvements to that prose are marked in the skill files themselves.