/ev — Evennia Project Skill
Route based on the first argument:
If no argument or unrecognized subcommand, show available subcommands.
Requires: gh CLI. If not installed, ask the developer to install it
(https://cli.github.com/) — do not attempt workarounds.
prs
Usage: /ev prs [all]
List open PRs on evennia/evennia that need maintainer attention.
/ev prs — Only PRs awaiting review (excludes drafts, approved, and
changes-requested PRs since those are waiting on the author). Sorted
oldest-first with overlap annotations showing which PRs touch the same
source files.
/ev prs all — All open non-draft PRs that aren't yet approved,
including changes-requested. Same ordering and overlap detection.
Steps
- Run the helper script from the skill directory, passing through any
extra argument (
all or empty):bash <skill_dir>/ev-prs.sh [all]
where <skill_dir> is the directory containing this SKILL.md file.
- Present the output directly to the user — it is already formatted as
markdown with clickable URLs.
issues
Usage: /ev issues [all]
List open issues on evennia/evennia that need maintainer attention. Sorted
oldest-first.
/ev issues — Only issues labelled needs-triage (not yet reviewed).
/ev issues all — All open issues except those waiting on someone else
(excludes more info needed, on hold, devel-implemented).
Steps
- Run the helper script from the skill directory, passing through any
extra argument (
all or empty):bash <skill_dir>/ev-issues.sh [all]
where <skill_dir> is the directory containing this SKILL.md file.
- Present the output directly to the user — it is already formatted as
markdown with clickable URLs.
clog
Usage: /ev clog #NNN or /ev clog <freeform text>
Add a changelog entry to CHANGELOG.md.
Routing
- If the argument is a number (with or without
#), treat it as a PR/issue
number and follow the linked entry steps.
- Otherwise, treat the entire argument string as freeform text and follow
the freeform entry steps.
clog-linked
For PR/issue numbers.
- Run the helper script to fetch metadata and generate the entry:
bash <skill_dir>/ev-clog.sh <number>
The script outputs two lines:
- Line 1: the entry, e.g.
[Fix][pull3869]: Handle evennia -l & ... (jaborsh)
- Line 2: the link ref, e.g.
[pull3869]: https://github.com/...
- Show the generated entry to the user for approval. They may want to
adjust the wording or category.
- Read
CHANGELOG.md and insert:
- The entry line into the
## Main branch section. Entries are
ordered by category: Feat entries go at the top of the section,
then Fix, then Doc/Docs. Insert the new entry after the last
entry of the same category (or before the first entry of the next
category if none exist yet). Always before the blank line that
precedes the link references.
- The link reference into the link-reference block at the bottom of
the
## Main branch section (before the next ## heading).
- Show the user the final diff for confirmation.
clog-freeform
For entries not tied to a specific PR or issue (local fixes, minor tweaks,
etc.). These produce unlinked entries with no link-reference line.
- Parse the freeform text into a changelog entry. The text may already be
a well-formed entry or just a rough description. Produce a line matching
the format:
- <Cat>: <Description> (<Author>) where:
- Cat — guess from the text:
Feat, Fix, Doc, or Security.
Default to Fix if unclear.
- Description — clean up the text: capitalize the first letter, trim
trailing periods, keep it concise (one line preferred, wrap with
two-space indent if truly needed).
- Author — use the git user name (
git config user.name). If the
text already contains a parenthesised author, keep it.
- Show the generated entry to the user for approval.
- Read
CHANGELOG.md and insert the entry line into the ## Main branch
section, ordered by category (same rules as linked entries). No link
reference is needed.
- Show the user the final diff for confirmation.
clog-validate
Usage: /ev clog validate
Validate CHANGELOG.md structure. Checks each section for:
- Mismatched URLs —
[pull100] must point to /pull/100, not a different number
or /issues/...
- Missing link refs — entry references
[pull100] but no [pull100]: ... defined
- Orphan link refs —
[pull100]: ... defined but no entry uses [pull100]
- Duplicate link refs — same
[pull100]: ... defined more than once
Steps
- Run the validator:
python3 <skill_dir>/clog_validate.py CHANGELOG.md
- Present the output directly to the user. If errors are found, offer to
fix them.
1---2name: ev3description: Evennia project management commands — list PRs, issues, and more.4---56# /ev — Evennia Project Skill78Route based on the first argument:910- `prs` → [List PRs awaiting maintainer review](#prs)11- `prs all` → [List all open PRs (including changes-requested)](#prs)12- `issues` → [List issues needing triage](#issues)13- `issues all` → [List all actionable open issues](#issues)14- `clog #NNN` → [Add changelog entry for a PR or issue](#clog)15- `clog <text>` → [Add freeform changelog entry](#clog)16- `clog validate` → [Validate CHANGELOG.md structure](#clog-validate)1718If no argument or unrecognized subcommand, show available subcommands.1920**Requires:** `gh` CLI. If not installed, ask the developer to install it21(https://cli.github.com/) — do not attempt workarounds.2223---2425## prs2627**Usage:** `/ev prs [all]`2829List open PRs on `evennia/evennia` that need maintainer attention.3031- **`/ev prs`** — Only PRs awaiting review (excludes drafts, approved, and32 changes-requested PRs since those are waiting on the author). Sorted33 oldest-first with overlap annotations showing which PRs touch the same34 source files.35- **`/ev prs all`** — All open non-draft PRs that aren't yet approved,36 including changes-requested. Same ordering and overlap detection.3738### Steps39401. Run the helper script from the skill directory, passing through any41 extra argument (`all` or empty):42 ```43 bash <skill_dir>/ev-prs.sh [all]44 ```45 where `<skill_dir>` is the directory containing this SKILL.md file.462. Present the output directly to the user — it is already formatted as47 markdown with clickable URLs.4849---5051## issues5253**Usage:** `/ev issues [all]`5455List open issues on `evennia/evennia` that need maintainer attention. Sorted56oldest-first.5758- **`/ev issues`** — Only issues labelled `needs-triage` (not yet reviewed).59- **`/ev issues all`** — All open issues except those waiting on someone else60 (excludes `more info needed`, `on hold`, `devel-implemented`).6162### Steps63641. Run the helper script from the skill directory, passing through any65 extra argument (`all` or empty):66 ```67 bash <skill_dir>/ev-issues.sh [all]68 ```69 where `<skill_dir>` is the directory containing this SKILL.md file.702. Present the output directly to the user — it is already formatted as71 markdown with clickable URLs.7273---7475## clog7677**Usage:** `/ev clog #NNN` or `/ev clog <freeform text>`7879Add a changelog entry to `CHANGELOG.md`.8081### Routing8283- If the argument is a number (with or without `#`), treat it as a **PR/issue84 number** and follow the [linked entry](#clog-linked) steps.85- Otherwise, treat the entire argument string as **freeform text** and follow86 the [freeform entry](#clog-freeform) steps.8788### clog-linked8990For PR/issue numbers.91921. Run the helper script to fetch metadata and generate the entry:93 ```94 bash <skill_dir>/ev-clog.sh <number>95 ```96 The script outputs **two lines**:97 - Line 1: the entry, e.g. `[Fix][pull3869]: Handle evennia -l & ... (jaborsh)`98 - Line 2: the link ref, e.g. `[pull3869]: https://github.com/...`992. Show the generated entry to the user for approval. They may want to100 adjust the wording or category.1013. Read `CHANGELOG.md` and insert:102 - The **entry line** into the `## Main branch` section. Entries are103 ordered by category: `Feat` entries go at the top of the section,104 then `Fix`, then `Doc`/`Docs`. Insert the new entry after the last105 entry of the same category (or before the first entry of the next106 category if none exist yet). Always before the blank line that107 precedes the link references.108 - The **link reference** into the link-reference block at the bottom of109 the `## Main branch` section (before the next `## ` heading).1104. Show the user the final diff for confirmation.111112### clog-freeform113114For entries not tied to a specific PR or issue (local fixes, minor tweaks,115etc.). These produce unlinked entries with no link-reference line.1161171. Parse the freeform text into a changelog entry. The text may already be118 a well-formed entry or just a rough description. Produce a line matching119 the format: `- <Cat>: <Description> (<Author>)` where:120 - **Cat** — guess from the text: `Feat`, `Fix`, `Doc`, or `Security`.121 Default to `Fix` if unclear.122 - **Description** — clean up the text: capitalize the first letter, trim123 trailing periods, keep it concise (one line preferred, wrap with124 two-space indent if truly needed).125 - **Author** — use the git user name (`git config user.name`). If the126 text already contains a parenthesised author, keep it.1272. Show the generated entry to the user for approval.1283. Read `CHANGELOG.md` and insert the entry line into the `## Main branch`129 section, ordered by category (same rules as linked entries). No link130 reference is needed.1314. Show the user the final diff for confirmation.132133---134135## clog-validate136137**Usage:** `/ev clog validate`138139Validate `CHANGELOG.md` structure. Checks each section for:140141- **Mismatched URLs** — `[pull100]` must point to `/pull/100`, not a different number142 or `/issues/...`143- **Missing link refs** — entry references `[pull100]` but no `[pull100]: ...` defined144- **Orphan link refs** — `[pull100]: ...` defined but no entry uses `[pull100]`145- **Duplicate link refs** — same `[pull100]: ...` defined more than once146147### Steps1481491. Run the validator:150 ```151 python3 <skill_dir>/clog_validate.py CHANGELOG.md152 ```1532. Present the output directly to the user. If errors are found, offer to154 fix them.