agentleFS
IvanGomezMartinezIvanGomezMartinez/MatStudyLab/.agents/skills/matstudylab-bootstrap/SKILL.md

matstudylab-bootstrap

Skill2 starsChanged 3 months agoMITView on GitHub

Check-on-use skills setup/update before workflow commands — not user-facing.

The file

We split this skill into the rules it gives an agent

2 rules. About 0 are common, 1 is distinctive, and 1 is very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈1

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 1

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Do not open a HITL menu on these commands.

    line 62
  2. Very specific:

    Do not use the warn+continue strings above.

    line 66

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “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

Runs automatically as Step 0 of /accept, /explain, /build, /new, and /modify. End users never invoke this skill directly. Not a user-facing slash command; harness-agnostic (no Cursor-only rule).

English is the default for all agent UX strings here. Localize only when LORE.md or a /build language choice says so.

Step 1 — Run bootstrap script

From the repository root, run:

./scripts/bootstrap-skills.sh

The script chooses the branch (setup vs update vs skip). Do not pick the branch yourself.

Completion criterion: the script finished and you captured its stdout/stderr (including any bootstrap: lines and exit status).

Step 2 — Interpret outcome

Match every bootstrap: line the script printed. Outcomes (in addition to a final bootstrap: OK on success paths):

Output lineMeaningParent-command action
bootstrap: SKIPPED_LOCAL_ONLYPreference mode is local-only — no Node/networkProceed (vendored skills). /build may still offer HITL to re-enable sync — see Step 3.
bootstrap: SKIPPED_FRESHlast_synced_at within 24h — no sync neededProceed
bootstrap: NODE_MISSINGNode/npx not availableSee Step 3 (warn+continue vs /build HITL)
bootstrap: WOULD_SETUPDry-run only (BOOTSTRAP_DRY_RUN=1); would run setupTests only — do not use in production
bootstrap: WOULD_UPDATEDry-run only; would run updateTests only — do not use in production
bootstrap: SETUP_OKFirst-time / incomplete catalog install succeededProceed
bootstrap: UPDATE_OKStale catalog update succeededProceed
bootstrap: SYNC_FAILED_CONTINUESetup or update failed (network, auth, or CLI)See Step 3 (warn+continue vs /build HITL)
bootstrap: NAME_GUARD_FAILOwned skill name collision; script exits non-zeroStop. Do not continue the parent command until the collision is fixed
bootstrap: OKTerminal success marker (printed after most branches)Required on exit 0; alone does not identify the branch

On SYNC_FAILED_CONTINUE / NODE_MISSING, the script still exits 0 after bootstrap: OK — treat those as warnings for non-/build commands, not hard stops. NAME_GUARD_FAIL is the hard stop (exit ≠ 0).

Completion criterion: you named exactly which outcome branch ran (including NAME_GUARD_FAIL if exit ≠ 0) and know whether Step 3 requires a user warning or /build HITL.

Step 3 — Parent-command policy

/new, /modify, /accept, /explain

On NODE_MISSING or SYNC_FAILED_CONTINUE, warn the user in English (default) and continue with vendored skills in .agents/skills/:

  • Node missing:
    Warning: Node/`npx` missing — could not check for skill updates.
    Using vendored `.agents/skills/`. (Use /build to open setup or set local-only.)
    Continuing with the command…
  • Sync failed:
    Warning: skills sync failed; using vendored `.agents/skills/`.
    Continuing with the command…

Do not open a HITL menu on these commands.

/build

Do not use the warn+continue strings above. After this skill finishes, /build must run its own Step 1 — Skills HITL in .agents/skills/build/SKILL.md:

  • SKIPPED_LOCAL_ONLY → short notice + optional re-enable (auto)
  • NODE_MISSING, SYNC_FAILED_CONTINUE, or incomplete setup → three-option menu (continue session / save local-only / open setup)
  • Quiet success (SETUP_OK / UPDATE_OK) → one-line notice, no menu; script sets mode: auto and stamps last_synced_at
  • Quiet skip (SKIPPED_FRESH) → one-line notice, no menu; does not refresh last_synced_at (real sync only)

Completion criterion: for non-/build parents, any required English warning was shown (or no warn was needed); for /build, bootstrap outcome is captured so Step 1 HITL can run (or quiet success continues); NAME_GUARD_FAIL never continues.

Step 4 — Continue workflow

Proceed with the parent command only after Steps 1–3. Do not re-run bootstrap in this session unless the user explicitly asks or /build HITL triggers another setup/update.

Completion criterion: bootstrap is complete; parent command may start its next step.

Reference

Setup vs update (script decides)

  • Setup — catalog missing / incomplete: adds full Pocock catalog plus matlab and matlab-performance-optimizer (copy into .agents/skills/).
  • Update — lock present and previously synced OK but stale: project-scoped npx skills@latest update -p -y (never pass a repo id as update positional).
  • Owned project skills (matstudylab-bootstrap, accept, build, new, modify, explain) are name-guarded and not updated by the catalog CLI.

Preference sidecar

Path: .matstudylab/skills-pref.json (gitignored; absence ⇒ auto and never synced).

{ "mode": "auto" | "local-only", "last_synced_at": "<ISO-8601 or null>" }
  • Freshness uses last_synced_at (24h), not a lockfile last_checked field.
  • mode: local-only → SKIPPED_LOCAL_ONLY (no Node/network probe).
  • Successful setup/update stamps last_synced_at and forces mode: auto. SKIPPED_FRESH does not slide the timestamp.

Pointers

  • Step 0 contract for new command skills: docs/agents/command-skill-step-0.md
  • Spec: docs/spec.md — Skills layout
  • Canonical English HITL copy: .scratch/skills-auto-provisioning-v2/assets/prototype-node-gate-messages.md
  • OS install checklists: docs/agents/skills-node-os-checklist.md
  • Manual HITL verification: docs/agents/build-skills-hitl-checklist.md

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.