ether-learning

Records problems, causes, solutions, and learnings in a local SQLite learning database.

Updated Jul 27, 2026
One-click install
npx skills add https://github.com/arayaroma/ether --skill ether-learning-arayaroma
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: ether-learning
Source: https://github.com/arayaroma/ether/tree/main/.claude/skills/ether-learning
Command: npx skills add https://github.com/arayaroma/ether --skill ether-learning-arayaroma

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Teams repeatedly re-derive the same fixes because bugs, wrong assumptions, and design trade-offs are never captured in a searchable form. This Skill enforces a structured learning log so every non-trivial problem, its root cause, candidate solutions, and generalizable lessons are recorded and searchable before the next occurrence. ## Core Features & Use Cases - Structured problem tracking: Records problems, root causes, candidate solutions (including rejected ones), accepted fixes, and generalized learnings in a local SQLite database. - Hybrid search before fixing: Searches prior records by keyword so recurring issues surface their accepted solutions instead of being re-derived from scratch. - Expiring observations: Captures later refinements, recurrences, and corrections as nestable observations with TTL-based expiry and stale-flagging. - Use Case: Before fixing a flaky test that smells familiar, run a search to find a prior record showing the root cause was a shared fixture, then apply the already-accepted solution and log a new observation. ## Quick Start Ask the agent to search the learning log for prior occurrences of the current problem, then record the problem, its cause, and the accepted solution using the ether learn commands.

Frequently Asked Questions about ether-learning

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I search for prior solutions before fixing a bug?▼

Run ether learn search with keywords describing the problem before starting any non-trivial fix. The search matches problem names and descriptions and prints causes with the accepted solution flagged, so you start from a proven fix instead of re-deriving one.

What should be recorded in a learning log besides bugs?▼

Record wrong assumptions, surprising library or API behavior, design decisions with real trade-offs, rejected approaches and why they failed, and stack-specific gotchas. The rule is: if in doubt, log it, since an unused record costs almost nothing.

Does the learning log send data to external services?▼

No. All records live in a local SQLite file (.ether/learning.db) inside the project. Logging is manual via ether learn commands, and there are no network calls, telemetry, or LLM API requests.

Why do observations expire in the learning log?▼

Observations expire after a default of 30 days (maximum 45) because the underlying issue may be resolved differently before anyone revisits the record. Expired entries are flagged as stale in search results, and still-valid ones can be extended with observe-extend.

Can observations reference other observations?▼

Yes. Observations can attach to a cause, solution, or learning, and can also nest on other observations via a parent reference. This lets corrections to corrections be tracked as a chain rather than overwriting history.