Automated summary
Analyzes git history to identify hotspots (frequently changed files), temporal couplings (files that change together), and recent contributors to assess code complexity, hidden dependencies, and bus factor.
Strengths
- Identifies refactoring priorities via complexity scores
- Reveals hidden dependencies that may need architectural review
- Maps knowledge distribution to mitigate bus factor risks
- Provides aggregate risk assessment for resource allocation
Limitations
- Requires code-maat and Java installation
- Analysis limited to last 12 months by default
- Coupling analysis may produce false positives for automatically generated files
When you need to understand codebase complexity, identify risky areas, or assess knowledge distribution for onboarding or team planning.
When the repository has very little git history or when you need real-time, non-git-based complexity analysis.
Security analysis
SafeSkill uses standard git and code-maat (open-source) for local analysis. No external calls, no destructive commands, no exfiltration. Installation script is requested with user permission.
No concerns found
How this analysis is madeExamples
Analyze git history in the src/ directory for hotspots and coupling.Run temporal analysis on the entire repository (last 12 months) to assess bus factor.name: history description: Smart temporal analysis using git history - Hotspots, Coupling, and Recent Contributors model: sonnet allowed-tools: Bash, Glob, Grep, Read, Write, AskUserQuestion argument-hint: (optional) [path or scope, e.g., "src/", "frontend", "last 6 months"] [--force]
SourceAtlas: Smart Temporal Analysis (Git History)
Constitution: ANALYSIS_CONSTITUTION.md v1.0
Context
Analysis Scope: $ARGUMENTS (default: entire repository) Goal: Extract actionable insights from git history Time Limit: 5-10 minutes Prerequisite: code-maat (will ask permission to install if missing)
Quick Start
- Check cache (skip if
--forceflag present) - Check code-maat installation (install if needed with permission)
- Generate git log (last 12 months, code-maat compatible)
- Run analyses: Hotspots, Coupling, Contributors
- Risk assessment combining all dimensions
- Generate report following output-template.md
- Verify output using verification-guide.md
- Auto-save to
.sourceatlas/history.md
Your Task
You are analyzing git commit history to understand:
- Hotspots - Files changed most frequently (likely complex/risky)
- Temporal Coupling - Files that change together (hidden dependencies)
- Recent Contributors - Who has knowledge of which areas (bus factor)
- Risk Areas - Aggregate assessment for prioritization
What You'll Discover
| Analysis Type | Insight | Business Value | |---------------|---------|----------------| | Hotspots | Complexity indicators | Refactoring priorities, technical debt | | Coupling | Hidden dependencies | Architecture review targets | | Contributors | Knowledge distribution | Bus factor risks, training needs | | Risk | Aggregate assessment | Resource allocation decisions |
Core Workflow
Execute these steps in order. See workflow.md for complete details.
Step 0: Check Prerequisites (30 seconds)
Purpose: Ensure code-maat is installed and Java is available.
Check code-maat:
if [ -f "$HOME/.sourceatlas/bin/code-maat-1.0.4-standalone.jar" ]; then
export CODEMAAT_JAR="$HOME/.sourceatlas/bin/code-maat-1.0.4-standalone.jar"
fi
If not found, use AskUserQuestion:
- "code-maat required for analysis. Install now? (requires Java 8+)"
- If yes → run
./scripts/install-codemaat.sh - If no → show manual installation steps
→ See workflow.md#step-0
Step 1: Generate Git Log (1 minute)
Purpose: Create code-maat compatible git log file.
Default: Last 12 months
git log --all --numstat --date=short \
--pretty=format:'--%h--%ad--%aN' \
--after="$(date -v-12m +%Y-%m-%d)" \
> /tmp/git-history.log
If scope specified: Filter to directory (e.g., "src/")
→ See workflow.md#step-1
Step 2: Hotspot Analysis (2 minutes)
Purpose: Identify frequently changed files.
Run code-maat revisions:
java -jar "$CODEMAAT_JAR" -l /tmp/git-history.log -c git2 -a revisions
Calculate complexity scores: LOC × Revisions
Identify top 10 hotspots sorted by complexity
→ See workflow.md#step-2
Step 3: Temporal Coupling Analysis (2 minutes)
Purpose: Find files that change together.
Run code-maat coupling:
java -jar "$CODEMAAT_JAR" -l /tmp/git-history.log -c git2 -a coupling
Filter significant couplings: degree ≥ 0.5
Categorize: Expected vs Suspicious
→ See workflow.md#step-3
Step 4: Recent Contributors Analysis (2 minutes)
Purpose: Map knowledge distribution across modules.
Run code-maat entity-ownership:
java -jar "$CODEMAAT_JAR" -l /tmp/git-history.log -c git2 -a entity-ownership
Generate knowledge map by area (src/api/, src/core/, etc.)
Identify bus factor risks: Single-contributor modules
→ See workflow.md#step-4
Step 5: Risk Assessment (1 minute)
Purpose: Combine all dimensions into actionable priorities.
Calculate composite risk: (Revisions × Coupling_Count) / Contributor_Count
Risk categories:
- Bus Factor Risk
- Complexity Risk
- Coupling Risk
- Testing Gap Risk
→ See workflow.md#step-5
Output Format
Your analysis should follow this Markdown structure:
🗺️ SourceAtlas: History
───────────────────────────────
📜 [repo name] │ [N] months
**Analysis Period**: [start] → [end]
**Commits Analyzed**: [count]
**Files Analyzed**: [count]
## 1. Hotspots (Top 10)
[Table with Rank, File, Changes, LOC, Complexity Score]
[Insights paragraph]
## 2. Temporal Coupling (Significant Pairs)
[Table with File A, File B, Coupling, Co-changes]
[Expected vs Suspicious coupling analysis]
## 3. Recent Contributors (Knowledge Map)
[Per-area tables with Contributor, Commits, Last Active]
[Bus Factor Risks section]
## 4. Risk Summary
[Risk aggregation table]
[Priority Actions numbered list]
## 5. Recommendations
[Refactoring candidates, knowledge sharing, architecture review]
## Recommended Next
[Dynamic suggestions based on findings]
→ See output-template.md for complete specification and examples
Critical Rules
1. Privacy Aware
- Use "Recent Contributors" not "Ownership %"
- Focus on knowledge distribution, not blame
- Frame findings as opportunities, not criticisms
2. Actionable Insights
- Every finding must have recommended action
- Reference specific commit counts and file paths
- Provide concrete next steps (not vague suggestions)
3. Evidence-Based
- All hotspot files must exist (verify)
- Commit counts must match git history (±20% tolerance)
- Contributor names must be in git log
4. Time-Bounded
- Default: 12 months (good balance)
- Minimum: 3 months (for meaningful patterns)
- Maximum: 24 months (avoid ancient history)
5. Verification Required
- Execute verification-guide.md after analysis
- Verify file paths, commit counts, contributors
- Correct discrepancies before output
6. Constitutional Compliance
Follow ANALYSIS_CONSTITUTION.md:
- Article I: Evidence-based (all claims from git/code-maat)
- Article III: Verification (run V1-V4 checks)
- Article IV: Evidence format (file:line references)
- Article V: Transparency (show analysis period, cache age)
- Article VII: User Empowerment (actionable recommendations)
Self-Verification
After generating your analysis, execute verification steps:
Step V1: Extract Verifiable Claims
Parse output for all quantifiable claims:
- File paths (hotspots, coupled files)
- Commit counts (total, per file, per contributor)
- Contributor names
- Coupling pairs
- Date ranges
Step V2: Parallel Verification
- Verify hotspot files exist (sample 3-5)
- Verify commit counts (±20% tolerance)
- Verify contributors in git history
- Verify coupling pairs (both files exist)
- Verify date ranges within repository history
Step V3: Handle Results
- ✅ All checks pass → Proceed to output
- ⚠️ Minor issues (1-2 checks) → Correct and note
- ❌ Major issues (3+ checks) → Re-execute analysis
Step V4: Add Verification Summary
verification_summary:
checks_performed: [...]
confidence_level: "high" # high|medium|low
notes: [...]
→ See verification-guide.md for complete checklist
Advanced
Cache Behavior
- Default: Use cache if exists
- Force flag: Skip cache with
--force - Cache location:
.sourceatlas/history.md(fixed path) - Cache age warning: If >30 days old
→ See reference.md#cache-behavior
Auto-Save Mechanism
Complete Markdown report auto-saves after verification:
💾 Saved to .sourceatlas/history.md
→ See reference.md#auto-save-behavior
Handoffs to Next Commands
Based on findings, suggest:
- High-risk hotspot →
/sourceatlas:impact "[hotspot]" - Suspicious coupling →
/sourceatlas:flow "[entry point]" - Refactoring needed →
/sourceatlas:pattern "[pattern]"
→ See reference.md#handoffs
code-maat Installation
- Default location:
~/.sourceatlas/bin/code-maat-1.0.4-standalone.jar - Auto-install via:
./scripts/install-codemaat.sh - Requires: Java 8+
→ See reference.md#code-maat-installation
Interpretation Guidelines
- Hotspots: Not always bad (core logic changes often)
- Coupling: Expected (same domain) vs Suspicious (cross-module)
- Contributors: Healthy = 2-3 per module, Risk = single contributor
→ See reference.md#interpretation-guidelines
Support Files
Detailed documentation available in:
- workflow.md - Complete Step 0-5 execution guide with bash commands
- output-template.md - Full Markdown structure and examples
- verification-guide.md - Self-verification steps V1-V4
- reference.md - Cache, code-maat, interpretation, troubleshooting
Output Header
Start your output with:
🗺️ SourceAtlas: History
───────────────────────────────
📜 [repo name] │ [N] months
Then follow complete structure in output-template.md.
From the file to a first result
The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.
View the source and supporting filesThis download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.
1. Download the file
Download SKILL.mdFrom the root of a test project, save the file as .skill-downloads/smart-git-history-temporal-analysis-mm8o520f/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.
Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.
mkdir -p '.skill-downloads/smart-git-history-temporal-analysis-mm8o520f' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/smart-git-history-temporal-analysis-mm8o520f/download' --output '.skill-downloads/smart-git-history-temporal-analysis-mm8o520f/SKILL.md.part' && mv '.skill-downloads/smart-git-history-temporal-analysis-mm8o520f/SKILL.md.part' '.skill-downloads/smart-git-history-temporal-analysis-mm8o520f/SKILL.md'2. Check prerequisites
Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.
Tools declared by the author (check availability in your agent): Bash, Glob, Grep, Read, Write, AskUserQuestion
No recognized prerequisites section in this file. This does not mean it is self-contained: libraries, tools and access requirements may be mentioned elsewhere in the content or source repository.
The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.
3. Load the skill
After inspection, copy the complete folder into your project using one of the commands below, then open a new tool session. The command stops if a folder with the same name already exists: compare the files before replacing it.
Claude Code
test -f '.skill-downloads/smart-git-history-temporal-analysis-mm8o520f/SKILL.md' && test -s '.skill-downloads/smart-git-history-temporal-analysis-mm8o520f/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/history' && cp -R '.skill-downloads/smart-git-history-temporal-analysis-mm8o520f' '.claude/skills/history'OpenSkills
OpenSkills must already be installed. The local install/read procedure is checked with OpenSkills 1.5.0, which requires Node.js ≥ 20.6.0. Catalog slugs are not resolved automatically.
Official OpenSkills installationopenskills install './.skill-downloads/smart-git-history-temporal-analysis-mm8o520f'openskills read 'smart-git-history-temporal-analysis-mm8o520f'Reading should display the installed file content and its base directory. It does not run the skill or install its dependencies.
For an agent that reads AGENTS.md, then sync the index. This command changes AGENTS.md: review the diff before using it.
openskills syncManual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.
4. Try a first task
Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:
Read .skill-downloads/smart-git-history-temporal-analysis-mm8o520f/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.
React Hook Form Best Practices
Development
Master React Hook Form: avoid anti-patterns, manage subscriptions, and handle reset, dirty state, and controlled inputs correctly.
Emotion to Mantine Migration
Development
Migrate Emotion styled-components to Mantine components with style props and CSS modules. Use when converting .styled.tsx files or removing @emotion imports.
Scope Creep Detector
Development
Analyzes git diffs against a stated intent to detect scope creep, unrelated files, broad PRs, and oversized changes, then suggests keep, split, or justify actions.