audit
Audit the complete ~/.dotfiles system for credential exposure, shell and Neovim startup regressions, broken Stow links, missing tools, and stale configuration.
Skill by kriscard
Chalk Labs
Need help deploying audit?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/kriscard-audit
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: security
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/audit
What's inside
- Skill name
audit- Description
- Audit the complete ~/.dotfiles system for credential exposure, shell and Neovim startup regressions, broken Stow links, missing tools, and stale configuration. Use for whole-dotfiles health checks and triage; route focused Neovim work to neovim and focused terminal or shell edits to shell-env.
- License
- MIT
- Instructions
- 148 lines in SKILL.md · view on GitHub
Before installing
- Instructions read files in your home folder (~/.ssh, ~/.aws…)
Files (4)
- SKILL.md
- component-analysis.md · references/
- security-patterns.md · references/
- shell-performance.md · references/
SKILL.md (first lines)
# Dotfiles Audit
Audit the repository in security-first order. The repository uses one GNU Stow package at `~/.dotfiles/home/`; its `README.md` and `dotfiles --help` are authoritative for current layout and commands.
## Step 0: Security scan
Search tracked files without printing credential values:
```sh
cd ~/.dotfiles
scan_redacted() {
local detector=$1 pattern=$2
git grep -nI -E "$pattern" -- ':(exclude)*.example' ':(exclude)*.md' 2>/dev/null |
while IFS=: read -r file line _; do
printf '%s:%s [%s; value redacted]\n' "$file" "$line" "$detector"
done
}
scan_redacted assignment '(API_KEY|ACCESS_KEY|TOKEN|SECRET|PASSWORD|PRIVATE_KEY)[[:space:]]*=[[:space:]]*[^[:space:]]{8,}'
scan_redacted token-prefix '(gh[pousr]_[A-Za-z0-9_]{20,}|sk-[A-Za-z0-9_-]{20,}|AKIA[0-9A-Z]{16}|BEGIN[[:space:]].*PRIVATE KEY)'
```
Treat matches as candidates until placeholders and false positives are ruled out. Keep credential values out of command output and the report. If a live credential is tracked, record its redacted location, revoke or rotate it, remove it from the current tree, and assess Git-history cleanup.
Check local secret permissions without reading their contents:
```sh
find ~/.dotfiles -maxdepth 2 -type f \( -name '.env' -o -name '.netrc' -o -name '.authinfo' \) -exec stat -f '%Sp %N' {} \;
```
Inspect `.gitignore` against the actual local-secret files. Load `references/security-patterns.md` when findings need remediation.
Done when each candidate is classified false positive, placeholder, or live secret; sensitive local-file permissions are recorded; and every live-secret response names rotation and cleanup actions without exposing the value.
## Step 1: Baseline diagnostics
Prefer the repository's own health check:
```sh
cd ~/.dotfiles
dotfiles doctor --verbose
```
If the command is unavailable, inspect `./dotfiles --help` and `README.md` before choosing fallback checks.
Done when every failed diagnostic is captured with its component and next action, or the unavailable command and chosen fallback are recorded.
## Step 2: Shell startup
Measure several fresh interactive shells and retain all timings:
```sh
for run in 1 2 3 4 5; do
/usr/bin/time -p zsh -i -c exit 2>&1 | awk -v run="$run" '/^real / { print run, $2 }'
done
```
Use the median as the baseline. Treat a regression against a previous baseline as stronger evidence than a universal threshold. For a slow result, load `references/shell-performance.md`; profile the complete startup in source order rather than sourcing modules independently.
Done when the samples and median are recorded, compared with any prior baseline, and a regression names the next profiling step.
## Step 3: Stow link health
Preview the repository-supported sync, then inspect broken links:
```sh
cd ~/.dotfiles
dotfiles sync --dry-run
find ~ -maxdepth 3 -type l ! -e 2>/dev/null
```
A broken link needs its expected source determined before repair. Use `dotfiles sync` only after the dry run is understood.
Done when the sync preview is classified clean or lists conflicts, and every broken link has an expected source or an explicit unresolved reason.
## Step 4: Neovim health and startup
```sh
nvim --headless '+checkhealth' '+write! /tmp/nvim-health.log' '+qa'
nvim --headless --startuptime /tmp/nvim-startup.log '+qa'
sort -k2 -n /tmp/nvim-startup.log | tail -20
```
The repository currently targets Neovim 0.12+, `vim.lsp.config`, and `nvim-treesitter` main. Route repairs to the neovim skill.
Done when health failures and startup timing are recorded; any regression names the slow entries or next profiler.
## Step 5: Tool and config inventory
Read `Brewfile`, `home/`, and the management CLI instead of assuming package names map one-to-one to binaries:
```sh
cd ~/.dotfiles
find home -maxdepth 3 -type f | sort
rg -n '^(brew|cask|tap) ' Brewfile
```
For each configured tool, classify it as active, setup-required, intentionally retained, or orphan candidate. Confirm GUI applications through the package inventory or application bundle rather than `which` alone.
Done when every reviewed configuration has a classification backed by its source file and installation evidence.
## Completion gate
Produce the report only after every step has a captured result or an explicit reason it could not run. Rank live-secret response first, then broken setup, measured regressions, and cleanup opportunities.
## Report format
```text
DOTFILES AUDIT REPORT
=====================
Security
[Clean | redacted candidate locations and classifications]
[Permission or ignore gaps]
Repository diagnostics
[doctor result and failed checks]From kriscard/Skills, MIT.
More from kriscard/Skills
- 0.642score
vault-audit
kriscard
Audit the vault's PARA and Zettelkasten-inspired Atomic Note organization, linked knowledge, journals, metadata, LLM Wiki quality, and bounded statistics.
SkillAFreshness: A★ 14Claude Code +9 - 0.642score
react
kriscard
React component architecture and data-flow guidance for composition, state ownership, Effects, Suspense, async UI, rendering behavior, and measured performance.
SkillAFreshness: A★ 14Claude Code +9 - 0.642score
react-hook-form-audit
kriscard
Audit existing React Hook Form code for correctness, accessibility, validation, data ownership, submission, dirty-state, field-array, wizard…
SkillAFreshness: A★ 14Claude Code +9 - 0.642score
ingest
kriscard
Discuss and file an article, URL, video, book note, or selected Inbox source, then reuse a matching Atomic Note or create a human-owned scaffold for the user…
SkillAFreshness: A★ 14Claude Code +9 - 0.642score
architect
kriscard
Guides architecture decisions about service/module boundaries, system trade-offs, ADRs, data flow, rendering strategy, scaling strategy, API protocols…
SkillAFreshness: A★ 14Claude Code +9 - 0.642score
pr-review
kriscard
Bug-first, evidence-only review of a pull request or branch-versus-base diff.
SkillAFreshness: A★ 14Claude Code +9 - 0.642score
review
kriscard
Bug-first, evidence-only review of selected code, uncommitted changes, or code modified in the current task.
SkillAFreshness: A★ 14Claude Code +9 - 0.642score
frontend
kriscard
Frontend engineering for browser-facing applications: TypeScript trust boundaries, semantic accessibility, UI systems, responsive browser behavior, security…
SkillAFreshness: A★ 14Claude Code +9 - 0.642score
tweet-today
kriscard
Draft specific Twitter/X posts from a concrete work receipt, lesson, opinion, code detail, or user draft.
SkillAFreshness: A★ 14Claude Code +9 - 0.642score
react-hook-form
kriscard
Build and modify forms that use React Hook Form or whose project conventions require it.
SkillAFreshness: A★ 14Claude Code +9 - 0.642score
create-note
kriscard
Create an Obsidian Inbox capture, a human-owned Atomic Note draft, or approved reusable knowledge from a conversation.
SkillAFreshness: A★ 14Claude Code +9 - 0.639score
spec
kriscard
Builds reviewed requirements, technical design, and an executable implementation plan from an issue URL or requirements text, then stops at approval.
SkillAFreshness: A★ 14Claude Code +9
Signals
- Stars
- 14
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Oct 7, 2026 (25 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/kriscard/Skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from kriscard
- 0.642score
pr-review
kriscard
Bug-first, evidence-only review of a pull request or branch-versus-base diff.
SkillAFreshness: A★ 14Claude Code +9 - 0.642score
review
kriscard
Bug-first, evidence-only review of selected code, uncommitted changes, or code modified in the current task.
SkillAFreshness: A★ 14Claude Code +9 - 0.642score
create-note
kriscard
Create an Obsidian Inbox capture, a human-owned Atomic Note draft, or approved reusable knowledge from a conversation.
SkillAFreshness: A★ 14Claude Code +9 - 0.642score
tweet-today
kriscard
Draft specific Twitter/X posts from a concrete work receipt, lesson, opinion, code detail, or user draft.
SkillAFreshness: A★ 14Claude Code +9 - 0.642score
react-hook-form
kriscard
Build and modify forms that use React Hook Form or whose project conventions require it.
SkillAFreshness: A★ 14Claude Code +9 - 0.642score
architect
kriscard
Guides architecture decisions about service/module boundaries, system trade-offs, ADRs, data flow, rendering strategy, scaling strategy, API protocols…
SkillAFreshness: A★ 14Claude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get audit running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
audit skill. Agent Mart. https://agentmart.dev/skills/kriscard-audit (last updated 2026-10-24)