OpenTUI for agr and agrx
An OpenTUI interface for the agr/agrx CLI: view configured skills, trigger agr actions and preview SKILL.md
agr-opentui is an OpenTUI front-end for agr/agrx.
The default discover source in this repo points to https://github.com/kasperjunge/agent-resources.
Install from PyPI
With uv:
uv tool install agr-opentui
With pip:
python -m pip install agr-opentui
Then run:
agr-opentui
Check installed version:
agr-opentui --version
Usage
Tabs:
Skills: shows dependencies fromagr.tomland install state.Discover: shows skills embedded in the binary.
Common keys:
Tab/Shift+Tab: switch tabs- Arrow keys: move selection
space: toggle selectH: helpq: quit
Skills tab keys:
a: add skill (handle orowner/repo/path)i: install selected (bulk)r: remove selected (bulk)v: previewSKILL.mdg: run with default options (agrx)G: open run options (tool, interactive, prompt, extra args)u: check discover list updatesU: apply update (no confirm)s: apply update (confirm)S: apply update + sync (no confirm)c: reload config
Discover tab keys:
i: add selectedv: previewSKILL.mdy: copy handle/repo to clipboarda: add skillc: reload config
Run options keys (when the modal is open):
t: cycle toolu: toggle--interactivep: edit--prompte: edit extra argsEnter: runEsc: close
Quick Cheat Sheet
Primary flow:
TabtoSkills- Arrow keys to select
gto run,Gfor run options
Bulk actions:
spaceto multi-selectiinstall orrremove (Skills tab)
Discover flow:
TabtoDiscover- Arrow keys to select
vto preview,ito add,yto copy handle
Requirements
Runtime (using agr-opentui):
- Python 3.10+
uvagr+agrxon yourPATH
Build/Development (working on this repo):
- Bun 1.3.8+
- Zig (required by OpenTUI build tooling)
Build
bun run build
or
make build
This creates bin/agr-opentui.
Install
bun install
Run
bun run src/main.ts
Run it from the repo you want to manage (the current working directory is the target repo).
agr.toml is expected in that target repo for agr add/remove/sync operations.
Run From Target Repo
cd /path/to/your/project
agr-opentui
agr-opentui itself does not need to contain your target repo's agr.toml.
Discover List (Embedded)
The Discover tab is bundled into the compiled binary from this repository's skills.json at build time.
To change the list, update skills.json in this repository and rebuild (make build).
To avoid repeating repo metadata, skills.json can also be a DRY repo-group array like skills-multi-repo-example.json:
- One array item per repository with this schema:
repo, optionalbranch,handlePrefix, andskills[]. - Each
skills[]item must includeidand an explicit relativepathending in/SKILL.md;labelis optional. - At build time this expands into Discover entries with:
handle = handlePrefix + "/" + id, preservedrepo, preservedlabel(defaulting to handle), and explicitskillMdPathmetadata for preview resolution.
Example:
[
{
"repo": "kasperjunge/agent-resources",
"branch": "main",
"handlePrefix": "kasperjunge",
"skills": [
{
"id": "code-review",
"path": "skills/development/workflow/code-review/SKILL.md",
"label": "Code Review"
}
]
}
]
Migration from legacy skills.json:
- Existing object/array payloads are still supported.
- To migrate, group skills by repository and replace per-skill
repoduplication with one repo-group entry.
Troubleshooting
Missing agr.toml: run the app from a repo that hasagr.toml, or create one.uv not found: installuvand ensure it’s onPATH.agr/agrx not found: installagrand ensure it’s onPATH.python not found: install Python 3.- Discover list out of date: update this repository's
skills.jsonand rebuild the binary. - Discover list not updating: check the
sourceURL/repo/branch/path and network access. SKILL.mdpreview says “not found”: the skill may not ship aSKILL.mdor the path is nonstandard.
Notes
- All actions run through
uv(uv run agr,uv run agrx). - Bridge loading runs with the launcher Python when available (
AGR_OPENTUI_LAUNCHER_PYTHON), withuv run python -m agr_opentui.bridgeas fallback. - Startup runs a lightweight preflight for
uv,agr, andagrx; pressdto run full Doctor checks. - If
agr.tomlis missing in the current directory, install/remove/sync commands are blocked and a warning is shown. - Logs are written to
/tmp/agr-opentui.log.
Metadata
Release files for agr-opentui 0.5.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| agr_opentui-0.5.1.tar.gz | 40.1 MB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| agr_opentui-0.5.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 80.2 MB
Release files / agr_opentui-0.5.1.tar.gz
| Download URL | agr_opentui-0.5.1.tar.gz |
|---|---|
| Size | 40.1 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
fbcb4016119e02ed9403b8a69bf9bc094252058ed30295bff053dc158db11e81
|
|
BLAKE2b-256 checksum How to use checksums |
04664afca376db43620eb60f3941f5c0e0d09e71b9ec81bee526e6a184e100a8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 11, 2026.
Transparency logRelease files / agr_opentui-0.5.1-py3-none-any.whl
| Download URL | agr_opentui-0.5.1-py3-none-any.whl |
|---|---|
| Size | 40.2 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
873bae53a66d9fe9d66a45fe499942ee79d1201e2c6179fbb873cff28ce72a03
|
|
BLAKE2b-256 checksum How to use checksums |
9d646be261ae6a6cec6d2d1323fce3078e7afea2dfd9b747c8fae9322a0b8085
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 11, 2026.
Transparency logSecurity for agr-opentui 0.5.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for agr_opentui-0.5.1.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 11, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.