agentleFS
gonimargonimar/claude-web-studio/skills/init/SKILL.md

init

Skill4 starsChanged 45 days agoMITView on GitHub

Scaffolds the Web Studio in a project (the studio's init, not Claude Code's): asks the conversation language and review mode, creates/updates CLAUDE.md sections, seeds .claude/docs, .claude/rules, docs/ and production/, merges settings; a re-run adds only what is missing and hands off to /update or /adopt. Run first in plugin mode (copy mode: to set the language), for 'set up the studio'.

137 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use daily-arxiv, exp-eval and 10 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • LambenthanSkill

    daily-arxiv

    每日从 arXiv 拉取新论文,过滤相关性,auto-ingest 高优先级论文,检测 SOTA 更新

    Also in 5 projects that use this

  • LambenthanSkill

    exp-eval

    实验判决门:Review LLM 独立评判实验结果 → 4 种判决路径 → 自动更新 claims confidence、ideas status、graph edges

    Also in 5 projects that use this

  • skyllwtSkill

    exp-pilot-eval

    Pilot result evaluation — read pilot results, apply success criteria, update idea page (pilot_result, failure_reason if failed), generate PILOT_VERDICT_REPORT. Called by /ideate Phase 5 after /exp-pilot-run.

    Also in 4 projects that use this

  • skyllwtSkill

    exp-pilot-run

    Pilot experiment execution — read Pilot Spec YAML, write pilot code, run experiment(Confirm with the user before operation and require the applicant to conduct manual inspection), return results. Called by /ideate Phase 5. Does NOT modify wiki pages or judge pass/fail.

    Also in 4 projects that use this

  • gaebalaiSkill

    codex-system

    PROACTIVELY consult Codex CLI, your highly capable supporter with exceptional reasoning and task completion abilities. Codex is a trusted expert you should ALWAYS consult BEFORE making decisions on: design choices, implementation approaches, debugging strategies, refactoring plans, or any non-trivial problem. When uncertain, consult Codex. Don't hesitate - Codex provides better analysis. Explicit triggers: "think deeper", "analyze", "second opinion", "consult codex".

    Also in 3 projects that use this

  • +6 more from Lambenthan
  • +1 more from skyllwt

The file

We split this skill into the rules it gives an agent

