Skip to content
Development
Hook

Hooks

What keel runs automatically, and when. A hook is a command Claude Code fires at a fixed moment, without you asking for it.

From plugin
keel
48 skills1 hook
Install
> /plugin marketplace add EdytaKucharska/keel
> /plugin install keel@keel

Ships with keel. Installing the plugin gets these hooks.

What fires, and when

SessionStart

Fires once when a session begins, and again after a context compaction. It is where a plugin sets up its environment, or restores state the compaction dropped.

  • bash "${CLAUDE_PLUGIN_ROOT}/hooks/session-digest.sh"
Read hooks/hooks.json

Where it lives

  • hooks/session-digest.shRunsGitHub
    Read the script
    #!/usr/bin/env bash
    # Keel ledger session digest — SessionStart hook.
    # If the project has a .keel/ ledger, print a five-line digest so the session
    # starts with decision memory ambient. Silent no-op when there is no ledger.
    set -euo pipefail
    
    LEDGER_DIR="${CLAUDE_PROJECT_DIR:-.}/.keel"
    [ -d "$LEDGER_DIR" ] || exit 0
    
    # Count real entries only: headers carry a number (## #1, ## A-1, ## L-1), so the
    # placeholder examples inside the templates' <!-- Entry format --> comments
    # (## #N, ## A-N, ## L-N) don't inflate the counts.
    count() {
      if [ -f "$1" ]; then grep -c "$2" "$1" || true; else echo 0; fi
    }
    
    decisions=$(count "$LEDGER_DIR/decisions.md" '^## #[0-9]')
    open_assumptions=$(count "$LEDGER_DIR/assumptions.md" '^- \*\*Status:\*\* open$')
    lessons=$(count "$LEDGER_DIR/lessons.md" '^## L-[0-9]')
    
    echo "=== KEEL LEDGER (.keel/) ==="
    echo "Decisions on record: ${decisions} | Open assumptions: ${open_assumptions} | Lessons: ${lessons}"
    if [ "$open_assumptions" -gt 0 ] && [ -f "$LEDGER_DIR/assumptions.md" ]; then
      echo "Open assumptions (check whether any trigger has fired before advising):"
      awk '/^## A-[0-9]/ { header = substr($0, 4) } /^- \*\*Status:\*\* open$/ { if (header != "") print "  - " header }' \
        "$LEDGER_DIR/assumptions.md" | head -5
    fi
    echo "Consult .keel/profile.md before asking context questions; append decisions and assumptions after recommending."
    

Read the script before you install anything that runs on your machine. This is the one part of a plugin that acts without being asked.

Ships withkeel

The AI fractional CTO that lives in your repo — and remembers you. A keel is the weighted spine below a boat's waterline: invisible, and the only reason the vessel stays upright as it takes on load. Your AI tools already generate the app — the sails.

Get the whole plugin
Stats
4
Stars
2
Forks
Maintained
Maintenance
Shell
Language
MIT
License
2mo ago
Last commit
2mo ago
Created

Repo: EdytaKucharska/keel