Instead of repeatedly reminding via prompts...

Use pre-commit git hooks that enforce your coding standards.

So, even if the first stab at getting a solution produces a less than desirable result, the hook will act as a gate-keeper and will get the agent to do a second pass over your code to enforce it. Works much better than repeatedly reminding via prompts.

When it attempts to commit, it will get this failure -

This will force it to re-think -

Here is the hook that triggered this -

echo ""
echo "🧠 Checking for Cyclomatic Complexity (Excessive Nesting)..."
if [ -n "$staged_cljs" ]; then
complexity_errors=0
for file in $staged_cljs; do
# Use awk to find lines with 6+ closing brackets AND report the current function
awk_output=$(awk '
# Track current function
/^\(defn? / { current_func = $2 }

# Check for excessive nesting (6+ closing brackets)
/[])}]{6,}/ {
print " File: " FILENAME
print " Line: " FNR
if (current_func != "") {
print " Func: " current_func
} else {
print " Func: (unknown/top-level)"
}
print " Code: " $0
print "---"
found_error = 1
}

END { if (found_error) exit 1 }
' "$file")

if [ $? -ne 0 ]; then
echo "❌ Excessive nesting detected in $file (> 5 closing brackets)"
echo "$awk_output"
complexity_errors=1
fi
done

if [ $complexity_errors -eq 1 ]; then
echo "⛔ Commit aborted: recursive complexity too high. Please refactor function."
exit 1
fi
echo "✅ Complexity within limits."
fi

The best part is that the LLMs themselves will write the correct hooks for you.

Happy prompting!