Lessons

Lessons#

Lesson system tool for gptme.

Provides structured lessons with metadata that can be automatically included in context. Similar to .cursorrules or “Claude Skills”. Has keyword-based triggering.

Commands provided:

  • /lesson list - View all available lessons

  • /lesson search <query> - Find lessons matching query

  • /lesson show <id> - Display a specific lesson

  • /lesson refresh - Reload lessons from disk

class gptme.tools.lessons.LessonSessionStats

Statistics about lessons matched during a session.

__init__(total_matched: int = 0, unique_lessons: set[str] = <factory>, lesson_titles: dict[str, str] = <factory>) None
gptme.tools.lessons.auto_include_lessons_hook(manager: LogManager) Generator[Message | StopPropagation, None, None]

Hook to automatically include relevant lessons in context.

Extracts keywords from both user and assistant messages to trigger lessons.

Parameters:

manager – Conversation manager with log and workspace

Returns:

Generator of messages to prepend (lessons as system message)

gptme.tools.lessons.handle_lesson_command(ctx: CommandContext) Generator[Message, None, None]

Handle /lesson command.

gptme.tools.lessons.session_end_lessons_hook(manager: LogManager, **kwargs) Generator[Message | StopPropagation, None, None]

Hook to print lesson statistics at end of session.

Parameters:
  • manager – Conversation manager with log and workspace

  • **kwargs – Additional arguments (e.g., logdir)

Yields:

Nothing (just logs statistics)