db-aeon/joshu-oss/joshu-brain
Claude Code and agent skill by db-aeon/joshu-oss
- community
Checking that the SKILL.md file is still in the repository.
Search Desktop files via gbrain; mail use joshu-mail.
Install
npx vskill@latest install db-aeon/joshu-oss/joshu-brainSKILL.md
Joshu File Brain
Agents use gbrain MCP tools below. This skill covers retrieval workflow — not REST/MCP wiring.
When to Use
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:
- Files on their Desktop (including joshu's files)
- Journals, research notes, uploads, PDF extracts /
.txtwraps (sibling.mdnext to source files), or anything saved as files - "What did I write about X?" when the answer should come from documents
Use Hindsight memory (Hermes memory provider) when the user asks about:
- Conversation history: "weren't we talking about X?"
- Preferences and facts from past chats
- Rambling recall without a specific file
Do not duplicate chats into markdown files for gbrain. Hindsight owns conversational memory.
Finding user self-sent notes & reminders (multi-channel)
When the user says "I sent some notes/reminders via email" or "remember those random things I jotted down" — or sends a note via Slack DM:
- gbrain_query first — the mirrored email content is already indexed. Semantic search catches notes even without exact subject keywords.
- Gmail API second — only if gbrain misses something.
- Cross-channel dedup — if the same note arrives via Slack that was already tracked from email, write a journal entry with
(re-up)rather than duplicating the todo item. See `references/find-user-notes.md`.
Common subject patterns on user notes: "Another note to file", "Another idea to jot down", "Top things to sort out", or blank.
Filing user product notes & ideas
When the owner sends a product idea/note (email, Slack, voice), load `references/file-product-notes.md` for the complete filing workflow: target project selection, journal create/append, about.md updates (Design Concepts / Active threads), and memory backup.
The pattern: one journal entry per date, about.md as the living reference, and memory for cross-session recall. Do not create task-actionable items in todo.md for conceptual ideas — those go into Design Concepts. If the idea implies concrete next steps, add a todo row and the Design Concepts entry.
Brain-first retrieval
- For file/knowledge questions on the user's Desktop (any folder), call gbrain `query` with:
query: the user's question or keywordssource_id:"__all__"(cross-source; required for files outsidejoshu's files)limit: 10–20recency:"on"andsince:"90d"(or"30d","7d") for recent mail/journal questions — Joshu MCP normalizes these to ISO timestamps before SQL
- Do not rely on MCP `search` alone for Desktop-wide lookup —
searchis keyword-only FTS and misses paraphrased matches thatquery(hybrid semantic + keyword) finds. - Cite results with the slug from gbrain (lowercase; may not match on-disk folder casing).
- Use
chunk_textfromqueryresults whenget_pagereturnspage_not_foundfor a slug. - Use
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.
Writing structured files (critical)
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.
- Read `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. - If unset, read `LOCATION.md` inside that folder.
- Do not write to
~/Desktop, paths outsideJOSHU_FILES_ROOT, or sibling folders on Desktop.
Layout under JOSHU_FILES_ROOT:
PDF text extraction
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.
- Do not paste full PDF bodies into markdown — the ingest pipeline handles extraction.
- Scanned/image PDFs may fail ingest; suggest OCR or manual markdown if extraction errors.
- File Brain shows an activity pill while extract/reindex is running.
Plain text (.txt)
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`.
Linking for recall (EA projects)
When writing or editing project markdown, link — do not duplicate mail bodies:
[subject](joshu://connectors/mail/…/threads/<id>.md)or relative../connectors/mail/…- gbrain sync extracts links and
[[wikilinks]]→ use `get_backlinks` / `traverse_graph` to find related pages - Chat capture lives in `Planning/capture-*.md` first; Hindsight holds conversation — do not dump chat logs into files for gbrain
Filesystem writes (only write path)
Write 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 |
- Path is identity —
journals/→ journal type,research/→ research, etc. after gbrain indexes the file (automatic, ~few seconds). - Prefer `.md` in journals/research/inbox (gbrain sync imports
.md/.mdxby default). - Optional YAML frontmatter (
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 in the single default gbrain source; writes stay under JOSHU_FILES_ROOT only.
Joshu API (optional)
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=...
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingintegrations/hermes/skills/brain/joshu-brain/SKILL.md
Popularity
- 7-day trend score
- 5
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/db-aeon/joshu-oss/joshu-brain)