# How to Customize the AI Model Used in the AI Website Cloner

> Customize the AI model in the AI website cloner. Easily swap between Claude, OpenAI, Gemini, and other LLMs without changing core code using skill configuration files.

- Repository: [JCodesMore/ai-website-cloner-template](https://github.com/JCodesMore/ai-website-cloner-template)
- Tags: how-to-guide
- Published: 2026-06-27

---

**The AI Website Cloner supports multiple LLMs through skill configuration files and environment variables, allowing you to swap between Claude, OpenAI, Gemini, or other providers without modifying core cloning logic.**

The JCodesMore/ai-website-cloner-template repository does not hard-code a single LLM for its website cloning agents. Instead, it exposes model selection through external configuration files, making it straightforward to customize the AI model used in the website cloner based on your specific needs or API access.

## Understanding Model Configuration

The repository uses a **skill-based architecture** where each supported agent reads its model configuration from platform-specific skill files when the `/clone-website` command is invoked.

### Skill Configuration Files

The model identifier is defined in platform-specific skill files rather than in the core codebase:

- **[`AGENTS.md`](https://github.com/JCodesMore/ai-website-cloner-template/blob/main/AGENTS.md)** – Central description of supported agents and default settings
- **[`.claude/skills/clone-website/SKILL.md`](https://github.com/JCodesMore/ai-website-cloner-template/blob/main/.claude/skills/clone-website/SKILL.md)** – Claude Code skill definition containing the `model` field (e.g., `claude-3-opus-20240229`)
- **[`.github/skills/clone-website/SKILL.md`](https://github.com/JCodesMore/ai-website-cloner-template/blob/main/.github/skills/clone-website/SKILL.md)** – GitHub Copilot/Continue skill configuration
- **[`.gemini/commands/clone-website.toml`](https://github.com/JCodesMore/ai-website-cloner-template/blob/main/.gemini/commands/clone-website.toml)** – Gemini CLI skill configuration

When you customize the AI model used in the website cloner, you modify these files to point to your preferred LLM identifier.

### Environment Variable Overrides

For runtime flexibility, the repository supports environment variable overrides that take precedence over static configuration files:

- **`OPENAI_MODEL`** – Overrides the model for OpenAI-based agents
- **`GEMINI_MODEL`** – Overrides the model for Gemini-based agents

The repository ships with a **`.env.example`** file that you can copy to `.env` and populate with your preferred model settings.

## Step-by-Step Customization Guide

### Method 1: Edit Skill Files Directly

To permanently change the model for a specific agent, edit its skill configuration:

```bash

# For Claude Code users

nano .claude/skills/clone-website/SKILL.md

# Replace the model line

# Old: model: claude-3-opus-20240229

# New: model: claude-3-sonnet-20240229

```

Repeat this process for **[`.github/skills/clone-website/SKILL.md`](https://github.com/JCodesMore/ai-website-cloner-template/blob/main/.github/skills/clone-website/SKILL.md)** or **[`.gemini/commands/clone-website.toml`](https://github.com/JCodesMore/ai-website-cloner-template/blob/main/.gemini/commands/clone-website.toml)** depending on your agent.

### Method 2: Use Environment Variables

For temporary or deployment-specific overrides without editing files:

```bash

# Copy the environment template

cp .env.example .env

# Edit .env and set your preferred model

echo "OPENAI_MODEL=gpt-4o" >> .env

```

This method lets you customize the AI model used in the website cloner without touching version-controlled configuration files.

### Method 3: Regenerate Configuration Files

After editing [`AGENTS.md`](https://github.com/JCodesMore/ai-website-cloner-template/blob/main/AGENTS.md) or individual skill files, propagate changes across all platform-specific copies:

```bash

# Update AGENTS.md copies across platforms

bash scripts/sync-agent-rules.sh

# Regenerate all skill files for every supported agent

node scripts/sync-skills.mjs

```

Running these scripts ensures consistency across **`.claude/skills/`**, **`.github/skills/`**, and other platform directories.

## Supported Model Providers

You can customize the AI model used in the website cloner to use any of the following providers:

- **Anthropic Claude** – Configure via [`.claude/skills/clone-website/SKILL.md`](https://github.com/JCodesMore/ai-website-cloner-template/blob/main/.claude/skills/clone-website/SKILL.md) using model IDs like `claude-3-opus-20240229` or `claude-3-sonnet-20240229`
- **OpenAI** – Set via environment variable `OPENAI_MODEL` or in the appropriate skill file using IDs like `gpt-4o`
- **Google Gemini** – Configure in [`.gemini/commands/clone-website.toml`](https://github.com/JCodesMore/ai-website-cloner-template/blob/main/.gemini/commands/clone-website.toml) or via `GEMINI_MODEL` environment variable

Because the model is defined outside the core cloning logic in [`AGENTS.md`](https://github.com/JCodesMore/ai-website-cloner-template/blob/main/AGENTS.md) and platform-specific skill files, you can freely migrate between providers or upgrade to newer models as they become available.

## Summary

- The AI Website Cloner uses **skill configuration files** rather than hard-coded model selections
- Edit **[`.claude/skills/clone-website/SKILL.md`](https://github.com/JCodesMore/ai-website-cloner-template/blob/main/.claude/skills/clone-website/SKILL.md)**, **[`.github/skills/clone-website/SKILL.md`](https://github.com/JCodesMore/ai-website-cloner-template/blob/main/.github/skills/clone-website/SKILL.md)**, or **[`.gemini/commands/clone-website.toml`](https://github.com/JCodesMore/ai-website-cloner-template/blob/main/.gemini/commands/clone-website.toml)** to change models permanently
- Use **`OPENAI_MODEL`** or **`GEMINI_MODEL`** environment variables for runtime overrides via `.env`
- Run **[`scripts/sync-agent-rules.sh`](https://github.com/JCodesMore/ai-website-cloner-template/blob/main/scripts/sync-agent-rules.sh)** and **`scripts/sync-skills.mjs`** after editing configuration files to regenerate platform-specific copies
- The modular architecture allows swapping between Claude, OpenAI, Gemini, or other supported providers without modifying the core cloning codebase

## Frequently Asked Questions

### What is the default model used by the AI Website Cloner?

The default model varies by agent and platform. According to the [`AGENTS.md`](https://github.com/JCodesMore/ai-website-cloner-template/blob/main/AGENTS.md) file and platform-specific skill files, Claude Code typically defaults to `claude-3-opus-20240229`, while OpenAI and Gemini configurations reference their respective latest stable models. Check the specific skill file for your agent to confirm the current default.

### Can I use a local or custom fine-tuned model?

Yes, provided your agent supports it. Since you customize the AI model used in the website cloner by editing the model identifier string in skill files or environment variables, you can specify any model identifier your API key has access to, including fine-tuned models or local endpoints that are compatible with the OpenAI, Claude, or Gemini APIs.

### Do I need to restart the agent after changing the model?

No restart is required for environment variable changes if you export them before running the agent. For skill file edits, the changes are picked up automatically the next time you invoke the `/clone-website` command. However, if you edit [`AGENTS.md`](https://github.com/JCodesMore/ai-website-cloner-template/blob/main/AGENTS.md) or want to ensure consistency across platforms, run `bash scripts/sync-agent-rules.sh` and `node scripts/sync-skills.mjs` before executing the command.

### Where should I store my API keys and model preferences?

Store sensitive configuration like API keys and model overrides in a **`.env`** file in the repository root. The repository provides a **`.env.example`** template that you can copy and customize. Never commit actual API keys to version control; the `.env` file should be listed in `.gitignore` by default.