#!/usr/bin/env bash # SessionStart hook for ArcheFlow plugin. # Injects the using-archeflow skill as additional context. PLUGIN_ROOT="$(cd "$(dirname "$0")/.." 2>/dev/null && pwd)" || { echo '{}' exit 0 } SKILL_FILE="${PLUGIN_ROOT}/skills/using-archeflow/SKILL.md" if [ ! -f "$SKILL_FILE" ]; then echo '{}' exit 0 fi # Strip YAML frontmatter (everything between first two --- lines) CONTENT=$(awk 'BEGIN{skip=0} /^---$/{skip++; next} skip>=2{print}' "$SKILL_FILE" 2>/dev/null) || { echo '{}' exit 0 } if [ -z "$CONTENT" ]; then echo '{}' exit 0 fi # JSON-escape and output if command -v node &>/dev/null; then node -e ' const content = require("fs").readFileSync(0, "utf8"); console.log(JSON.stringify({ hookSpecificOutput: { additionalContext: content } })); ' <<< "$CONTENT" else # Portable fallback ESCAPED=$(printf '%s' "$CONTENT" | sed -e 's/\\/\\\\/g' -e 's/"/\\"/g' -e ':a;N;$!ba;s/\n/\\n/g' 2>/dev/null) || { echo '{}' exit 0 } printf '{"hookSpecificOutput":{"additionalContext":"%s"}}' "$ESCAPED" fi