en un clic
joshu-brain
Search Desktop files via gbrain; mail use joshu-mail.
Installer avec Codex ou Claude Copiez ce prompt, collez-le dans Codex, Claude ou un autre assistant, puis laissez-le vérifier la page du skill et l'installer pour vous.
Menu
Search Desktop files via gbrain; mail use joshu-mail.
Installer avec Codex ou Claude Copiez ce prompt, collez-le dans Codex, Claude ou un autre assistant, puis laissez-le vérifier la page du skill et l'installer pour vous.
Basé sur la classification professionnelle SOC
Meeting-mail scheduling. Kanban ea-sched-*; Calendly fallback.
Find/search mail; local cache first, deep server Gmail.
jMail desktop UI workflows — compose drafts, thread navigation, voice fast paths.
Daily handoff — prep yesterday carryover, interactive morning review, finalize today's time block.
Triage mail to Projects. Not drips—use ea-project-kanban.
Drips, pipelines, HITL: Kanban project boards, not todo.md.
| name | joshu-brain |
| description | Search Desktop files via gbrain; mail use joshu-mail. |
| version | 1.9.1 |
| metadata | {"hermes":{"category":"brain","version":"1.9.1"}} |
Platform mechanics: Apps use
@joshu/platform-data(files.query,files.getPage,memory.recall). Agents use gbrain MCP tools below. This skill covers retrieval workflow — not REST/MCP wiring.
Mail / email (find, search, recall, send): Load skill joshu-mail — not this skill. gbrain is step 1 inside joshu-mail, but Composio workbench, multi-account routing, and send rules live there.
Use gbrain (read-only MCP tools from the gbrain server) when the user asks about:
.txt wraps (sibling .md next to source files), or anything saved as filesUse Hindsight memory (Hermes memory provider) when the user asks about:
Do not duplicate chats into markdown files for gbrain. Hindsight owns conversational memory.
When the user says "I sent some notes/reminders via email" or "remember those random things I jotted down":
Common subject patterns on user notes: "Another note to file", "Another idea to jot down", "Top things to sort out", or blank. More detail in references/find-user-notes.md.
query with:
query: the user's question or keywordssource_id: "__all__" (cross-source; required for files outside joshu's files)limit: 10–20recency: "on" and since: "90d" (or "30d", "7d") for recent mail/journal questions — Joshu MCP normalizes these to ISO timestamps before SQLsearch alone for Desktop-wide lookup — search is keyword FTS on the default source (joshu's files / journals) and often returns empty for federated paths like investors/… or joshus-files/workspace/….chunk_text from query results when get_page returns page_not_found for a federated slug.hermes-cli / search_files (ripgrep) on disk only when gbrain returns nothing relevant.MCP server URL (Joshu-supervised): http://127.0.0.1:8794/mcp — one shared gbrain serve process; do not spawn a second gbrain.
Do not use gbrain write tools (put_page, delete, sync_brain, schema tools, etc.). They are not available on the Joshu MCP surface.
All user-visible files must land on disk under JOSHU_FILES_ROOT (the joshu's files folder on ArozOS Desktop) — never macOS ~/Desktop and never Desktop/journals/ at the Desktop root.
JOSHU_FILES_ROOT from the environment (absolute path). Joshu sets this to the sandbox owner’s ArozOS Desktop tree (joshu's files), not a path you invent in chat.LOCATION.md inside that folder.~/Desktop, paths outside JOSHU_FILES_ROOT, or sibling folders on Desktop.Layout under JOSHU_FILES_ROOT:
FILING.md
Planning/ # capture-*, daily-review-*, time-block diagrams (one .excalidraw per day)
Triage/ # work queue stubs → connector threads (mail only)
Projects/<slug>/ # about.md, todo.md, journal_YYYY-MM-DD.md
connectors/mail/nylas/threads/ # agent inbox (Nylas)
connectors/mail/gmail/{account_key}/threads/ # principal Gmail (Composio, per account)
connectors/calendar/
connectors/_state/ # sync cursors (machine)
journals/ # optional personal capture (non-EA)
research/ # notes and investigation
inbox/
uploads/
Users can drop text PDFs anywhere on the ArozOS Desktop (JOSHU_DESKTOP_ROOT), including folders outside joshu's files. Joshu auto-extracts a sibling .md next to the PDF (report.pdf → report.md; if that name is taken, report.pdf.md). The PDF stays in place. When the PDF bytes change, the sidecar is re-extracted; deleting the PDF removes the sidecar. No agent action required.
Users can drop .txt files anywhere on the Desktop the same way. Joshu wraps them to a sibling .md (notes.txt → notes.md; if taken, notes.txt.md). The .txt stays in place. gbrain sync still only imports markdown — the wrap is what makes text files searchable.
Read FILING.md and docs/executive-assistant.md#gtd-workspace before creating new pages. Connector layout and APIs: Joshu docs/connectors.md. PDF / TXT ingest details: docs/file-brain.md.
When writing or editing project markdown, link — do not duplicate mail bodies:
[subject](joshu://connectors/mail/…/threads/<id>.md) or relative ../connectors/mail/…[[wikilinks]] → use get_backlinks / traverse_graph to find related pagesPlanning/capture-*.md first; Hindsight holds conversation — do not dump chat logs into files for gbrainWrite or edit markdown with Hermes filesystem tools at absolute paths, e.g.:
${JOSHU_FILES_ROOT}/journals/2026-05-24-slug.md
| Correct path | Wrong |
|---|---|
${JOSHU_FILES_ROOT}/journals/2026-05-24-todo.md | ~/Desktop/... |
${JOSHU_FILES_ROOT}/research/my-topic.md | ${JOSHU_FILES_ROOT}/joshu's files/journals/... (double-nested) |
${JOSHU_FILES_ROOT}/journals/... | Desktop/journals/... at ArozOS Desktop root |
journals/ → journal type, research/ → research, etc. after gbrain indexes the file (automatic, ~few seconds)..md in journals/research/inbox (gbrain sync imports .md/.mdx by default).type, date) should match the folder; gbrain classifies primarily by path prefix.Before creating a new journal, list journals/ (filesystem or gbrain query with source_id: "__all__" and a journal keyword) and update the existing file instead of duplicating topics.
Full Desktop (shortcuts, other folders) is indexed via a federated gbrain source registered at boot; writes stay under JOSHU_FILES_ROOT only.
When MCP is unavailable, the Joshu server on :8788 exposes read-only routes (same cross-source behavior when MCP HTTP on :8794 is up):
GET /joshu/api/brain/search?q=...GET /joshu/api/brain/query?q=...