Aplica el branding de Vambe a PPTX, DOCX, XLSX y HTML. Usa al crear presentaciones, Word, Excel o páginas con identidad visual de Vambe, o si pide "hacerlo bonito" / "estilo Vambe".
日本語の概要は準備中です。原文の説明を表示しています。
Sync the current machine's configuration into the dotfiles repo and update the React showcase page. Use this skill whenever the user says "sync dotfiles", "update dotfiles", "sync config", "actualizar dotfiles", "sincronizar config", "update the repo with my current setup", or anything about pulling their current machine state into the dotfiles repo. Also trigger when the user mentions updating the toolkit page, adding new tools to the page, syncing Claude Code or Codex config (AGENTS.md, codex agents/skills/hooks), or keeping the dotfiles repo in sync with what's actually installed.
インストール方法を見るインストールする前に、エージェントに与えられる指示の中身を確認できます。
This skill does a full replace sync — it deletes stale state in the repo and rebuilds from the machine's current configuration. It is NOT append-only; tools, configs, agents, and skills that no longer exist on the machine get removed from the repo.
The dotfiles repo lives at ~/personal/dotfiles (or wherever the current working directory is if it contains setup.sh and app/src/data.js).
Every sync is a clean mirror of the machine. The repo should reflect exactly what's installed right now:
data.js, setup.sh, and generated docs~/.claude/ → deleted from repo's .claude/There are four layers to sync:
data.js (add new + remove missing), update setup.sh + generated docsAGENTS.md, agents, skills, hooks, tools, rules)Run all four layers every time. Show a summary at the end.
Copy these files from the machine into the repo, overwriting what's there:
| Source (machine) | Destination (repo) |
|---|---|
~/.zshrc | shell/.zshrc |
~/.p10k.zsh | shell/.p10k.zsh |
~/.gitconfig | git/.gitconfig |
~/.gitignore_global or ~/.config/git/ignore | git/ignore |
~/.ssh/config | ssh/config |
~/Library/Application Support/Code/User/settings.json | vscode/settings.json |
~/.config/gh/config.yml | gh/config.yml |
~/.config/cmux/settings.json | settings.json (root) |
For each file:
.gitconfig has credential helpers with inline tokens, strip those lines before copying.Run these commands to get the current state of the machine:
# Brew
brew leaves # formulae (user-installed only)
brew list --cask # casks
# VS Code / Cursor extensions
code --list-extensions 2>/dev/null
cursor --list-extensions 2>/dev/null
# Global packages
pnpm ls -g 2>/dev/null || npm ls -g --depth=0
uv pip list 2>/dev/null || pip list --not-required 2>/dev/null
# Claude Code
ls ~/.claude/agents/*.md 2>/dev/null # agents
ls ~/.claude/skills/*/SKILL.md 2>/dev/null # skills
ls ~/.claude/commands/*.md 2>/dev/null # commands
cat ~/.claude/settings.json 2>/dev/null # settings
Compare detected tools against app/src/data.js (the items array). Two operations:
For tools detected on the machine but not in data.js:
{
id: "tool-name", // lowercase, hyphenated
name: "Tool Name", // display name
category: "cli", // apps | cli | shell | claude-code | extensions
subcategory: "dev-tools", // must match CATEGORIES in data.js
description: "Brief description of what it does.",
install: "brew install tool-name",
installMethod: "brew", // brew | npm | pip | manual | marketplace
cost: "free", // free | freemium | paid
tags: ["relevant", "tags"],
url: "https://...", // official site (look it up)
related: ["other-tool"], // IDs of related items already in data.js
why: "Why this tool is useful — write in the user's voice (Spanish, casual).",
}
// === CLI: Dev Tools ===)why field: write a short, opinionated reason in Spanish, matching the casual tone of existing entries (e.g., "Lo uso para X. Hace Y mucho mas facil.")For items in data.js whose corresponding tool is no longer detected on the machine:
related references to the removed item's ID in other entriesThis ensures data.js is always a 1:1 mirror of what's actually installed.
Replace (not append to) the hardcoded package lists in setup.sh with the current machine state:
brew install ... line with current brew leaves outputbrew install --cask ... line with current brew list --cask outputcode --list-extensions outputKeep the script structure and surrounding logic intact — only replace the package list values.
Do not manually edit TOOLKIT.md or README install sections. After updating data.js, run the generator script:
node scripts/generate-docs.js
This script reads data.js (the single source of truth) and:
TOOLKIT.md completely (all tables, all categories)Delete first, then copy. This ensures removed agents/skills/commands/hooks don't linger in the repo.
# Settings (but NOT settings.local.json — that's per-project)
cp ~/.claude/settings.json .claude/settings.json
# CLAUDE.md and referenced files
cp ~/.claude/CLAUDE.md .claude/CLAUDE.md
cp ~/.claude/RTK.md .claude/RTK.md 2>/dev/null
# Agents — delete repo dir contents, then copy fresh
rm -f .claude/agents/*.md
cp ~/.claude/agents/*.md .claude/agents/ 2>/dev/null
# Commands — delete repo dir contents, then copy fresh
rm -f .claude/commands/*.md
mkdir -p .claude/commands
cp ~/.claude/commands/*.md .claude/commands/ 2>/dev/null
# Hooks — delete repo dir contents, then copy fresh
rm -rf .claude/hooks/*
mkdir -p .claude/hooks
cp ~/.claude/hooks/* .claude/hooks/ 2>/dev/null
# Skills — delete all non-git-managed skill dirs, then copy fresh
# Preserve: sync-dotfiles (this skill), any .git-managed dirs
for skill_dir in .claude/skills/*/; do
skill_name=$(basename "$skill_dir")
[[ "$skill_name" == "sync-dotfiles" ]] && continue
[[ -d "$skill_dir/.git" ]] && continue
rm -rf "$skill_dir"
done
for skill_dir in ~/.claude/skills/*/; do
skill_name=$(basename "$skill_dir")
[[ "$skill_name" == "gstack" ]] && continue
[[ -d "$skill_dir/.git" ]] && continue
# Use mkdir + cp contents to avoid trailing-slash flattening
mkdir -p ".claude/skills/$skill_name"
cp -r "$skill_dir"* ".claude/skills/$skill_name/" 2>/dev/null
done
Important: Don't copy ~/.claude/settings.local.json — that's per-project. Don't copy marketplace plugins (they live in ~/.claude/plugins/marketplaces/). Don't copy the memory/ directory.
Codex (the CLI) keeps its config in ~/.codex/, mixed with a lot of runtime state. Only the portable config gets synced — everything else is machine-local junk or secrets and must NEVER be copied.
Same delete-first-then-copy discipline as Step 3 so removed agents/skills don't linger.
| Source (machine) | Destination (repo) |
|---|---|
~/.codex/AGENTS.md | AGENTS.md (repo root — Codex's equivalent of CLAUDE.md) |
~/.codex/config.toml | .codex/config.toml (secret-scan first, see below) |
~/.codex/hooks.json | .codex/hooks.json |
~/.codex/agents/*.toml | .codex/agents/ |
~/.codex/skills/*/ | .codex/skills/ |
~/.codex/rules/ | .codex/rules/ |
~/.codex/tools/ | .codex/tools/ (hook scripts referenced by hooks.json, e.g. wherewasi.py) |
~/.codex/engram-instructions.md | .codex/engram-instructions.md |
~/.codex/engram-compact-prompt.md | .codex/engram-compact-prompt.md |
These are machine-local or contain credentials — exclude them all:
auth.json (OAuth tokens), .codex-global-state.json**.sqlite, *.sqlite-shm, *.sqlite-wal (goals, logs, memories, state)history.jsonl, session_index.jsonl, sessions/, external_agent_session_imports.json, log/, logs*cache/, models_cache.json, .tmp/, tmp/, shell_snapshots/plugins/, vendor_imports/, computer-use/, process_manager/, ambient-suggestions/, memories/, context-mode/, chrome-native-hosts-v2.json, installation_id, version.json, .personality_migration, *.bak*config.toml may reference env vars by name (e.g. "AGENTMEMORY_SECRET" inside an env_vars = [...] array) — those are safe (just names, values come from the environment). But before copying, scan for inline secret values and strip/skip if found:
grep -inE '(token|secret|password|api[_-]?key|bearer)\s*=\s*["'\'']' ~/.codex/config.toml
If that matches an actual assigned value (not an array of names), do NOT copy that line — flag it in the summary so the user can move it to an env var.
# AGENTS.md (repo root) + engram prompt files
cp ~/.codex/AGENTS.md AGENTS.md 2>/dev/null
cp ~/.codex/engram-instructions.md .codex/engram-instructions.md 2>/dev/null
cp ~/.codex/engram-compact-prompt.md .codex/engram-compact-prompt.md 2>/dev/null
# config.toml (AFTER secret scan above) + hooks.json
cp ~/.codex/config.toml .codex/config.toml
cp ~/.codex/hooks.json .codex/hooks.json 2>/dev/null
# Remove the stale .codex/hooks/ dir — it was wrongly copied from ~/.claude/hooks
# in an earlier manual sync. Codex's real hook scripts live in ~/.codex/tools/.
rm -rf .codex/hooks
# Agents — delete repo dir contents, then copy fresh
rm -f .codex/agents/*.toml
mkdir -p .codex/agents
cp ~/.codex/agents/*.toml .codex/agents/ 2>/dev/null
# Skills — delete repo dir, then copy fresh
rm -rf .codex/skills
mkdir -p .codex/skills
cp -r ~/.codex/skills/* .codex/skills/ 2>/dev/null
# Rules — delete repo dir, then copy fresh
rm -rf .codex/rules
mkdir -p .codex/rules
cp -r ~/.codex/rules/* .codex/rules/ 2>/dev/null
# Tools — delete repo dir, then copy fresh (hook scripts)
rm -rf .codex/tools
mkdir -p .codex/tools
cp -r ~/.codex/tools/* .codex/tools/ 2>/dev/null
Do NOT sync ~/.agents/skills/ — that's a large shared skill store (mostly marketplace-installed). This skill leaves it untouched, same as it skips Claude marketplace plugins.
After updating data.js, run the generator:
node scripts/generate-docs.js
This regenerates TOOLKIT.md and updates setup guide sections automatically. Never edit those files by hand.
After syncing, print a clear summary:
## Sync Summary
### Config files
- shell/.zshrc (updated — 3 lines changed)
- git/.gitconfig (no changes)
- ssh/config (REMOVED — no longer exists on machine)
- ...
### Tools added to data.js
- deno (cli/dev-tools) — JS/TS runtime
- shellcheck (cli/dev-tools) — shell script linter
### Tools removed from data.js
- neo4j — uninstalled from machine
- cursor — no longer detected
### setup.sh package lists rebuilt
- Brew formulae: 45 packages (was 43)
- Brew casks: 12 packages (was 14, removed: neo4j, cursor)
- npm globals: 8 packages (no change)
- VS Code extensions: 22 (was 20)
### Claude Code config synced
- 16 agents (2 new, 1 removed: old-agent)
- 24 skills (1 new, 0 removed)
- 3 commands (no change)
- settings.json updated
### Codex config synced
- AGENTS.md updated
- config.toml updated (no inline secrets found)
- 18 agents (.toml)
- 2 skills
- hooks.json + tools/ synced (stale .codex/hooks/ removed)
- rules/ synced
### Docs regenerated
- TOOLKIT.md ✓
- docs/SETUP_GUIDE.md ✓
After rebuilding both, cross-reference to verify they're in sync:
setup.sh. Compare against all items in data.js with installMethod: "brew" (no --cask). Flag mismatches.setup.sh. Compare against items with --cask in install field. Flag mismatches.setup.sh. Compare against installMethod: "npm" or "pnpm". Flag mismatches.setup.sh. Compare against category: "extensions". Flag mismatches.If any mismatches remain after rebuild, fix them (data.js is source of truth) and report in summary.
Ask the user to review the changes before committing. Use git diff to show what changed.
setup.shsync-dotfiles), git-managed skill dirs, and marketplace plugins~/.codex/ (AGENTS.md, agents, skills, hooks.json, tools, rules, config.toml). Runtime state, databases, sessions, and auth.json are never copied. The shared ~/.agents/skills/ store is left untouched.まだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
Aplica el branding de Vambe a PPTX, DOCX, XLSX y HTML. Usa al crear presentaciones, Word, Excel o páginas con identidad visual de Vambe, o si pide "hacerlo bonito" / "estilo Vambe".
日本語の概要は準備中です。原文の説明を表示しています。
Read this skill before the first step that uses the built-in browser, the browser pane inside the Claude desktop app (also called the in-app browser, the browser pane, Claude's browser, or "your own browser"), whose tools are named mcp__Claude_Browser__* when the session runs in the desktop app and mcp__remote-devices__Claude_Browser__* when a cloud session is linked to the person's computer; before those tools are turned on there may be a single enable__mcp__remote-devices__Claude_Browser tool instead. It covers the pane's persistent sign-ins, tabs and preview_start, reading pages as text, site approvals, what the pane cannot open, and what to do when it cannot be reached. It is not for Claude in Chrome (mcp__claude-in-chrome__* tools), which has its own skill, and it does not decide which browser to use.
日本語の概要は準備中です。原文の説明を表示しています。
Read this skill before the first step that uses Claude in Chrome, the browser extension whose tools are named mcp__claude-in-chrome__* (also called Chrome, the browser extension, or the external browser) and which acts in the person's real Chrome with their own sign-ins; before those tools are turned on there may be a single enable__mcp__claude-in-chrome tool instead. It covers loading the tools in one ToolSearch call, checking the person's open tabs and working in a new tab, site permissions, GIF recordings, console logs, dialogs to avoid, and when to stop and ask. It is not for the built-in browser (mcp__Claude_Browser__* or mcp__remote-devices__Claude_Browser__* tools), which has its own skill, and it does not decide which browser to use.
日本語の概要は準備中です。原文の説明を表示しています。
Shared vocabulary for designing deep modules. Use when the user wants to design or improve a module's interface, find deepening opportunities, decide where a seam goes, make code more testable or AI-navigable, or when another skill needs the deep-module vocabulary.
日本語の概要は準備中です。原文の説明を表示しています。
Read this skill before the first step of any request to do something in an app on the person's own computer (Notes, Finder, System Settings, any desktop app), to look at their screen, or for "computer use". Computer use (desktop control) lets Claude take screenshots of the person's desktop and control it with clicks, typing and scrolling through the Claude desktop app; its tools are named mcp__computer-use__* when the session runs in the desktop app and mcp__remote-devices__computer_* when a cloud session is linked to the person's computer; before computer use is turned on for a conversation there may be no such tools, only an enable__mcp__remote-devices__computer tool, which turns it on. It covers turning it on, picking the right tool, the access flow, and the safety rules for tiered apps, links and financial actions. It is not for websites, which go through Claude in Chrome or the built-in browser and their own skills.
日本語の概要は準備中です。原文の説明を表示しています。
Use this skill when the user's prompt requires (1) researching a topic across multiple sources, comparing options or alternatives, analyzing trends or history, understanding markets or industries, or reviewing literature or studies and (2) synthesizing that research into a comprehensive, narrative report. If you're planning to search the web or internal knowledge bases, consider using this skill. This skill coordinates research subagents, so use it only when you have a tool for spawning subagents (the Agent or Task tool); otherwise, research the question directly.
日本語の概要は準備中です。原文の説明を表示しています。