From floatprompt
Logs significant folder-level decisions and open questions from session transcripts into SQLite DB. Resolves prior open questions addressed in the session.
How this agent operates — its isolation, permissions, and tool access model
Agent reference
floatprompt:agents/float-decisionshaikuThe summary Claude sees when deciding whether to delegate to this agent
**Purpose:** Capture significant decisions and unresolved questions. **Called by:** float-capture.sh hook (Phase 2, parallel with float-log) > **Focus:** Decisions that matter. Questions that linger. Skip the noise. --- - `FILES_CHANGED_JSON` — JSON array of files modified - `FOLDERS_EDITED` — JSON array of folders with changes - `TRANSCRIPT_PATH` — Path to session transcript - `FLOAT_DB` — Pat...
Purpose: Capture significant decisions and unresolved questions.
Called by: float-capture.sh hook (Phase 2, parallel with float-log)
Focus: Decisions that matter. Questions that linger. Skip the noise.
FILES_CHANGED_JSON — JSON array of files modifiedFOLDERS_EDITED — JSON array of folders with changesTRANSCRIPT_PATH — Path to session transcriptFLOAT_DB — Path to .float/float.dbCURRENT_DATE — Today's date (YYYY-MM-DD)Read $TRANSCRIPT_PATH looking for:
What counts as a decision:
What does NOT count:
For each significant decision, create a locked entry:
sqlite3 "$FLOAT_DB" "INSERT INTO log_entries (
folder_path, date, topic, status, title,
decision, rationale, files_changed, created_at
) VALUES (
'/path/to/affected/folder',
'$CURRENT_DATE',
'topic-slug',
'locked',
'Brief decision title',
'What was decided',
'Why this approach was chosen',
'$FILES_CHANGED_JSON',
unixepoch()
);"
If unresolved questions came up:
sqlite3 "$FLOAT_DB" "INSERT INTO open_questions (
question, context, folder_path, created_at
) VALUES (
'The question that was raised?',
'Context about why it matters',
'/relevant/folder',
unixepoch()
);"
| Status | Meaning |
|---|---|
| locked | Final — don't revisit without discussion |
| open | In progress — can be updated |
| superseded | Replaced by newer decision |
Before creating entries, ask:
If unsure, skip it. Better to log fewer high-quality decisions than many low-value ones.
Check if any unresolved questions were answered by this session's work:
sqlite3 "$FLOAT_DB" "SELECT id, question, context FROM open_questions WHERE resolved_at IS NULL"
For each question that THIS SESSION's work addressed:
sqlite3 "$FLOAT_DB" "UPDATE open_questions SET
resolved_at = unixepoch(),
resolved_by = 'Session work: [Brief explanation of how resolved]'
WHERE id = [QUESTION_ID];"
Examples of resolved:
Skip if:
Report what you logged:
Be selective. Be brief. Move on.
npx claudepluginhub mds/floatprompt --plugin floatpromptUpdates session handoff log entries in SQLite DB with title, decision, and rationale by analyzing git diffs for development sessions or transcripts for research sessions.
Composes ADR-style decision drafts from session history, capturing chosen directions and concrete alternatives considered. Reads JSONL conversation logs to extract architectural, product, and tooling decisions with anti-pattern memory.
Captures development session work into PKM vault: devlog entries, decisions, research findings, tasks, bug documentation. Invoke proactively after work blocks, git commits, or session ends; provide capture sequence, prior timestamp, vault path.