# Using job-carousel Directly from GitHub (No npm)

If you prefer not to use npm, you can pull the skill directly from GitHub in a few ways. Pick whichever fits your workflow.

---

## Option 1 — Clone the Repo (Simplest)

Clone the repository anywhere on your machine, then copy the skill files into your project.

```bash
# Clone the repo
git clone https://github.com/your-username/claude-skill-job-carousel.git

# Copy the skill definition into your project
cp -r claude-skill-job-carousel/.claude your-project/

# Copy the pipeline source code into your project
cp -r claude-skill-job-carousel/src your-project/
```

Then inside your project, install dependencies:

```bash
cd your-project
npm install zod react react-dom pdf-lib puppeteer typescript ts-node @types/node @types/react @types/react-dom
```

Claude Code will detect `.claude/skills/job-carousel/SKILL.md` and register `/job-carousel` automatically.

---

## Option 2 — Sparse Checkout (Skill Files Only)

If you only want the skill definition and don't need the full pipeline source, use git sparse checkout to download just `.claude/`:

```bash
git clone --no-checkout https://github.com/your-username/claude-skill-job-carousel.git
cd claude-skill-job-carousel
git sparse-checkout init --cone
git sparse-checkout set .claude
git checkout main
```

Then copy into your project:

```bash
cp -r .claude /path/to/your-project/
```

This is the lightest option — you get only the skill instructions that Claude reads, with no source code.

> **Note:** Without the pipeline source, Claude will guide you through the analysis and slide writing interactively, but the automated export (PDF, PNG) will not run. If you need the full export, also include `src/`.

---

## Option 3 — Download as ZIP (No git required)

1. Go to the repository on GitHub
2. Click **Code → Download ZIP**
3. Unzip it
4. Copy `.claude/` (and optionally `src/`) into your project

```
your-project/
  .claude/
    skills/
      job-carousel/
        SKILL.md
        examples.md
        rubric.md
  src/
    job-carousel/
      ...
```

---

## Option 4 — Git Submodule (For Teams)

If you want to keep the skill in sync with upstream updates across a shared repo:

```bash
cd your-project
git submodule add https://github.com/your-username/claude-skill-job-carousel.git .skills/job-carousel
```

Then symlink or copy the `.claude` directory:

```bash
cp -r .skills/job-carousel/.claude ./
```

To update the skill later:

```bash
git submodule update --remote .skills/job-carousel
cp -r .skills/job-carousel/.claude ./
```

---

## Verifying the Install

After placing the files, your project should look like this:

```
your-project/
  .claude/
    skills/
      job-carousel/
        SKILL.md        ← must exist
        examples.md
        rubric.md
```

Open Claude Code in your project directory and type:

```
/job-carousel
```

If the skill loads, you're set. If Claude doesn't recognize it, confirm `SKILL.md` exists at exactly `.claude/skills/job-carousel/SKILL.md`.

---

## Running the Export Pipeline (PDF + PNG)

The interactive analysis works without any setup. For the full automated export, you also need the source code and dependencies.

**1. Copy the source**

Make sure `src/job-carousel/` is in your project (from whichever option above).

**2. Add a `tsconfig.json`** if your project doesn't have one:

```json
{
  "compilerOptions": {
    "target": "ES2020",
    "module": "commonjs",
    "jsx": "react",
    "strict": true,
    "esModuleInterop": true,
    "moduleResolution": "node",
    "outDir": "dist"
  },
  "include": ["src"]
}
```

**3. Install dependencies**

```bash
npm install zod react react-dom pdf-lib puppeteer typescript ts-node \
  @types/node @types/react @types/react-dom
```

**4. Run**

```bash
npx ts-node src/job-carousel/index.ts \
  --resume ./my-resume.txt \
  --jd ./target-jd.txt \
  --mode recruiter \
  --theme clean \
  --slides 7
```

Output lands in `output/job-carousel/`.

---

## Staying Up to Date

If you used **clone or ZIP**, re-copy the files when the upstream repo updates:

```bash
cd claude-skill-job-carousel
git pull origin main
cp -r .claude /path/to/your-project/
cp -r src /path/to/your-project/
```

If you used **submodule**:

```bash
git submodule update --remote .skills/job-carousel
```

---

## Quick Comparison

| Method | Effort | Auto-updates | Needs git |
|---|---|---|---|
| Clone + copy | Low | Manual | Yes |
| Sparse checkout | Low | Manual | Yes |
| Download ZIP | Lowest | Manual | No |
| Git submodule | Medium | Easy | Yes |
| npm install | Lowest | `npm update` | No |
