Initial commit
This commit is contained in:
108
hooks/skill-activation-prompt/README.md
Normal file
108
hooks/skill-activation-prompt/README.md
Normal file
@@ -0,0 +1,108 @@
|
||||
# skill-activation-prompt Hook
|
||||
|
||||
**Purpose:** Automatically suggests relevant skills based on user prompts and file context
|
||||
|
||||
## How It Works
|
||||
|
||||
1. Reads `skill-rules.json` to understand skill trigger patterns
|
||||
2. Matches user prompts against configured patterns
|
||||
3. Checks which files the user is working with
|
||||
4. Injects skill suggestions into Claude's context automatically
|
||||
|
||||
## Why This Hook Is Essential
|
||||
|
||||
This hook makes skill auto-activation work seamlessly. Instead of manually invoking skills, Claude automatically recognizes when a skill would be relevant and suggests it to you.
|
||||
|
||||
## Installation
|
||||
|
||||
### Step 1: Copy Hook Files
|
||||
|
||||
Copy both the shell script and TypeScript implementation to your project's hooks directory:
|
||||
|
||||
```bash
|
||||
# Copy both files from the claudecode-toolkit hooks folder
|
||||
cp skill-activation-prompt.sh your-project/.claude/hooks/
|
||||
cp skill-activation-prompt.ts your-project/.claude/hooks/
|
||||
|
||||
# Make the shell script executable
|
||||
chmod +x your-project/.claude/hooks/skill-activation-prompt.sh
|
||||
```
|
||||
|
||||
### Step 2: Install Dependencies
|
||||
|
||||
Navigate to your hooks directory and install dependencies:
|
||||
|
||||
```bash
|
||||
cd your-project/.claude/hooks
|
||||
npm install
|
||||
```
|
||||
|
||||
### Step 3: Configure Claude Code
|
||||
|
||||
Add the hook to your `.claude/settings.json`:
|
||||
|
||||
```json
|
||||
{
|
||||
"hooks": {
|
||||
"UserPromptSubmit": [
|
||||
{
|
||||
"hooks": [
|
||||
{
|
||||
"type": "command",
|
||||
"command": "$CLAUDE_PROJECT_DIR/.claude/hooks/skill-activation-prompt.sh"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Configuration
|
||||
|
||||
The hook looks for a `skill-rules.json` file in your `.claude/hooks` directory to understand which skills to suggest. This file defines patterns that trigger skill suggestions.
|
||||
|
||||
**Example skill-rules.json:**
|
||||
|
||||
```json
|
||||
{
|
||||
"rules": [
|
||||
{
|
||||
"patterns": ["spreadsheet", "excel", "csv", "xlsx"],
|
||||
"skills": ["xlsx"],
|
||||
"filePatterns": ["**/*.xlsx", "**/*.csv"]
|
||||
},
|
||||
{
|
||||
"patterns": ["pdf", "document", "ocr"],
|
||||
"skills": ["pdf-processing-pro"],
|
||||
"filePatterns": ["**/*.pdf"]
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
## How the Hook Triggers
|
||||
|
||||
The hook activates on the `UserPromptSubmit` event, which occurs every time you submit a prompt to Claude. It:
|
||||
|
||||
1. Analyzes your prompt text for relevant keywords
|
||||
2. Checks your current project files for context
|
||||
3. Matches against configured rules
|
||||
4. Suggests applicable skills before Claude processes your request
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
**Hook not triggering:**
|
||||
- Verify the shell script is executable: `chmod +x skill-activation-prompt.sh`
|
||||
- Check settings.json is properly formatted
|
||||
- Ensure `skill-rules.json` exists in `.claude/hooks/`
|
||||
|
||||
**npm install fails:**
|
||||
- Make sure you're in the `.claude/hooks/` directory
|
||||
- Verify Node.js is installed: `node --version`
|
||||
- Try clearing npm cache: `npm cache clean --force`
|
||||
|
||||
**Skills not being suggested:**
|
||||
- Review `skill-rules.json` patterns
|
||||
- Check that skill names match installed skills
|
||||
- Verify file patterns match your project structure
|
||||
Reference in New Issue
Block a user