Skip to content

Add onboarding flow for second brain modalities - #8

Merged
emilio-balda merged 4 commits into
mainfrom
feat/onboarding
Sep 4, 2026
Merged

emilio-balda merged 4 commits into
mainfrom
feat/onboarding

Conversation

@emilio-balda

Copy link
Copy Markdown
Collaborator

Summary

Introduces a second brain modality system, starting with two modalities:

  • peer-to-peer (existing behavior): every agent may add, edit, and reorganize brain/.
  • centralized (new): every agent writes new, immutable entries to brain/raw/; one maintainer agent processes raw/, extracts concepts, resolves conflicts, and organizes brain/.

Since only one modality applies per repo, an onboarding flow lets an agent pick a modality once, then removes the instructions for the modality it didn't choose so future agents can't accidentally read or follow them.

Changes

  • Add ONBOARDING.md: guides an agent to pick a modality, copy the matching skill into skills/okf/SKILL.md, repoint AGENTS.md/CLAUDE.md, and delete the onboarding files once done.
  • Point AGENTS.md and CLAUDE.md at ONBOARDING.md instead of skills/okf/SKILL.md.
  • Split the existing instructions into skills/okf/onboarding-SKILL-peer-to-peer.md.
  • Add skills/okf/onboarding-SKILL-centralized.md for the new centralized modality, with a raw/ inbox taxonomy and a maintainer-only workflow.
  • Replace skills/okf/SKILL.md with a placeholder pointing back to ONBOARDING.md until onboarding completes.

Testing

Not applicable — documentation/instruction changes only.

Made with Cursor

emilio-balda and others added 3 commits September 4, 2026 10:51
- Add ONBOARDING.md guiding agents to pick peer-to-peer or centralized
  modality, apply the matching skill, and clean up onboarding files.
- Point AGENTS.md and CLAUDE.md at ONBOARDING.md.
- Split the peer-to-peer instructions into
  skills/okf/onboarding-SKILL-peer-to-peer.md and add
  skills/okf/onboarding-SKILL-centralized.md for the new centralized
  modality (raw/ inbox + single maintainer).
- Replace skills/okf/SKILL.md with a placeholder until onboarding
  completes.

Co-authored-by: Cursor <cursoragent@cursor.com>
Copilot AI lite review requested due to automatic review settings September 4, 2026 09:21

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

The centralized modality instructions contain a contradiction about whether non-maintainer agents may edit existing concepts, and there’s an undocumented removal of CONTRIBUTING.md.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Pull request overview

This PR introduces an onboarding flow to choose a single “second brain modality” (peer-to-peer vs centralized) and restructures agent instruction files so the repository can be configured once and then keep only the chosen modality’s guidance.

Changes:

  • Add ONBOARDING.md and repoint AGENTS.md/CLAUDE.md to it during the onboarding phase.
  • Split the prior OKF skill content into modality-specific onboarding skill templates and make skills/okf/SKILL.md a temporary placeholder until onboarding completes.
  • Remove CONTRIBUTING.md (not mentioned in the PR description).
File summaries
File Description
skills/okf/SKILL.md Replaces the prior skill content with an onboarding placeholder redirect.
skills/okf/onboarding-SKILL-peer-to-peer.md Adds peer-to-peer modality instructions (template to be copied into SKILL.md).
skills/okf/onboarding-SKILL-centralized.md Adds centralized modality instructions (template to be copied into SKILL.md).
ONBOARDING.md Adds the modality selection + application steps.
AGENTS.md Temporarily repoints agents to onboarding instructions.
CLAUDE.md Temporarily repoints Claude to onboarding instructions.
CONTRIBUTING.md Deleted contributor guidance file.
Review details

Suppressed comments (3)

skills/okf/onboarding-SKILL-centralized.md:37

  • Typo: "set adescriptive type" is missing a space; it should read "set a descriptive type".
4. Otherwise, create a UTF-8 Markdown concept with YAML frontmatter following the concept template from [templates/concept.md](templates/concept.md): set adescriptive `type`, fill recommended fields, record `generated` and the `sources` you actually read, cross-link related concepts via normal Markdown links.

skills/okf/onboarding-SKILL-centralized.md:62

  • Minor grammar: "Take look" should be "Take a look".
1. Take look at the changes since the last maintainer commit (i.e., commit message starts with `maintain:`).

