Skip to main content

Install the Setup Skill

A skill is a set of instructions you hand to your agent once. After that, it knows how to do a job properly instead of guessing — this one teaches it to install and check every program this project needs, at versions that actually work. Without it, an agent will happily install a version that is too old and report success.

You do not need a project yet. This works on a brand-new computer.

1. Download it

Download the skill
marsquakes-setup.zip32.0 KiB

Or paste a line instead:

curl -LO https://marsquakes.cc/skills/marsquakes-setup.zip

What you should see: a file called marsquakes-setup.zip, containing one folder with five small text files — the instructions the agent reads, plus notes on required versions and errors that lie about their own cause. The folder name is already inside the zip, so unpack it into a location rather than making a folder first.

2. Unpack it where the agent looks

Copy the block for your computer.

mkdir -p ~/.agents/skills
unzip -o ~/Downloads/marsquakes-setup.zip -d ~/.agents/skills

This is your personal home folder, so installing once covers every project you ever make on this computer.

Do not put it inside a project folder

A project-level skill vanishes the moment you move to another folder — including the project you are about to create, which does not exist yet.

3. Check the agent can see it

Start your agent and ask:

Do you have a skill for setting up a Marsquakes environment?

What you should see: it names marsquakes-setup and describes installing programs on your computer.

If it says no, close the agent completely and start it again — it only looks for new skills at startup. If it still says no, ask: "read ~/.agents/skills/marsquakes-setup/SKILL.md and tell me if the first line is exactly ---." A skill whose first lines are wrong is ignored without any error message, so it can look like the download failed when it did not.

4. Use it

Now say what you want in plain language — no need to name the skill, the agent works out that it applies.

Set up this machine so I can build a Marsquakes website-based management system
on it. Tell me what is missing before you install anything.

What you should see, in this order:

StepWhat you should see
1a list of every program, each marked working, too old, or missing
2a question about which kind of project you are building
3a plan, and a pause for your yes before anything is installed
4the same list again, with the missing ones now marked working
Step 4 is the only one that counts

An installer that finishes without complaining proves nothing — plenty succeed at installing the wrong version. The only real proof is a program moving from "missing" to "working" on the second list. If the agent skips to "all done", say: "run the check again and show me the list."

What it checks, and why the numbers matter

These are not preferences. Each is a version below which something actually breaks, usually with an error pointing somewhere else entirely.

ProgramNeeds to beInstalledWhy that number
Node.js22.12.0 or newerup frontanything from 22.0 to 22.11 is rejected outright, so "version 22" is not enough
pnpm9.0.0 or newerup frontthe project pins this itself
git2.20.0 or newerup front
Docker20.10.0 or newerup front, if you asked for it
Docker Compose2.0.0 or newerwith Dockeranything starting with 1. cannot read this project's files at all
Java (JDK)17when a project has a backend or an Android app21 also works, 11 does not
Maven3.9.0 or newerwhen a project has a backend
Rust1.77.0 or newerwhen a project has a desktop apprequired by the desktop app

Read "Installed" as a when, not an if. The first three are the agent's own tools and must exist first; the last three depend on what you are building, which nothing knows until a project exists, so they are installed while the project is initialised. A desktop-only machine never gets a JDK; a backend-only machine never gets Rust.

If an agent wants to install all of them now

Say: "install only the basics — the rest can wait until the project exists." It does no harm, just costs a JDK and a Rust toolchain you may never use.

Next

How Vibe Coding Works Here — the one habit and the prompt-phrasing patterns that make the rest of this guide work.

If you would rather install everything by hand, Environment Setup covers the same ground as command lists.