From project-toolkit
Investigates historical context of code, patterns, or constraints via git log/blame, PR/ADR searches, and dependency analysis before proposing changes.
npx claudepluginhub rjmurillo/ai-agents --plugin project-toolkitThis skill uses the workspace's default tool permissions.
Enforce epistemic humility before changing existing systems. Understand original purpose before proposing changes.
Generates design tokens/docs from CSS/Tailwind/styled-components codebases, audits visual consistency across 10 dimensions, detects AI slop in UI.
Records polished WebM UI demo videos of web apps using Playwright with cursor overlay, natural pacing, and three-phase scripting. Activates for demo, walkthrough, screen recording, or tutorial requests.
Delivers idiomatic Kotlin patterns for null safety, immutability, sealed classes, coroutines, Flows, extensions, DSL builders, and Gradle DSL. Use when writing, reviewing, refactoring, or designing Kotlin code.
Enforce epistemic humility before changing existing systems. Understand original purpose before proposing changes.
# Investigate why code exists before changing it
/chestertons-fence "path/to/file.py" "remove unused validation"
# Investigate an ADR before deprecating it
/chestertons-fence ".agents/architecture/ADR-005.md" "allow bash scripts"
| Phrase | Context |
|---|---|
why does this exist | Investigating existing code or patterns |
chestertons fence | Explicit investigation request |
before removing | Planning deletion or replacement |
investigate history | Researching original rationale |
prior art investigation | ADR-required investigation |
| Input | Output | Destination |
|---|---|---|
| File path or ADR number | Investigation report | .agents/analysis/NNN-chestertons-fence-TOPIC.md |
| Component description | Historical context summary | stdout (JSON) |
Use this skill BEFORE proposing changes to existing:
1. Identify Structure What exists? Where is it defined?
|
v
2. Git Archaeology git log, git blame to find origin commit
|
v
3. PR/ADR Search Find the PR or ADR with original rationale
|
v
4. Dependency Analysis What references or depends on this?
|
v
5. Generate Report Fill the investigation template
|
v
6. Decision REMOVE | MODIFY | PRESERVE | REPLACE
Step 1: Identify Structure. Locate the exact file, function, pattern, or constraint under investigation. Record its current form.
Step 2: Git Archaeology. Run git log --follow and git blame on the target. Identify the commit that introduced it, the author, and the date.
Step 3: PR/ADR Search. Search for the originating PR using gh pr list --search. Check .agents/architecture/ for related ADRs. Look for comments explaining intent.
Step 4: Dependency Analysis. Use grep or Grep tool to find all references. Map upstream and downstream dependencies. Identify what breaks if the structure is removed.
Step 5: Generate Report. Use the template at .agents/templates/chestertons-fence-investigation.md. Fill all sections with evidence from steps 1 through 4.
Step 6: Decision. Based on evidence, recommend one action:
| Decision | When to Use |
|---|---|
| PRESERVE | Original rationale still applies |
| MODIFY | Purpose valid but implementation needs updating |
| REPLACE | Better approach exists, original concern addressed |
| REMOVE | Original rationale no longer applies, with evidence |
# Investigate a file or pattern
python3 scripts/investigate.py --target path/to/file.py --change "remove unused validation"
# Investigate an ADR
python3 scripts/investigate.py --target .agents/architecture/ADR-005.md --change "allow bash scripts"
# Output as JSON (for automation)
python3 scripts/investigate.py --target path/to/file.py --change "description" --format json
| Agent | How to Integrate |
|---|---|
| Analyst | Run this skill first when investigating changes. The report is a prerequisite for any change proposal. |
| Architect | ADRs that deprecate or replace existing patterns MUST include a "Prior Art Investigation" section. Use this skill to generate it. |
| Implementer | Before implementing deletions or major refactoring, verify an investigation report exists. If missing, route to analyst. |
| Critic | When validating plans that remove or replace existing systems, check for investigation evidence. Auto-reject proposals without historical context. |
| Avoid | Why | Instead |
|---|---|---|
| Removing code you do not understand | May break hidden invariants | Investigate first, then decide |
| Assuming dead code is unused | Hyrum's Law: someone depends on it | Run dependency analysis |
| Skipping PR/ADR search | Loses original design rationale | Always check git history and PRs |
| Proposing replacement without evidence | Cannot compare tradeoffs | Document original constraints first |
Investigation reports use the template at .agents/templates/chestertons-fence-investigation.md.