@jayjiang/byoao 1.1.2 → 2.0.1
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/{src/skills/ask.md → dist/assets/skills/ask/SKILL.md} +30 -27
- package/dist/assets/skills/ask.md +28 -27
- package/dist/assets/skills/challenge/SKILL.md +134 -0
- package/dist/assets/skills/challenge.md +79 -121
- package/dist/assets/skills/connect/SKILL.md +126 -0
- package/dist/assets/skills/connect.md +75 -163
- package/dist/assets/skills/cook/SKILL.md +170 -0
- package/dist/assets/skills/cook.md +167 -0
- package/dist/assets/skills/diagnose/SKILL.md +134 -0
- package/dist/assets/skills/diagnose.md +102 -43
- package/dist/assets/skills/drift/SKILL.md +123 -0
- package/dist/assets/skills/drift.md +64 -165
- package/dist/assets/skills/health/SKILL.md +65 -0
- package/dist/assets/skills/health.md +63 -0
- package/{src/skills/ideas.md → dist/assets/skills/ideas/SKILL.md} +11 -10
- package/dist/assets/skills/ideas.md +11 -10
- package/dist/assets/skills/organize/SKILL.md +109 -0
- package/dist/assets/skills/organize.md +56 -155
- package/dist/assets/skills/prep/SKILL.md +65 -0
- package/dist/assets/skills/prep.md +63 -0
- package/dist/assets/skills/trace/SKILL.md +143 -0
- package/dist/assets/skills/trace.md +75 -90
- package/dist/assets/skills/wiki/SKILL.md +127 -0
- package/dist/assets/skills/wiki.md +77 -178
- package/dist/cli/cli-program.js +18 -15
- package/dist/cli/cli-program.js.map +1 -1
- package/dist/cli/installer.js +54 -29
- 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 +455 -636
- 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 +12 -0
- 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/create.js +86 -196
- 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 +2 -2
- package/dist/vault/manifest.js.map +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 -0
- package/dist/vault/status.js.map +1 -1
- package/dist/vault/upgrade.js +165 -23
- package/dist/vault/upgrade.js.map +1 -1
- package/package.json +1 -1
- package/src/assets/obsidian-skills/byoao-conventions.md +9 -6
- package/src/assets/obsidian-skills/vault-thinking.md +6 -5
- package/src/assets/presets/common/AGENTS.md.hbs +23 -19
- 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/SKILL.md +135 -0
- package/src/skills/challenge/SKILL.md +134 -0
- package/src/skills/connect/SKILL.md +126 -0
- package/src/skills/cook/SKILL.md +170 -0
- package/src/skills/diagnose/SKILL.md +134 -0
- package/src/skills/drift/SKILL.md +123 -0
- package/src/skills/health/SKILL.md +65 -0
- package/src/skills/ideas/SKILL.md +173 -0
- package/src/skills/organize/SKILL.md +109 -0
- package/src/skills/prep/SKILL.md +65 -0
- package/src/skills/trace/SKILL.md +143 -0
- package/src/skills/wiki/SKILL.md +127 -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/assets/skills/emerge.md +0 -168
- package/dist/assets/skills/weave.md +0 -287
- 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/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/challenge.md +0 -174
- package/src/skills/connect.md +0 -213
- package/src/skills/diagnose.md +0 -72
- package/src/skills/drift.md +0 -223
- package/src/skills/emerge.md +0 -168
- package/src/skills/organize.md +0 -206
- package/src/skills/trace.md +0 -156
- package/src/skills/weave.md +0 -287
- package/src/skills/wiki.md +0 -227
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ask
|
|
3
|
-
description:
|
|
3
|
+
description: >
|
|
4
|
+
Open-ended Q&A against the knowledge base. Agent reads INDEX.base for page discovery
|
|
5
|
+
and 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
|
|
7
|
+
like "what is X", "why did we decide Y", "explain Z", "what do my notes say about",
|
|
8
|
+
"summarize what I know about", or any question that should be answered from accumulated
|
|
9
|
+
knowledge rather than general training data.
|
|
4
10
|
---
|
|
5
11
|
|
|
6
12
|
# /ask — Knowledge Q&A
|
|
7
13
|
|
|
8
|
-
You are a knowledge assistant. Your job is to answer questions by navigating the vault's knowledge graph, reading relevant
|
|
14
|
+
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.
|
|
9
15
|
|
|
10
16
|
## Prerequisites Check
|
|
11
17
|
|
|
@@ -15,7 +21,7 @@ You are a knowledge assistant. Your job is to answer questions by navigating the
|
|
|
15
21
|
obsidian --version
|
|
16
22
|
```
|
|
17
23
|
|
|
18
|
-
If this fails, STOP and display the Obsidian CLI availability message (see /
|
|
24
|
+
If this fails, STOP and display the Obsidian CLI availability message (see /prep).
|
|
19
25
|
|
|
20
26
|
## Parameters
|
|
21
27
|
|
|
@@ -28,15 +34,17 @@ If this fails, STOP and display the Obsidian CLI availability message (see /weav
|
|
|
28
34
|
|
|
29
35
|
Identify the key concepts, entities, and intent in the user's question.
|
|
30
36
|
|
|
31
|
-
### Step 2: Locate Relevant
|
|
37
|
+
### Step 2: Locate Relevant Pages
|
|
32
38
|
|
|
33
|
-
If `INDEX.base` exists, read it first
|
|
39
|
+
If `INDEX.base` exists, read it first for page discovery and the compiled knowledge map:
|
|
34
40
|
|
|
35
41
|
```bash
|
|
36
|
-
obsidian read "INDEX"
|
|
42
|
+
obsidian read file="INDEX.base"
|
|
37
43
|
```
|
|
38
44
|
|
|
39
|
-
|
|
45
|
+
Read `SCHEMA.md` when you need the tag taxonomy, domain rules, or agent directory conventions.
|
|
46
|
+
|
|
47
|
+
Then search for relevant pages:
|
|
40
48
|
|
|
41
49
|
```bash
|
|
42
50
|
obsidian search "<key concept>"
|
|
@@ -44,25 +52,28 @@ obsidian search "<key concept>"
|
|
|
44
52
|
|
|
45
53
|
Search for each key concept mentioned in the question. Combine results across concepts.
|
|
46
54
|
|
|
47
|
-
### Step 3: Read Relevant
|
|
55
|
+
### Step 3: Read Relevant Pages
|
|
48
56
|
|
|
49
57
|
For each promising result, read the full content:
|
|
50
58
|
|
|
51
59
|
```bash
|
|
52
|
-
obsidian read "
|
|
60
|
+
obsidian read file="entities/some-page.md"
|
|
53
61
|
```
|
|
54
62
|
|
|
55
63
|
Prioritize:
|
|
56
|
-
-
|
|
57
|
-
-
|
|
58
|
-
-
|
|
64
|
+
- Agent pages in `entities/`, `concepts/`, `comparisons/`, `queries/`
|
|
65
|
+
- Pages with matching tags or domain
|
|
66
|
+
- Pages with `status: reviewed` (over `draft`)
|
|
67
|
+
- Recent pages (higher `updated` date)
|
|
68
|
+
|
|
69
|
+
Also read user source notes when the question requires original context.
|
|
59
70
|
|
|
60
71
|
### Step 4: Synthesize Answer
|
|
61
72
|
|
|
62
|
-
Combine evidence from all relevant
|
|
73
|
+
Combine evidence from all relevant pages into a clear, structured answer:
|
|
63
74
|
|
|
64
75
|
- **Direct answer first** — address the question directly
|
|
65
|
-
- **Supporting evidence** — cite specific
|
|
76
|
+
- **Supporting evidence** — cite specific pages with wikilinks and brief quotes
|
|
66
77
|
- **Context** — explain how the evidence connects
|
|
67
78
|
- **Uncertainties** — flag gaps where the vault doesn't have enough information
|
|
68
79
|
|
|
@@ -77,9 +88,9 @@ Every claim must be backed by at least one vault note. Do not use general knowle
|
|
|
77
88
|
|
|
78
89
|
## Evidence
|
|
79
90
|
|
|
80
|
-
- **[[
|
|
81
|
-
- **[[
|
|
82
|
-
- **[[
|
|
91
|
+
- **[[Page A]]**: "<relevant quote>"
|
|
92
|
+
- **[[Page B]]**: "<relevant quote>"
|
|
93
|
+
- **[[Page C]]**: "<relevant quote>"
|
|
83
94
|
|
|
84
95
|
## Context
|
|
85
96
|
|
|
@@ -94,6 +105,7 @@ Every claim must be backed by at least one vault note. Do not use general knowle
|
|
|
94
105
|
- Consider exploring: "..."
|
|
95
106
|
- Run `/trace topic="X"` to see how this evolved
|
|
96
107
|
- Run `/connect from="A" to="B"` to understand the relationship
|
|
108
|
+
- If the vault lacks pages for key entities or concepts, run `/cook` to compile knowledge from source notes
|
|
97
109
|
```
|
|
98
110
|
|
|
99
111
|
### Step 6: Save (Optional)
|
|
@@ -107,21 +119,12 @@ If the user confirms, save the answer with frontmatter:
|
|
|
107
119
|
```yaml
|
|
108
120
|
---
|
|
109
121
|
title: "Answer: <topic>"
|
|
110
|
-
note_type: literature
|
|
111
|
-
type: reference
|
|
112
|
-
domain: <inferred>
|
|
113
122
|
date: <today>
|
|
114
123
|
tags: [qa, <topic>]
|
|
115
124
|
---
|
|
116
125
|
```
|
|
117
126
|
|
|
118
|
-
Use `obsidian create` to save
|
|
119
|
-
|
|
120
|
-
```bash
|
|
121
|
-
obsidian create name="Answer: <topic>" content="<frontmatter + content>" silent
|
|
122
|
-
```
|
|
123
|
-
|
|
124
|
-
Ask the user where they'd like it saved (root or a specific directory).
|
|
127
|
+
Use `obsidian create` to save. Ask the user where they'd like it saved.
|
|
125
128
|
|
|
126
129
|
## Key Principles
|
|
127
130
|
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ask
|
|
3
|
-
description:
|
|
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.
|
|
4
8
|
---
|
|
5
9
|
|
|
6
10
|
# /ask — Knowledge Q&A
|
|
7
11
|
|
|
8
|
-
You are a knowledge assistant. Your job is to answer questions by navigating the vault's knowledge graph, reading relevant
|
|
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.
|
|
9
13
|
|
|
10
14
|
## Prerequisites Check
|
|
11
15
|
|
|
@@ -15,7 +19,7 @@ You are a knowledge assistant. Your job is to answer questions by navigating the
|
|
|
15
19
|
obsidian --version
|
|
16
20
|
```
|
|
17
21
|
|
|
18
|
-
If this fails, STOP and display the Obsidian CLI availability message (see /
|
|
22
|
+
If this fails, STOP and display the Obsidian CLI availability message (see /prep).
|
|
19
23
|
|
|
20
24
|
## Parameters
|
|
21
25
|
|
|
@@ -28,15 +32,17 @@ If this fails, STOP and display the Obsidian CLI availability message (see /weav
|
|
|
28
32
|
|
|
29
33
|
Identify the key concepts, entities, and intent in the user's question.
|
|
30
34
|
|
|
31
|
-
### Step 2: Locate Relevant
|
|
35
|
+
### Step 2: Locate Relevant Pages
|
|
32
36
|
|
|
33
|
-
If `INDEX.base` exists, read it first
|
|
37
|
+
If `INDEX.base` exists, read it first for page discovery and the compiled knowledge map:
|
|
34
38
|
|
|
35
39
|
```bash
|
|
36
|
-
obsidian read "INDEX"
|
|
40
|
+
obsidian read file="INDEX.base"
|
|
37
41
|
```
|
|
38
42
|
|
|
39
|
-
|
|
43
|
+
Read `SCHEMA.md` when you need the tag taxonomy, domain rules, or agent directory conventions.
|
|
44
|
+
|
|
45
|
+
Then search for relevant pages:
|
|
40
46
|
|
|
41
47
|
```bash
|
|
42
48
|
obsidian search "<key concept>"
|
|
@@ -44,25 +50,28 @@ obsidian search "<key concept>"
|
|
|
44
50
|
|
|
45
51
|
Search for each key concept mentioned in the question. Combine results across concepts.
|
|
46
52
|
|
|
47
|
-
### Step 3: Read Relevant
|
|
53
|
+
### Step 3: Read Relevant Pages
|
|
48
54
|
|
|
49
55
|
For each promising result, read the full content:
|
|
50
56
|
|
|
51
57
|
```bash
|
|
52
|
-
obsidian read "
|
|
58
|
+
obsidian read file="entities/some-page.md"
|
|
53
59
|
```
|
|
54
60
|
|
|
55
61
|
Prioritize:
|
|
56
|
-
-
|
|
57
|
-
-
|
|
58
|
-
-
|
|
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.
|
|
59
68
|
|
|
60
69
|
### Step 4: Synthesize Answer
|
|
61
70
|
|
|
62
|
-
Combine evidence from all relevant
|
|
71
|
+
Combine evidence from all relevant pages into a clear, structured answer:
|
|
63
72
|
|
|
64
73
|
- **Direct answer first** — address the question directly
|
|
65
|
-
- **Supporting evidence** — cite specific
|
|
74
|
+
- **Supporting evidence** — cite specific pages with wikilinks and brief quotes
|
|
66
75
|
- **Context** — explain how the evidence connects
|
|
67
76
|
- **Uncertainties** — flag gaps where the vault doesn't have enough information
|
|
68
77
|
|
|
@@ -77,9 +86,9 @@ Every claim must be backed by at least one vault note. Do not use general knowle
|
|
|
77
86
|
|
|
78
87
|
## Evidence
|
|
79
88
|
|
|
80
|
-
- **[[
|
|
81
|
-
- **[[
|
|
82
|
-
- **[[
|
|
89
|
+
- **[[Page A]]**: "<relevant quote>"
|
|
90
|
+
- **[[Page B]]**: "<relevant quote>"
|
|
91
|
+
- **[[Page C]]**: "<relevant quote>"
|
|
83
92
|
|
|
84
93
|
## Context
|
|
85
94
|
|
|
@@ -94,6 +103,7 @@ Every claim must be backed by at least one vault note. Do not use general knowle
|
|
|
94
103
|
- Consider exploring: "..."
|
|
95
104
|
- Run `/trace topic="X"` to see how this evolved
|
|
96
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
|
|
97
107
|
```
|
|
98
108
|
|
|
99
109
|
### Step 6: Save (Optional)
|
|
@@ -107,21 +117,12 @@ If the user confirms, save the answer with frontmatter:
|
|
|
107
117
|
```yaml
|
|
108
118
|
---
|
|
109
119
|
title: "Answer: <topic>"
|
|
110
|
-
note_type: literature
|
|
111
|
-
type: reference
|
|
112
|
-
domain: <inferred>
|
|
113
120
|
date: <today>
|
|
114
121
|
tags: [qa, <topic>]
|
|
115
122
|
---
|
|
116
123
|
```
|
|
117
124
|
|
|
118
|
-
Use `obsidian create` to save
|
|
119
|
-
|
|
120
|
-
```bash
|
|
121
|
-
obsidian create name="Answer: <topic>" content="<frontmatter + content>" silent
|
|
122
|
-
```
|
|
123
|
-
|
|
124
|
-
Ask the user where they'd like it saved (root or a specific directory).
|
|
125
|
+
Use `obsidian create` to save. Ask the user where they'd like it saved.
|
|
125
126
|
|
|
126
127
|
## Key Principles
|
|
127
128
|
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: challenge
|
|
3
|
+
description: >
|
|
4
|
+
Pressure-tests beliefs against vault evidence. Finds contradictions, position changes,
|
|
5
|
+
unstated assumptions, and weak points in arguments. Use when the user wants to question
|
|
6
|
+
a decision, test a hypothesis, find flaws in reasoning, play devil's advocate, or says
|
|
7
|
+
anything like "challenge this", "what's wrong with my thinking", "poke holes in this",
|
|
8
|
+
"are there contradictions", or "stress test this idea".
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# /challenge — Pressure Test
|
|
12
|
+
|
|
13
|
+
You are a respectful adversary. Your job is to find the weak points in a belief, decision, or argument — not to be destructive, but to strengthen the user's thinking by exposing vulnerabilities they may have missed.
|
|
14
|
+
|
|
15
|
+
## Prerequisites Check
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
obsidian --version
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
If this fails, STOP and display the Obsidian CLI availability message (see /prep).
|
|
22
|
+
|
|
23
|
+
## Parameters
|
|
24
|
+
|
|
25
|
+
- **claim** (required): The belief, decision, or argument to challenge.
|
|
26
|
+
- **scope** (optional): `all` (full vault) or a specific directory/page. Default: `all`.
|
|
27
|
+
|
|
28
|
+
## Process
|
|
29
|
+
|
|
30
|
+
### Step 1: Understand the Claim
|
|
31
|
+
|
|
32
|
+
Clarify what exactly is being challenged:
|
|
33
|
+
- What is the core assertion?
|
|
34
|
+
- What assumptions does it rest on?
|
|
35
|
+
- What would falsify it?
|
|
36
|
+
|
|
37
|
+
If the claim is ambiguous, ask the user to clarify before proceeding.
|
|
38
|
+
|
|
39
|
+
### Step 2: Find Supporting Evidence
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
obsidian search "<key terms from claim>"
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
Read relevant notes and agent pages. Identify:
|
|
46
|
+
- Notes that explicitly support the claim
|
|
47
|
+
- Notes that provide indirect support (data, observations)
|
|
48
|
+
- The strength of each piece of evidence
|
|
49
|
+
|
|
50
|
+
### Step 3: Find Contradicting Evidence
|
|
51
|
+
|
|
52
|
+
This is the core of /challenge. Search for:
|
|
53
|
+
|
|
54
|
+
1. **Direct contradictions** — Notes that explicitly state the opposite
|
|
55
|
+
```bash
|
|
56
|
+
obsidian search "not <term>" OR "instead of <term>" OR "changed from <term>"
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
2. **Implicit contradictions** — Notes that describe a situation incompatible with the claim
|
|
60
|
+
- Read pages with shared tags but different conclusions
|
|
61
|
+
- On related `entities/` and `concepts/` pages, check optional `contradictions` frontmatter (v2: YAML list of other agent page names documenting conflicting claims — see `/cook` Contradiction Handling)
|
|
62
|
+
|
|
63
|
+
3. **Position changes over time** — Notes that show the user changed their mind
|
|
64
|
+
```bash
|
|
65
|
+
obsidian search "actually" OR "turns out" OR "reconsidered" OR "reversed"
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
4. **Weasel words** — Notes that express uncertainty about aspects the claim treats as certain
|
|
69
|
+
- "might", "probably", "not sure", "need to verify"
|
|
70
|
+
- These indicate the claim is stronger than the evidence supports
|
|
71
|
+
|
|
72
|
+
### Step 4: Identify Unstated Assumptions
|
|
73
|
+
|
|
74
|
+
For the claim to be true, what else must be true?
|
|
75
|
+
|
|
76
|
+
- Technical assumptions (about systems, tools, constraints)
|
|
77
|
+
- People assumptions (about availability, skills, priorities)
|
|
78
|
+
- Temporal assumptions (about deadlines, sequencing, stability)
|
|
79
|
+
- External assumptions (about market, users, dependencies)
|
|
80
|
+
|
|
81
|
+
Check if the vault evidence supports each assumption.
|
|
82
|
+
|
|
83
|
+
### Step 5: Assess Evidence Strength
|
|
84
|
+
|
|
85
|
+
Rate the overall case:
|
|
86
|
+
|
|
87
|
+
| Strength | Meaning |
|
|
88
|
+
|----------|---------|
|
|
89
|
+
| Strong | Multiple independent sources agree, no contradictions |
|
|
90
|
+
| Moderate | Some support, minor gaps or contradictions |
|
|
91
|
+
| Weak | Limited evidence, significant contradictions or gaps |
|
|
92
|
+
| Unknown | Vault doesn't have enough information |
|
|
93
|
+
|
|
94
|
+
### Step 6: Present the Challenge
|
|
95
|
+
|
|
96
|
+
```markdown
|
|
97
|
+
# Challenge: "{claim}"
|
|
98
|
+
|
|
99
|
+
## The Claim
|
|
100
|
+
{Restate the claim clearly}
|
|
101
|
+
|
|
102
|
+
## What Rests On This
|
|
103
|
+
{What assumptions does the claim depend on?}
|
|
104
|
+
- {Assumption 1} — {supported / unsupported / contradicted}
|
|
105
|
+
- {Assumption 2} — {supported / unsupported / contradicted}
|
|
106
|
+
|
|
107
|
+
## Supporting Evidence
|
|
108
|
+
- [[Note A]]: "{quote}"
|
|
109
|
+
- [[Note B]]: "{quote}"
|
|
110
|
+
|
|
111
|
+
## Challenging Evidence
|
|
112
|
+
- ⚠ [[Note C]]: "{quote that contradicts or weakens the claim}"
|
|
113
|
+
- ⚠ [[Note D]]: "{quote showing uncertainty or alternative view}"
|
|
114
|
+
|
|
115
|
+
## Position Changes Over Time
|
|
116
|
+
- {date}: [[Note E]] said X
|
|
117
|
+
- {date}: [[Note F]] said Y (contradicts X)
|
|
118
|
+
|
|
119
|
+
## Weak Points
|
|
120
|
+
1. **{Weak point}**: {why it's weak, which note shows it}
|
|
121
|
+
2. **{Weak point}**: {why it's weak, which note shows it}
|
|
122
|
+
|
|
123
|
+
## Overall Assessment
|
|
124
|
+
**Evidence strength**: {Strong / Moderate / Weak / Unknown}
|
|
125
|
+
|
|
126
|
+
{2-3 sentence summary: what the vault evidence suggests about this claim, what's uncertain, and what would strengthen or weaken the case further}
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
## Key Principles
|
|
130
|
+
|
|
131
|
+
- **Respectful opposition.** The goal is to strengthen thinking, not to tear it down. Frame challenges as "here's what to consider" not "you're wrong."
|
|
132
|
+
- **Evidence only.** Every challenge must cite specific vault notes. Don't invent external counterarguments.
|
|
133
|
+
- **Surface uncertainty.** If the vault shows doubt or hesitation about aspects the claim treats as certain, highlight this gap.
|
|
134
|
+
- **Obsidian is first workbench.** All note operations go through Obsidian CLI.
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: challenge
|
|
3
|
-
description:
|
|
3
|
+
description: >
|
|
4
|
+
Pressure-tests beliefs against vault evidence. Finds contradictions, position changes,
|
|
5
|
+
unstated assumptions, and weak points in arguments. Use when the user wants to question
|
|
6
|
+
a decision, test a hypothesis, or find flaws in their reasoning.
|
|
4
7
|
---
|
|
5
8
|
|
|
6
|
-
# /challenge — Pressure
|
|
9
|
+
# /challenge — Pressure Test
|
|
7
10
|
|
|
8
|
-
You are a
|
|
11
|
+
You are a respectful adversary. Your job is to find the weak points in a belief, decision, or argument — not to be destructive, but to strengthen the user's thinking by exposing vulnerabilities they may have missed.
|
|
9
12
|
|
|
10
13
|
## Prerequisites Check
|
|
11
14
|
|
|
@@ -13,162 +16,117 @@ You are a constructive critic. Your job is to take a belief, assumption, or deci
|
|
|
13
16
|
obsidian --version
|
|
14
17
|
```
|
|
15
18
|
|
|
16
|
-
If this fails, STOP and display the Obsidian CLI availability message (see /
|
|
17
|
-
|
|
18
|
-
## Tool Selection
|
|
19
|
-
|
|
20
|
-
Use `obsidian` CLI for content operations (read, search, backlinks, properties, tags). Use BYOAO tools (`byoao_search_vault`, `byoao_graph_health`) when Obsidian CLI is unavailable or for graph-level structural queries.
|
|
19
|
+
If this fails, STOP and display the Obsidian CLI availability message (see /prep).
|
|
21
20
|
|
|
22
21
|
## Parameters
|
|
23
22
|
|
|
24
|
-
- **
|
|
25
|
-
- **
|
|
26
|
-
- **output** (optional): Save the challenge analysis as a note.
|
|
23
|
+
- **claim** (required): The belief, decision, or argument to challenge.
|
|
24
|
+
- **scope** (optional): `all` (full vault) or a specific directory/page. Default: `all`.
|
|
27
25
|
|
|
28
26
|
## Process
|
|
29
27
|
|
|
30
|
-
### Step 1:
|
|
31
|
-
|
|
32
|
-
Parse the user's input and restate the belief clearly:
|
|
33
|
-
|
|
34
|
-
> "The belief being tested: **{clear statement}**"
|
|
28
|
+
### Step 1: Understand the Claim
|
|
35
29
|
|
|
36
|
-
|
|
30
|
+
Clarify what exactly is being challenged:
|
|
31
|
+
- What is the core assertion?
|
|
32
|
+
- What assumptions does it rest on?
|
|
33
|
+
- What would falsify it?
|
|
37
34
|
|
|
38
|
-
|
|
39
|
-
obsidian read "<note>"
|
|
40
|
-
```
|
|
35
|
+
If the claim is ambiguous, ask the user to clarify before proceeding.
|
|
41
36
|
|
|
42
37
|
### Step 2: Find Supporting Evidence
|
|
43
38
|
|
|
44
|
-
First, be fair — find notes that support the belief:
|
|
45
|
-
|
|
46
39
|
```bash
|
|
47
|
-
obsidian search "<key terms from
|
|
40
|
+
obsidian search "<key terms from claim>"
|
|
48
41
|
```
|
|
49
42
|
|
|
50
|
-
Read notes
|
|
51
|
-
-
|
|
52
|
-
-
|
|
53
|
-
-
|
|
54
|
-
|
|
55
|
-
### Step 3: Find Counter-Evidence
|
|
56
|
-
|
|
57
|
-
Now actively look for contradictions:
|
|
58
|
-
|
|
59
|
-
**Direct contradictions** — Notes that explicitly state the opposite.
|
|
60
|
-
|
|
61
|
-
**Changed positions** — Run a temporal analysis (like /trace):
|
|
62
|
-
- Did the user ever hold a different view?
|
|
63
|
-
- When did it change? What triggered it?
|
|
64
|
-
- Was the change based on new evidence or assumption?
|
|
65
|
-
|
|
66
|
-
**Unstated assumptions** — What does the belief take for granted?
|
|
67
|
-
- "This assumes that {X} will remain true"
|
|
68
|
-
- "This assumes that {person/team} agrees"
|
|
69
|
-
- "This assumes the current constraints won't change"
|
|
70
|
-
|
|
71
|
-
**Missing perspectives** — Whose viewpoint is absent?
|
|
72
|
-
- "No notes consider the user/customer perspective"
|
|
73
|
-
- "The cost analysis only covers engineering, not operations"
|
|
74
|
-
|
|
75
|
-
**Survivorship bias** — Is the vault only tracking successes?
|
|
76
|
-
- "Three similar initiatives are documented, all framed positively. Are there failed attempts that weren't documented?"
|
|
77
|
-
|
|
78
|
-
### Step 4: Assess Confidence Level
|
|
43
|
+
Read relevant notes and agent pages. Identify:
|
|
44
|
+
- Notes that explicitly support the claim
|
|
45
|
+
- Notes that provide indirect support (data, observations)
|
|
46
|
+
- The strength of each piece of evidence
|
|
79
47
|
|
|
80
|
-
|
|
48
|
+
### Step 3: Find Contradicting Evidence
|
|
81
49
|
|
|
82
|
-
|
|
83
|
-
|-------|-------------|
|
|
84
|
-
| **Strong** | Consistent support across notes, no meaningful counter-evidence, assumptions are reasonable |
|
|
85
|
-
| **Moderate** | Good support but some counter-evidence exists, or key assumptions are untested |
|
|
86
|
-
| **Weak** | Significant counter-evidence, contradictions over time, or critical unstated assumptions |
|
|
87
|
-
| **Contradicted** | The vault's own history provides stronger evidence against the belief |
|
|
50
|
+
This is the core of /challenge. Search for:
|
|
88
51
|
|
|
89
|
-
|
|
52
|
+
1. **Direct contradictions** — Notes that explicitly state the opposite
|
|
53
|
+
```bash
|
|
54
|
+
obsidian search "not <term>" OR "instead of <term>" OR "changed from <term>"
|
|
55
|
+
```
|
|
90
56
|
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
**Confidence level**: {Strong / Moderate / Weak / Contradicted}
|
|
95
|
-
|
|
96
|
-
---
|
|
97
|
-
|
|
98
|
-
## The Belief
|
|
99
|
-
|
|
100
|
-
{Restated belief in the user's own words, citing the source note if applicable}
|
|
101
|
-
|
|
102
|
-
## Supporting Evidence ({N} notes)
|
|
103
|
-
|
|
104
|
-
- **[[Note]]**: "{quote supporting the belief}"
|
|
105
|
-
- **[[Note]]**: "{quote}"
|
|
57
|
+
2. **Implicit contradictions** — Notes that describe a situation incompatible with the claim
|
|
58
|
+
- Read pages with shared tags but different conclusions
|
|
59
|
+
- On related `entities/` and `concepts/` pages, check optional `contradictions` frontmatter (v2: YAML list of other agent page names documenting conflicting claims — see `/cook` Contradiction Handling)
|
|
106
60
|
|
|
107
|
-
|
|
61
|
+
3. **Position changes over time** — Notes that show the user changed their mind
|
|
62
|
+
```bash
|
|
63
|
+
obsidian search "actually" OR "turns out" OR "reconsidered" OR "reversed"
|
|
64
|
+
```
|
|
108
65
|
|
|
109
|
-
|
|
66
|
+
4. **Weasel words** — Notes that express uncertainty about aspects the claim treats as certain
|
|
67
|
+
- "might", "probably", "not sure", "need to verify"
|
|
68
|
+
- These indicate the claim is stronger than the evidence supports
|
|
110
69
|
|
|
111
|
-
|
|
112
|
-
**Why this matters**: {explanation}
|
|
70
|
+
### Step 4: Identify Unstated Assumptions
|
|
113
71
|
|
|
114
|
-
|
|
72
|
+
For the claim to be true, what else must be true?
|
|
115
73
|
|
|
116
|
-
-
|
|
117
|
-
-
|
|
118
|
-
-
|
|
74
|
+
- Technical assumptions (about systems, tools, constraints)
|
|
75
|
+
- People assumptions (about availability, skills, priorities)
|
|
76
|
+
- Temporal assumptions (about deadlines, sequencing, stability)
|
|
77
|
+
- External assumptions (about market, users, dependencies)
|
|
119
78
|
|
|
120
|
-
|
|
79
|
+
Check if the vault evidence supports each assumption.
|
|
121
80
|
|
|
122
|
-
|
|
123
|
-
Evidence: {what the vault says or doesn't say}
|
|
81
|
+
### Step 5: Assess Evidence Strength
|
|
124
82
|
|
|
125
|
-
|
|
83
|
+
Rate the overall case:
|
|
126
84
|
|
|
127
|
-
|
|
85
|
+
| Strength | Meaning |
|
|
86
|
+
|----------|---------|
|
|
87
|
+
| Strong | Multiple independent sources agree, no contradictions |
|
|
88
|
+
| Moderate | Some support, minor gaps or contradictions |
|
|
89
|
+
| Weak | Limited evidence, significant contradictions or gaps |
|
|
90
|
+
| Unknown | Vault doesn't have enough information |
|
|
128
91
|
|
|
129
|
-
|
|
92
|
+
### Step 6: Present the Challenge
|
|
130
93
|
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
{2-3 paragraphs — fair assessment of how the belief holds up. Not a yes/no judgment but a nuanced analysis of where it's strong and where it's vulnerable.}
|
|
134
|
-
|
|
135
|
-
## Questions to Sit With
|
|
94
|
+
```markdown
|
|
95
|
+
# Challenge: "{claim}"
|
|
136
96
|
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
3. {Another question}
|
|
97
|
+
## The Claim
|
|
98
|
+
{Restate the claim clearly}
|
|
140
99
|
|
|
141
|
-
##
|
|
100
|
+
## What Rests On This
|
|
101
|
+
{What assumptions does the claim depend on?}
|
|
102
|
+
- {Assumption 1} — {supported / unsupported / contradicted}
|
|
103
|
+
- {Assumption 2} — {supported / unsupported / contradicted}
|
|
142
104
|
|
|
143
|
-
|
|
144
|
-
-
|
|
145
|
-
-
|
|
146
|
-
```
|
|
105
|
+
## Supporting Evidence
|
|
106
|
+
- [[Note A]]: "{quote}"
|
|
107
|
+
- [[Note B]]: "{quote}"
|
|
147
108
|
|
|
148
|
-
|
|
109
|
+
## Challenging Evidence
|
|
110
|
+
- ⚠ [[Note C]]: "{quote that contradicts or weakens the claim}"
|
|
111
|
+
- ⚠ [[Note D]]: "{quote showing uncertainty or alternative view}"
|
|
149
112
|
|
|
150
|
-
|
|
113
|
+
## Position Changes Over Time
|
|
114
|
+
- {date}: [[Note E]] said X
|
|
115
|
+
- {date}: [[Note F]] said Y (contradicts X)
|
|
151
116
|
|
|
152
|
-
|
|
117
|
+
## Weak Points
|
|
118
|
+
1. **{Weak point}**: {why it's weak, which note shows it}
|
|
119
|
+
2. **{Weak point}**: {why it's weak, which note shows it}
|
|
153
120
|
|
|
154
|
-
|
|
121
|
+
## Overall Assessment
|
|
122
|
+
**Evidence strength**: {Strong / Moderate / Weak / Unknown}
|
|
155
123
|
|
|
156
|
-
|
|
157
|
-
---
|
|
158
|
-
title: "Challenge: {Belief}"
|
|
159
|
-
note_type: literature
|
|
160
|
-
type: analysis
|
|
161
|
-
date: <today>
|
|
162
|
-
tags: [challenge, critical-thinking]
|
|
163
|
-
---
|
|
124
|
+
{2-3 sentence summary: what the vault evidence suggests about this claim, what's uncertain, and what would strengthen or weaken the case further}
|
|
164
125
|
```
|
|
165
126
|
|
|
166
|
-
Use `obsidian create` to save. Ask the user where they'd like it saved.
|
|
167
|
-
|
|
168
127
|
## Key Principles
|
|
169
128
|
|
|
170
|
-
- **
|
|
171
|
-
- **
|
|
172
|
-
- **
|
|
173
|
-
- **
|
|
174
|
-
- **Respect the "strong" result**: If a belief holds up well, say so clearly. Not every challenge needs to find problems.
|
|
129
|
+
- **Respectful opposition.** The goal is to strengthen thinking, not to tear it down. Frame challenges as "here's what to consider" not "you're wrong."
|
|
130
|
+
- **Evidence only.** Every challenge must cite specific vault notes. Don't invent external counterarguments.
|
|
131
|
+
- **Surface uncertainty.** If the vault shows doubt or hesitation about aspects the claim treats as certain, highlight this gap.
|
|
132
|
+
- **Obsidian is first workbench.** All note operations go through Obsidian CLI.
|