agentleFS
jalmulla2jalmulla2/claude-plugin-second-brain-kit/skills/vault-setup/SKILL.md

vault-setup

Skill0 starsChanged 41 days agoMITView on GitHub

First-run setup for a personal vault: interviews the user, then creates CLAUDE.md, MEMORY.md and the log and project folders. Use for set up my vault, get started, or when CLAUDE.md is missing.

5 other projects use a version of this.

Adopted by

Most recently taken up by

  • Other versions5 projects use a version of this.

    Word for word · 0

    None found.

    Edited · 0

    None found.

    Wrote their own version · 5

    1. earlyaidopters/second-brain★ 193same name
    2. ImScottDev/brain-scott★ 4same name
    3. meaningfy-ws/skillery★ 2same name
    4. viniciusbedum/vb-ai-context★ 2same name
    5. lucaszb-orla/claude-skills★ 0same name

    How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.

  • In this repository4 other files it gives its agents.

The file

Show its rules and text

We split this skill into the rules it gives an agent

17 rules. 0 are common, 14 are distinctive, and 3 are very specific to this project.

  • 0

    Common

    Most of the 3 edited versions we read keep these.

  • 14

    Distinctive

    This author's own choices. Worth a look.

  • 3

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    If CLAUDE.md already exists in the workspace root, tell the user setup already ran and ask if they want to redo it before touching anything …

    line 11
  2. Distinctive:

    Not to change an existing vault's conventions.

    line 17
  3. Distinctive:

    Keep each question to a line or two.

    line 34
  4. Distinctive:

    Create nothing until every question is answered.

    line 44
  5. Distinctive:

    Create CLAUDE.md at the workspace root:

    line 50
  6. Very specific:

    If they answered yes to question 6, add this section after ## Project Files:

    line 94
  7. Distinctive:

    Write the prose in the user's chosen language.

    line 103
  8. Distinctive:

    Keep CLAUDE.md to these sections.

    line 105
  9. Distinctive:

    Always, relative to the workspace root:

    line 123
  10. Distinctive:

    Only if they said yes in the interview:

    line 128
  11. Distinctive:

    Create only what they accepted.

    line 133
  12. Very specific:

    If raw/ was accepted, also write raw/README.md:

    line 135
  13. Very specific:

    Write that README's prose in the user's chosen language.

    line 150
  14. Distinctive:

    Every heading, key and path is in English.

    line 159
  15. Distinctive:

    If any check fails, return to the step that produced it, fix it, and check again.

    line 163
  16. Distinctive:

    If they'd rather not start from an empty page, "learn about me" reads their mail, calendar and drive and builds a profile from what's …

    line 171
  17. Distinctive:

    Keep it to five lines — they're ready to go.

    line 173

“Common” is measured: kept by at least 6 in 10 of the 3 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

Vault Setup

This skill runs once, the first time someone uses this plugin. It interviews the user, then scaffolds the files and folders that good-morning, end-of-day, and new-project all depend on.

If CLAUDE.md already exists in the workspace root, tell the user setup already ran and ask if they want to redo it before touching anything — don't silently overwrite an existing vault.

When to use

  • The user has just installed the plugin and says "set up my vault", "get started", "initial setup" or "set this up for me".
  • good-morning, end-of-day, new-project or vault-import can't find a CLAUDE.md and the user agrees to onboard first.
  • Not to change an existing vault's conventions. Edit CLAUDE.md directly for that.

Checklist

- [ ] 1. Interview, one question per message
- [ ] 2. CLAUDE.md
- [ ] 3. MEMORY.md
- [ ] 4. Folders (only those accepted), raw/README.md if raw/ was accepted
- [ ] 5. Verify (Step 5); fix and re-check if anything fails
- [ ] 6. Confirm in five lines

Step 1 — Interview

Ask one question per message. Send the question, stop, and wait for the answer before sending the next one. Do not batch the questions, do not list them all up front, and do not skip ahead. If the user answers several at once, tell them what you captured and resume from the first question they haven't answered.

Keep each question to a line or two. No preamble between them.

  1. Name — what should I call you?
  2. Language — do you want to work in Arabic or English? This is the default for everything I say and everything I write into your files. Folder names, file names, frontmatter keys and section headings stay English either way. → From this answer onward, ask the remaining questions in the language they chose.
  3. What is this vault for? — one loose line (e.g. "freelance work and personal projects"). Used as flavour text in CLAUDE.md. If they don't have an answer yet, move on.
  4. A separate space for personal things? — yes or no. If yes, I create 03 Life/, and when you start a project I'll ask whether it's work or personal and file it accordingly. If no, everything lives in 02 Projects/.
  5. A raw/ folder for source material? — yes or no. raw/ holds material you did not write: PDFs, transcripts, exports, articles, someone else's notes. Nothing in it is ever edited or deleted; once you've written a note from a source, the source moves to raw/processed/. It is not an inbox.
  6. A task manager? — do you already keep your to-dos in a task app I can reach here (for example Todoist, connected to Claude)? If yes, which one. If no, open items will live in your daily logs and project files. Check which connectors are actually available before asking; if none is, skip this question and treat the answer as no.

Create nothing until every question is answered.

Step 2 — Create CLAUDE.md

This is the most important file this skill writes. Every future session in this vault reads it first, and it is the only place the language rule and the file conventions live — the other skills point here rather than restating them.

Create CLAUDE.md at the workspace root:

# <Name>'s Vault

## About
<their one-line answer, or "Personal workspace for projects and daily work.">

## Language
Default language: <Arabic | English>.

