Repository navigation
feat: skill learning — record agent turns, rank skills and draft improvements - #195
Merged
Merged
Conversation
…ovements Adds opt-in skill learning across Pi, OpenCode and Claude Code. - Records full turns (prompt, replies, tool calls with outcome) into a separate skills.db through one shared turn path used by live capture and history import. Memories and the profile get the same input as before. - Redaction of <private> text and secrets is on by default and can be turned off with a confirmation. - Skill turns are a third import target (--skip-skills, Skill turns checkbox, automatic backfill) and Record past turns fills skills.db from history with no model call. - Ranks skills by use and by an attention score that counts only failures after the skill was used; Suggested marks skills worth improving. - Drafts improvements and new skills through the external API, or lets the coding agent propose a fix itself through the skills tool. Each change is a reviewed proposal with a diff, applied by hand or automatically, with a stale check and undo. - New Skills page, Skill learning settings card, skills tool on every host and the om-memory-system skills command. - Fixes found on the way: busy_timeout and foreign keys are set again after each transaction, deleted text no longer stays in skills.db or ai-sessions.db, category cleanup routes move into their route module, and the browser password fields no longer take the full width. ADR-035 records the decision.
# Conflicts: # docs/adr/ADR_README.md
|
Important Review skippedToo many files! This PR contains 192 files, which is 92 over the limit of 100. To get a review, reduce the PR to 100 files or fewer by splitting it into smaller PRs or changing its base branch. Upgrade to a paid plan to raise the limit. This review couldn't start because sufficient usage credits or metered capacity aren't available. Add credits or update usage-based reviews in the billing tab, then retry.
|
This was referenced Oct 31, 2026
- Pass the project folder to the skills and memory tools' launcher, so the npx fallback no longer runs against the temp folder - Keep a skill idea's reason and evidence when drafting from any host or the CLI - Keep the saved Skill turns choice when the Re-analyse preset is used - Let ai-sessions.db open when its one-time compaction fails
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds opt-in skill learning on Pi, OpenCode and Claude Code. OMMS records how agents work, ranks the skills you use, and drafts better versions as reviewed proposals. OpenSpec change
skill-learning(archived as2026-10-31-skill-learning), decision recorded in ADR-036.skillLearningrecords full turns (prompt, replies, tool calls with outcome and error) in a separateskills.dbin the global storage path. Tool output is not stored. Redaction of<private>text and secrets is on by default and can be turned off after a confirmation.handleFinishedTurn. Memories and the profile get exactly the same input as before (tests check this byte for byte).--skip-skills, a Skill turns checkbox, automatic backfill, and Record past turns (skills record-past) fillskills.dbfrom history with no model call, including sessions whose worktree was deleted.skillstool modesevidence→propose, no external API call). Every change is a proposal with a diff. Apply by hand or per skill automatically, with a stale-file check and undo.skillstool on all three hosts (V1 and V2 OpenCode), andom-memory-system skills.Also in this PR
busy_timeoutand foreign keys are set again after every transaction. libSQL opened a fresh handle without them, so a second writer gotSQLITE_BUSYat once.skills.db(VACUUM after delete).ai-sessions.dbusessecure_deleteand is compacted once when it has free pages.web-server.tsintoprofile-cleanup-routes.ts(21 lines of headroom under the size ceiling).--skip-memoriesand--skip-profilehelp text corrected now that imports have three targets.Checks
bun run ci:localon the merged branch: 460 test files. One stale V2 test was fixed afterwards and re-run with its related files.bash scripts/test-claude-mod.sh: 69 pass.openspec validatestrict: the three new main specs pass (30 older specs already fail strict onmain).omms.log.Follow-up issues
#189, #190, #191, #192, #193, #194