rotz-dotfiles
Load for any request that involves the 'charmschool' rotz-based dotfiles project, across any task.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Load for any request that involves the 'charmschool' rotz-based dotfiles project, across any task.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Manage Obsidian vault frontmatter with rematter — validate schemas, sync to external destinations (Astro, etc.) with media options, rename fields, manage filenames. Load whenever performing bulk operations in Obsidian vaults (or other collections of markdown with frontmatter).
Use when asked to automate an action for OpenCode, for example run a formatter after edits, or running a script right before git commits, those are hooks and you should use this skill to implement them.
Guide the learner through a structured goal-setting exercise grounded in research on Mental Contrasting with Implementation Intentions (MCII). The exercise helps developers set concrete learning goals, visualize meaningful outcomes, anticipate realistic obstacles, and build if-then plans to overcome them.
Facilitates deliberate skill development during AI-assisted coding. Offers interactive learning exercises after architectural work (new files, schema changes, refactors). Use when completing features, making design decisions, or when user asks to understand code better. Supports the user's stated goal of understanding design choices as learning opportunities.
Generates a repo-specific orientation.md resource for the learning-opportunities skill. Only invoke via slash command (/orient:orient). Do not trigger automatically.
Use when asked to add or modify hooks for Claude Code specifically. Or, if the user is asking to automate an action, for example run a formatter after edits, or running a script right before git commits, those are hooks and you should use this skill to implement them.
| name | rotz-dotfiles |
| description | Load for any request that involves the 'charmschool' rotz-based dotfiles project, across any task. |
Context for working with rotz, a Rust-based dotfiles management tool, and rotz-based dotfiles projects.
Project location: ~/.charmschool (not default ~/.dotfiles)
Fish shell focused: config.yaml sets shell_command to fish -c, so install commands use Fish syntax
Rotz structure:
dot.yaml = installable "dot"dot.yaml keys: installs (commands), links (symlinks), depends (dependencies)defaults.yaml provides inherited defaults (dots inherit by setting keys to null){{file_name name}}, etc.Repository structure:
agents/ - coding agent/CLI configsapps/ - Homebrew casks (GUI apps)tools/ - Homebrew formulae (CLI/TUI)shell/ - Fish, kitty, starshipeditor/ - Neovim (LazyVim)lang/ - language tooling (transitioning to mise)git/ - git tooling/config# Simple (inherit from defaults.yaml)
installs: null # Gets "brew install <name>" from defaults
links:
config: ~/.config/tool/config
# Custom install
installs:
- brew install custom-tool
- custom-tool --setup
links:
config.toml: ~/.config/custom/config.toml
depends:
- ../other-tool
apps/, tools/, lang/, etc. (or propose new grouping)installs: null to inherit from defaults.yaml when possibledepends)links)Standards:
~/.config/ over ~/.*)Code quality:
Evaluation criteria for new tools:
Prefer dot wrapper (safer, more features):
dot -l [path...] or rotz link [path...]dot -i [path...] or rotz install [path...]dot [path...]rotz link --force (use cautiously)sh bootstrap.sh (fresh machines only)Path notes:
editor/nvim)dot strips trailing slashes if provideddot -a / --all, or very cautiously with rotz)dot supports -d/--dry-runIn rotz install commands (Fish syntax):
| Bash/zsh | Fish |
|---|---|
[[ ... ]] | test ... |
command -v cmd | type -q cmd |
VAR=value | set VAR value |
export VAR=value | set -gx VAR value |
Avoid set -U (universal scope): Fish moving away from this. Prefer global (set -gx) or local scope.
shshell/fish/functions/foo.fish defines foo)-d "description" and --helpmise: Check docs (rapidly evolving). Use for tasks, environments, versions. Optimize for fast startup.
uv: Primary Python package manager. Set up pyproject.toml, integrate with mise.
fish: Idiomatic functions/abbrs. Prefer global scope over universal. Optimize config.fish startup.
fzf: Advanced options, keybindings. Integrate with ripgrep, fd. Fish-specific functions, preview optimization.
ripgrep: Configure .ripgreprc defaults, custom type definitions. Integrate with fzf.