# Plugin Installation vs CLAUDE.md Approach: How to Apply Karpathy Guidelines in Claude Code

> Learn the difference between Claude plugin installation and the CLAUDE.md approach for applying Karpathy guidelines globally or project-specifically. Choose the best method for your workflow.

- Repository: [Jiayuan Zhang/andrej-karpathy-skills](https://github.com/forrestchang/andrej-karpathy-skills)
- Tags: how-to-guide
- Published: 2026-04-08

---

**The plugin installation makes guidelines globally available across all projects through Claude's marketplace, while the CLAUDE.md approach places a copy of the guidelines directly into a single repository for project-specific customization.**

The `forrestchang/andrej-karpathy-skills` repository distributes Andrej Karpathy-inspired coding guidelines through two distinct consumption patterns. Understanding the difference between plugin installation and CLAUDE.md approach for guidelines ensures you select the right integration method for your workflow—whether you need centralized management or per-project flexibility.

## Scope and Project Coverage

**Claude Code Plugin (Global Scope):** The plugin installation applies the guidelines universally. Once installed via the marketplace, Claude can access these rules across any project you open. This global scope is defined in [`.claude-plugin/plugin.json`](https://github.com/forrestchang/andrej-karpathy-skills/blob/main/.claude-plugin/plugin.json) and registered in [`.claude-plugin/marketplace.json`](https://github.com/forrestchang/andrej-karpathy-skills/blob/main/.claude-plugin/marketplace.json)【L12-L18】, making the skill available workspace-wide.

**Per-Project CLAUDE.md (Local Scope):** The CLAUDE.md approach restricts guidelines to a single repository. When you place the file at your project root using the `curl` commands shown in the README【L109-L120】, Claude loads these instructions only when operating within that specific directory.

## Installation Methods and Commands

**Plugin Installation via Claude Code:**  
Install the plugin directly within Claude Code using marketplace commands. According to the README【L93-L106】, execute:

```text
/plugin marketplace add forrestchang/andrej-karpathy-skills
/plugin install andrej-karpathy-skills@karpathy-skills

```

These commands register the plugin at version `1.0.0` as specified in [`plugin.json`](https://github.com/forrestchang/andrej-karpathy-skills/blob/main/plugin.json)【L1-L5】.

**CLAUDE.md via Shell Commands:**  
For project-local installation, use standard shell tools to fetch the raw file. The README【L109-L120】 provides two patterns.

For new projects:

```bash
curl -o CLAUDE.md https://raw.githubusercontent.com/forrestchang/andrej-karpathy-skills/main/CLAUDE.md

```

For existing projects with a CLAUDE.md file (append mode):

```bash
echo "" >> CLAUDE.md
curl https://raw.githubusercontent.com/forrestchang/andrej-karpathy-skills/main/CLAUDE.md >> CLAUDE.md

```

## Version Management and Update Behavior

**Plugin Versioning:** The plugin follows semantic versioning declared in [`.claude-plugin/plugin.json`](https://github.com/forrestchang/andrej-karpathy-skills/blob/main/.claude-plugin/plugin.json) (`"version": "1.0.0"`)【L1-L5】. Updates propagate automatically through Claude's marketplace UI, ensuring all projects use the latest rules without manual intervention.

**CLAUDE.md Versioning:** Each repository maintains an independent copy of the guidelines. You must manually re-run the `curl` command to pull updates, allowing specific projects to remain on older versions while others upgrade.

## Configuration Files and Discovery

**Plugin Metadata:** The plugin system relies on structured metadata. The [`plugin.json`](https://github.com/forrestchang/andrej-karpathy-skills/blob/main/plugin.json) file defines the entry point and version, while [`marketplace.json`](https://github.com/forrestchang/andrej-karpathy-skills/blob/main/marketplace.json) indexes the plugin with keywords like `guidelines` and `karpathy`【L12-L15】, enabling discovery through Claude's built-in marketplace search.

**CLAUDE.md Discovery:** No additional metadata files are required. Discovery depends entirely on the file's presence in the repository root and any documentation you provide to your team about its existence.

## Team Collaboration and Customization

**Plugin Approach for Teams:** Ideal for standardization. One team member installs the plugin, and everyone gains immediate access to identical guidelines across all shared repositories. However, customization requires forking the plugin repository or editing files in `.claude-plugin/`.

**CLAUDE.md Approach for Teams:** Provides flexibility at the cost of consistency. Each repository can contain a modified version of the guidelines—add project-specific sections by editing the local file without affecting upstream sources. However, team members must manually ensure the file exists in every repository they clone.

## Runtime Performance Characteristics

**Plugin Runtime:** Claude loads the skill from the plugin directory (`./skills/karpathy-guidelines`) once and caches it for reuse. This cached approach minimizes latency across sessions.

**CLAUDE.md Runtime:** Claude reads and parses the [`CLAUDE.md`](https://github.com/forrestchang/andrej-karpathy-skills/blob/main/CLAUDE.md) file with every request for that specific project. While negligible for most use cases, this may introduce slight latency in large repositories compared to the cached plugin version.

## Summary

- **Plugin installation** provides centralized, version-controlled guidelines accessible across all projects through Claude's marketplace, with automatic updates but limited per-project customization.
- **CLAUDE.md approach** embeds guidelines directly into individual repositories, enabling project-specific edits and manual version control at the cost of requiring file maintenance in each project.
- **Configuration files** like [`.claude-plugin/plugin.json`](https://github.com/forrestchang/andrej-karpathy-skills/blob/main/.claude-plugin/plugin.json) and [`.claude-plugin/marketplace.json`](https://github.com/forrestchang/andrej-karpathy-skills/blob/main/.claude-plugin/marketplace.json) manage plugin behavior, while the standalone [`CLAUDE.md`](https://github.com/forrestchang/andrej-karpathy-skills/blob/main/CLAUDE.md) file requires no metadata overhead.
- **Installation methods** differ significantly: plugin commands run inside Claude Code (`/plugin install`), whereas CLAUDE.md deployment uses shell commands (`curl`) to fetch raw content from the repository.

## Frequently Asked Questions

### Can I use both the plugin and CLAUDE.md in the same project?

Yes, but Claude will merge the guidelines from both sources, which may result in conflicting instructions. The repository `forrestchang/andrej-karpathy-skills` recommends choosing one method per project to avoid duplication. If both are present, the plugin loads from `./skills/karpathy-guidelines` while simultaneously reading the local [`CLAUDE.md`](https://github.com/forrestchang/andrej-karpathy-skills/blob/main/CLAUDE.md) file.

### How do I update the guidelines when using the CLAUDE.md approach?

You must manually re-run the `curl` command to fetch the latest version from the main branch. Unlike the plugin, which updates through Claude's marketplace UI, the CLAUDE.md file is a static copy in your repository. Run the same `curl` command used during initial installation to overwrite or append the updated content.

### What are the performance implications of each method?

The plugin loads the skill once and caches it for reuse across sessions, making it efficient for frequent use. The CLAUDE.md approach requires Claude to read and parse the file content with every request for that specific project, which may introduce slight latency in large repositories compared to the cached plugin version.

### Is it possible to customize the guidelines when using the plugin?

Customization requires forking the `forrestchang/andrej-karpathy-skills` repository and modifying the files in `.claude-plugin/` or the skill definitions, then adding your fork to the marketplace. For per-project customization without maintaining a fork, use the CLAUDE.md approach instead, which allows local edits without affecting the upstream source.