Init project
Skill cristianorj22/arthus-harness/tests/snapshots/web-supabase/.claude/skills/init-project
Use this skill when the user says "init this project", "bootstrap with arthus-harness", "set up arthus-harness here", or otherwise asks to initialize a fresh project with the arthus-harness baseline. Runs `npx create-arthus-harness` after a short interview.From its SKILL.md
npx -y skills add cristianorj22/arthus-harness --skill init-projectAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
5.4 KB, ~1.3k tokens by cl100k_base, as published. Nobody here has run it
Init Project
Purpose
Bootstrap a new project with the arthus-harness baseline (3 protection layers: process / technical / emotional). Runs the generator (npx create-arthus-harness) after a brief interview captures the inputs the generator needs.
This is the on-ramp skill — invoked once per project, then never again. After this runs, the harness is installed and the user's normal Claude Code workflow takes over.
When to use
- User says "init this project", "bootstrap with arthus-harness", or "set up the harness here".
- User opens a fresh repo (or a soon-to-be-fresh one) and wants protection layers in place before writing code.
- User is starting a new client project / MVP / side project and wants the same disciplined Claude Code setup.
When NOT to use
- The repo already has
.claude/and.arthus-harness.json— that means the harness is installed; the user wantsharness-doctor(drift check) orarthus-harness sync(update) instead. - The user wants to author a new harness skill / agent / hook — that's regular editing, not bootstrap.
- The user is asking how arthus-harness works conceptually — answer the question, don't run the generator.
Guard — refuse if project already initialized
Before doing anything else, check:
- Does
package.jsonexist in the cwd? - Does
.claude/settings.jsonexist in the cwd? - Does
.arthus-harness.jsonexist in the cwd?
If any of those exist, STOP. Tell the user:
This directory already has a project. Running
init-projectwould overwrite or conflict. If you want to:
- Check drift vs current harness version → use
harness-doctorskill.- Update to a newer harness version → run
npx arthus-harness syncfrom this directory.- Start fresh anyway → cd to an empty parent directory and re-invoke me.
Do NOT proceed past the guard without explicit "yes, overwrite, I know what I'm doing" from the user.
Steps
-
Run the guard (above) — verify: cwd is empty enough to scaffold safely. Exit with the message above if not.
-
Interview the user — ask only the minimum, in order. Wait for each answer before continuing:
a. Project name — kebab-case slug. Example:
my-saas,client-mvp. Verify: matches^[a-z][a-z0-9-]*$.b. One-line description — what the project does. Verify: <= 120 chars.
c. Stack plugins — list available plugins (the generator prints them with
--list-plugins). Ask which apply. Common:supabase,design-system,e2e-playwright,i18n-pt-br,payment-asaas. Verify: array of valid plugin names.d. Experience principles strategy — three options:
A(literal) — copy the pre-filled 4 sensations as-is, user adapts later.C(framework) — empty template, user defines their own.both— both, user picks per-doc.
Verify: one of
A/C/both. -
Confirm with the user — print the chosen inputs back. Wait for "yes" / "go ahead" / "do it". Do NOT proceed without confirmation.
-
Run the generator — invoke:
npx create-arthus-harness@latest <projectName> \ --description "<description>" \ --plugins <comma-separated> \ --principles <A|C|both> \ --in-place \ --no-prompt--in-placetells the generator to scaffold INTO the current cwd (not create a subdirectory).--no-promptskips the generator's own interactive prompts since we already gathered inputs.Verify: command exits 0;
.claude/,Docs/,MISSION.md,CLAUDE.md,.arthus-harness.jsonexist after. -
Print the next steps — show the user:
Harness installed. Three things to do now: 1. Read MISSION.md and adapt it to this project's invariants (~15 min). 2. Read Docs/produto/principios-de-experiencia.md and define your sensations. 3. Make your first commit — pre-commit hooks should fire. Then run your first feature task. Don't keep tuning the harness.
Examples
Example 1 — fresh client project
Input: "init this project"
Output:
- Skill asks 4 questions, confirms answers, runs
npx create-arthus-harness client-saas --description "B2B SaaS for X" --plugins supabase,design-system --principles A --in-place --no-prompt. - Reports installed files; prints next-steps message.
Example 2 — already initialized
Input: "init this project" (in a dir that already has .arthus-harness.json)
Output: Refuses with the guard message; suggests harness-doctor instead.
Escalation
- If
npx create-arthus-harnessis not found / fails → tell the user the package may not be published yet; they cangit clonearthus-harness and run the generator from a local checkout. - If the user wants flags not exposed by
--no-prompt→ drop the flag and let them go through the generator's own interactive prompts. - Never: run the generator without confirmation; never overwrite an existing
.claude/.
References
- Generator source:
arthus-harness/src/ - Architecture:
arthus-harness/PLAN.md - Sister skill (post-install):
harness-doctor
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.