skills/okf/onboarding-SKILL-centralized.md:65

  • Minor wording: "contradicting information" should be "contradictory information".
   affected file in one pass. Make sure to spot common concepts, patterns, decisions, and contradicting information.
  • Files reviewed: 7/7 changed files
  • Comments generated: 5
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread ONBOARDING.md
Comment on lines +22 to +23
3. Update [AGENTS.md](AGENTS.md) and [CLAUDE.md](CLAUDE.md): point them at
`skills/okf/SKILL.md` again, not this file.
Comment on lines +34 to +38
1. Read [SPEC.md](reference/SPEC.md) for the complete OKF v0.2 rules.
2. Read `brain/index.md` and search the bundle for related terms.
3. Update an existing concept when it describes the same knowledge.
4. Otherwise, create a UTF-8 Markdown concept with YAML frontmatter following the concept template from [templates/concept.md](templates/concept.md): set adescriptive `type`, fill recommended fields, record `generated` and the `sources` you actually read, cross-link related concepts via normal Markdown links.
5. Validate (see below). Fix every error before finishing.
Comment thread ONBOARDING.md
Comment on lines +1 to +4
# Onboarding

This second brain supports more than one modality. Pick one modality before
you store or read any memory.
Comment thread skills/okf/SKILL.md
Comment on lines +1 to +3
# EMPTY SKILL DUE TO UNFINISHED ONBOARDING

This repository is a second brain for coding agents. Store memories as Open
Knowledge Format (OKF) concepts under `brain/`.

## When to write

Write or change a memory only after the user explicitly asks you to do so. Do
not create a routine task summary unless the user asks for a memory.

## Safety

- Never store secrets, credentials, tokens, private keys, or session data.
- Never store personal data unless the user explicitly approves that exact data.
- Do not claim human verification. Add `verified` with a `human:` actor only
after that person explicitly confirms the concept.
- Use the actual agent and version for `generated.by` when you know them. Omit
`generated` when you do not know the correct identity.

## Produce - write a memory

1. Read [SPEC.md](reference/SPEC.md) for the complete OKF v0.2 rules.
2. Read `brain/index.md` and search the bundle for related terms.
3. Update an existing concept when it describes the same knowledge.
4. Otherwise, create a UTF-8 Markdown concept with YAML frontmatter following the concept template from [templates/concept.md](templates/concept.md): set adescriptive `type`, fill recommended fields, record `generated` and the `sources` you actually read, cross-link related concepts via normal Markdown links.
5. Validate (see below). Fix every error before finishing.

The example folders and types are not a fixed taxonomy. Add a folder or type
when it makes the knowledge easier to find.

## Maintain - keep a bundle in sync with reality

1. Identify which concepts the change affects (search by `resource`, path, or
topic). This bookkeeping is exactly what agents are good at — touch every
affected file in one pass.
2. Update the body and `generated.at` (with your own actor in `generated.by`);
fix or add cross-links; create new concepts for new assets; mark removed
assets `status: deprecated` and note the deprecation in `log.md` rather than
silently deleting context. Facing a whole v0.1 bundle rather than a stray
field? Do not hand-edit it — run the validator's `--migrate` once.
3. Update the relevant `index.md` files and append a dated `log.md` entry
describing what changed.
4. Validate.

### Consume — use a bundle as context

1. Read the bundle-root `index.md` first for progressive disclosure, then follow
links only into the concepts relevant to the task.
2. Weigh what you read: `status: draft`/`deprecated`, a `stale_after` already
past, or no `verified` entry all mean "check before relying on this". Treat
broken links as not-yet-written knowledge, not errors.
3. Need a number an `Attested Computation` covers? Run *its* computation with
values bound to the declared `parameters` — never write your own query.
4. If you learn something durable while working, switch to **maintain** and
write it back.

## Validation (do this before declaring done)

1. Run `okf index brain`.
2. Run `okf check brain`.
3. Fix every finding.
If you are reading this text it means you have yet to complete the onboarding steps at [ONBOARDING.md](../../ONBOARDING.md)
1. Read [SPEC.md](reference/SPEC.md) for the complete OKF v0.2 rules.
2. Read `brain/index.md` and search the bundle for related terms.
3. Update an existing concept when it describes the same knowledge.
4. Otherwise, create a UTF-8 Markdown concept with YAML frontmatter following the concept template from [templates/concept.md](templates/concept.md): set adescriptive `type`, fill recommended fields, record `generated` and the `sources` you actually read, cross-link related concepts via normal Markdown links.
Copilot AI review requested due to automatic review settings September 4, 2026 09:55
@emilio-balda emilio-balda self-assigned this Sep 4, 2026
@emilio-balda
emilio-balda merged commit e89ac5a into main Sep 4, 2026
1 check passed

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

