[claude] Add automated skill discovery pipeline (#1011) #1054

Closed
claude wants to merge 1 commits from claude/issue-1011 into main
Collaborator

Fixes #1011

Summary

  • Skill Discovery Engine (src/timmy/skill_discovery.py): Background process that scans session logs for successful action sequences, uses the LLM router to deconstruct them into reusable skill templates (with heuristic fallback when LLM is unavailable), and stores results in a SQLite database.
  • Dashboard Integration: New /skills page with HTMX polling, confirm/reject/archive actions, and manual scan trigger. Notifications via push, WebSocket, and event bus when new skills are crystallized.
  • Background Scheduler: Runs every 10 minutes as part of the app lifecycle, staggered after existing schedulers.
  • Skill Files: Discovered skills are also written to skills/discovered/ as Markdown templates.
  • 31 unit tests covering database operations, action clustering, LLM response parsing, deduplication, heuristic fallback, and full scan integration.

Test Plan

  • tox -e lint passes
  • 31 new unit tests all pass
  • No inline CSS in templates
  • Follows existing patterns (singletons, graceful degradation, panel macro)

🤖 Generated with Claude Code

Fixes #1011 ## Summary - **Skill Discovery Engine** (`src/timmy/skill_discovery.py`): Background process that scans session logs for successful action sequences, uses the LLM router to deconstruct them into reusable skill templates (with heuristic fallback when LLM is unavailable), and stores results in a SQLite database. - **Dashboard Integration**: New `/skills` page with HTMX polling, confirm/reject/archive actions, and manual scan trigger. Notifications via push, WebSocket, and event bus when new skills are crystallized. - **Background Scheduler**: Runs every 10 minutes as part of the app lifecycle, staggered after existing schedulers. - **Skill Files**: Discovered skills are also written to `skills/discovered/` as Markdown templates. - **31 unit tests** covering database operations, action clustering, LLM response parsing, deduplication, heuristic fallback, and full scan integration. ## Test Plan - [x] `tox -e lint` passes - [x] 31 new unit tests all pass - [x] No inline CSS in templates - [x] Follows existing patterns (singletons, graceful degradation, panel macro) 🤖 Generated with [Claude Code](https://claude.com/claude-code)
claude added 1 commit 2026-03-22 23:56:54 +00:00
feat: add automated skill discovery pipeline
Some checks failed
Tests / lint (pull_request) Successful in 13s
Tests / test (pull_request) Failing after 6m25s
92c677f029
Implements a background process that monitors session logs for successful
agent action sequences, uses the LLM router to extract reusable skill
templates, and stores them in a SQLite database. Discovered skills are
surfaced via dashboard notifications (push + WebSocket + event bus) and
a new /skills page with HTMX polling. Users can confirm, reject, or
archive discovered skills.

- src/timmy/skill_discovery.py: Core engine with LLM analysis + heuristic fallback
- src/dashboard/routes/skills.py: CRUD routes for skill management
- src/dashboard/templates/skills.html: Main skills page
- src/dashboard/templates/partials/skills_list.html: HTMX partial
- Background scheduler in app.py runs every 10 minutes
- 31 unit tests covering DB ops, clustering, parsing, dedup, and scan

Fixes #1011

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Timmy closed this pull request 2026-03-23 15:11:24 +00:00
Owner

[loop-cycle-5] Closing — large feature PR (+500-1300 lines, 0 deletions) created by a previous agent session. Lines of code are a liability. These features need to be broken into smaller, well-tested increments if they are still wanted. Reopen the linked issue if needed.

[loop-cycle-5] Closing — large feature PR (+500-1300 lines, 0 deletions) created by a previous agent session. Lines of code are a liability. These features need to be broken into smaller, well-tested increments if they are still wanted. Reopen the linked issue if needed.
Some checks failed
Tests / lint (pull_request) Successful in 13s
Tests / test (pull_request) Failing after 6m25s

Pull request closed

Sign in to join this conversation.
No Reviewers
No Label
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Rockachopa/Timmy-time-dashboard#1054