
smart-commit
by doublenian
SKILL.md
name: smart-commit description: Self-evolving commit message generator that creates conventional commit messages and learns from your feedback to improve over time. Use this skill when you need to generate git commit messages following conventional commit format (type: description). This skill tracks performance, learns project-specific patterns, and automatically evolves to generate better messages based on your feedback. license: MIT
Smart Commit - Self-Evolving Commit Message Generator
Creates conventional commit messages that evolve based on your project's patterns and feedback.
Overview
This skill generates conventional commit messages by analyzing git diff, learns your project's specific commit patterns, and adapts message style based on your feedback to improve over time.
Current Version: 1.0.0
Self-Evolution Enabled: This skill learns from your feedback to improve commit messages over time.
When to Use This Skill
Use this skill when you want to:
- Generate conventional commit messages from git diff
- Get consistent commit message formatting across your project
- Have commit messages that improve based on your feedback
- Track commit message quality over time
Instructions
Generating Commit Messages
When invoked, analyze the git diff and create a conventional commit message following these rules:
Format: <type>(<scope>): <description>
Types: feat, fix, docs, style, refactor, test, chore, perf, ci, build, revert
Guidelines:
- Use imperative mood ("add" not "added" or "adds")
- Keep description under 72 characters
- Don't end with a period
- Include scope for specific modules/components
- Reference issues in footer if applicable
Examples:
feat(api): add user authentication endpointfix(ui): resolve button alignment on mobiledocs(readme): update installation instructions
After generating the message, ask the user: "Is this commit message satisfactory? (yes/no/edit)"
Recording Feedback
After user response, record the feedback for learning:
const engine = require('../../lib/evolution-engine');
await engine.recordExecution('smart-commit', {
success: userResponse === 'yes',
execution_time: elapsedTime,
input: { diff: gitDiff },
output: { message: commitMessage },
feedback: userFeedback
});
Performance Tracking
This skill tracks:
- Success Rate: Percentage of accepted messages
- Common Types: Most used commit types for this project
- Typical Scopes: Frequently used scopes
- Average Length: Typical message length
- Feedback Patterns: What users like/dislike
Evolution Metadata
Current performance tracked in meta.json:
{
"version": "1.0.0",
"metrics": {
"success_rate": 0.0,
"total_executions": 0,
"acceptance_count": 0,
"rejection_count": 0
},
"patterns": {
"common_types": [],
"common_scopes": [],
"project_specific_rules": []
}
}
Evolution Log
| Version | Date | Change | Improvement |
|---|---|---|---|
| 1.0.0 | 2025-01-11 | Initial version | Baseline |
Usage Example
# User: /commit
[Skill analyzes git diff]
# Skill: Generated commit message:
# feat(api): add user authentication endpoint
# Skill: Is this commit message satisfactory? (yes/no/edit)
# User: yes
[Skill records success and updates metrics]
Configuration
Evolution settings in meta.json:
{
"evolution_config": {
"min_samples_before_evolution": 20,
"min_improvement_threshold": 0.1,
"auto_evolve_enabled": true
}
}
Variants
Previous versions are stored in variants/ directory for reference and rollback.
References
../../lib/evolution-engine.js- Core evolution engine../evolution-engine/SKILL.md- Evolution engine documentation
Score
Total Score
Based on repository quality metrics
SKILL.mdファイルが含まれている
ライセンスが設定されている
100文字以上の説明がある
GitHub Stars 100以上
3ヶ月以内に更新がある
10回以上フォークされている
オープンIssueが50未満
プログラミング言語が設定されている
1つ以上のタグが設定されている
Reviews
Reviews coming soon