- Introduced coding standards for TypeScript and React in SKILL.md. - Added continuous learning skill with configuration and evaluation scripts. - Created detail layout guidelines for read-only pages. - Established form layout rules for data-entry forms. - Documented project guidelines for the frontend monorepo. - Implemented security review checklist for frontend/Electron applications. - Developed a verification loop skill for comprehensive session checks. This commit enhances the skill set available for developers, ensuring adherence to best practices and improving code quality.
54 lines
1.8 KiB
Bash
Executable File
54 lines
1.8 KiB
Bash
Executable File
#!/bin/bash
|
|
# Continuous Learning - Session Evaluator
|
|
# Runs on sessionEnd to extract reusable patterns from Cursor sessions
|
|
#
|
|
# Configured in .cursor/hooks.json:
|
|
# sessionEnd -> node .cursor/scripts/hooks/evaluate-session.js
|
|
# This shell version is a fallback.
|
|
#
|
|
# Extracted skills saved to: .agents/skills/learned/
|
|
|
|
set -e
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
ROOT="$(git rev-parse --show-toplevel 2>/dev/null || pwd)"
|
|
CONFIG_FILE="$SCRIPT_DIR/config.json"
|
|
LEARNED_SKILLS_PATH="${ROOT}/.agents/skills/learned"
|
|
MIN_SESSION_LENGTH=10
|
|
|
|
# Load config if exists
|
|
if [ -f "$CONFIG_FILE" ]; then
|
|
MIN_SESSION_LENGTH=$(jq -r '.min_session_length // 10' "$CONFIG_FILE")
|
|
configured_path=$(jq -r '.learned_skills_path // empty' "$CONFIG_FILE")
|
|
if [ -n "$configured_path" ]; then
|
|
LEARNED_SKILLS_PATH=$(echo "$configured_path" | sed "s|~|$HOME|")
|
|
case "$LEARNED_SKILLS_PATH" in
|
|
/*) ;;
|
|
*) LEARNED_SKILLS_PATH="${ROOT}/${LEARNED_SKILLS_PATH}" ;;
|
|
esac
|
|
fi
|
|
fi
|
|
|
|
# Ensure learned skills directory exists
|
|
mkdir -p "$LEARNED_SKILLS_PATH"
|
|
|
|
# Get transcript path from environment (set by Claude Code)
|
|
transcript_path="${CLAUDE_TRANSCRIPT_PATH:-}"
|
|
|
|
if [ -z "$transcript_path" ] || [ ! -f "$transcript_path" ]; then
|
|
exit 0
|
|
fi
|
|
|
|
# Count messages in session
|
|
message_count=$(grep -c '"type":"user"' "$transcript_path" 2>/dev/null || echo "0")
|
|
|
|
# Skip short sessions
|
|
if [ "$message_count" -lt "$MIN_SESSION_LENGTH" ]; then
|
|
echo "[ContinuousLearning] Session too short ($message_count messages), skipping" >&2
|
|
exit 0
|
|
fi
|
|
|
|
# Signal to Claude that session should be evaluated for extractable patterns
|
|
echo "[ContinuousLearning] Session has $message_count messages - evaluate for extractable patterns" >&2
|
|
echo "[ContinuousLearning] Save learned skills to: $LEARNED_SKILLS_PATH" >&2
|