Scaffold the dsh-slopo bundle and port slopo's three agent skills

The three SKILL.md files are ports of the configs slopo 0.8.0 ships for
Claude Code, not new prose. What changed is the mechanics:

  * name + description frontmatter, both required by dsh
  * disable-model-invocation: true kept verbatim -- dsh has the same key,
    and slopo makes that choice for a reason (every one of these commands
    can spend minutes embedding)
  * allowed-tools / argument-hint / arguments dropped, not dsh keys
  * the !`slopo ...` shell-injection directive replaced with an
    instruction to call the slopo tool plus an explicit failure check,
    because dsh skill bodies do not execute commands

The guidance prose is quoted from slopo; NOTICE.md records the mapping and
the licence obligation that follows from it (AGPL-3.0-or-later, matching
upstream and the LICENSE file fetched from it).
This commit is contained in:
dsh-slopo agent committed 2026-09-22 06:05:28 +01:00
commit 3490e5aba0
8 files changed
+923

No files matched your search

+39
View File
@@ -0,0 +1,39 @@
# 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.