second-brain
Ingest, compile, sync and query the personal knowledge base at the path in env `SECOND_BRAIN_PATH` (work, projects, homelab, AI, personal life).
Skill by Fritnes
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/fritnes-second-brain
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: documents, writing, productivity
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/second-brain
What's inside
- Skill name
second-brain- Description
- Ingest, compile, sync and query the personal knowledge base at the path in env `SECOND_BRAIN_PATH` (work, projects, homelab, AI, personal life). Use whenever the user sends a URL, document or paste to file away; mentions inbox, weekly review, daily run, projects.md, identity.md, router.md, taxonomy or "second brain"; asks to sync tasks from the task manager into projects.md; asks a question that may be answered from earlier notes, decisions, incidents or procedures; or when a cron job invokes it with a [CRON:daily] or [CRON:weekly] tag. Not for quiz/education content (that belongs in a separate education vault).
- License
- MIT
- Instructions
- 214 lines in SKILL.md · view on GitHub
Files (5)
- README.md
- SKILL.md
- taxonomy.md · assets/
- _contract.md · references/providers/
- vikunja.md · references/providers/
SKILL.md (first lines)
# Second Brain Personal knowledge base for work, projects and life. Ingests sources, compiles linked wiki pages, syncs tasks from the task manager, and answers questions from compiled knowledge. See `README.md` for setup and the recommended cron jobs. - **Location:** env `SECOND_BRAIN_PATH` (required) - **Out of scope:** quiz/education content, secrets (tokens, passwords, keys). Before any file operation, verify `SECOND_BRAIN_PATH` is set and points to an existing directory. If it is unset or missing, do not guess or create a vault: ask the user to configure the path in interactive mode; in cron mode, report the blocker and stop. ## Operating Modes | Mode | How detected | Rules | |---|---|---| | **Interactive** | User is chatting | May ask questions, confirm scope, discuss takeaways | | **Cron** | Prompt starts with `[CRON:<job>]` | **Never ask questions or wait.** Do the safe part, log it, reply briefly. Anything needing approval goes to `inbox.md` under `## Needs approval` | ## Always Orient First (once per run) 1. Read `SCHEMA.md` (rules, thresholds) and `taxonomy.md` (valid domains). 2. Read `index.md` and the last ~30 lines of `log.md`. 3. Only then act. In a composite cron run (daily), orient once, not per step. ## Architecture ``` $SECOND_BRAIN_PATH/ ├── identity.md who the user is, goals, communication style ├── projects.md live project state + synced tasks (managed blocks) ├── router.md lookup table: where everything lives ├── inbox.md scratchpad; `## Needs approval` section for cron leftovers ├── SCHEMA.md rules, thresholds, conventions ├── taxonomy.md the ONLY list of valid domains (and tag vocabulary) ├── index.md page catalog, grouped by domain ├── log.md append-only action log ├── weekly/ YYYY-Www.md (ISO week, e.g. 2026-W42) ├── templates/ entity, concept, comparison, query, weekly ├── raw/ immutable sources: articles/ papers/ transcripts/ assets/ ├── entities/ concepts/ comparisons/ queries/ ``` Skill bundle: `SKILL.md`, `README.md`, `references/providers/*.md` (task manager adapters), `assets/taxonomy.md` (starter taxonomy to copy into the vault). ## Domains (unified `domain` field) One field replaces the old `sub_domain` + `org`. - Value is an id from `taxonomy.md`: a top level (`homelab`, `ai`, `personal`, `work`) or one nested level (`work/company-a`, `work/company-b`). Max 2 levels. - Exactly one primary `domain` per page. Extra context goes in `tags`. - Prefix match works for queries and indexes: `work` includes all `work/*`. - **Adding a domain = adding one row to `taxonomy.md`.** Never edit this skill for that. - **Never invent a domain silently.** Unknown value needed: interactive → propose the new row and ask; cron → use the closest parent, add a line to `## Needs approval`. - Never rename an id. Mark the old row `status: deprecated` with `replaced_by`, then migrate pages. - Legacy `sub_domain`/`org` frontmatter: auto-migrate during lint (`sub_domain: work` + `org: company-a` → `domain: work/company-a`). ## Unified Conventions **Frontmatter (all wiki pages):** ```yaml --- title: Human readable title type: entity | concept | comparison | query | weekly domain: work/company-a # id from taxonomy.md tags: [from taxonomy.md vocabulary] created: YYYY-MM-DD updated: YYYY-MM-DD sources: [raw/articles/slug.md] status: draft | stable | stale --- ``` **Raw files:** `source_url`, `ingested`, `sha256`, `title`. Body is never edited. **Naming:** lowercase kebab-case ASCII filenames. Content in the source's or user's language; wikilinks and tags in English. **Dates:** ISO `YYYY-MM-DD`; weeks via `date +%G-W%V`; timezone from env `TZ`. **Links:** at least 2 `[[wikilinks]]` per page; no orphans. **Log line:** `## [YYYY-MM-DD HH:MM] <op> | <title>` + bullets of files touched. Ops: `ingest`, `tasks`, `weekly`, `inbox`, `query`, `lint`. **Safety:** - Never write tokens or credentials to any file or log. Use `[REDACTED]`. - No pages for passing mentions; thresholds in `SCHEMA.md` (default: central to the source, or 2+ mentions). - Interactive: confirm before touching 10+ pages. Cron: cap at 10 pages per run, defer the rest to `## Needs approval`. ## Task Manager (provider-agnostic) The skill never hardcodes a task manager. It talks to a **provider** through a fixed contract. - Active provider: env `TASK_PROVIDER` (default `vikunja`). - Contract: `references/providers/_contract.md` (operations and normalized fields). - Adapter: `references/providers/<TASK_PROVIDER>.md` (endpoints, auth, quirks). - In this skill, use only normalized fields: `id, project_id, project_name, title, due, priority, status, url`. - Task refs in notes: `[<provider>:<id>]`, e.g. `[vikunja:345]`. - Managed blocks in `projects.md` are provider-neutral: ``` <!-- tasks:start provider=vikunja project=12 domain=work/company-a --> - [ ] Task title ([vikunja:345], due 2026-10-20, p3) <!-- tasks:end provider=vikunja project=12 --> ``` - **Switching provider:** set `TASK_PROVIDER`, add the adapter file, run sync once. Old provider blocks are kept and marked `(legacy provider, not synced)`; new blocks are created. Nothing is deleted.
From Fritnes/hermes-skills, MIT.
More from Fritnes/hermes-skills
- 0.565score
obsidian-index
Fritnes
Build and query a searchable index of notes in repos registered with git-repo-sync (titles, tags, links, backlinks).
SkillAFreshness: AClaude Code +9 - 0.565score
obsidian-lint
Fritnes
Health-check Obsidian vaults registered with git-repo-sync for broken wikilinks, orphan notes, missing frontmatter, duplicate titles, and empty notes.
SkillAFreshness: AClaude Code +9 - 0.565score
vikunja
Fritnes
Manage tasks in a self-hosted Vikunja instance through its REST API.
SkillAFreshness: AClaude Code +9 - 0.565score
obsidian-templates
Fritnes
Create Obsidian notes from templates or reformat existing notes into one consistent structure in a repo registered with git-repo-sync.
SkillAFreshness: AClaude Code +9 - 0.561score
reactive-resume-selfhosted
Fritnes
Connect to and manage resumes in the user's self-hosted Reactive Resume instance.
SkillAFreshness: AClaude Code +9 - 0.560score
git-repo-sync
Fritnes
Register and safely synchronize multiple Git repositories.
SkillAFreshness: AClaude Code +9 - 0.559score
text-summarizer
Fritnes
Summarizes text the user provides into a short, structured summary.
SkillAFreshness: AClaude Code +9 - 0.559score
streak-tracker
Fritnes
Track daily completion streaks for any activity, with optional weekly freeze days that protect a streak after missed days.
SkillAFreshness: AClaude Code +9 - 0.559score
daily-tutor
Fritnes
Interactive learning tutor that sends ONE punchy, practical quiz question on whatever topics the USER chooses (one or many, tech or not), then evaluates the…
SkillAFreshness: AClaude Code +9 - 0.559score
skill-template
Fritnes
Starter template for creating a new Hermes skill.
SkillAFreshness: AClaude Code +9 - 0.558score
troubleshoot-drill
Fritnes
Daily broken-system puzzle; user diagnoses from clues, agent guides and checks the answer.
SkillAFreshness: AClaude Code +9 - 0.524score
hello-world
Fritnes
Simple test skill.
SkillAFreshness: AClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Oct 17, 2026 (13 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/Fritnes/hermes-skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from Fritnes
- 0.565score
obsidian-index
Fritnes
Build and query a searchable index of notes in repos registered with git-repo-sync (titles, tags, links, backlinks).
SkillAFreshness: AClaude Code +9 - 0.565score
obsidian-lint
Fritnes
Health-check Obsidian vaults registered with git-repo-sync for broken wikilinks, orphan notes, missing frontmatter, duplicate titles, and empty notes.
SkillAFreshness: AClaude Code +9 - 0.565score
vikunja
Fritnes
Manage tasks in a self-hosted Vikunja instance through its REST API.
SkillAFreshness: AClaude Code +9 - 0.565score
obsidian-templates
Fritnes
Create Obsidian notes from templates or reformat existing notes into one consistent structure in a repo registered with git-repo-sync.
SkillAFreshness: AClaude Code +9 - 0.561score
reactive-resume-selfhosted
Fritnes
Connect to and manage resumes in the user's self-hosted Reactive Resume instance.
SkillAFreshness: AClaude Code +9 - 0.560score
git-repo-sync
Fritnes
Register and safely synchronize multiple Git repositories.
SkillAFreshness: AClaude Code +9
Cite this page
second-brain skill. Agent Mart. https://agentmart.dev/skills/fritnes-second-brain (last updated 2026-10-24)