// SKILL TRAINING OPERATIONS

TRAIN SMARTER.
NEVER IDLE.

ESQ is a multi-character skill queue monitor, plan builder, and progression tracker for EVE Online. See every alt's queue on one dashboard, build skill plans in the native in-game import format, browse the full skill tree, spot the skills you're missing, and chart SP growth over time. No more empty queues, no more forgotten training, no more “wait, what was I training again?”

Open Dashboard Connect Character
Characters Per Account
400+
Skills Tracked
5
Levels Per Skill
4
ESI Scopes
// HOW IT WORKS

From Empty Queue to Full Plan in Five Steps

Connect your characters once. ESQ pulls live skill and queue data from ESI, lets you build plans in EVE's native format, and keeps a daily SP snapshot history — no manual refreshes.

01
Connect Character
Add EVE characters via the shared eve_sso module with esi-skills.read_skills.v1 and esi-skills.read_skillqueue.v1. Default character set in esq_prefs.default_char_id; all others selectable from the dashboard.
02
Live Dashboard
The /api/overview endpoint fires four ESI reads in parallel per character — skills, queue, attributes, wallet — then calls services.eve_skills.enrich_skill_queue() and compute_queue_summary() to derive SP/hour and finish times.
03
Browse Skill Tree
The full EVE skill tree is served from data/skills.json via services.eve_skills.get_skill_tree() — instant, zero ESI quota. Character-specific levels merged in via merge_character_skills_detail() and merge_character_skills().
04
Find Missing Skills
The /api/missing/{char_id} endpoint calls get_missing_skills(skills_data) and returns every skill below level V with rank, SP cost, and group. One click sends any row into the Plan Builder.
05
Build & Save Plans
Assemble steps, then POST /api/skill-plan/{char_id}/save generates plan_text in EVE's native Skill Name N import format. Saved to esq_skill_plans with plan_data JSONB for future editing. Copy text and paste directly into the EVE client.

Every Alt At A Glance

The dashboard renders one card per connected character. Each card fires four ESI reads in parallel — skills, skill queue, attributes, wallet — and pipes the result through services.eve_skills to derive SP/hour, queue finish time, and the active training skill. Empty queues, wallet balances, and total SP are right there so you can triage idle alts the moment you log in.

meltuc.tech/esq/app
Mel Tuc
Main · 143.2M SP
▸ Caldari Battleship V
Finishes in 3d 14h
2,175 SP/hr Queue: 12
Mel Tuc Jr
Alt · 48.7M SP
▸ Drones IV
Finishes in 19h 22m
2,040 SP/hr Queue: 6
Indy Tuc
Industrial · 22.1M SP
⚠ Queue empty
Idle for 4h 12m
1,820 SP/hr Queue: 0
3 characters · 214.0M SP combined Refreshed 8s ago

Build Plans The Game Understands

The plan builder walks every skill your character hasn't maxed, shows rank and SP cost per level, and lets you assemble a step list. On save, the server generates plan_text in EVE's native in-game import format (Skill Name N per line) so you can paste the whole plan into the client and the queue fills itself. Plans persist to esq_skill_plans, searchable across every character from the /esq/plans page.

meltuc.tech/esq/char/95465499/skill-plan
Available Skills
Filter...
Heavy InterdictorsRank 6+
Logistics CruisersRank 6+
Covert OpsRank 5+
Cynosural Field TheoryRank 8+
Advanced Weapon UpgradesRank 6+
Fleet CommandRank 8+
Plan: Logi Pilot
1.Logistics Cruisers V14d
2.Amarr Cruiser V9d
3.Remote Armor Repairing V6d
4.Capacitor Emission Systems IV2d
5.Energy Grid Upgrades IV1d 8h
5 steps Total: 32d 8h
Plans save to esq_skill_plans · in-game import format Copy Text Save Plan

Browse Everything, Find The Gaps

The full EVE skill tree, grouped by category, backed by a local data/skills.json so rendering is instant and doesn't eat your ESI quota. Character-specific data (current level, SP invested) is merged in on request. The Missing Skills view runs a diff and shows exactly what your character hasn't trained below level V — one click to feed any row straight into the plan builder.

meltuc.tech/esq/char/95465499/tree
Spaceship Command
Caldari Cruiser
V
Caldari Battleship
IV+
Logistics Cruisers
II
Covert Ops
0
Gunnery
Large Hybrid
V
Motion Prediction
V
Advanced Weapon Upg
III
Showing 2 of 18 groups · Filter: trained / missing / all 412 skills · 143.2M SP
// FEATURES

Everything A Capsuleer Needs

Built for pilots running multiple accounts and too many alts to keep in your head. One login, every character, every app.

📊
Live Multi-Char Dashboard
One card per character showing current skill, queue_length, finish time, sp_per_hour, and wallet balance. Idle queues highlighted red using queue_length = 0 from the /api/overview response.
📋
Plan Builder
Add skills from /api/skill-plan/{char_id}/available (every skill at level < 5) into an ordered step list. Save to esq_skill_plans — the server builds plan_text in Skill Name N EVE import format automatically.
🌳
Full Skill Tree
All 400+ EVE skills served from data/skills.json via get_skill_tree() — instant, no ESI quota used. Character levels merged in via merge_character_skills_detail(). Filter by group name or trained/untrained status.
Missing Skills View
The /api/missing/{char_id} endpoint runs get_missing_skills(skills_data) and returns every skill below level V with rank, training time estimate, and group_name. One click sends any row into the plan builder.
📈
SP History Chart
Daily SP snapshots stored in esq_snapshots with total_sp, unallocated, and snapshot_at. The /api/snapshots/{char_id}?range=90d endpoint returns points with delta per day — chart your SP growth over time.
💰
Wallet & Attributes
Wallet balance from esi-wallet.read_character_wallet.v1 shown on every dashboard card. SP/hour calculated via calculate_sp_per_hour(perception, memory) using your actual ESI attributes — accurate to the standard EVE formula.
👤
Public Character Profile
Corp, alliance, security status, and birthday pulled from the public GET /characters/{id}/ ESI endpoint — no scope required. Shown on the profile page alongside attributes and full queue summary.
📤
CSV / JSON Export
Export your character list via /api/export.csv or /api/export.json. Export the live skill queue across all characters via /api/queue/export.csv — includes character_name, skill_id, finished_level, and finish_date.
// ESI SCOPES

Read-Only Permissions

ESQ is strictly read-only against EVE — no mail sent, no market orders placed, no settings changed on your characters. Four scopes cover the whole feature set. ESQ borrows tokens from the shared eve_sso module, so if you've already connected a character for EVEMAIL or any other EVE app on the platform, this one inherits the grant automatically.

esi-skills.read_skills.v1
Character skills sheet and total SP. Required for the dashboard, skill tree merge, and missing-skills view.
esi-skills.read_skillqueue.v1
Live skill queue. Drives the current-skill display, finish time, and empty-queue idle alert.
esi-wallet.read_character_wallet.v1
Wallet balance shown on the dashboard card. Optional — skills and queue work without it.
esi-clones.read_clones.v1
Reserved for the profile page clone summary. Optional now; pre-authorise it to avoid re-auth later.
// GET STARTED

No Queue Should Sit Empty.

Monitor every character, build plans in the game's native format, see what you're missing, chart your progress. One MelTuc account, one SSO, every alt you own.

Launch EVE Skill Queue

Requires a MelTuc account. Create one free.