The new onboarding templates contain several concrete instruction/clarity issues (including workflow contradictions and typos) that could mislead agents during onboarding.

Review details

Suppressed comments (8)

Previously missed (2) — in code that hasn't changed since the last review.

skills/okf/onboarding-SKILL-centralized.md:24

  • The centralized modality relies on brain/raw/ as an inbox, but the repo currently has no brain/raw/ directory committed. Adding an explicit instruction to create brain/raw/ (and an index.md for it) will prevent onboarding confusion and avoid agents writing files into a path that doesn't exist yet.

This issue also appears on line 54 of the same file.
skills/okf/onboarding-SKILL-centralized.md:37

  • Typo in the instructions: "adescriptive" should be "a descriptive".

This issue also appears on line 62 of the same file.

skills/okf/onboarding-SKILL-peer-to-peer.md:30

  • Typo in the instructions: "adescriptive" should be "a descriptive".
4. Otherwise, create a UTF-8 Markdown concept with YAML frontmatter following the concept template from [templates/concept.md](templates/concept.md): set adescriptive `type`, fill recommended fields, record `generated` and the `sources` you actually read, cross-link related concepts via normal Markdown links.

skills/okf/onboarding-SKILL-centralized.md:38

  • In the centralized modality you state that entries in brain/raw/ are immutable (never edited/deleted), but the Produce steps still instruct agents to "Update an existing concept". This conflicts with the centralized workflow and could lead to agents editing existing files in raw/.
1. Read [SPEC.md](reference/SPEC.md) for the complete OKF v0.2 rules.
2. Read `brain/index.md` and search the bundle for related terms.
3. Update an existing concept when it describes the same knowledge.
4. Otherwise, create a UTF-8 Markdown concept with YAML frontmatter following the concept template from [templates/concept.md](templates/concept.md): set adescriptive `type`, fill recommended fields, record `generated` and the `sources` you actually read, cross-link related concepts via normal Markdown links.
5. Validate (see below). Fix every error before finishing.

skills/okf/onboarding-SKILL-centralized.md:58

  • This onboarding placeholder is written in all-caps and asserts "YOU ARE NOW THE MAINTAINER", which is easy for agents to misinterpret as an instruction to claim authority. It would be safer and clearer to keep this as a neutral placeholder note to be removed during onboarding.
There is only ONE maintainer agent.

- Maintainer Agent: `<your-agent-id>`

TO COMPLETE THE ONBOARDING, YOU MUST FILL IT WITH YOUR AGENT ID AND REMOVE THIS LINE. YOU ARE NOW THE MAINTAINER. NOTIFY THE USER ABOUT THIS.

skills/okf/onboarding-SKILL-centralized.md:65

  • Grammar issues in the maintainer workflow steps ("Take look" / "contradicting information") reduce clarity.
1. Take look at the changes since the last maintainer commit (i.e., commit message starts with `maintain:`).
2. Identify which concepts those changes affect (search by `resource`, path, or
   topic). This bookkeeping is exactly what agents are good at — touch every
   affected file in one pass. Make sure to spot common concepts, patterns, decisions, and contradicting information.

skills/okf/SKILL.md:3

  • The placeholder skill header/body is written in a way that looks like an error message (all-caps) and is missing basic punctuation, which makes it harder to understand what action the reader should take.
# EMPTY SKILL DUE TO UNFINISHED ONBOARDING

If you are reading this text it means you have yet to complete the onboarding steps at [ONBOARDING.md](../../ONBOARDING.md)

ONBOARDING.md:4

  • CONTRIBUTING.md is removed in this PR but that change is not called out in the PR description; if intentional, it would help to either mention it explicitly (or move any remaining guidance into README/ONBOARDING) so contributors know where to find the workflow steps.
# Onboarding

This second brain supports more than one modality. Pick one modality before
you store or read any memory.
  • Files reviewed: 7/7 changed files
  • Comments generated: 0 new
  • Review effort level: Lite

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants