@jayjiang/byoao 0.7.1 → 0.8.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/hooks/idle-suggestions.js +5 -2
- package/dist/hooks/idle-suggestions.js.map +1 -1
- package/package.json +1 -1
- package/src/assets/presets/common/Start Here.md.hbs +3 -0
- package/src/skills/challenge.md +164 -0
- package/src/skills/connect.md +1 -1
- package/src/skills/diagnose.md +1 -1
- package/src/skills/drift.md +197 -0
- package/src/skills/emerge.md +2 -4
- package/src/skills/explain.md +1 -1
- package/src/skills/ideas.md +144 -0
- package/src/skills/trace.md +1 -1
- package/src/skills/weave.md +1 -1
|
@@ -4,12 +4,15 @@
|
|
|
4
4
|
*/
|
|
5
5
|
export function getIdleSuggestion() {
|
|
6
6
|
const suggestions = [
|
|
7
|
-
"Tip: run /diagnose to check knowledge graph health",
|
|
8
7
|
"Tip: run /weave to connect your notes with frontmatter and wikilinks",
|
|
9
|
-
"Tip: run /explain to document a codebase system in your vault",
|
|
10
8
|
"Tip: run /trace to see how an idea evolved over time",
|
|
11
9
|
"Tip: run /emerge to discover patterns across your notes",
|
|
12
10
|
"Tip: run /connect to bridge two topics using your vault's link graph",
|
|
11
|
+
"Tip: run /ideas to generate actionable insights from your vault",
|
|
12
|
+
"Tip: run /challenge to pressure-test a belief against your own notes",
|
|
13
|
+
"Tip: run /drift to compare intentions vs actions over the past month",
|
|
14
|
+
"Tip: run /diagnose to check knowledge graph health",
|
|
15
|
+
"Tip: run /explain to document a codebase system in your vault",
|
|
13
16
|
];
|
|
14
17
|
const idx = new Date().getMinutes() % suggestions.length;
|
|
15
18
|
return suggestions[idx];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"idle-suggestions.js","sourceRoot":"","sources":["../../src/hooks/idle-suggestions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,UAAU,iBAAiB;IAC/B,MAAM,WAAW,GAAG;QAClB,
|
|
1
|
+
{"version":3,"file":"idle-suggestions.js","sourceRoot":"","sources":["../../src/hooks/idle-suggestions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,UAAU,iBAAiB;IAC/B,MAAM,WAAW,GAAG;QAClB,sEAAsE;QACtE,sDAAsD;QACtD,yDAAyD;QACzD,sEAAsE;QACtE,iEAAiE;QACjE,sEAAsE;QACtE,sEAAsE;QACtE,oDAAoD;QACpD,+DAA+D;KAChE,CAAC;IACF,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,UAAU,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC;IACzD,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC;AAC1B,CAAC"}
|
package/package.json
CHANGED
|
@@ -58,6 +58,9 @@ that /weave discovered.
|
|
|
58
58
|
| `/trace` | Track how an idea evolved over time |
|
|
59
59
|
| `/emerge` | Discover patterns you haven't noticed |
|
|
60
60
|
| `/connect` | Bridge two seemingly unrelated topics |
|
|
61
|
+
| `/ideas` | Generate actionable ideas from your vault |
|
|
62
|
+
| `/challenge` | Pressure-test a belief against your own notes |
|
|
63
|
+
| `/drift` | Compare intentions vs actions over time |
|
|
61
64
|
| `/diagnose` | Check knowledge graph health |
|
|
62
65
|
|
|
63
66
|
---
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: challenge
|
|
3
|
+
description: Pressure-test a belief, assumption, or decision using the vault's own history. Finds counter-evidence, contradictions, and blind spots. Use when the user says "challenge this", "am I wrong about", "test this assumption", "play devil's advocate", or wants to validate a decision against their own notes.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /challenge — Pressure-Test Your Thinking
|
|
7
|
+
|
|
8
|
+
You are a constructive critic. Your job is to take a belief, assumption, or decision the user holds and rigorously test it against their own vault — finding counter-evidence, contradictions, unstated assumptions, and blind spots. You are not adversarial; you are helping the user think more clearly.
|
|
9
|
+
|
|
10
|
+
## Prerequisites Check
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
obsidian --version
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
If this fails, STOP and display the Obsidian CLI availability message (see /weave for the full error text).
|
|
17
|
+
|
|
18
|
+
## Parameters
|
|
19
|
+
|
|
20
|
+
- **belief** (required): The belief, assumption, or decision to challenge. Can be a direct statement or a reference to a note.
|
|
21
|
+
- **strength** (optional): "gentle" (look for nuances), "rigorous" (find every counter-argument). Default: "rigorous".
|
|
22
|
+
- **output** (optional): Save the challenge analysis as a note.
|
|
23
|
+
|
|
24
|
+
## Process
|
|
25
|
+
|
|
26
|
+
### Step 1: Articulate the Belief
|
|
27
|
+
|
|
28
|
+
Parse the user's input and restate the belief clearly:
|
|
29
|
+
|
|
30
|
+
> "The belief being tested: **{clear statement}**"
|
|
31
|
+
|
|
32
|
+
If the belief references a note, read it and extract the core claim:
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
obsidian read "<note>"
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### Step 2: Find Supporting Evidence
|
|
39
|
+
|
|
40
|
+
First, be fair — find notes that support the belief:
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
obsidian search "<key terms from belief>"
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
Read notes that discuss this topic. Document what supports the belief:
|
|
47
|
+
- Which notes align with it?
|
|
48
|
+
- What evidence was the belief originally based on?
|
|
49
|
+
- How confident does the user seem in their notes?
|
|
50
|
+
|
|
51
|
+
### Step 3: Find Counter-Evidence
|
|
52
|
+
|
|
53
|
+
Now actively look for contradictions:
|
|
54
|
+
|
|
55
|
+
**Direct contradictions** — Notes that explicitly state the opposite.
|
|
56
|
+
|
|
57
|
+
**Changed positions** — Run a temporal analysis (like /trace):
|
|
58
|
+
- Did the user ever hold a different view?
|
|
59
|
+
- When did it change? What triggered it?
|
|
60
|
+
- Was the change based on new evidence or assumption?
|
|
61
|
+
|
|
62
|
+
**Unstated assumptions** — What does the belief take for granted?
|
|
63
|
+
- "This assumes that {X} will remain true"
|
|
64
|
+
- "This assumes that {person/team} agrees"
|
|
65
|
+
- "This assumes the current constraints won't change"
|
|
66
|
+
|
|
67
|
+
**Missing perspectives** — Whose viewpoint is absent?
|
|
68
|
+
- "No notes consider the user/customer perspective"
|
|
69
|
+
- "The cost analysis only covers engineering, not operations"
|
|
70
|
+
|
|
71
|
+
**Survivorship bias** — Is the vault only tracking successes?
|
|
72
|
+
- "Three similar initiatives are documented, all framed positively. Are there failed attempts that weren't documented?"
|
|
73
|
+
|
|
74
|
+
### Step 4: Assess Confidence Level
|
|
75
|
+
|
|
76
|
+
Based on the evidence gathered, rate the belief:
|
|
77
|
+
|
|
78
|
+
| Level | Description |
|
|
79
|
+
|-------|-------------|
|
|
80
|
+
| **Strong** | Consistent support across notes, no meaningful counter-evidence, assumptions are reasonable |
|
|
81
|
+
| **Moderate** | Good support but some counter-evidence exists, or key assumptions are untested |
|
|
82
|
+
| **Weak** | Significant counter-evidence, contradictions over time, or critical unstated assumptions |
|
|
83
|
+
| **Contradicted** | The vault's own history provides stronger evidence against the belief |
|
|
84
|
+
|
|
85
|
+
### Step 5: Present the Challenge
|
|
86
|
+
|
|
87
|
+
```markdown
|
|
88
|
+
# Challenge: {Belief Statement}
|
|
89
|
+
|
|
90
|
+
**Confidence level**: {Strong / Moderate / Weak / Contradicted}
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
## The Belief
|
|
95
|
+
|
|
96
|
+
{Restated belief in the user's own words, citing the source note if applicable}
|
|
97
|
+
|
|
98
|
+
## Supporting Evidence ({N} notes)
|
|
99
|
+
|
|
100
|
+
- **[[Note]]**: "{quote supporting the belief}"
|
|
101
|
+
- **[[Note]]**: "{quote}"
|
|
102
|
+
|
|
103
|
+
## Counter-Evidence ({N} notes)
|
|
104
|
+
|
|
105
|
+
### Direct Contradictions
|
|
106
|
+
|
|
107
|
+
- **[[Note]]** ({date}): "{quote that contradicts the belief}"
|
|
108
|
+
**Why this matters**: {explanation}
|
|
109
|
+
|
|
110
|
+
### Position Changes Over Time
|
|
111
|
+
|
|
112
|
+
- {date range}: You held view X (evidence: [[notes]])
|
|
113
|
+
- {date}: Something shifted (trigger: [[note]])
|
|
114
|
+
- {date range}: You now hold view Y
|
|
115
|
+
|
|
116
|
+
### Unstated Assumptions
|
|
117
|
+
|
|
118
|
+
1. **{Assumption}**: {Why this might not hold}
|
|
119
|
+
Evidence: {what the vault says or doesn't say}
|
|
120
|
+
|
|
121
|
+
2. **{Assumption}**: {Why this might not hold}
|
|
122
|
+
|
|
123
|
+
### Missing Perspectives
|
|
124
|
+
|
|
125
|
+
- {Whose view is absent and why it matters}
|
|
126
|
+
|
|
127
|
+
## Verdict
|
|
128
|
+
|
|
129
|
+
{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.}
|
|
130
|
+
|
|
131
|
+
## Questions to Sit With
|
|
132
|
+
|
|
133
|
+
1. {A question the user should consider — not rhetorical, genuinely open}
|
|
134
|
+
2. {Another question}
|
|
135
|
+
3. {Another question}
|
|
136
|
+
|
|
137
|
+
## Suggested Actions
|
|
138
|
+
|
|
139
|
+
- {Concrete action if the belief needs revision}
|
|
140
|
+
- {Action to gather missing evidence}
|
|
141
|
+
- {Notes to re-read with fresh eyes}
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
### Step 6: Save (Optional)
|
|
145
|
+
|
|
146
|
+
If the user requested output, save with frontmatter:
|
|
147
|
+
|
|
148
|
+
```yaml
|
|
149
|
+
---
|
|
150
|
+
title: "Challenge: {Belief}"
|
|
151
|
+
type: analysis
|
|
152
|
+
date: <today>
|
|
153
|
+
tags: [challenge, critical-thinking]
|
|
154
|
+
status: active
|
|
155
|
+
---
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
## Key Principles
|
|
159
|
+
|
|
160
|
+
- **Fair, not adversarial**: Always present supporting evidence first. The goal is clear thinking, not winning an argument.
|
|
161
|
+
- **Vault evidence only**: Challenge using the user's own notes, not general knowledge. "Research says X" is not valid here — "Your note from March says X" is.
|
|
162
|
+
- **Name assumptions explicitly**: The most valuable output is often the unstated assumptions, not the direct contradictions.
|
|
163
|
+
- **Questions over conclusions**: End with questions, not verdicts. The user decides what to do with the analysis.
|
|
164
|
+
- **Respect the "strong" result**: If a belief holds up well, say so clearly. Not every challenge needs to find problems.
|
package/src/skills/connect.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: connect
|
|
3
|
-
description: Bridge two seemingly unrelated topics or domains using the vault's link graph. Discovers hidden paths and shared contexts between
|
|
3
|
+
description: Bridge two seemingly unrelated topics or domains using the vault's link graph. Discovers hidden paths and shared contexts. Use when the user asks "how are X and Y related", "is there a connection between", "bridge these topics", or wants to find overlap between two areas of their knowledge.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# /connect — Bridge Two Domains
|
package/src/skills/diagnose.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: diagnose
|
|
3
|
-
description: Diagnose knowledge graph health — find missing frontmatter, orphan notes, broken wikilinks, and AGENT.md drift.
|
|
3
|
+
description: Diagnose knowledge graph health — find missing frontmatter, orphan notes, broken wikilinks, and AGENT.md drift. Use when the user says "check my vault", "find broken links", "vault health", "what's wrong with my notes", or wants a health check on their knowledge base.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# /diagnose — Knowledge Graph Health Check
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: drift
|
|
3
|
+
description: Compare stated intentions vs actual behavior over 30-60 days using daily notes and project documents. Use when the user asks "am I doing what I said I would", "what happened to my goals", "where did my time go", "check my follow-through", or wants to reflect on alignment between plans and actions.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /drift — Detect Intention-Action Gaps
|
|
7
|
+
|
|
8
|
+
You are a behavioral analyst. Your job is to compare what the user said they would do (intentions, goals, plans) with what they actually did (daily notes, meeting notes, project updates) — revealing where actions drifted from intentions over time.
|
|
9
|
+
|
|
10
|
+
## Prerequisites Check
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
obsidian --version
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
If this fails, STOP and display the Obsidian CLI availability message (see /weave for the full error text).
|
|
17
|
+
|
|
18
|
+
## Parameters
|
|
19
|
+
|
|
20
|
+
- **period** (optional): Time window to analyze. Default: "30d" (last 30 days). Accepts: "7d", "30d", "60d", "90d".
|
|
21
|
+
- **focus** (optional): Limit to a project, domain, or goal. Default: all.
|
|
22
|
+
- **output** (optional): Save the drift analysis as a note.
|
|
23
|
+
|
|
24
|
+
## Process
|
|
25
|
+
|
|
26
|
+
### Step 1: Collect Intentions
|
|
27
|
+
|
|
28
|
+
Search for stated intentions, goals, and plans:
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
obsidian search "goal"
|
|
32
|
+
obsidian search "plan"
|
|
33
|
+
obsidian search "will do"
|
|
34
|
+
obsidian search "next steps"
|
|
35
|
+
obsidian search "TODO"
|
|
36
|
+
obsidian search "priority"
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
Also read:
|
|
40
|
+
- Decision records — what was decided
|
|
41
|
+
- Sprint/project plans — what was committed
|
|
42
|
+
- Daily notes from the start of the period — stated priorities
|
|
43
|
+
- Meeting notes — action items assigned
|
|
44
|
+
|
|
45
|
+
Extract a list of **stated intentions** with dates:
|
|
46
|
+
- "{date}: Planned to {X}" (source: [[Note]])
|
|
47
|
+
|
|
48
|
+
### Step 2: Collect Actions
|
|
49
|
+
|
|
50
|
+
Read daily notes and updates across the period:
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
obsidian search "completed"
|
|
54
|
+
obsidian search "done"
|
|
55
|
+
obsidian search "shipped"
|
|
56
|
+
obsidian search "finished"
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
Read daily notes chronologically to track what actually happened:
|
|
60
|
+
- What did the user write about doing?
|
|
61
|
+
- What meetings happened?
|
|
62
|
+
- What topics consumed attention?
|
|
63
|
+
|
|
64
|
+
Extract a list of **actual actions** with dates:
|
|
65
|
+
- "{date}: Did {Y}" (source: [[Daily Note]])
|
|
66
|
+
|
|
67
|
+
### Step 3: Alignment Analysis
|
|
68
|
+
|
|
69
|
+
For each stated intention, check:
|
|
70
|
+
|
|
71
|
+
| Status | Meaning |
|
|
72
|
+
|--------|---------|
|
|
73
|
+
| **Aligned** | Intention was followed through with documented evidence |
|
|
74
|
+
| **Delayed** | Work started but timeline slipped |
|
|
75
|
+
| **Drifted** | Work went in a different direction than planned |
|
|
76
|
+
| **Abandoned** | Intention was stated but never acted on |
|
|
77
|
+
| **Emergent** | Action happened that was never planned (reactive work) |
|
|
78
|
+
|
|
79
|
+
### Step 4: Identify Drift Patterns
|
|
80
|
+
|
|
81
|
+
Look for systemic patterns, not just individual misses:
|
|
82
|
+
|
|
83
|
+
**Priority displacement** — Planned work was consistently displaced by reactive work.
|
|
84
|
+
> "In 4 of 5 weeks, the Friday daily note mentions not getting to the planned work because of urgent requests."
|
|
85
|
+
|
|
86
|
+
**Scope creep** — The scope of a project expanded without acknowledgment.
|
|
87
|
+
> "The original plan in [[Project Plan]] had 5 deliverables. Current notes reference 9, but no re-planning happened."
|
|
88
|
+
|
|
89
|
+
**Energy leaks** — Time going to undocumented work.
|
|
90
|
+
> "Daily notes from weeks 3-5 rarely mention the stated priority. The gap suggests time is going somewhere not reflected in the vault."
|
|
91
|
+
|
|
92
|
+
**Goal abandonment** — Goals that silently disappeared.
|
|
93
|
+
> "The Q1 goal of 'improve test coverage' was mentioned 3 times in January and never again."
|
|
94
|
+
|
|
95
|
+
**Emergent priorities** — Unplanned work that became dominant.
|
|
96
|
+
> "'Customer escalations' wasn't in any plan but appears in 60% of daily notes."
|
|
97
|
+
|
|
98
|
+
### Step 5: Present the Analysis
|
|
99
|
+
|
|
100
|
+
```markdown
|
|
101
|
+
# Drift Analysis: {period}
|
|
102
|
+
|
|
103
|
+
Comparing intentions vs actions over {period}, focused on {focus or "all areas"}.
|
|
104
|
+
|
|
105
|
+
## Summary
|
|
106
|
+
|
|
107
|
+
| Category | Count |
|
|
108
|
+
|----------|-------|
|
|
109
|
+
| Aligned | {N} intentions followed through |
|
|
110
|
+
| Delayed | {N} intentions behind schedule |
|
|
111
|
+
| Drifted | {N} intentions changed direction |
|
|
112
|
+
| Abandoned | {N} intentions never acted on |
|
|
113
|
+
| Emergent | {N} unplanned actions taken |
|
|
114
|
+
|
|
115
|
+
**Overall drift score**: {Low / Moderate / High}
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
## Aligned (on track)
|
|
120
|
+
|
|
121
|
+
- **{Intention}** ({date})
|
|
122
|
+
Stated in: [[Plan Note]]
|
|
123
|
+
Evidence: [[Action Note 1]], [[Action Note 2]]
|
|
124
|
+
|
|
125
|
+
## Delayed
|
|
126
|
+
|
|
127
|
+
- **{Intention}** ({original date} → still in progress)
|
|
128
|
+
Stated in: [[Plan Note]]
|
|
129
|
+
Last mention: [[Recent Note]] ({date})
|
|
130
|
+
**Likely cause**: {what the notes suggest}
|
|
131
|
+
|
|
132
|
+
## Drifted
|
|
133
|
+
|
|
134
|
+
- **{Intention}** → became **{what it turned into}**
|
|
135
|
+
Original: [[Plan Note]] — "{original plan}"
|
|
136
|
+
Current: [[Recent Note]] — "{what's actually happening}"
|
|
137
|
+
**The shift**: {when and why direction changed}
|
|
138
|
+
|
|
139
|
+
## Abandoned
|
|
140
|
+
|
|
141
|
+
- **{Intention}** ({date stated}, last mentioned {date})
|
|
142
|
+
Stated in: [[Note]]
|
|
143
|
+
**No evidence of**: follow-up, cancellation decision, or handoff
|
|
144
|
+
**Question**: Was this a conscious decision or did it just fade?
|
|
145
|
+
|
|
146
|
+
## Emergent (unplanned)
|
|
147
|
+
|
|
148
|
+
- **{Action pattern}** — appeared in {N} daily notes, not in any plan
|
|
149
|
+
**Impact**: {how much time/attention this consumed}
|
|
150
|
+
**Question**: Should this be formally planned/resourced?
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
## Drift Patterns
|
|
155
|
+
|
|
156
|
+
### {Pattern name}
|
|
157
|
+
{Description with evidence from notes}
|
|
158
|
+
|
|
159
|
+
---
|
|
160
|
+
|
|
161
|
+
## Reflections
|
|
162
|
+
|
|
163
|
+
These questions are for your consideration — not judgments:
|
|
164
|
+
|
|
165
|
+
1. {Question about the most significant drift}
|
|
166
|
+
2. {Question about whether emergent work should be planned}
|
|
167
|
+
3. {Question about abandoned intentions}
|
|
168
|
+
|
|
169
|
+
## Suggested Actions
|
|
170
|
+
|
|
171
|
+
- Write a decision record for {abandoned intention} — cancel formally or recommit
|
|
172
|
+
- Add {emergent pattern} to the next planning cycle
|
|
173
|
+
- Run `/trace topic="{drifted topic}"` to understand the shift
|
|
174
|
+
- Re-read [[original plan]] with fresh eyes
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
### Step 6: Save (Optional)
|
|
178
|
+
|
|
179
|
+
If the user requested output, save with frontmatter:
|
|
180
|
+
|
|
181
|
+
```yaml
|
|
182
|
+
---
|
|
183
|
+
title: "Drift Analysis: {period}"
|
|
184
|
+
type: analysis
|
|
185
|
+
date: <today>
|
|
186
|
+
tags: [drift, reflection]
|
|
187
|
+
status: active
|
|
188
|
+
---
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
## Key Principles
|
|
192
|
+
|
|
193
|
+
- **Descriptive, not judgmental**: "You said X and did Y" is fine. "You failed to do X" is not. Drift is information, not failure.
|
|
194
|
+
- **Vault evidence only**: Only compare what's documented. If something isn't in the vault, it's a gap in documentation, not proof of inaction.
|
|
195
|
+
- **Surface patterns, not incidents**: One missed item is noise. Three missed items in the same category is a pattern worth examining.
|
|
196
|
+
- **Respect the user's agency**: Drift may be intentional adaptation, not failure. Present findings neutrally and let the user interpret.
|
|
197
|
+
- **Emergent work is valid**: Unplanned work that was important should be recognized, not treated as distraction.
|
package/src/skills/emerge.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: emerge
|
|
3
|
-
description: Surface conclusions, patterns, and insights the vault implies but never explicitly states. Analyzes clusters, orphans, and cross-domain connections.
|
|
3
|
+
description: Surface conclusions, patterns, and insights the vault implies but never explicitly states. Analyzes clusters, orphans, and cross-domain connections. Use when the user asks "what patterns do you see", "what am I missing", "analyze my vault", "find hidden connections", or wants a big-picture review of their knowledge base.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# /emerge — Surface Hidden Patterns
|
|
@@ -43,9 +43,7 @@ Identify:
|
|
|
43
43
|
Use graph-level queries to identify interesting patterns:
|
|
44
44
|
|
|
45
45
|
**Orphan notes** — notes with no links in or out:
|
|
46
|
-
|
|
47
|
-
obsidian search -orphans
|
|
48
|
-
```
|
|
46
|
+
Use `byoao_graph_health` or scan notes checking for those with zero wikilinks (no `[[` in content) and zero backlinks.
|
|
49
47
|
Orphans may contain ideas the user hasn't connected yet.
|
|
50
48
|
|
|
51
49
|
**Dead-end notes** — notes that link out but nobody links to them:
|
package/src/skills/explain.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: explain
|
|
3
|
-
description: Explain codebase systems and workflows in clear, non-jargon language.
|
|
3
|
+
description: Explain codebase systems and workflows in clear, non-jargon language, cached in the Obsidian vault. Use when the user asks "how does this system work", "explain the architecture", "what does this service do", or needs a plain-language explanation of any codebase or technical system.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# /explain — System Explainer
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ideas
|
|
3
|
+
description: Deep vault scan to generate actionable ideas by combining insights across domains, finding gaps, and proposing concrete next steps. Use when the user asks "give me ideas", "what should I work on", "what opportunities do you see", "brainstorm from my notes", or wants creative suggestions grounded in their vault content.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /ideas — Generate Actionable Ideas
|
|
7
|
+
|
|
8
|
+
You are a strategic thinking partner. Your job is to deeply scan the user's vault across all domains and generate concrete, actionable ideas — not vague suggestions, but specific proposals grounded in what the vault actually contains.
|
|
9
|
+
|
|
10
|
+
## Prerequisites Check
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
obsidian --version
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
If this fails, STOP and display the Obsidian CLI availability message (see /weave for the full error text).
|
|
17
|
+
|
|
18
|
+
## Parameters
|
|
19
|
+
|
|
20
|
+
- **focus** (optional): Narrow ideas to a specific domain, project, or theme. Default: scan all domains.
|
|
21
|
+
- **count** (optional): Number of ideas to generate. Default: 5.
|
|
22
|
+
- **output** (optional): Save ideas as a note at this path.
|
|
23
|
+
|
|
24
|
+
## Process
|
|
25
|
+
|
|
26
|
+
### Step 1: Map the Vault
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
obsidian list
|
|
30
|
+
obsidian properties sort=count counts
|
|
31
|
+
obsidian tags
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
Build a picture of: domains, note distribution, most active areas, tag clusters.
|
|
35
|
+
|
|
36
|
+
### Step 2: Deep Read
|
|
37
|
+
|
|
38
|
+
Read notes across domains, prioritizing:
|
|
39
|
+
- Recent notes (last 30 days) — what the user is actively thinking about
|
|
40
|
+
- Highly connected notes (many backlinks) — central concepts
|
|
41
|
+
- Notes with `status: active` — current work
|
|
42
|
+
- Glossary — the user's core vocabulary
|
|
43
|
+
|
|
44
|
+
For each domain, read 5-10 representative notes to understand the landscape.
|
|
45
|
+
|
|
46
|
+
### Step 3: Cross-Pollinate
|
|
47
|
+
|
|
48
|
+
The best ideas come from combining insights across domains. For each pair of active domains:
|
|
49
|
+
|
|
50
|
+
1. Identify shared concepts, people, or challenges
|
|
51
|
+
2. Look for solutions in one domain that could apply to another
|
|
52
|
+
3. Find gaps: "Domain A discusses X extensively but never mentions Y, which Domain B treats as critical"
|
|
53
|
+
|
|
54
|
+
### Step 4: Identify Idea Types
|
|
55
|
+
|
|
56
|
+
Generate ideas across these categories:
|
|
57
|
+
|
|
58
|
+
**Synthesis ideas** — Combine two existing threads into something new.
|
|
59
|
+
> "Your notes on 'event sourcing' and 'audit compliance' both need immutable logs. A unified audit-event architecture could serve both."
|
|
60
|
+
|
|
61
|
+
**Gap ideas** — Something the vault implies is needed but doesn't exist.
|
|
62
|
+
> "You have 15 notes about 'payment migration' but no rollback strategy document. Given the complexity described in [[Migration Plan]], this seems like a critical gap."
|
|
63
|
+
|
|
64
|
+
**Connection ideas** — Two people/projects should be talking to each other.
|
|
65
|
+
> "[[Alice]] is working on rate limiting and [[Bob]] on API gateway redesign. Neither references the other, but both need the same throttling infrastructure."
|
|
66
|
+
|
|
67
|
+
**Amplification ideas** — Take something small and scale it.
|
|
68
|
+
> "Your daily note from March 15 mentions 'what if we exposed the internal API to partners?' — 4 other notes contain evidence this could work."
|
|
69
|
+
|
|
70
|
+
**Challenge ideas** — Question an assumption the vault takes for granted.
|
|
71
|
+
> "Every note about the data pipeline assumes batch processing, but your meeting notes from February suggest the team wants real-time. Is batch still the right choice?"
|
|
72
|
+
|
|
73
|
+
### Step 5: Validate Each Idea
|
|
74
|
+
|
|
75
|
+
For each idea, verify:
|
|
76
|
+
- Is the evidence actually in the vault? (cite specific notes with quotes)
|
|
77
|
+
- Is this actionable? (what concrete step would the user take?)
|
|
78
|
+
- Is this non-obvious? (would the user have thought of this on their own?)
|
|
79
|
+
|
|
80
|
+
Discard ideas that fail any of these checks.
|
|
81
|
+
|
|
82
|
+
### Step 6: Present Ideas
|
|
83
|
+
|
|
84
|
+
```markdown
|
|
85
|
+
# Ideas: {focus or "Across All Domains"}
|
|
86
|
+
|
|
87
|
+
Generated from {N} notes across {M} domains.
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
### Idea 1: {Title}
|
|
92
|
+
|
|
93
|
+
**Type**: {synthesis / gap / connection / amplification / challenge}
|
|
94
|
+
|
|
95
|
+
**The insight**: {2-3 sentences explaining the idea}
|
|
96
|
+
|
|
97
|
+
**Evidence**:
|
|
98
|
+
- [[Note A]]: "{relevant quote}"
|
|
99
|
+
- [[Note B]]: "{relevant quote}"
|
|
100
|
+
- [[Note C]]: "{relevant quote}"
|
|
101
|
+
|
|
102
|
+
**Concrete next step**: {exactly what to do — write a note, schedule a meeting, create a project, run /trace on a topic}
|
|
103
|
+
|
|
104
|
+
**Impact**: {why this matters — what it could unlock or prevent}
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
### Idea 2: {Title}
|
|
109
|
+
...
|
|
110
|
+
|
|
111
|
+
---
|
|
112
|
+
|
|
113
|
+
## How These Ideas Connect
|
|
114
|
+
|
|
115
|
+
{Brief paragraph on themes across the ideas — are they pointing in the same direction?}
|
|
116
|
+
|
|
117
|
+
## Suggested Follow-ups
|
|
118
|
+
|
|
119
|
+
- Run `/trace topic="X"` to explore Idea 1 further
|
|
120
|
+
- Run `/connect from="A" to="B"` to validate Idea 3
|
|
121
|
+
- Create a decision record for Idea 5
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
### Step 7: Save (Optional)
|
|
125
|
+
|
|
126
|
+
If the user requested output, save with frontmatter:
|
|
127
|
+
|
|
128
|
+
```yaml
|
|
129
|
+
---
|
|
130
|
+
title: "Ideas: {focus}"
|
|
131
|
+
type: analysis
|
|
132
|
+
date: <today>
|
|
133
|
+
tags: [ideas, proactive]
|
|
134
|
+
status: active
|
|
135
|
+
---
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
## Key Principles
|
|
139
|
+
|
|
140
|
+
- **Actionable over interesting**: Every idea must have a concrete next step. "Interesting observation" is not an idea.
|
|
141
|
+
- **Evidence-based**: Every idea must cite 2+ vault notes. No general knowledge ideas.
|
|
142
|
+
- **Non-obvious**: If the user would have thought of it without AI, it's not worth presenting.
|
|
143
|
+
- **Respect priorities**: Don't suggest ideas that contradict the user's stated direction unless explicitly framed as a challenge.
|
|
144
|
+
- **Quality over quantity**: 3 strong ideas beat 10 weak ones. Filter aggressively.
|
package/src/skills/trace.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: trace
|
|
3
|
-
description: Track how an idea, concept, or topic evolved across the vault over time. Builds a chronological timeline from scattered mentions
|
|
3
|
+
description: Track how an idea, concept, or topic evolved across the vault over time. Builds a chronological timeline from scattered mentions. Use when the user asks "how did X evolve", "what's the history of", "when did we start thinking about", "trace this idea", or wants to understand the arc of a concept.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# /trace — Track Idea Evolution
|
package/src/skills/weave.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: weave
|
|
3
|
-
description: Scan vault notes, enrich with frontmatter + wikilinks, maintain the Glossary, create hub notes — building a connected knowledge graph.
|
|
3
|
+
description: Scan vault notes, enrich with frontmatter + wikilinks, maintain the Glossary, create hub notes — building a connected knowledge graph. Use when the user says "connect my notes", "add links", "enrich", "organize my vault", "run weave", or after importing new files into the vault.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# /weave — Connect Your Notes
|