5 rules. 0 are common, 0 are distinctive, and 5 are very specific to this project.

  • 0

    Common

    Most of the 125 edited versions we read keep these.

  • 0

    Distinctive

    This author's own choices. Worth a look.

  • 5

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    After the "write" answer: touch .claude/.write-consent (§ Gates).

    line 37
  2. Very specific:

    Ask, one AskUserQuestion: commit (Recommended) · leave uncommitted.

    line 47
  3. Very specific:

    After INITIALISED: /adopt full (Recommended for brownfield: audits stack, artefacts and settings, fills technical-preferences.md from the …

    line 58
  4. Very specific:

    After ALREADY INITIALISED: read references/rerun-handoff.md — its ladder (/update · /adopt full · /help) marks exactly one option …

    line 59
  5. Very specific:

    After NOT INITIALISED: /init again (--plugin-root <path> when no root was found.

    line 60

“Common” is measured: kept by at least 6 in 10 of the 125 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Init — scaffold the studio in this project

Language, <hooks>, gate mechanics (consent marker, Gate record) and the documents-lane commit gate: docs/coordination-rules.md § Skill conventions. Until CLAUDE.md exists, the language chosen in Phase 2 binds instead.

Writes files only after "May I write …?" → "yes".

Glossary: <root> — the seed root, plugin mode only (the install path found in Phase 1). Copy mode has no <root>: install.sh seeded docs, rules and hooks, and its stamp .claude/.web-studio-version is the only version source.

Phase 1: Locate the studio files

  1. Mode and seed root, in this order; the first that holds decides:
    1. --plugin-root → plugin mode, <root> is that path;
    2. .claude/.web-studio-version present (install.sh's stamp) → copy mode, nothing to seed — before the "Plugin root:" line and the plugin list: a plugin installed at user scope prints that line into every project's session and never turns a copy-mode project into plugin mode;
    3. the "Plugin root:" line printed by the session-start hook → plugin mode;
    4. claude plugin list --json: the web-studio row whose projectPath is this project's root (git rev-parse --show-toplevel), else its user-scope row → its install path; the list covers every project on this machine, never take the first match (/update Phase 1);
    5. .claude/docs/stack-reference/index.md already present — copy mode, nothing to seed. None found → ask the user for the path to the plugin/kit directory. Write nothing until a root is known; no path given → NOT INITIALISED (no plugin root) (Phase 6).
  2. Brownfield or empty — code exists on the evidence of references/seed-manifest.md § Stage (a manifest with sources, deploy files, a git history beyond a handful of commits); the result decides the stage (Phase 3) and the hand-off (Phase 6).

Phase 2: Language and review mode

--language / --review skip the matching question.

  1. Language, one AskUserQuestion: "Which language should we use for conversation and documents?" Options: English plus the language of the user's own words when it differs (this session's messages; on a bare /init with no prose, a non-English README/CLAUDE.md or the user's global ~/.claude/CLAUDE.md — a Read outside the project, allowed here). Always at least two named options — one option is a railroad, not a choice; nothing inferable → the two or three languages most plausible for this user's environment.
  2. Switch language now. From the answer on (an option, --language, or a language stated in the reply text) every question, the plan, the write summary and the hand-off are in that language — CLAUDE.md not existing yet is no excuse; the session that follows inherits the tone /init sets.
  3. Review mode, one AskUserQuestion: lean (Recommended for a single developer: lead plus security on sensitive work) · full (every significant artefact reviewed) · solo (reviews on request). It scopes reviews only: no mode skips /start//adopt, the specs or the catalog's required steps (review-workflow.md).

Phase 3: Plan

  1. Decide the stage (production/stage.txt) from Phase 1 step 2: discovery for an empty project; brownfield → build (code, no release) or operate (release files, compose.prod, a deploy skill in the repository — references/seed-manifest.md § Stage; a README's live URL only prompts a question), proposed from the facts and confirmed in the "May I write?" question. Never write discovery over a running project.
  2. Show the plan from references/seed-manifest.md: every path it lists as created or merged (settings template per mode as it says), marking existing files that differ; an existing CLAUDE.md gets the exact insertion shown.
  3. Write gate: "May I write these files?" — one AskUserQuestion: write (Recommended) · show the draft/diff first · not now. "Not now" → nothing is written, NOT INITIALISED (declined).
  4. After the "write" answer: touch .claude/.write-consent (§ Gates).

Phase 4: Write and verify

  1. Apply the plan; print the tree of created files.
  2. Smoke-check the statusline: echo '{"cwd":"'"$PWD"'"}' | bash .claude/statusline.sh.
  3. Version stamp — copy mode only. Keep install.sh's .claude/.web-studio-version; missing → record the version of <kit>/.claude-plugin/plugin.json only when --kit <path> names the kit repository (the argument /update takes; --plugin-root means plugin mode), else name install.sh as the fix. Plugin mode writes none: claude plugin list --json holds the version, and a stamp would claim files the project does not hold (/update deletes it).

Phase 5: Commit (documents lane)

Right after the write, one commit gate (§ Documents-lane commit gate; .claude/docs/git-workflow.md § Documents).

  1. Record it: <hooks>session-state.sh set Gate "/init Phase 5: commit?".
  2. Ask, one AskUserQuestion: commit (Recommended) · leave uncommitted; on a story branch, name it and offer the § Documents-lane fork (switch to <default> Recommended — a pipeline-wide document · commit here · leave uncommitted). After the answer: <hooks>session-state.sh set Gate "—".
  3. On "commit": docs: initialise web studio, staging exactly the documents this run wrote — CLAUDE.md, .claude/docs/, .claude/rules/, docs/web-studio/README.md, production/stage.txt, production/review-mode.txt, .claude/.web-studio-version (copy mode). The seeded docs/* and production/* folders are not listed: git stages no empty folder.
  4. .claude/settings.json, .claude/statusline.sh and the .gitignore lines are toolchain work, not documents: never in the docs: commit; name them in the result and offer the chore lane (git-workflow.md § Chore / infra).
  5. Nothing is committed without the answer. Nothing written (ALREADY INITIALISED with 0 files differing, NOT INITIALISED) → no commit gate.

Phase 6: Verdict and hand-off

  1. Verdict, one line:
    • INITIALISED — neither the ## Studio (Web Studio) block in CLAUDE.md nor a seeded .claude/docs/ existed before this run (Phase 1 items 1.3 and 1.5 did not apply).
    • ALREADY INITIALISED (N files differ) — one of them did; N = seeded files whose content differs from the seed root (listed in Phase 3; recipe and ignore list in references/rerun-handoff.md); the run only added what was missing.
    • NOT INITIALISED (declined) — "not now" at the write gate; NOT INITIALISED (no plugin root) — no root found, no path given. Nothing was written.
  2. Next step — one AskUserQuestion, never a plain text line, every command namespaced (§ Skill conventions → Paths and names):
    • After INITIALISED: /adopt full (Recommended for brownfield: audits stack, artefacts and settings, fills technical-preferences.md from the facts) · /start (Recommended for an empty project) · /help · stop here.
    • After ALREADY INITIALISED: read references/rerun-handoff.md — its ladder (/update · /adopt full · /help) marks exactly one option Recommended by the first fact that holds, offers the others, and never recommends "do nothing" on a project with code.
    • After NOT INITIALISED: /init again (--plugin-root <path> when no root was found; Recommended) · /help · stop here.
  3. /init scaffolds the studio and stops there. It never writes product code (index.html, a main, a component), however trivial the goal: a greenfield project's first product artifact is /start's, whose stack and spec steps may pick the shortest path — never init inline. A hand-off answered with anything but a pipeline command is the user's call; init does not pre-empt it with code.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.