Logs folder-level decisions and open questions from the session
Logs significant architectural decisions and unresolved questions from sessions to a database.
/plugin marketplace add mds/floatprompt/plugin install floatprompt@floatprompt-marketplacehaikuPurpose: 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.
Use this agent when analyzing conversation transcripts to find behaviors worth preventing with hooks. Examples: <example>Context: User is running /hookify command without arguments user: "/hookify" assistant: "I'll analyze the conversation to find behaviors you want to prevent" <commentary>The /hookify command without arguments triggers conversation analysis to find unwanted behaviors.</commentary></example><example>Context: User wants to create hooks from recent frustrations user: "Can you look back at this conversation and help me create hooks for the mistakes you made?" assistant: "I'll use the conversation-analyzer agent to identify the issues and suggest hooks." <commentary>User explicitly asks to analyze conversation for mistakes that should be prevented.</commentary></example>