Skip to content

Instantly share code, notes, and snippets.

View dsebastien's full-sized avatar

Sebastien Dubois dsebastien

View GitHub Profile
@dsebastien
dsebastien / update_prompts.sh
Created November 4, 2026 20:16
Generate AI mega prompts from an Obsidian vault with code2prompt (archived, 2025)
#!/bin/bash
# Requires code2prompt to be installed: https://github.com/mufeedvh/code2prompt
# Requires the fd or fdfind command to be installed. Under Ubuntu: sudo apt install fd-find
## ---------------------------------------------------------------------------------
## INITIALIZATION
## ---------------------------------------------------------------------------------
echo "Updating prompts"
@dsebastien
dsebastien / learning-music-sessions-system-design.md
Last active October 27, 2026 16:31
A learning, music and sessions system for Obsidian (design, built on the Obsidian Starter Kit)

A learning, music and sessions system for Obsidian (design)

Design notes for a system I'm building on top of the Obsidian Starter Kit (OSK): learning music (guitar, piano, theory), tracking what I know and what to practice next, and capturing "sessions" of anything (music practice, sport, games) without bloating my daily notes.

Status: design, October 2026. Nothing below is shipped yet. I'm sharing it to get feedback early.


Why

@dsebastien
dsebastien / index.html
Created October 27, 2026 14:31
Music System Design
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Music & Sessions System — Design overview</title>
<script type="module">
import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs';
mermaid.initialize({ startOnLoad: true, theme: 'dark', securityLevel: 'loose', flowchart: { curve: 'basis' } });
</script>
@dsebastien
dsebastien / TPL Goal.md
Created July 21, 2026 06:59
Goal Templater template

<%"---"%> date_added: <% tp.date.now("YYYY-MM-DD") %> date_committed: <% tp.date.now("YYYY-MM-DD") %> date_completed: date_abandoned: status: <% await tp.system.suggester(["Idea", "Planned", "Active", "Back Burner", "On Hold", "Completed", "Abandoned"], ["99 - Idea", "20 - Planned", "30 - Active", "40 - Back Burner", "50 - On Hold", "60 - Completed", "70 - Abandoned"], false, "Choose a status") %> time_horizon: <% await tp.system.suggester(["TBD", "Within 6 Months", "Within 1 Year", "Within 3 Years", "Within 10 Years", "Someday"], ["99 - TBD", "10 - Within 6 Months", "20 - Within 1 Year", "30 - Within 3 Years", "40 - Within 10 Years", "50 - Someday"], false, "Choose a time horizon") %> necessity: <% await tp.system.suggester(["Skip", "TBD", "MUST", "SHOULD", "COULD", "WONT"], ["", "99 - TBD", "10 - MUST", "20 - SHOULD", "30 - COULD", "40 - WONT"], false, "Choose necessity level (optional)") %> urgency: <% await tp.system.suggester(["Skip", "TBD", "Now", "Soon", "This Year", "Next Year", "Future"], ["", "99 -

@dsebastien
dsebastien / TPL Dispatcher.md
Created July 21, 2026 06:53
Dispatcher Templater template

<%* // Master Templater dispatcher — auto-detects note type via OSK plugin and // applies the matching type-specific template. // // Both paths converge on write_template_to_file(tplFile, file), the same // call the OSK plugin uses internally (main.js applyTemplaterTemplate). It // targets a specific file by reference, so it sidesteps two failure modes // of the prior implementation: // - tp.file.include racing with the included template's tp.file.move // (content can be written to the pre-move path and lost).

name grill-me
description Relentless Socratic interview that drills into any idea, plan, decision, problem, or question until full clarity is reached. Reads relevant vault context first, then systematically walks every branch of the design/decision tree — one dependency at a time — surfacing assumptions, contradictions, and blind spots. Offers to capture outcomes as notes when done. Use when the user says "grill me on X", "drill into X", "interview me about X", "help me think through X", "interrogate my idea X", or "grill me".
argument-hint
idea
plan
decision
problem
or note path to grill
allowed-tools Read, Glob, Grep, Bash(obsidian *:*), mcp__qmd__vsearch, mcp__qmd__query, mcp__qmd__get, Bash(grep *), Write, Edit

Grill Me

Relentless Socratic interviewer. Drills into any starting point until full clarity is reached — no hand-waving, no vague answers, no unresolved dependencies.

#!/usr/bin/env node
const fs = require('fs');
const path = require('path');
// Configuration
const OUTPUT_DIR = '...'; // Relative path to the folder where landmark notes should be created
const FILE_PREFIX = 'Foo'; // Prefix for the landmark notes filenames
/**
<?xml version="1.0" encoding="UTF-8"?>
<!-- Created with BasicAirData GPS Logger for Android - ver. 3.2.3 -->
<!-- Track 2 = 5097 TrackPoints + 4 Placemarks -->
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document>
<name>GPS Logger 20251104-164542</name>
<description><![CDATA[5097 Trackpoints + 4 Placemarks]]></description>
<Style id="TrackStyle">
<LineStyle>
<color>ff0000ff</color>
use crate::audio_feedback::{play_feedback_sound, SoundType};
use crate::managers::audio::AudioRecordingManager;
use crate::managers::transcription::TranscriptionManager;
use crate::overlay::{show_recording_overlay, show_transcribing_overlay};
use crate::settings::get_settings;
use crate::time_utils::format_timestamp;
use crate::tray::{change_tray_icon, TrayIconState};
use crate::utils;
use crate::ManagedToggleState;
use log::debug;
@dsebastien
dsebastien / Dots.md
Last active September 10, 2025 10:19
OSK v3 Dots System (WIP)

New "Dot" Note Type

I've been a long fan of having everything centralized in my knowledge base. And now my vision of this is getting crystal clear:

Literature notes are for inputs: inspiration, with different stages:

  • You curate information (mindfully choose what to consume, then you prioritize & consume based on goals/projects/tasks/curiosity) (curated note type)
  • You capture highlights (highlights note type)
  • You take notes (literature note note type)

Permanent notes are for outputs: your own ideas, creations, outputs, creations, with different stages:

  • You capture ideas, thoughts, insights, (atomic) notes, ...