dotclaude

Install

Two routes into the same files. A plugin is the easy way and keeps itself updated; a single item is the surgical way when you want one thing in one project.

Two ways in

As a plugin

Bundles of related items managed by Claude Code. Hooks activate on install, commands are namespaced (/security:security-audit), and one command updates everything.

  1. Add the marketplace once, inside a Claude Code session.
    /plugin marketplace add KhaledSaeed18/dotclaude
  2. Install a bundle.
    /plugin install engineering@dotclaude
  3. Later, pull every update at once.
    /plugin marketplace update dotclaude

A good starter set is engineering, git, security-hooks.

As a single item

The shadcn CLI copies one item into the project you run it from, under .claude/. Nothing else is touched, and nothing updates itself.

  1. From the project root, add the item by name.
    npx shadcn@latest add KhaledSaeed18/dotclaude/academic-writing
  2. To make it global, move it from .claude/ into ~/.claude/: folders for skills and hooks, single files for agents and commands.
  3. A hook installed this way still needs its documented block in .claude/settings.json; each hook's page shows it.

Which should I pick?

PluginSingle item
ScopeEverything in the bundle, in every projectOne item, in one project
UpdatesOne command updates all installed bundlesRun the add command again to refresh
HooksWired on installAdd the settings block yourself
CommandsNamespaced: /engineering:research-logPlain: /research-log
Where the files goClaude Code's plugin cache.claude/ in the project, visible in git
Best forYour own machine, a whole workflowA shared repository, one specific need

What each type is

Four kinds of file, four ways Claude reaches them.

Skill

A procedure Claude loads on its own when your request matches its description. You never call it by name.

Installs to .claude/skills/<name>/

Browse 86 skills

Agent

A specialist Claude hands a whole side task to, in its own context, returning only the result.

Installs to .claude/agents/<name>.md

Browse 17 agents

Command

A shortcut you trigger yourself by typing /name in the session.

Installs to .claude/commands/<name>.md

Browse 18 commands

Hook

A script that runs on a Claude Code event, every time, with no model judgment involved.

Installs to .claude/hooks/<name>/

Browse 15 hooks

Questions

Is it safe to install?

Every item is a Markdown file you can read before you trust it: open any item's page and the full text is there, or read it on GitHub. Hooks are small standalone scripts with no dependencies; each hook's page shows exactly what it blocks and allows.

Can I install a plugin for one project only?

Plugins live in Claude Code's own config and apply wherever you run it. For one project, install the items you want as single items so they sit in that repository's .claude/ folder.

How do I remove something?

A plugin: /plugin uninstall name@dotclaude. A single item: delete its file or folder under .claude/, and for a hook remove its block from settings.json.

Does the shadcn CLI need a React project?

No. The registry format is shadcn's, but the items are plain files; the CLI only copies them into place. Any folder works as the project root.

Can I use these with other agents?

Skills are plain Markdown with a description and instructions, so most agents that read a skills folder can use them. Hooks, agents and commands follow Claude Code's conventions.