Skip to content

arsin305/skillwright

Repository files navigation

Skillwright

License: MIT Platform: Linux Python 3.12+

A Linux-native EVE Online character and skill monitor for the desktop. Skillwright tracks your EVE characters' skills, skill queue, training progress, wallet balance, location, active ship, and implants, with a native KDE Plasma look and feel.

Still work in progress ongoing project.

Support

If you enjoy my work, feel free to buy me a coffee!

ko-fi

Overview


Install (AppImage)

Grab the latest Skillwright-x.y.z-x86_64.AppImage from the Releases page, then:

chmod +x Skillwright-*.AppImage
./Skillwright-*.AppImage

chmod +x marks the download as executable (browsers strip that bit). That is the whole install. Click "+ Add Character", complete the EVE SSO login in your browser, and your character appears.

Notes:

  • AppImage managers such as Gear Lever integrate Skillwright into your application menu with its icon. Handy, but optional.
  • If launching fails with a FUSE error, install the FUSE 2 compatibility library (sudo dnf install fuse on Fedora) or run the file with --appimage-extract-and-run.
  • Run one copy at a time. Two instances sharing the same data directory can overwrite each other's changes.

Requirements

  • A recent x86_64 Linux distribution. Fedora 44 with KDE Plasma 6 on Wayland is the primary target; the AppImage is built there. Other current distributions and desktops should work but see less testing.
  • A running Secret Service provider for token storage: KWallet on KDE, GNOME Keyring on GNOME.

Features

Dashboard

  • Multiple-character overview with portraits, ISK, total SP, and the current skill in training
  • Per-character dashboard: attributes, corporation/alliance, security status, active ship, current location, and implant-adjusted attributes
  • Skill browser grouped by category, with trained levels and skill points
  • Skill queue view with per-entry progress, training rate, and completion times

Skill queue

  • Skill planner with curated plan profiles, prerequisite handling, attribute optimization, and import/export

Skill planner

  • Ship browser with traits, resistances, variations, and required-skill mastery
  • Certificate browser

Ship browser

  • KDE-native theming with three Breeze variants: Breeze Dark (default), Breeze, and Breeze Twilight
  • System-tray integration with per-character training notifications
  • Local caching in SQLite, with ESI cache-timer and rate-limit awareness

Scopes and privacy

Skillwright requests only the read scopes its features need. It never requests asset, mail, corporation, or write scopes, and it sends nothing anywhere except CCP's official ESI API.

Scope Used for
esi-skills.read_skills.v1 Trained skills and total skill points
esi-skills.read_skillqueue.v1 The active skill queue
esi-wallet.read_character_wallet.v1 Wallet (ISK) balance
esi-location.read_location.v1 Current system, station, or structure
esi-location.read_ship_type.v1 Active ship type and name
esi-clones.read_implants.v1 Fitted implants for attribute bonuses

These appear on the EVE SSO consent screen when you add a character.

Where things are stored: OAuth refresh tokens live in your system keyring via the freedesktop Secret Service API. Application data (the SQLite database and cached catalogs) lives under ~/.local/share/skillwright/.


Troubleshooting

The skill catalog is empty / training times show '?' Go to Settings and click "Reset Skill Catalog". It re-fetches from ESI on the next launch (15-30 seconds, first time only).

My character's data isn't updating Use the refresh button on the character card or dashboard. Background refresh runs every 5 minutes by default; the interval is configurable in Settings.

The SSO browser page never opens Make sure xdg-open is available (it is on every desktop distribution) and that port 7777 is free; Skillwright's login callback listens there.

More answers live in the in-app Help tab.


Running from source (developers)

git clone https://github.com/arsin305/skillwright.git
cd skillwright
uv run skillwright

uv installs the dependencies on first run. The bundled application Client ID is used automatically; to test against your own EVE application instead, copy .env.example to .env and set EVE_CLIENT_ID (see the comments in that file).

# Test suite and project health checks
uv run python qa_check.py

# Build the AppImage
bash scripts/build_appimage.sh

Legal and compliance

Skillwright is an unofficial, fan-made tool developed under CCP's Developer License Agreement. It uses only documented, read-only ESI endpoints, respects ESI cache timers and error limits, and performs no in-game automation of any kind.

EVE Online and all related logos and trademarks are the property of CCP hf. Skillwright is not affiliated with, endorsed by, or sponsored by CCP hf. All EVE-related data is retrieved from CCP's public ESI API and Static Data Export.

Inspired by EVEMon by the EVEMon Development Team, as a functional reference only; Skillwright shares no code with it.


License

Released under the MIT License. See LICENSE for the full text.

About

Linux-native EVE Online character and skill monitor for KDE Plasma

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages