Initial commit
This commit is contained in:
118
commands/history-analysis/skill.md
Normal file
118
commands/history-analysis/skill.md
Normal file
@@ -0,0 +1,118 @@
|
||||
---
|
||||
description: Analyze git history to learn project's commit style and conventions
|
||||
---
|
||||
|
||||
# History Analysis Skill
|
||||
|
||||
**Purpose:** Analyze git commit history to learn project-specific commit patterns, conventions, scope usage, and message styles. Provides intelligent recommendations that match the team's existing practices.
|
||||
|
||||
## Router
|
||||
|
||||
Parse `$ARGUMENTS` to determine which history analysis operation to execute:
|
||||
|
||||
**Available Operations:**
|
||||
- `analyze-style` - Learn commit style from recent history
|
||||
- `detect-patterns` - Identify project-specific conventions
|
||||
- `extract-scopes` - Discover commonly used scopes
|
||||
- `suggest-conventions` - Recommend conventions based on history
|
||||
- `learn-project` - Comprehensive project pattern learning
|
||||
- `learn` - Alias for learn-project (full analysis)
|
||||
|
||||
**Base Directory:** `/home/danie/projects/plugins/architect/open-plugins/plugins/git-commit-assistant/commands/history-analysis`
|
||||
|
||||
## Routing Logic
|
||||
|
||||
```
|
||||
Request: $ARGUMENTS
|
||||
Parse: operation = first word, parameters = remainder
|
||||
|
||||
If operation is:
|
||||
- "analyze-style" → Read "./analyze-style.md" with parameters
|
||||
- "detect-patterns" → Read "./detect-patterns.md" with parameters
|
||||
- "extract-scopes" → Read "./extract-scopes.md" with parameters
|
||||
- "suggest-conventions" → Read "./suggest-conventions.md" with parameters
|
||||
- "learn-project" or "learn" → Read "./learn-project.md" with parameters
|
||||
- empty or unknown → Display usage information
|
||||
```
|
||||
|
||||
## Usage Examples
|
||||
|
||||
```bash
|
||||
# Analyze commit style from recent history
|
||||
/history-analysis analyze-style
|
||||
|
||||
# Analyze with custom commit count
|
||||
/history-analysis analyze-style count:100
|
||||
|
||||
# Detect project conventions
|
||||
/history-analysis detect-patterns
|
||||
|
||||
# Extract common scopes
|
||||
/history-analysis extract-scopes
|
||||
|
||||
# Get convention recommendations
|
||||
/history-analysis suggest-conventions
|
||||
|
||||
# Full project learning (comprehensive analysis)
|
||||
/history-analysis learn-project
|
||||
|
||||
# Short alias for full learning
|
||||
/history-analysis learn
|
||||
```
|
||||
|
||||
## Parameters
|
||||
|
||||
All operations support these optional parameters:
|
||||
- `count:N` - Number of commits to analyze (default: 50)
|
||||
- `branch:name` - Branch to analyze (default: current branch)
|
||||
- `format:json|text` - Output format (default: text)
|
||||
|
||||
## Integration Points
|
||||
|
||||
This skill is designed to be invoked by:
|
||||
- **commit-assistant agent** - Learn project conventions before generating messages
|
||||
- **message-generation skill** - Validate messages against project style
|
||||
- **User commands** - Understand project commit patterns
|
||||
|
||||
## Error Handling
|
||||
|
||||
If not in a git repository:
|
||||
- Return error: "Not in a git repository. Please run this command from within a git project."
|
||||
|
||||
If no commit history exists:
|
||||
- Return error: "No commit history found. This appears to be a new repository."
|
||||
|
||||
If git command fails:
|
||||
- Return error with git error message and troubleshooting guidance
|
||||
|
||||
## Output Structure
|
||||
|
||||
All operations return structured data including:
|
||||
- **Analysis results** - Patterns, frequencies, statistics
|
||||
- **Recommendations** - Project-specific guidance
|
||||
- **Examples** - Sample commits from project
|
||||
- **Confidence score** - How reliable the analysis is
|
||||
|
||||
---
|
||||
|
||||
**Execution:**
|
||||
|
||||
1. Parse `$ARGUMENTS` to extract operation and parameters
|
||||
2. Validate git repository exists
|
||||
3. Read and execute the appropriate operation file
|
||||
4. Return structured results
|
||||
|
||||
If operation is unrecognized, display:
|
||||
```
|
||||
Unknown operation: {operation}
|
||||
|
||||
Available operations:
|
||||
analyze-style - Analyze commit message style
|
||||
detect-patterns - Detect project conventions
|
||||
extract-scopes - Extract common scopes
|
||||
suggest-conventions - Get convention recommendations
|
||||
learn-project - Full project pattern learning
|
||||
|
||||
Usage: /history-analysis <operation> [parameters]
|
||||
Example: /history-analysis analyze-style count:100
|
||||
```
|
||||
Reference in New Issue
Block a user