- Speak in the default language, and write the body of every file you create in it — daily logs, project overviews, notes.
- If the user writes a message in the other language, follow them: switch to that language and stay in it for the rest of this conversation. Don't drift back mid-conversation.
- A new conversation starts from the default again. Language does not carry over between sessions.
- Always English, whatever the conversation language: folder names, file names, YAML frontmatter keys, and Markdown section headings. Only prose and values change language.

## File Conventions
- Frontmatter on every note you create: `title`, `description`, `author: claude`, `type`, `project`, `date`, `update date`, `status`, `tags: []`.
- `description` is one sentence. Its job is to let an agent judge whether the note is relevant without opening the body — write it for that, not as the title restated.
- `project` applies only to files inside a project folder. Elsewhere, omit the key rather than leaving it blank.
- Wikilinks address a note by **filename only** — `[[PROJ Example Overview]]`, never a path. A path-bearing link is the only kind a folder move can break.
- Never start a filename with `[`. Obsidian cannot link to it.
- Never create two notes with the same basename anywhere in the vault. Duplicate basenames make every link to them ambiguous.

## Project Files
Any file you create inside a project folder — in the same action that creates it:
1. Set `project: "[[PROJ <Project Name> Overview]]"` in its frontmatter. This is what makes the hub collect it as a backlink.
2. Add a row to that project's `## Key Files` table in `PROJ <Project Name> Overview.md`, and set the hub's `update date`.

The hub itself is the exception to (1): a file cannot belong to itself, so `PROJ ... Overview.md` carries no `project` key.

Daily logs are the exception to both. A log carries no `project` key and no wikilinks — it names a project with a `## <Project Name>` heading and nothing more. Logs are terminal: nothing links out of them, so nothing in them can break when a note is renamed.

## Active Projects
| Project | Key File |
|---------|----------|

## Skills Available
- **good-morning** — start-of-day orientation: open items first, then what got finished, then one recommendation
- **end-of-day** — closes what got finished, captures what is still open, writes the session handoff log and reconciles the project hubs
- **new-project** — interviews you and creates a project folder, its hub file, and a row above
- **vault-import** — reads your mail, calendar and drive and builds a profile of you from what's already there, one approved finding at a time

If they answered yes to question 6, add this section after ## Project Files:

## Tasks
Tasks live in <task manager>, not in the vault. Open items go there in the same turn they come up, and finished ones are closed there. Daily logs carry no `### Still Open` section, and a project hub's `## Tasks` section holds only a pointer to the task manager.

good-morning and end-of-day read this section to decide where open items live. Without it, they keep open items in the logs and hubs.

Write the prose in the user's chosen language; keep every heading, key and path above in English.

Keep CLAUDE.md to these sections. It is read at the start of every session, so its length is a recurring cost. In particular, do not add a folder map — a stale map is worse than no map, and the file system can be read directly.

Step 3 — Create MEMORY.md

Create MEMORY.md at the workspace root:

# Memory

State, never events. What is true *right now* — open questions, pending decisions, things that have to survive into the next session. What *happened* belongs in `01 Daily Logs/`.

One block per project, five lines at most. Delete a block when the project closes or the state stops being true. A line that has stopped being true is worse than no line at all.

Nothing here yet.

Step 4 — Create folders

Always, relative to the workspace root:

  • 01 Daily Logs/ — one file per day of work, written by end-of-day
  • 02 Projects/ — one folder per project, created by new-project

Only if they said yes in the interview:

  • 03 Life/ — personal projects and notes. new-project creates 03 Life/Projects/<Name>/ under it on demand; don't pre-create that.
  • raw/ and raw/processed/ — create both, so the rule is real from the first file.

Create only what they accepted. Don't add a folder "just in case" — an empty folder the user didn't ask for is a suggestion they'll feel obliged to obey.

If raw/ was accepted, also write raw/README.md:

# raw

Source material you did not write.

- Only things that came from somewhere else belong here: PDFs, transcripts, exports, screenshots, articles, someone else's notes. Anything you wrote yourself does not.
- Nothing in here is ever edited or deleted. It is the record of what the source actually said.
- When you compile a source into a note of your own, move the source into `raw/processed/`.
- Whatever sits in `raw/` but not in `raw/processed/` is the unprocessed queue. That is the entire queue mechanism — there is no list to maintain.

This is not an inbox and not a "to sort" folder.

Write that README's prose in the user's chosen language; keep the folder names and the raw/processed/ path in English.

No .gitkeep needed — the folders can sit empty until the other skills write into them.

Step 5 — Verify

List the workspace root and re-read CLAUDE.md, then check:

  • CLAUDE.md has ## About, ## Language (with the language they chose), ## File Conventions, ## Project Files, ## Active Projects and ## Skills Available, plus ## Tasks only if they said yes to question 6. No folder map.
  • Every heading, key and path is in English; the prose is in their language.
  • MEMORY.md exists with the Nothing here yet. placeholder.
  • The folders that exist are exactly 01 Daily Logs/, 02 Projects/ and the optional ones they accepted. raw/README.md exists if and only if raw/ does.

If any check fails, return to the step that produced it, fix it, and check again.

Step 6 — Confirm

Tell the user, briefly:

  • CLAUDE.md and MEMORY.md are set up, and which folders were created
  • Their language default is recorded in the ## Language block of CLAUDE.md — editing that block changes it later
  • The next step is to say "good morning" to start their first session, or "new project" to create their first project right away
  • If they'd rather not start from an empty page, "learn about me" reads their mail, calendar and drive and builds a profile from what's already there — nothing gets written without their approval

Keep it to five lines — they're ready to go.

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.