dotfiles/claude-code/skills/familiarize/SKILL.md
Orient in a new or unfamiliar repo by reading docs, config, and code structure.
npx skillsauth add jimweller/dotfiles familiarizeInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
STARTER_CHARACTER = 🗺️
Read-only. No writes. No agents. List files read when done.
$ARGUMENTS
PROJECT_ROOT=$(git rev-parse --show-toplevel 2>/dev/null || pwd)
If $ARGUMENTS is provided, treat it as a subdirectory: SCAN_ROOT=$PROJECT_ROOT/$ARGUMENTS. If the path does not exist, report it and stop.
If $ARGUMENTS is empty, SCAN_ROOT=$PROJECT_ROOT.
State the scan root before proceeding.
Find all CLAUDE.md files under SCAN_ROOT (exclude .git/ paths). Read each one.
find "$SCAN_ROOT" -name "CLAUDE.md" -not -path "*/.git/*" -not -path "*/node_modules/*"
Find all .llmdocs/ directories under SCAN_ROOT. For each, read every .md file excluding files prefixed with _.
find "$SCAN_ROOT" -type d -name ".llmdocs" -not -path "*/.git/*"
Then for each directory found:
ls "$LLMDOCS_DIR"/*.md | grep -v '/_[^/]*$'
Read each matching file.
Skip silently if not found.
git log --oneline -20
Check for and read each of these files if they exist at SCAN_ROOT. Skip any that do not exist without comment.
.envrc.env.example.gitignore.gitattributespackage.jsonpyproject.tomlCargo.tomlgo.modGemfilerequirements.txtpom.xmlbuild.gradleMakefileTaskfile.ymljustfileRakefileDockerfile (and variants like Dockerfile.*)docker-compose*.ymlterraform/*.tfserverless.ymlsam-template.yaml.github/workflows/*.yml.gitlab-ci.ymlJenkinsfile.circleci/config.ymlREADME.md at scan rootDepth 3, excluding noise directories:
find "$SCAN_ROOT" -maxdepth 3 \
-not -path "*/.git/*" \
-not -path "*/node_modules/*" \
-not -path "*/__pycache__/*" \
-not -path "*/vendor/*" \
-not -path "*/.terraform/*" \
-not -path "*/.venv/*" \
-not -path "*/venv/*" \
-not -path "*/dist/*" \
-not -path "*/build/*" \
-not -path "*/.next/*" \
-not -path "*/target/*" \
| sort
Search for these filename patterns under SCAN_ROOT:
main.*, index.*, app.*, cli.*__main__.pycmd/*/main.gosrc/lib.rs, src/main.rsserver.*, handler.*Read the first 50 lines of up to 5 matches. Prefer files closer to the scan root.
For each source directory identified (directories containing source files, not config), read the first 50 lines of up to 3 representative files per directory.
Skip:
*_test.*, *.test.*, *.spec.*, test_*)*.min.js, *_pb.go, *.generated.*, *.g.dart)package-lock.json, yarn.lock, poetry.lock, Cargo.lock)Output two sections:
List all files that were read (filenames only, grouped by step).
A concise summary of the project based on everything read. Cover:
5-7 paragraphs of prose. No bullets or headings in overview.
After the report, await instructions.
testing
Search saved session transcripts for past decisions, actions, errors, and context that has left the current conversation window.
data-ai
Review a PRD for defects via Claude opus subagent.
development
Markdown authoring guidelines for formatting, code blocks, and structure. Use when writing or editing markdown files.
development
--- name: md-style description: README style guide for concise, direct documentation. Use when writing or editing README files. ß--- <!-- markdownlint-disable-file MD041 --> # README Style Guide Write concise, direct README files for experienced engineers. ## Principles - **No fluff** - Skip tables of contents, verbose explanations, development history - **No roadmaps** - Document current state only, not plans or decisions. Readme is an engineering specification. Not a project plan or chan