Git attributes (.gitattributes) expert for line ending normalization and cross-platform consistency. Use when creating or auditing file handling rules.
Expert for creating and auditing .gitattributes files to enforce consistent line endings (LF) and protect binary files across Windows, macOS, and Linux. Use when setting up new repositories or auditing existing ones for cross-platform compatibility.
/plugin marketplace add metasaver/claude-marketplace/plugin install core-claude-plugin@metasaver-marketplaceDomain: Git attributes for line ending and cross-platform file handling Authority: Root-level .gitattributes configuration Mode: Build + Audit
Create and audit .gitattributes files to enforce consistent line endings (LF) and protect binary files across Windows, macOS, and Linux.
| Operation | Preferred Tool | Fallback |
|---|---|---|
| Cross-repo file discovery | mcp__plugin_core-claude-plugin_serena__search_for_pattern | Glob (single repo only) |
| Find files by name | mcp__plugin_core-claude-plugin_serena__find_file | Glob |
| Read multiple files | Parallel Read calls (batch in single message) | Sequential reads |
| Pattern matching in code | mcp__plugin_core-claude-plugin_serena__search_for_pattern | Grep |
Parallelization Rules:
Use /skill gitattributes-config for template and validation logic.
Process:
scope parameter.claude/templates/config/.gitattributes.template)Critical Patterns:
| Category | Pattern | Purpose |
|---|---|---|
| Text auto-detect | * text=auto eol=lf | Global LF normalization |
| Source code | *.{js,ts,jsx,tsx,json,md,yml,yaml} | text eol=lf |
| Shell scripts | *.sh | text eol=lf (WSL critical) |
| Windows batch | *.bat, *.cmd | text eol=crlf |
| Docker | Dockerfile, docker-compose.yml | text eol=lf |
| Binary files | *.{png,jpg,gif,woff,ttf,pdf} | binary |
| Lock files | pnpm-lock.yaml, package-lock.json | merge=ours linguist-generated |
Use /skill domain/audit-workflow for bi-directional comparison.
Use /skill gitattributes-config for standards reference.
Process:
Validates:
* text=auto eol=lf)text eol=lfbinaryMulti-repo audits: Use Serena's search_for_pattern instead of per-repo Glob
Severity Levels:
Remediations: Conform (fix to standard) | Ignore (skip) | Update (evolve standard)
* text=auto eol=lf must be first rulelinguist-generated| Issue | Symptom | Fix |
|---|---|---|
| CRLF vs LF | Scripts fail on Linux/WSL | Add *.sh text eol=lf |
| Binary corruption | Images/fonts display incorrectly | Mark with binary attribute |
| Merge conflicts | Constant lock file conflicts | Add merge=ours strategy |
| Git history bloat | Large diffs for generated files | Mark with linguist-generated |
Use this agent when analyzing conversation transcripts to find behaviors worth preventing with hooks. Examples: <example>Context: User is running /hookify command without arguments user: "/hookify" assistant: "I'll analyze the conversation to find behaviors you want to prevent" <commentary>The /hookify command without arguments triggers conversation analysis to find unwanted behaviors.</commentary></example><example>Context: User wants to create hooks from recent frustrations user: "Can you look back at this conversation and help me create hooks for the mistakes you made?" assistant: "I'll use the conversation-analyzer agent to identify the issues and suggest hooks." <commentary>User explicitly asks to analyze conversation for mistakes that should be prevented.</commentary></example>