project · diff

git:20260923.391f320 to git:20261011.d039e60

6 added, 4 removed. Audit A to A.

---
name: project
description: Capture project context as a memory in brain/memory/projects/ (active projects are compiled into BRAIN.md)
---
<!-- generated by tools/build-codex-plugin.js from plugin/; edit the source there, not this file -->
> Host: Codex CLI, through the `agenticos` plugin. Invoke as `$agenticos:project`. `<plugin root>` is the plugin's folder, two levels above the folder that holds this SKILL.md; the `aos` launcher is `<plugin root>/bin/aos`. The tools of the `agenticos` MCP server are named `mcp__agenticos__<tool>`.
Save this project context: **the text the user wrote after `$agenticos:project`**
Vault: the `vault` value in `${CLAUDE_CONFIG_DIR:-~/.claude}/agenticos.json`.
1. Parse `the text the user wrote after `$agenticos:project``: the first token is the project name (kebab-case); the rest is the context.
- 2. If `<vault>/brain/memory/projects/<project-name>.md` exists: add a dated bullet under `## Updates` and bump `updated:`. Otherwise create it:
+ 2. **Workspace.** Run `aos workspace which --json` in the shell from the folder this session runs in, without changing directory first (fallback: `sh "<plugin root>/bin/aos" workspace which --json`). It prints `{"name": "<name>", "slug": "<slug>", "via": "<how it matched>"}` when the folder belongs to a workspace (the workspace itself, a worktree of it, or a code folder linked to it), or `{"name": null}` when it does not. Only when `name` is set, the note carries `workspace: <name>` in its frontmatter (step 3), which links it to that workspace in the Workbench Spaces tab. When `name` is null, or the command fails or prints anything else, write no `workspace:` line.
+ 3. If `<vault>/brain/memory/projects/<project-name>.md` exists: add a dated bullet under `## Updates` and bump `updated:`; when step 2 printed a `name` and the frontmatter has no `workspace:` line yet, add `workspace: <name>` after `updated:` (never change an existing one). Otherwise create it, with the `workspace:` line only when step 2 printed a `name`:
```
---
type: memory
tags: [memory/projects, status/active]
created: <today>
updated: <today>
+ workspace: <name>
---
# <Project Name>
## Summary
*(one line)*
## Context
<the text from the text the user wrote after `$agenticos:project`>
## Updates
- <today>: <text>
```
- 3. If new, add `- [<Project Name>](brain/memory/projects/<project-name>.md) — <one line>` under `## Project` in `<vault>/MEMORY.md`.
- 4. Do not hand-edit `brain/_index/BRAIN.md`; it is compiled. `status/active` in the frontmatter is what puts the project into `## Active context`. To surface it immediately run `aos build-brain-md` via Bash (fallback: `sh "<plugin root>/bin/aos" build-brain-md`).
- 5. Confirm in one line.
+ 4. If new, add `- [<Project Name>](brain/memory/projects/<project-name>.md) — <one line>` under `## Project` in `<vault>/MEMORY.md`.
+ 5. Do not hand-edit `brain/_index/BRAIN.md`; it is compiled. `status/active` in the frontmatter is what puts the project into `## Active context`. To surface it immediately run `aos build-brain-md` in the shell (fallback: `sh "<plugin root>/bin/aos" build-brain-md`).
+ 6. Confirm in one line, naming the workspace when the note was linked to one.