@jayjiang/byoao 1.1.1 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/__tests__/plugin-config.test.js +7 -10
- package/dist/__tests__/plugin-config.test.js.map +1 -1
- package/dist/assets/obsidian-skills/byoao-conventions.md +30 -54
- package/dist/assets/obsidian-skills/vault-thinking.md +6 -5
- package/dist/assets/presets/common/AGENTS.md.hbs +29 -46
- package/dist/assets/presets/common/SCHEMA.md.hbs +57 -0
- package/dist/assets/presets/common/Start Here.md.hbs +29 -40
- package/dist/assets/presets/minimal/preset.json +3 -3
- package/dist/assets/presets/pm-tpm/preset.json +2 -2
- package/dist/assets/skills/ask.md +133 -0
- package/dist/assets/skills/challenge.md +132 -0
- package/dist/assets/skills/connect.md +125 -0
- package/dist/assets/skills/cook.md +167 -0
- package/dist/assets/skills/diagnose.md +131 -0
- package/dist/assets/skills/drift.md +122 -0
- package/dist/assets/skills/health.md +63 -0
- package/dist/assets/skills/ideas.md +173 -0
- package/dist/assets/skills/organize.md +107 -0
- package/dist/assets/skills/prep.md +63 -0
- package/dist/assets/skills/trace.md +141 -0
- package/dist/assets/skills/wiki.md +126 -0
- package/dist/cli/cli-program.js +17 -14
- package/dist/cli/cli-program.js.map +1 -1
- package/dist/cli/installer.js +47 -6
- package/dist/cli/installer.js.map +1 -1
- package/dist/hooks/idle-suggestions.js +4 -4
- package/dist/hooks/idle-suggestions.js.map +1 -1
- package/dist/hooks/system-transform.js +35 -1
- package/dist/hooks/system-transform.js.map +1 -1
- package/dist/index.js +397 -884
- package/dist/index.js.map +1 -1
- package/dist/plugin-config.js +6 -32
- package/dist/plugin-config.js.map +1 -1
- package/dist/tools/init-vault.js +8 -38
- package/dist/tools/init-vault.js.map +1 -1
- package/dist/tools/vault-doctor.js +1 -1
- package/dist/tools/vault-doctor.js.map +1 -1
- package/dist/tools/vault-status.js +1 -1
- package/dist/tools/vault-status.js.map +1 -1
- package/dist/vault/__tests__/create.test.js +48 -116
- package/dist/vault/__tests__/create.test.js.map +1 -1
- package/dist/vault/__tests__/doctor.test.js +14 -2
- package/dist/vault/__tests__/doctor.test.js.map +1 -1
- package/dist/vault/__tests__/manifest.test.js +2 -2
- package/dist/vault/__tests__/manifest.test.js.map +1 -1
- package/dist/vault/__tests__/status.test.js +13 -8
- package/dist/vault/__tests__/status.test.js.map +1 -1
- package/dist/vault/__tests__/upgrade.test.js +3 -3
- package/dist/vault/__tests__/upgrade.test.js.map +1 -1
- package/dist/vault/__tests__/vault-detect.test.js +1 -13
- package/dist/vault/__tests__/vault-detect.test.js.map +1 -1
- package/dist/vault/create.js +76 -229
- package/dist/vault/create.js.map +1 -1
- package/dist/vault/doctor.js +49 -0
- package/dist/vault/doctor.js.map +1 -1
- package/dist/vault/manifest.js +1 -1
- package/dist/vault/preset.js +10 -4
- package/dist/vault/preset.js.map +1 -1
- package/dist/vault/self-update.js +1 -1
- package/dist/vault/status.js +24 -3
- package/dist/vault/status.js.map +1 -1
- package/dist/vault/upgrade.js +121 -18
- package/dist/vault/upgrade.js.map +1 -1
- package/dist/vault/vault-detect.js +2 -4
- package/dist/vault/vault-detect.js.map +1 -1
- package/package.json +1 -1
- package/src/assets/obsidian-skills/byoao-conventions.md +30 -54
- package/src/assets/obsidian-skills/vault-thinking.md +6 -5
- package/src/assets/presets/common/AGENTS.md.hbs +29 -46
- package/src/assets/presets/common/SCHEMA.md.hbs +57 -0
- package/src/assets/presets/common/Start Here.md.hbs +29 -40
- package/src/assets/presets/minimal/preset.json +3 -3
- package/src/assets/presets/pm-tpm/preset.json +2 -2
- package/src/skills/ask.md +133 -0
- package/src/skills/challenge.md +79 -115
- package/src/skills/connect.md +75 -156
- package/src/skills/cook.md +167 -0
- package/src/skills/diagnose.md +99 -41
- package/src/skills/drift.md +64 -159
- package/src/skills/health.md +63 -0
- package/src/skills/ideas.md +19 -12
- package/src/skills/organize.md +56 -156
- package/src/skills/prep.md +63 -0
- package/src/skills/trace.md +76 -84
- package/src/skills/wiki.md +126 -0
- package/dist/assets/presets/common/Glossary.md.hbs +0 -16
- package/dist/assets/presets/common/obsidian/daily-notes.json +0 -5
- package/dist/assets/presets/common/obsidian/templates.json +0 -3
- package/dist/assets/presets/common/templates/Daily Note.md +0 -19
- package/dist/assets/presets/common/templates/Decision Record.md +0 -32
- package/dist/assets/presets/common/templates/Investigation.md +0 -34
- package/dist/assets/presets/common/templates/Meeting Notes.md +0 -25
- package/dist/tools/add-glossary-term.js +0 -21
- package/dist/tools/add-glossary-term.js.map +0 -1
- package/dist/tools/add-person.js +0 -21
- package/dist/tools/add-person.js.map +0 -1
- package/dist/tools/add-project.js +0 -24
- package/dist/tools/add-project.js.map +0 -1
- package/dist/tools/graph-health.js +0 -25
- package/dist/tools/graph-health.js.map +0 -1
- package/dist/tools/note-read.js +0 -19
- package/dist/tools/note-read.js.map +0 -1
- package/dist/tools/search-vault.js +0 -22
- package/dist/tools/search-vault.js.map +0 -1
- package/dist/vault/__tests__/glossary.test.js +0 -68
- package/dist/vault/__tests__/glossary.test.js.map +0 -1
- package/dist/vault/__tests__/graph-health.test.js +0 -102
- package/dist/vault/__tests__/graph-health.test.js.map +0 -1
- package/dist/vault/__tests__/member.test.js +0 -85
- package/dist/vault/__tests__/member.test.js.map +0 -1
- package/dist/vault/__tests__/note-read.test.js +0 -71
- package/dist/vault/__tests__/note-read.test.js.map +0 -1
- package/dist/vault/__tests__/obsidian-cli.test.js +0 -108
- package/dist/vault/__tests__/obsidian-cli.test.js.map +0 -1
- package/dist/vault/__tests__/search-vault.test.js +0 -93
- package/dist/vault/__tests__/search-vault.test.js.map +0 -1
- package/dist/vault/glossary.js +0 -27
- package/dist/vault/glossary.js.map +0 -1
- package/dist/vault/graph-health.js +0 -83
- package/dist/vault/graph-health.js.map +0 -1
- package/dist/vault/member.js +0 -67
- package/dist/vault/member.js.map +0 -1
- package/dist/vault/note-read.js +0 -70
- package/dist/vault/note-read.js.map +0 -1
- package/dist/vault/project.js +0 -68
- package/dist/vault/project.js.map +0 -1
- package/dist/vault/retrieval-types.js +0 -5
- package/dist/vault/retrieval-types.js.map +0 -1
- package/dist/vault/search-vault.js +0 -87
- package/dist/vault/search-vault.js.map +0 -1
- package/src/assets/presets/common/Glossary.md.hbs +0 -16
- package/src/assets/presets/common/obsidian/daily-notes.json +0 -5
- package/src/assets/presets/common/obsidian/templates.json +0 -3
- package/src/assets/presets/common/templates/Daily Note.md +0 -19
- package/src/assets/presets/common/templates/Decision Record.md +0 -32
- package/src/assets/presets/common/templates/Investigation.md +0 -34
- package/src/assets/presets/common/templates/Meeting Notes.md +0 -25
- package/src/skills/emerge.md +0 -161
- package/src/skills/weave.md +0 -282
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: byoao-conventions
|
|
3
|
-
description: Use when creating or modifying notes in a BYOAO-structured vault. Enforces frontmatter
|
|
3
|
+
description: Use when creating or modifying notes in a BYOAO-structured vault. Enforces frontmatter requirements, wikilinks, and naming conventions.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# BYOAO Document Conventions
|
|
@@ -11,34 +11,19 @@ You MUST follow these conventions when creating or modifying any note in this va
|
|
|
11
11
|
|
|
12
12
|
Before creating any note:
|
|
13
13
|
|
|
14
|
-
1. Read `AGENTS.md` — check the
|
|
15
|
-
2.
|
|
16
|
-
3.
|
|
17
|
-
4. Verify the target directory — place the file according to its `type`
|
|
14
|
+
1. Read `AGENTS.md` — check the knowledge base structure (user notes vs agent-maintained pages)
|
|
15
|
+
2. Decide where the note belongs: **user notes** stay in their existing areas (e.g. `Projects/`, `Daily/`); **agent knowledge pages** live only under `entities/`, `concepts/`, `comparisons/`, or `queries/`
|
|
16
|
+
3. Use `obsidian create` to create notes — never use file write tools directly
|
|
18
17
|
|
|
19
18
|
## Creating Notes
|
|
20
19
|
|
|
21
|
-
You MUST use `obsidian create` to create notes in the vault
|
|
22
|
-
file write tools directly. Obsidian CLI ensures the file is tracked by
|
|
23
|
-
Obsidian and templates are applied correctly.
|
|
24
|
-
|
|
25
|
-
When a matching template exists:
|
|
20
|
+
You MUST use `obsidian create` to create notes in the vault:
|
|
26
21
|
|
|
27
22
|
```
|
|
28
|
-
obsidian create name="
|
|
29
|
-
obsidian create name="Sprint N Handoff" template="Sprint Handoff" path="Sprints/"
|
|
30
|
-
obsidian create name="Meeting Title" template="Meeting Notes"
|
|
31
|
-
obsidian create name="Investigation Title" template="Investigation"
|
|
32
|
-
obsidian create name="Decision Title" template="Decision Record"
|
|
33
|
-
obsidian create name="YYYY-MM-DD" template="Daily Note" path="Daily/"
|
|
23
|
+
obsidian create name="Note Title" content="<frontmatter + content>" silent
|
|
34
24
|
```
|
|
35
25
|
|
|
36
|
-
|
|
37
|
-
today's actual date — never a placeholder, never omitted:
|
|
38
|
-
|
|
39
|
-
```
|
|
40
|
-
obsidian create name="Note Title" content="---\ntitle: \"Note Title\"\ntype: reference\nstatus: draft\ndate: 2026-04-02\ntags: []\n---\n\n# Note Title\n" silent
|
|
41
|
-
```
|
|
26
|
+
For multiline content use `\n` for newline and `\t` for tab.
|
|
42
27
|
|
|
43
28
|
## Required Frontmatter
|
|
44
29
|
|
|
@@ -47,36 +32,21 @@ Every note MUST have these fields:
|
|
|
47
32
|
| Field | Values |
|
|
48
33
|
|-------|--------|
|
|
49
34
|
| `title` | Descriptive title |
|
|
50
|
-
| `type` | `
|
|
51
|
-
| `
|
|
52
|
-
| `date` | YYYY-MM-DD |
|
|
35
|
+
| `type` | `meeting`, `idea`, `reference`, `daily`, `project`, `person`, `entity`, `concept`, `comparison`, `query`, etc. |
|
|
36
|
+
| `date` | YYYY-MM-DD — today's date or extracted from content |
|
|
53
37
|
| `tags` | Array of relevant tags |
|
|
54
38
|
|
|
55
|
-
Additional fields
|
|
39
|
+
Additional fields (optional):
|
|
56
40
|
|
|
57
|
-
|
|
|
58
|
-
|
|
59
|
-
| `
|
|
60
|
-
| `
|
|
61
|
-
| `
|
|
62
|
-
| `
|
|
63
|
-
| `
|
|
64
|
-
| `person` | `team`, `role` |
|
|
65
|
-
|
|
66
|
-
## Directory Placement
|
|
67
|
-
|
|
68
|
-
ALWAYS place files in the directory matching their type. Refer to the Document Conventions section in `AGENTS.md` for the authoritative type-to-directory mapping for this vault.
|
|
41
|
+
| Field | Purpose |
|
|
42
|
+
|-------|---------|
|
|
43
|
+
| `domain` | Knowledge area (e.g. ai-agents, product-strategy) |
|
|
44
|
+
| `references` | Related notes as wikilinks: `[[Note Name]]` |
|
|
45
|
+
| `status` | `draft`, `active`, `completed`, `archived` |
|
|
46
|
+
| `updated` | YYYY-MM-DD — last substantive edit (common on agent pages) |
|
|
47
|
+
| `contradictions` | Cross-links when conflicting claims need review (agent pages) |
|
|
69
48
|
|
|
70
|
-
|
|
71
|
-
|------|-----------|
|
|
72
|
-
| `feature` | `Projects/` |
|
|
73
|
-
| `sprint-handoff` | `Sprints/` |
|
|
74
|
-
| `daily` | `Daily/` |
|
|
75
|
-
| `reference` | `Knowledge/` |
|
|
76
|
-
| `person` | `People/` |
|
|
77
|
-
| `meeting` | Within relevant project or sprint folder |
|
|
78
|
-
| `investigation` | Within relevant project folder |
|
|
79
|
-
| `decision` | Within relevant project folder |
|
|
49
|
+
For material **fetched from a single public URL** (e.g. web clip), you may add `source_url` and `fetched` (date). Do not use a generic `source` field for cloud documents.
|
|
80
50
|
|
|
81
51
|
## Wikilink Rules
|
|
82
52
|
|
|
@@ -84,20 +54,26 @@ ALWAYS use wikilinks for:
|
|
|
84
54
|
|
|
85
55
|
- People → `[[Person Name]]`
|
|
86
56
|
- Projects → `[[Project Name]]`
|
|
87
|
-
- Domain
|
|
88
|
-
-
|
|
57
|
+
- Domain concepts → `[[Concept Name]]`
|
|
58
|
+
- Related notes → `[[Note Name]]`
|
|
59
|
+
|
|
60
|
+
Rules:
|
|
61
|
+
- Use `[[wikilinks]]` for internal vault connections
|
|
62
|
+
- Use `[text](url)` for external URLs only
|
|
63
|
+
- Use `[[Note Name#Heading]]` for specific section links
|
|
64
|
+
- Use `[[Note Name\|Display Text]]` for custom display text
|
|
89
65
|
|
|
90
66
|
## File Naming
|
|
91
67
|
|
|
92
68
|
- Use Title Case or kebab-case for file names
|
|
93
|
-
- JIRA tickets: use the project key prefix (e.g., `PROJ-1234-Description.md`)
|
|
94
69
|
- No special characters, no leading/trailing spaces
|
|
70
|
+
- Daily notes: `YYYY-MM-DD` format where applicable
|
|
71
|
+
- Agent knowledge pages: one topic per file under `entities/`, `concepts/`, `comparisons/`, or `queries/` (see `AGENTS.md` and `/cook`)
|
|
95
72
|
|
|
96
73
|
## Post-Creation Verification
|
|
97
74
|
|
|
98
75
|
After creating or modifying a note, verify:
|
|
99
76
|
|
|
100
77
|
1. All required frontmatter fields are present and correct
|
|
101
|
-
2.
|
|
102
|
-
3.
|
|
103
|
-
4. Domain terms reference `[[Glossary]]`
|
|
78
|
+
2. People and project mentions use `[[wikilinks]]`
|
|
79
|
+
3. Domain concepts are linked consistently
|
|
@@ -11,21 +11,22 @@ This vault has BYOAO thinking commands available. Suggest them when they match t
|
|
|
11
11
|
|
|
12
12
|
| Command | What it does | Suggest when |
|
|
13
13
|
|---------|-------------|--------------|
|
|
14
|
-
| `/
|
|
14
|
+
| `/cook` | Digest notes and sources into structured knowledge pages under `entities/`, `concepts/`, `comparisons/`, `queries/` | User imports new files, asks to organize raw notes, or wants the vault compiled into LLM Wiki pages |
|
|
15
|
+
| `/health` | Check knowledge-page health (orphans, stale content, contradictions among agent pages) | User wants a big-picture review of compiled knowledge, asks what's broken or outdated, or after heavy `/cook` activity |
|
|
15
16
|
| `/trace topic` | Chronological timeline of how an idea evolved | User asks how something developed, wants history, or says "when did I start..." |
|
|
16
|
-
| `/emerge` | Surface hidden patterns, clusters, contradictions across the vault | User asks "what am I missing", wants a big-picture review, or seems stuck |
|
|
17
17
|
| `/connect A B` | Bridge two topics via the vault's link graph | User wonders if two areas are related, or wants cross-domain insight |
|
|
18
18
|
| `/ideas` | Deep scan to generate actionable ideas from vault content | User asks "what should I work on", wants brainstorming, or needs next steps |
|
|
19
19
|
| `/challenge topic` | Pressure-test a belief against the vault's own history | User is making a decision, says "am I wrong", or wants to validate an assumption |
|
|
20
20
|
| `/drift` | Compare stated intentions vs actual behavior over 30-90 days | User asks about follow-through, wonders where time went, or reviews goals |
|
|
21
21
|
| `/diagnose` | Vault health check — orphans, broken links, frontmatter gaps | User notices broken links, asks "what's wrong with my vault", or after heavy editing |
|
|
22
|
+
|
|
22
23
|
## When to Proactively Suggest
|
|
23
24
|
|
|
24
25
|
- User is **reflecting on a topic** → suggest `/trace` to see how their thinking evolved
|
|
25
|
-
- User is **brainstorming or feels stuck** → suggest `/
|
|
26
|
+
- User is **brainstorming or feels stuck** → suggest `/ideas` or `/health` on compiled knowledge
|
|
26
27
|
- User is **making a decision** → suggest `/challenge` to pressure-test it
|
|
27
28
|
- User is **reviewing goals or progress** → suggest `/drift`
|
|
28
|
-
- User **imported new notes** or mentions disorganization → suggest `/
|
|
29
|
+
- User **imported new notes** or mentions disorganization → suggest `/cook`
|
|
29
30
|
- User asks about **connections between topics** → suggest `/connect`
|
|
30
31
|
- User mentions **broken links or vault messiness** → suggest `/diagnose`
|
|
31
32
|
|
|
@@ -35,6 +36,6 @@ Mention the command naturally in conversation. For example:
|
|
|
35
36
|
|
|
36
37
|
- "You could run `/trace data-mesh` to see how that idea has evolved across your notes."
|
|
37
38
|
- "If you want to pressure-test that assumption, `/challenge` can find counter-evidence in your vault."
|
|
38
|
-
- "After importing those files, `/
|
|
39
|
+
- "After importing those files, `/cook` can distill them into linked knowledge pages under entities and concepts."
|
|
39
40
|
|
|
40
41
|
Do not run these commands automatically — they read many vault files and can take several minutes. Always let the user decide when to invoke them.
|
|
@@ -1,46 +1,29 @@
|
|
|
1
|
-
#
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
{{
|
|
29
|
-
|
|
30
|
-
<!-- byoao:domains:start -->
|
|
31
|
-
## Key Domains
|
|
32
|
-
|
|
33
|
-
(Auto-generated by `/weave` — run it to discover domains across vault notes)
|
|
34
|
-
|
|
35
|
-
<!-- byoao:domains:end -->
|
|
36
|
-
|
|
37
|
-
<!-- byoao:conventions:start -->
|
|
38
|
-
## Conventions
|
|
39
|
-
|
|
40
|
-
- Notes may or may not have frontmatter. Use `/weave` to enrich.
|
|
41
|
-
- Wikilinks are the primary connection mechanism.
|
|
42
|
-
- No strict directory rules — notes live wherever the user places them.
|
|
43
|
-
- Use `/weave` to connect new notes into the graph.
|
|
44
|
-
- Use `/diagnose` to check knowledge graph health.
|
|
45
|
-
|
|
46
|
-
<!-- byoao:conventions:end -->
|
|
1
|
+
# AI Agent Guide
|
|
2
|
+
|
|
3
|
+
## About This Knowledge Base
|
|
4
|
+
This is an LLM Wiki knowledge base. Your notes are raw material — the Agent compiles them into structured knowledge pages via `/cook`. Both coexist in the same vault, connected through wikilinks.
|
|
5
|
+
|
|
6
|
+
## Getting Started
|
|
7
|
+
Run `/wiki` to generate `INDEX.base`, then explore the knowledge structure from there.
|
|
8
|
+
|
|
9
|
+
## Note Types
|
|
10
|
+
User notes: Your existing notes, kept in their original directories (Projects/, Daily/, etc.) — untouched.
|
|
11
|
+
Agent pages: Knowledge pages maintained by the Agent, located in `entities/`, `concepts/`, `comparisons/`, `queries/`.
|
|
12
|
+
|
|
13
|
+
## Operating Rules
|
|
14
|
+
**Use Obsidian CLI for all note operations** (`obsidian read`, `obsidian search`, `obsidian create`, etc.).
|
|
15
|
+
Do not use bash (`cat`, `grep`, `find`, `sed`, etc.) to manipulate note files directly — Obsidian CLI correctly maintains wikilinks, frontmatter, and file relationships.
|
|
16
|
+
|
|
17
|
+
## Available Skills
|
|
18
|
+
- **/cook** — Digest notes and external sources, compile knowledge pages
|
|
19
|
+
- **/health** — Check knowledge page health (orphans, stale content, contradictions)
|
|
20
|
+
- **/prep** — Fix frontmatter and broken wikilinks
|
|
21
|
+
- **/wiki** — Generate INDEX.base knowledge map
|
|
22
|
+
- **/organize** — Reorganize directory structure as needed
|
|
23
|
+
- **/ask** — Open-ended Q&A against the knowledge base
|
|
24
|
+
- **Thinking Tools** — /trace, /connect, /ideas, /challenge, /drift
|
|
25
|
+
- **/diagnose** — Check overall vault health
|
|
26
|
+
|
|
27
|
+
{{#if ROLE_SECTION}}
|
|
28
|
+
## {{ROLE_SECTION}}
|
|
29
|
+
{{/if}}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# SCHEMA.md
|
|
2
|
+
|
|
3
|
+
Knowledge taxonomy and conventions for [[{{KB_NAME}}]].
|
|
4
|
+
|
|
5
|
+
## Knowledge Domains
|
|
6
|
+
|
|
7
|
+
{{#if WIKI_DOMAIN}}
|
|
8
|
+
{{WIKI_DOMAIN}}
|
|
9
|
+
{{else}}
|
|
10
|
+
Not yet defined. The Agent will populate this as it learns the domain.
|
|
11
|
+
{{/if}}
|
|
12
|
+
|
|
13
|
+
## Tag Taxonomy
|
|
14
|
+
|
|
15
|
+
Tags follow these conventions:
|
|
16
|
+
- 2-5 tags per page, alphabetically sorted
|
|
17
|
+
- Tags should be singular (use `#project` not `#projects`)
|
|
18
|
+
- New tags should be added here first before use
|
|
19
|
+
|
|
20
|
+
### Current Tags
|
|
21
|
+
|
|
22
|
+
No tags defined yet. The Agent will propose new tags as knowledge pages are created.
|
|
23
|
+
|
|
24
|
+
## Domain Taxonomy
|
|
25
|
+
|
|
26
|
+
No domains defined yet. The Agent will propose domains as knowledge pages are created.
|
|
27
|
+
|
|
28
|
+
## Agent Page Conventions
|
|
29
|
+
|
|
30
|
+
| Directory | Purpose |
|
|
31
|
+
|-----------|---------|
|
|
32
|
+
| `entities/` | Concrete, named things (people, organizations, products, systems) |
|
|
33
|
+
| `concepts/` | Abstract ideas (methods, rules, decisions, processes) |
|
|
34
|
+
| `comparisons/` | Side-by-side analyses of options |
|
|
35
|
+
| `queries/` | User-question-driven answers worth keeping |
|
|
36
|
+
|
|
37
|
+
## Frontmatter Schema
|
|
38
|
+
|
|
39
|
+
See the /cook skill specification for the complete frontmatter schema. Key required fields:
|
|
40
|
+
|
|
41
|
+
- `title` — concise one-line summary
|
|
42
|
+
- `date` — primary temporal anchor (ISO 8601)
|
|
43
|
+
- `created` — page creation date
|
|
44
|
+
- `updated` — last content change date (bump on every edit)
|
|
45
|
+
- `type` — one of: entity, concept, comparison, query
|
|
46
|
+
- `tags` — 2-5 tags from this taxonomy, alphabetically sorted
|
|
47
|
+
- `sources` — relative paths to contributing notes
|
|
48
|
+
|
|
49
|
+
## Page Thresholds
|
|
50
|
+
|
|
51
|
+
- Create a page when: entity/concept appears in 2+ notes OR is central subject of one note
|
|
52
|
+
- Split a page when: it exceeds ~200 lines
|
|
53
|
+
- Do NOT create pages for: passing mentions, minor details, out-of-domain topics
|
|
54
|
+
|
|
55
|
+
## Custom Fields
|
|
56
|
+
|
|
57
|
+
No custom fields defined yet. The Agent documents new fields here when first used.
|
|
@@ -7,8 +7,8 @@ tags: [onboarding]
|
|
|
7
7
|
|
|
8
8
|
# Welcome to {{KB_NAME}}
|
|
9
9
|
|
|
10
|
-
Your
|
|
11
|
-
|
|
10
|
+
Your LLM-powered knowledge base. Write notes freely, and let AI
|
|
11
|
+
compile them into structured, cross-referenced knowledge pages.
|
|
12
12
|
|
|
13
13
|
## Choose Your Path
|
|
14
14
|
|
|
@@ -25,58 +25,43 @@ you decide what belongs in your local knowledge base.
|
|
|
25
25
|
and drop them into this vault folder.
|
|
26
26
|
2. **Obsidian Web Clipper** — Install the browser extension to save
|
|
27
27
|
any web page directly into your vault as a clean markdown note.
|
|
28
|
-
3. **Write summaries** —
|
|
29
|
-
note that captures the key insights and link back to the source:
|
|
28
|
+
3. **Write summaries** — Create a local note that captures key insights.
|
|
30
29
|
|
|
31
|
-
|
|
32
|
-
---
|
|
33
|
-
title: "Migration Plan Q2"
|
|
34
|
-
source: "https://confluence.example.com/pages/12345"
|
|
35
|
-
---
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
> The `source` property keeps the connection between your local note
|
|
39
|
-
> and the cloud original. Add it whenever a note originates from an
|
|
40
|
-
> external document.
|
|
41
|
-
|
|
42
|
-
**Once you have a few notes → run `/weave`** (see below).
|
|
30
|
+
**Once you have a few notes → run `/cook`** (see below).
|
|
43
31
|
|
|
44
32
|
### Path B: I already have local notes
|
|
45
33
|
|
|
46
|
-
If you have existing markdown files
|
|
34
|
+
If you have existing markdown files:
|
|
47
35
|
|
|
48
36
|
1. **Drop them in** — Copy or move your files into this vault folder.
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
wikilinks, or any particular organization yet.
|
|
37
|
+
2. **Don't worry about structure** — Your files don't need frontmatter
|
|
38
|
+
or any particular organization yet.
|
|
52
39
|
|
|
53
|
-
**Run `/
|
|
54
|
-
|
|
55
|
-
and build your [[Glossary]] from frequently mentioned concepts.
|
|
40
|
+
**Run `/cook` now** — it will scan your notes, identify entities and
|
|
41
|
+
concepts, and compile them into structured knowledge pages.
|
|
56
42
|
|
|
57
43
|
### Path C: Starting fresh
|
|
58
44
|
|
|
59
45
|
No existing notes? No problem.
|
|
60
46
|
|
|
61
47
|
1. Press `Cmd+T` (Mac) or `Ctrl+T` (Windows) → choose "Daily Note".
|
|
62
|
-
2. Write what's on your mind today.
|
|
63
|
-
3. After a few notes, run `/
|
|
48
|
+
2. Write what's on your mind today.
|
|
49
|
+
3. After a few notes, run `/cook` to compile them.
|
|
64
50
|
|
|
65
51
|
---
|
|
66
52
|
|
|
67
|
-
## /
|
|
68
|
-
|
|
69
|
-
Open your AI agent and type `/weave`. It will:
|
|
53
|
+
## /cook — Where the Magic Happens
|
|
70
54
|
|
|
71
|
-
|
|
72
|
-
- **Create wikilinks** — connect related notes automatically
|
|
73
|
-
- **Build your Glossary** — extract key terms and concepts
|
|
74
|
-
- **Suggest organization** — propose directory structure (with your approval)
|
|
55
|
+
Open your AI agent and type `/cook`. It will:
|
|
75
56
|
|
|
76
|
-
|
|
57
|
+
- **Read your notes** — from anywhere in the vault
|
|
58
|
+
- **Identify entities** — people, organizations, products, systems
|
|
59
|
+
- **Identify concepts** — methods, rules, decisions, processes
|
|
60
|
+
- **Create/update pages** — in `entities/`, `concepts/`, `comparisons/`, `queries/`
|
|
61
|
+
- **Flag contradictions** — when notes disagree
|
|
62
|
+
- **Report in plain language** — what changed, what needs your attention
|
|
77
63
|
|
|
78
|
-
After
|
|
79
|
-
knowledge visualized. Every node is a note, every line is a connection.
|
|
64
|
+
After cooking, press `Cmd+G` to open Graph View and see the connections.
|
|
80
65
|
|
|
81
66
|
---
|
|
82
67
|
|
|
@@ -97,15 +82,17 @@ knowledge visualized. Every node is a note, every line is a connection.
|
|
|
97
82
|
|
|
98
83
|
| Command | What it does |
|
|
99
84
|
|---------|-------------|
|
|
100
|
-
| `/
|
|
101
|
-
| `/
|
|
85
|
+
| `/cook` | Compile notes into structured knowledge pages |
|
|
86
|
+
| `/health` | Check knowledge page health |
|
|
87
|
+
| `/wiki` | Generate INDEX.base knowledge map |
|
|
88
|
+
| `/organize` | Reorganize vault directories |
|
|
89
|
+
| `/ask` | Open-ended Q&A against your knowledge |
|
|
102
90
|
| `/trace` | Track how an idea evolved over time |
|
|
103
|
-
| `/emerge` | Discover patterns you haven't noticed |
|
|
104
91
|
| `/connect` | Bridge two seemingly unrelated topics |
|
|
105
92
|
| `/ideas` | Generate actionable ideas from your vault |
|
|
106
93
|
| `/challenge` | Pressure-test a belief against your own notes |
|
|
107
94
|
| `/drift` | Compare intentions vs actions over time |
|
|
108
|
-
| `/diagnose` | Check
|
|
95
|
+
| `/diagnose` | Check overall vault health |
|
|
109
96
|
|
|
110
97
|
{{#if HAS_MCP_SERVICES}}
|
|
111
98
|
|
|
@@ -122,11 +109,13 @@ These services authenticate via your browser. If a connection expires,
|
|
|
122
109
|
tell the agent: "reconnect to {service name}".
|
|
123
110
|
|
|
124
111
|
{{/if}}
|
|
112
|
+
|
|
125
113
|
---
|
|
126
114
|
|
|
127
115
|
## Key Files
|
|
128
116
|
|
|
129
|
-
- **[[
|
|
117
|
+
- **[[SCHEMA]]** — Tag taxonomy and knowledge conventions
|
|
118
|
+
- **[[log]]** — Agent activity log
|
|
130
119
|
- **AGENTS.md** — How AI agents navigate this vault
|
|
131
120
|
|
|
132
121
|
---
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "minimal",
|
|
3
|
-
"displayName": "
|
|
4
|
-
"description": "
|
|
3
|
+
"displayName": "Minimal",
|
|
4
|
+
"description": "Core LLM Wiki with no extra MCP servers or role-specific directories",
|
|
5
5
|
"directories": [],
|
|
6
|
-
"agentDescription": "
|
|
6
|
+
"agentDescription": "LLM Wiki knowledge base. Use /cook to digest notes and external sources. Use /health to health-check.",
|
|
7
7
|
"frontmatterExtras": {},
|
|
8
8
|
"templates": [],
|
|
9
9
|
"mcpServers": {},
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pm-tpm",
|
|
3
3
|
"displayName": "PM / TPM",
|
|
4
|
-
"description": "
|
|
4
|
+
"description": "Adds Atlassian + BigQuery MCP servers, project directories, and PM templates on top of the core LLM Wiki",
|
|
5
5
|
"directories": ["Projects", "Sprints"],
|
|
6
|
-
"agentDescription": "PM/TPM
|
|
6
|
+
"agentDescription": "LLM Wiki knowledge base with PM/TPM tooling. Use /cook to digest notes and external sources. Use /health to health-check. Atlassian and BigQuery are connected.",
|
|
7
7
|
"frontmatterExtras": {
|
|
8
8
|
"project": ["jira", "stakeholders", "priority"],
|
|
9
9
|
"sprint": ["sprint-dates", "jira-board"]
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ask
|
|
3
|
+
description: >
|
|
4
|
+
Open-ended Q&A against the knowledge base. Agent reads INDEX.base for page discovery and
|
|
5
|
+
SCHEMA.md for tag taxonomy, navigates entities/, concepts/, comparisons/, and queries/,
|
|
6
|
+
synthesizes answers with citations. Use when the user asks questions about vault content like
|
|
7
|
+
"what is X", "why did we decide", "explain Y", or wants to query their accumulated knowledge.
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# /ask — Knowledge Q&A
|
|
11
|
+
|
|
12
|
+
You are a knowledge assistant. Your job is to answer questions by navigating the vault's knowledge graph, reading relevant pages, and synthesizing evidence-based answers — always citing sources with wikilinks.
|
|
13
|
+
|
|
14
|
+
## Prerequisites Check
|
|
15
|
+
|
|
16
|
+
**Before doing anything else**, verify Obsidian CLI is available:
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
obsidian --version
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
If this fails, STOP and display the Obsidian CLI availability message (see /prep).
|
|
23
|
+
|
|
24
|
+
## Parameters
|
|
25
|
+
|
|
26
|
+
- **question** (required): The question to answer.
|
|
27
|
+
- **output** (optional): Save the answer as a note at this path.
|
|
28
|
+
|
|
29
|
+
## Process
|
|
30
|
+
|
|
31
|
+
### Step 1: Understand the Question
|
|
32
|
+
|
|
33
|
+
Identify the key concepts, entities, and intent in the user's question.
|
|
34
|
+
|
|
35
|
+
### Step 2: Locate Relevant Pages
|
|
36
|
+
|
|
37
|
+
If `INDEX.base` exists, read it first for page discovery and the compiled knowledge map:
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
obsidian read file="INDEX.base"
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
Read `SCHEMA.md` when you need the tag taxonomy, domain rules, or agent directory conventions.
|
|
44
|
+
|
|
45
|
+
Then search for relevant pages:
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
obsidian search "<key concept>"
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
Search for each key concept mentioned in the question. Combine results across concepts.
|
|
52
|
+
|
|
53
|
+
### Step 3: Read Relevant Pages
|
|
54
|
+
|
|
55
|
+
For each promising result, read the full content:
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
obsidian read file="entities/some-page.md"
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
Prioritize:
|
|
62
|
+
- Agent pages in `entities/`, `concepts/`, `comparisons/`, `queries/`
|
|
63
|
+
- Pages with matching tags or domain
|
|
64
|
+
- Pages with `status: reviewed` (over `draft`)
|
|
65
|
+
- Recent pages (higher `updated` date)
|
|
66
|
+
|
|
67
|
+
Also read user source notes when the question requires original context.
|
|
68
|
+
|
|
69
|
+
### Step 4: Synthesize Answer
|
|
70
|
+
|
|
71
|
+
Combine evidence from all relevant pages into a clear, structured answer:
|
|
72
|
+
|
|
73
|
+
- **Direct answer first** — address the question directly
|
|
74
|
+
- **Supporting evidence** — cite specific pages with wikilinks and brief quotes
|
|
75
|
+
- **Context** — explain how the evidence connects
|
|
76
|
+
- **Uncertainties** — flag gaps where the vault doesn't have enough information
|
|
77
|
+
|
|
78
|
+
Every claim must be backed by at least one vault note. Do not use general knowledge to answer — ground everything in the vault.
|
|
79
|
+
|
|
80
|
+
### Step 5: Present Answer
|
|
81
|
+
|
|
82
|
+
```markdown
|
|
83
|
+
## Answer
|
|
84
|
+
|
|
85
|
+
<Direct answer to the question>
|
|
86
|
+
|
|
87
|
+
## Evidence
|
|
88
|
+
|
|
89
|
+
- **[[Page A]]**: "<relevant quote>"
|
|
90
|
+
- **[[Page B]]**: "<relevant quote>"
|
|
91
|
+
- **[[Page C]]**: "<relevant quote>"
|
|
92
|
+
|
|
93
|
+
## Context
|
|
94
|
+
|
|
95
|
+
<Brief paragraph connecting the evidence and explaining the bigger picture>
|
|
96
|
+
|
|
97
|
+
## Gaps
|
|
98
|
+
|
|
99
|
+
<What the vault doesn't cover that would help answer more completely>
|
|
100
|
+
|
|
101
|
+
## Related Questions
|
|
102
|
+
|
|
103
|
+
- Consider exploring: "..."
|
|
104
|
+
- Run `/trace topic="X"` to see how this evolved
|
|
105
|
+
- Run `/connect from="A" to="B"` to understand the relationship
|
|
106
|
+
- If the vault lacks pages for key entities or concepts, run `/cook` to compile knowledge from source notes
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### Step 6: Save (Optional)
|
|
110
|
+
|
|
111
|
+
At the end of your answer, ask:
|
|
112
|
+
|
|
113
|
+
> "Would you like me to save this as a note?"
|
|
114
|
+
|
|
115
|
+
If the user confirms, save the answer with frontmatter:
|
|
116
|
+
|
|
117
|
+
```yaml
|
|
118
|
+
---
|
|
119
|
+
title: "Answer: <topic>"
|
|
120
|
+
date: <today>
|
|
121
|
+
tags: [qa, <topic>]
|
|
122
|
+
---
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
Use `obsidian create` to save. Ask the user where they'd like it saved.
|
|
126
|
+
|
|
127
|
+
## Key Principles
|
|
128
|
+
|
|
129
|
+
- **Evidence-based**: Every answer must cite vault notes. No general knowledge answers.
|
|
130
|
+
- **Direct first**: Answer the question before providing supporting detail.
|
|
131
|
+
- **Acknowledge gaps**: If the vault doesn't have enough information, say so.
|
|
132
|
+
- **Respect scope**: Only answer based on vault content, not external knowledge.
|
|
133
|
+
- **Save on request**: Always offer to save the answer as a note for future reference.
|