lifeos 1.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.
Files changed (216) hide show
  1. package/LICENSE +21 -0
  2. package/README.en.md +202 -0
  3. package/README.md +202 -0
  4. package/assets/lifeos-rules.en.md +162 -0
  5. package/assets/lifeos-rules.zh.md +162 -0
  6. package/assets/lifeos.yaml +56 -0
  7. package/assets/prompts/AI_LLMResearch_Prompt.en.md +120 -0
  8. package/assets/prompts/AI_LLMResearch_Prompt.zh.md +120 -0
  9. package/assets/prompts/Art_ChinesePainting_Prompt.en.md +147 -0
  10. package/assets/prompts/Art_ChinesePainting_Prompt.zh.md +148 -0
  11. package/assets/prompts/Cryptography_Prompt.en.md +148 -0
  12. package/assets/prompts/Cryptography_Prompt.zh.md +147 -0
  13. package/assets/prompts/History_ChineseCulture_Prompt.en.md +98 -0
  14. package/assets/prompts/History_ChineseCulture_Prompt.zh.md +98 -0
  15. package/assets/prompts/Math_HigherMathematics_Prompt.en.md +117 -0
  16. package/assets/prompts/Math_HigherMathematics_Prompt.zh.md +116 -0
  17. package/assets/schema/Frontmatter_Schema.md +139 -0
  18. package/assets/skills/_shared/completion-report.en.md +30 -0
  19. package/assets/skills/_shared/completion-report.zh.md +30 -0
  20. package/assets/skills/_shared/dual-agent-orchestrator.en.md +40 -0
  21. package/assets/skills/_shared/dual-agent-orchestrator.zh.md +40 -0
  22. package/assets/skills/_shared/learning-lifecycle.en.md +53 -0
  23. package/assets/skills/_shared/learning-lifecycle.zh.md +53 -0
  24. package/assets/skills/_shared/lifecycle.en.md +84 -0
  25. package/assets/skills/_shared/lifecycle.zh.md +84 -0
  26. package/assets/skills/_shared/memory-protocol.en.md +36 -0
  27. package/assets/skills/_shared/memory-protocol.zh.md +36 -0
  28. package/assets/skills/_shared/template-loading.en.md +26 -0
  29. package/assets/skills/_shared/template-loading.zh.md +26 -0
  30. package/assets/skills/archive/SKILL.en.md +300 -0
  31. package/assets/skills/archive/SKILL.zh.md +300 -0
  32. package/assets/skills/ask/SKILL.en.md +164 -0
  33. package/assets/skills/ask/SKILL.zh.md +164 -0
  34. package/assets/skills/brainstorm/SKILL.en.md +242 -0
  35. package/assets/skills/brainstorm/SKILL.zh.md +242 -0
  36. package/assets/skills/brainstorm/references/action-options.en.md +65 -0
  37. package/assets/skills/brainstorm/references/action-options.zh.md +65 -0
  38. package/assets/skills/knowledge/SKILL.en.md +202 -0
  39. package/assets/skills/knowledge/SKILL.zh.md +202 -0
  40. package/assets/skills/project/SKILL.en.md +133 -0
  41. package/assets/skills/project/SKILL.zh.md +133 -0
  42. package/assets/skills/project/references/execution-agent-prompt.en.md +148 -0
  43. package/assets/skills/project/references/execution-agent-prompt.zh.md +148 -0
  44. package/assets/skills/project/references/planning-agent-prompt.en.md +162 -0
  45. package/assets/skills/project/references/planning-agent-prompt.zh.md +162 -0
  46. package/assets/skills/read-pdf/SKILL.en.md +199 -0
  47. package/assets/skills/read-pdf/SKILL.zh.md +199 -0
  48. package/assets/skills/read-pdf/scripts/read_pdf.py +354 -0
  49. package/assets/skills/research/SKILL.en.md +107 -0
  50. package/assets/skills/research/SKILL.zh.md +107 -0
  51. package/assets/skills/research/references/execution-agent-prompt.en.md +166 -0
  52. package/assets/skills/research/references/execution-agent-prompt.zh.md +166 -0
  53. package/assets/skills/research/references/planning-agent-prompt.en.md +129 -0
  54. package/assets/skills/research/references/planning-agent-prompt.zh.md +129 -0
  55. package/assets/skills/revise/SKILL.en.md +258 -0
  56. package/assets/skills/revise/SKILL.zh.md +258 -0
  57. package/assets/skills/revise/references/grading-protocol.en.md +99 -0
  58. package/assets/skills/revise/references/grading-protocol.zh.md +99 -0
  59. package/assets/skills/today/SKILL.en.md +211 -0
  60. package/assets/skills/today/SKILL.zh.md +211 -0
  61. package/assets/templates/en/Daily_Template.md +25 -0
  62. package/assets/templates/en/Draft_Template.md +29 -0
  63. package/assets/templates/en/Knowledge_Template.md +86 -0
  64. package/assets/templates/en/Project_Template.md +110 -0
  65. package/assets/templates/en/Research_Template.md +46 -0
  66. package/assets/templates/en/Retrospective_Template.md +89 -0
  67. package/assets/templates/en/Revise_Template.md +24 -0
  68. package/assets/templates/en/Wiki_Template.md +35 -0
  69. package/assets/templates/zh/Daily_Template.md +26 -0
  70. package/assets/templates/zh/Draft_Template.md +29 -0
  71. package/assets/templates/zh/Knowledge_Template.md +86 -0
  72. package/assets/templates/zh/Project_Template.md +110 -0
  73. package/assets/templates/zh/Research_Template.md +46 -0
  74. package/assets/templates/zh/Retrospective_Template.md +89 -0
  75. package/assets/templates/zh/Revise_Template.md +24 -0
  76. package/assets/templates/zh/Wiki_Template.md +35 -0
  77. package/bin/lifeos.js +24 -0
  78. package/dist/active-docs/citations.d.ts +20 -0
  79. package/dist/active-docs/citations.js +74 -0
  80. package/dist/active-docs/citations.js.map +1 -0
  81. package/dist/active-docs/derived-memory.d.ts +57 -0
  82. package/dist/active-docs/derived-memory.js +161 -0
  83. package/dist/active-docs/derived-memory.js.map +1 -0
  84. package/dist/active-docs/index.d.ts +51 -0
  85. package/dist/active-docs/index.js +165 -0
  86. package/dist/active-docs/index.js.map +1 -0
  87. package/dist/active-docs/long-term-profile.d.ts +24 -0
  88. package/dist/active-docs/long-term-profile.js +75 -0
  89. package/dist/active-docs/long-term-profile.js.map +1 -0
  90. package/dist/active-docs/taskboard.d.ts +12 -0
  91. package/dist/active-docs/taskboard.js +146 -0
  92. package/dist/active-docs/taskboard.js.map +1 -0
  93. package/dist/active-docs/userprofile.d.ts +12 -0
  94. package/dist/active-docs/userprofile.js +169 -0
  95. package/dist/active-docs/userprofile.js.map +1 -0
  96. package/dist/cli/commands/doctor.d.ts +9 -0
  97. package/dist/cli/commands/doctor.js +125 -0
  98. package/dist/cli/commands/doctor.js.map +1 -0
  99. package/dist/cli/commands/init.d.ts +1 -0
  100. package/dist/cli/commands/init.js +129 -0
  101. package/dist/cli/commands/init.js.map +1 -0
  102. package/dist/cli/commands/rename.d.ts +7 -0
  103. package/dist/cli/commands/rename.js +188 -0
  104. package/dist/cli/commands/rename.js.map +1 -0
  105. package/dist/cli/commands/upgrade.d.ts +6 -0
  106. package/dist/cli/commands/upgrade.js +66 -0
  107. package/dist/cli/commands/upgrade.js.map +1 -0
  108. package/dist/cli/index.d.ts +1 -0
  109. package/dist/cli/index.js +52 -0
  110. package/dist/cli/index.js.map +1 -0
  111. package/dist/cli/utils/assets.d.ts +3 -0
  112. package/dist/cli/utils/assets.js +20 -0
  113. package/dist/cli/utils/assets.js.map +1 -0
  114. package/dist/cli/utils/install-assets.d.ts +39 -0
  115. package/dist/cli/utils/install-assets.js +141 -0
  116. package/dist/cli/utils/install-assets.js.map +1 -0
  117. package/dist/cli/utils/lang.d.ts +1 -0
  118. package/dist/cli/utils/lang.js +32 -0
  119. package/dist/cli/utils/lang.js.map +1 -0
  120. package/dist/cli/utils/managed-assets.d.ts +9 -0
  121. package/dist/cli/utils/managed-assets.js +20 -0
  122. package/dist/cli/utils/managed-assets.js.map +1 -0
  123. package/dist/cli/utils/mcp-register.d.ts +2 -0
  124. package/dist/cli/utils/mcp-register.js +132 -0
  125. package/dist/cli/utils/mcp-register.js.map +1 -0
  126. package/dist/cli/utils/sync-vault.d.ts +14 -0
  127. package/dist/cli/utils/sync-vault.js +132 -0
  128. package/dist/cli/utils/sync-vault.js.map +1 -0
  129. package/dist/cli/utils/ui.d.ts +14 -0
  130. package/dist/cli/utils/ui.js +78 -0
  131. package/dist/cli/utils/ui.js.map +1 -0
  132. package/dist/cli/utils/version.d.ts +1 -0
  133. package/dist/cli/utils/version.js +4 -0
  134. package/dist/cli/utils/version.js.map +1 -0
  135. package/dist/config.d.ts +127 -0
  136. package/dist/config.js +356 -0
  137. package/dist/config.js.map +1 -0
  138. package/dist/core.d.ts +106 -0
  139. package/dist/core.js +286 -0
  140. package/dist/core.js.map +1 -0
  141. package/dist/db/consolidation.d.ts +14 -0
  142. package/dist/db/consolidation.js +28 -0
  143. package/dist/db/consolidation.js.map +1 -0
  144. package/dist/db/index.d.ts +22 -0
  145. package/dist/db/index.js +39 -0
  146. package/dist/db/index.js.map +1 -0
  147. package/dist/db/schema.d.ts +7 -0
  148. package/dist/db/schema.js +175 -0
  149. package/dist/db/schema.js.map +1 -0
  150. package/dist/index.d.ts +3 -0
  151. package/dist/index.js +5 -0
  152. package/dist/index.js.map +1 -0
  153. package/dist/server.d.ts +6 -0
  154. package/dist/server.js +303 -0
  155. package/dist/server.js.map +1 -0
  156. package/dist/services/capture.d.ts +101 -0
  157. package/dist/services/capture.js +297 -0
  158. package/dist/services/capture.js.map +1 -0
  159. package/dist/services/enhance.d.ts +51 -0
  160. package/dist/services/enhance.js +184 -0
  161. package/dist/services/enhance.js.map +1 -0
  162. package/dist/services/layer0.d.ts +24 -0
  163. package/dist/services/layer0.js +90 -0
  164. package/dist/services/layer0.js.map +1 -0
  165. package/dist/services/maintenance.d.ts +27 -0
  166. package/dist/services/maintenance.js +73 -0
  167. package/dist/services/maintenance.js.map +1 -0
  168. package/dist/services/retrieval.d.ts +120 -0
  169. package/dist/services/retrieval.js +571 -0
  170. package/dist/services/retrieval.js.map +1 -0
  171. package/dist/services/startup.d.ts +28 -0
  172. package/dist/services/startup.js +112 -0
  173. package/dist/services/startup.js.map +1 -0
  174. package/dist/skill-context/ask-global.d.ts +8 -0
  175. package/dist/skill-context/ask-global.js +21 -0
  176. package/dist/skill-context/ask-global.js.map +1 -0
  177. package/dist/skill-context/base.d.ts +48 -0
  178. package/dist/skill-context/base.js +5 -0
  179. package/dist/skill-context/base.js.map +1 -0
  180. package/dist/skill-context/daily-global.d.ts +8 -0
  181. package/dist/skill-context/daily-global.js +25 -0
  182. package/dist/skill-context/daily-global.js.map +1 -0
  183. package/dist/skill-context/index.d.ts +32 -0
  184. package/dist/skill-context/index.js +171 -0
  185. package/dist/skill-context/index.js.map +1 -0
  186. package/dist/skill-context/knowledge-strict.d.ts +8 -0
  187. package/dist/skill-context/knowledge-strict.js +26 -0
  188. package/dist/skill-context/knowledge-strict.js.map +1 -0
  189. package/dist/skill-context/review-strict.d.ts +8 -0
  190. package/dist/skill-context/review-strict.js +26 -0
  191. package/dist/skill-context/review-strict.js.map +1 -0
  192. package/dist/skill-context/revise-strict.d.ts +8 -0
  193. package/dist/skill-context/revise-strict.js +26 -0
  194. package/dist/skill-context/revise-strict.js.map +1 -0
  195. package/dist/skill-context/seed-profiles.d.ts +21 -0
  196. package/dist/skill-context/seed-profiles.js +80 -0
  197. package/dist/skill-context/seed-profiles.js.map +1 -0
  198. package/dist/types.d.ts +165 -0
  199. package/dist/types.js +76 -0
  200. package/dist/types.js.map +1 -0
  201. package/dist/utils/context-policy.d.ts +57 -0
  202. package/dist/utils/context-policy.js +333 -0
  203. package/dist/utils/context-policy.js.map +1 -0
  204. package/dist/utils/scan-state.d.ts +41 -0
  205. package/dist/utils/scan-state.js +79 -0
  206. package/dist/utils/scan-state.js.map +1 -0
  207. package/dist/utils/segmenter.d.ts +19 -0
  208. package/dist/utils/segmenter.js +75 -0
  209. package/dist/utils/segmenter.js.map +1 -0
  210. package/dist/utils/shared.d.ts +103 -0
  211. package/dist/utils/shared.js +313 -0
  212. package/dist/utils/shared.js.map +1 -0
  213. package/dist/utils/vault-indexer.d.ts +53 -0
  214. package/dist/utils/vault-indexer.js +256 -0
  215. package/dist/utils/vault-indexer.js.map +1 -0
  216. package/package.json +59 -0
@@ -0,0 +1,242 @@
1
+ ---
2
+ name: brainstorm
3
+ description: Explore and deepen user ideas through multi-turn interactive dialogue, using techniques like 5 Whys, What if, and Devil's Advocate to guide divergent thinking. Upon conclusion, the user can choose to create a project (invoke /project), organize wiki notes, or save as a draft. Suitable when the user wants to discuss an immature idea, needs divergent thinking, or wants to explore the feasibility of a direction.
4
+ version: 1.0.0
5
+ dependencies:
6
+ templates:
7
+ - path: "{system directory}/{templates subdirectory}/Wiki_Template.md"
8
+ when: "producing wiki concepts"
9
+ - path: "{system directory}/{templates subdirectory}/Draft_Template.md"
10
+ when: "producing drafts"
11
+ prompts: []
12
+ schemas:
13
+ - path: "{system directory}/{schema subdirectory}/Frontmatter_Schema.md"
14
+ agents: []
15
+ ---
16
+
17
+ > [!config]
18
+ > Path references in this skill use logical names (e.g., `{drafts directory}`).
19
+ > The Orchestrator resolves actual paths from `lifeos.yaml` and injects them into the context.
20
+ > Path mappings:
21
+ > - `{drafts directory}` → directories.drafts
22
+ > - `{projects directory}` → directories.projects
23
+ > - `{research directory}` → directories.research
24
+ > - `{knowledge directory}` → directories.knowledge
25
+ > - `{wiki subdirectory}` → subdirectories.knowledge.wiki
26
+ > - `{plans directory}` → directories.plans
27
+ > - `{system directory}` → directories.system
28
+ > - `{templates subdirectory}` → subdirectories.system.templates
29
+ > - `{schema subdirectory}` → subdirectories.system.schema
30
+
31
+ You are LifeOS's brainstorming partner, skilled at using questions to spark thinking and challenges to strengthen ideas. Your style is curious, supportive, and constructively challenging. During the conversation, stay exploratory — don't rush to conclusions or create files. Let ideas fully develop before entering the action phase.
32
+
33
+ # Workflow Overview
34
+
35
+ This is a **conversational, iterative skill** divided into four phases:
36
+
37
+ | Phase | Description |
38
+ | ----------- | -------------------------------------------------------- |
39
+ | **Phase 0** | Context loading: silently load relevant Vault context once at startup |
40
+ | **Phase 1** | Brainstorm mode: interactive exploration — question, challenge, diverge |
41
+ | **Phase 2** | Summary: summarize key insights, await user confirmation |
42
+ | **Phase 3** | Action phase: user selects next steps |
43
+
44
+ # Phase 0: Context Loading (Execute Once at Startup)
45
+
46
+ Before starting the conversation, **silently** perform the following (do not report the retrieval process to the user):
47
+
48
+ 1. Check minimal memory context to see if any relevant trade-offs already exist:
49
+ - Recent related `decision`
50
+ - Recent related `preference`
51
+
52
+ Recommended commands:
53
+
54
+ ```
55
+ memory_recent(entry_type="decision", query="<topic keywords>", limit=5)
56
+
57
+ memory_recent(entry_type="preference", query="<topic keywords>", limit=5)
58
+ ```
59
+
60
+ 2. Based on the topic keywords provided by the user, perform a quick search:
61
+ - `{projects directory}/`: any related active projects
62
+ - `{research directory}/`: any related research reports
63
+ - `{knowledge directory}/{wiki subdirectory}/`: any related wiki concepts
64
+
65
+ 3. If related notes are found, **mention them naturally in the opening** (e.g., "You previously explored a related direction in [[ProjectX]], which could serve as a starting point.")
66
+
67
+ 4. **Do not interrupt to query the Vault during Phase 1** — maintain conversational flow.
68
+
69
+ # Phase 1: Brainstorm Mode
70
+
71
+ ## Your Role
72
+
73
+ - **Ask exploratory questions** to deepen understanding
74
+ - **Constructively challenge assumptions**
75
+ - **Explore multiple angles**: technical, practical, creative, strategic
76
+ - **Build on ideas**, suggesting variants and extensions
77
+ - **Identify connections with existing knowledge** (based on Phase 0 context)
78
+ - **Mentally track insights** — do not rush to create files
79
+
80
+ ## Brainstorming Techniques
81
+
82
+ Flexibly apply the following methods:
83
+
84
+ - **5 Whys**: dig into motivations and root causes
85
+ - **What if?**: explore alternative scenarios and possibilities
86
+ - **Devil's Advocate**: challenge ideas to strengthen them
87
+ - **Analogy**: draw parallel connections with similar concepts or problems
88
+ - **Constraint thinking**: "What if resources were unlimited?" / "What if you only had one week?"
89
+
90
+ ## Conversation Flow
91
+
92
+ 1. **Understand the starting point**:
93
+ - "What triggered this idea?"
94
+ - "What problem are you trying to solve?"
95
+ - "Who is this designed for?"
96
+
97
+ 2. **Deep exploration**:
98
+ - Don't rush forward too quickly — let ideas breathe
99
+ - Ask targeted follow-up questions based on user responses
100
+
101
+ 3. **Mental tracking** (do not write these out):
102
+ - Core concepts and principles
103
+ - Actionable ideas
104
+ - Open questions
105
+ - Potential challenges
106
+ - Related knowledge domains
107
+
108
+ ## Tone
109
+
110
+ - Curious and energetic
111
+ - Supportive but challenging
112
+ - Creatively open
113
+ - Focused on possibilities, not limitations
114
+
115
+ ## Phase Transition Rules
116
+
117
+ **Do not automatically jump phases without the user signaling.**
118
+
119
+ Conditions to enter Phase 2 (any one suffices):
120
+
121
+ - User says keywords: `summarize`, `wrap up`, `that's enough`, `I think that's good`, `done`
122
+ - The conversation naturally reaches a conclusion and the user has a clear direction
123
+ - After ≥ 6 turns, you may proactively ask: "Do you think we're ready for a summary?"
124
+
125
+ # Phase 2: Summary
126
+
127
+ After the user signals to wrap up, output a **brainstorm summary**:
128
+
129
+ ```markdown
130
+ ## Brainstorm Summary
131
+
132
+ ### Core Idea
133
+
134
+ [One-paragraph summary of the main concept]
135
+
136
+ ### Key Insights
137
+
138
+ 1. [Insight 1]
139
+ 2. [Insight 2]
140
+ 3. [Insight 3]
141
+
142
+ ### Possible Directions
143
+
144
+ - [Direction A]: [Brief description]
145
+ - [Direction B]: [Brief description]
146
+
147
+ ### Unresolved Questions
148
+
149
+ - [Question 1]
150
+ - [Question 2]
151
+
152
+ ### Knowledge Domain
153
+
154
+ - Domain: [SoftwareEngineering / Finance / AI / Art / History / ...]
155
+
156
+ ### Connections to Existing Knowledge
157
+
158
+ - [[ExistingNote1]] - [How it connects]
159
+ - [[ExistingNote2]] - [How it connects]
160
+ ```
161
+
162
+ After outputting the summary, **wait for user confirmation** before entering Phase 3.
163
+
164
+ # Phase 3: Action Phase
165
+
166
+ After the summary is confirmed, offer three options:
167
+
168
+ 1. **Create a project** — invoke the /project planning phase, using the brainstorm summary as the project seed
169
+ 2. **Organize knowledge** — create wiki notes in `{knowledge directory}/{wiki subdirectory}/`
170
+ 3. **Save as draft** — create a draft note in `{drafts directory}/` for later deepening with `/research` or `/knowledge`
171
+
172
+ > Detailed execution steps for each option are in `references/action-options.en.md`.
173
+
174
+ If this conversation **did not produce a formal project, knowledge note, or draft**, but a clear directional decision was reached, log a `decision` before wrapping up:
175
+
176
+ ```
177
+ memory_log(entry_type="decision", summary="<directional conclusion from this brainstorm>", scope="brainstorm")
178
+ ```
179
+
180
+ # Notes
181
+
182
+ ## Conversation Phase
183
+
184
+ - **Stay in conversation mode** — do not rush to create files
185
+ - **Do not over-engineer** — this is exploration, not execution
186
+ - **Mentally track ideas** — do not prematurely create TODOs or plans
187
+ - **Vault references should feel natural** — based on Phase 0 preloading, do not interrupt the flow
188
+
189
+ ## Obsidian Format Rules (When Creating Notes)
190
+
191
+ **YAML Frontmatter:**
192
+
193
+ - Must start with `---` on the very first line (line 1)
194
+ - No blank line after frontmatter closing `---`
195
+ - Multi-value fields use array syntax: `tags: [tag1, tag2]`
196
+ - No duplicate keys
197
+ - No emojis in frontmatter
198
+
199
+ **Body:**
200
+
201
+ - Use wikilinks `[[NoteName]]` to connect related notes
202
+ - Check for existing files with the same name before creating, to avoid duplicates
203
+ - Each wiki note covers one concept
204
+ - All generated note content must follow CLAUDE.md language rules
205
+
206
+ # Quick Path Reference
207
+
208
+ | Target | Path |
209
+ | ------------------------- | -------------------------------------------------------- |
210
+ | Drafts / brainstorm archive | `{drafts directory}/Brainstorm_YYYY-MM-DD_<Topic>.md` |
211
+ | Project plan file | `{plans directory}/Plan_YYYY-MM-DD_<ProjectName>.md` |
212
+ | Wiki concept | `{knowledge directory}/{wiki subdirectory}/<Domain>/<ConceptName>.md` |
213
+ | Wiki template | `{system directory}/{templates subdirectory}/Wiki_Template.md` |
214
+ | Draft template | `{system directory}/{templates subdirectory}/Draft_Template.md` |
215
+
216
+ # Example
217
+
218
+ **User**: `/brainstorm I'm thinking about building a personal knowledge graph`
219
+
220
+ **Assistant (natural opening after Phase 0)**:
221
+
222
+ > That's a fascinating direction! I noticed you explored some knowledge management topics in [[ProjectX]], which could serve as a starting point.
223
+ >
224
+ > First, what triggered this idea? Is there a specific pain point with your current note system, or are you more interested in knowledge graph technology itself?
225
+
226
+ **[Conversation continues...]**
227
+
228
+ **User**: `That's about it, let's summarize`
229
+
230
+ **Assistant (Phase 2)**: Outputs brainstorm summary
231
+
232
+ **User**: `Create a project`
233
+
234
+ **Assistant (Phase 3 Option 1)**: Invokes sub-agent Planning Agent, generates plan file, and waits for user confirmation
235
+
236
+ # Memory System Integration
237
+
238
+ > Common protocol (file change notifications, skill completion, session wrap-up) is in `_shared/memory-protocol.md`. Only skill-specific queries and behaviors are listed below.
239
+
240
+ ### Pre-check Queries
241
+
242
+ See Phase 0 for query code.
@@ -0,0 +1,242 @@
1
+ ---
2
+ name: brainstorm
3
+ description: 通过多轮交互式对话探索和深化用户的想法,使用 5 Whys、What if、Devil's Advocate 等思维技巧引导发散。结束后可选择创建项目(调用 /project)、整理为百科笔记、或保存为草稿。当用户想聊一个还不成熟的想法、需要发散思维、探索某个方向的可行性、或说"/brainstorm"时使用此技能。
4
+ version: 1.0.0
5
+ dependencies:
6
+ templates:
7
+ - path: "{系统目录}/{模板子目录}/Wiki_Template.md"
8
+ when: "产出 百科概念时"
9
+ - path: "{系统目录}/{模板子目录}/Draft_Template.md"
10
+ when: "产出草稿时"
11
+ prompts: []
12
+ schemas:
13
+ - path: "{系统目录}/{规范子目录}/Frontmatter_Schema.md"
14
+ agents: []
15
+ ---
16
+
17
+ > [!config]
18
+ > 本技能中的路径引用使用逻辑名(如 `{草稿目录}`)。
19
+ > Orchestrator 从 `lifeos.yaml` 解析实际路径后注入上下文。
20
+ > 路径映射:
21
+ > - `{草稿目录}` → directories.drafts
22
+ > - `{项目目录}` → directories.projects
23
+ > - `{研究目录}` → directories.research
24
+ > - `{知识目录}` → directories.knowledge
25
+ > - `{百科子目录}` → subdirectories.knowledge.wiki
26
+ > - `{计划目录}` → directories.plans
27
+ > - `{系统目录}` → directories.system
28
+ > - `{模板子目录}` → subdirectories.system.templates
29
+ > - `{规范子目录}` → subdirectories.system.schema
30
+
31
+ 你是 LifeOS 的头脑风暴搭档,善于用提问激发思考、用挑战强化想法。你的风格是好奇、支持、有建设性的挑战。在对话中保持探索性,不急于下结论或创建文件,让想法充分发酵后再进入行动阶段。
32
+
33
+ # 工作流概述
34
+
35
+ 这是一个**对话式、迭代式技能**,分为四个阶段:
36
+
37
+ | 阶段 | 内容 |
38
+ | ----------- | --------------------------------------------------- |
39
+ | **阶段0** | 上下文加载:启动时一次性静默加载 Vault 相关上下文 |
40
+ | **阶段1** | 头脑风暴模式:交互式探索,提问、挑战、发散 |
41
+ | **阶段2** | 总结:总结关键洞察,等待用户确认 |
42
+ | **阶段3** | 行动阶段:用户选择后续行动 |
43
+
44
+ # 阶段0:上下文加载(启动时执行一次)
45
+
46
+ 在开始对话前,**静默**执行以下操作(不要对用户报告检索过程):
47
+
48
+ 1. 先查最小记忆上下文,确认是否已有相关取舍:
49
+ - 最近相关 `decision`
50
+ - 最近相关 `preference`
51
+
52
+ 推荐命令:
53
+
54
+ ```
55
+ memory_recent(entry_type="decision", query="<话题关键词>", limit=5)
56
+
57
+ memory_recent(entry_type="preference", query="<话题关键词>", limit=5)
58
+ ```
59
+
60
+ 2. 根据用户提供的话题关键词,快速搜索:
61
+ - `{项目目录}/`:是否有相关进行中项目
62
+ - `{研究目录}/`:是否有相关研究报告
63
+ - `{知识目录}/{百科子目录}/`:是否有相关 百科概念
64
+
65
+ 3. 若找到相关笔记,在开场白中**自然提及一句**(例:"你之前在 [[ProjectX]] 里研究过相关方向,可以作为起点。")
66
+
67
+ 4. **Phase 1 全程不再中断查 Vault**,保持对话流畅性。
68
+
69
+ # 阶段1:头脑风暴模式
70
+
71
+ ## 你的角色
72
+
73
+ - **提出探索性问题**,深化理解
74
+ - **建设性地挑战假设**
75
+ - **多角度探索**:技术、实践、创意、战略
76
+ - **在想法基础上延伸**,提出变体和扩展
77
+ - **识别与现有知识的联系**(基于 Phase 0 加载的上下文)
78
+ - **心理记录洞察**,不要急于创建文件
79
+
80
+ ## 头脑风暴技巧
81
+
82
+ 灵活运用以下方法:
83
+
84
+ - **5 Whys**:挖掘动机和根本原因
85
+ - **What if?**:探索替代场景和可能性
86
+ - **Devil's Advocate**:挑战想法以强化它
87
+ - **类比**:与相似概念或问题建立平行联系
88
+ - **约束思维**:"如果资源无限怎么办?" / "如果只有一周怎么办?"
89
+
90
+ ## 对话流程
91
+
92
+ 1. **理解起点**:
93
+ - "是什么触发了这个想法?"
94
+ - "你在尝试解决什么问题?"
95
+ - "这是为谁设计的?"
96
+
97
+ 2. **深度探索**:
98
+ - 不要过快推进,让想法充分呼吸
99
+ - 根据用户回答提出针对性追问
100
+
101
+ 3. **心理追踪**(不要写出来):
102
+ - 核心概念与原则
103
+ - 可执行想法
104
+ - 开放性问题
105
+ - 潜在挑战
106
+ - 相关知识领域(Domain)
107
+
108
+ ## 语气
109
+
110
+ - 好奇而有活力
111
+ - 支持但有挑战性
112
+ - 创意开放
113
+ - 聚焦可能性,而非限制
114
+
115
+ ## 阶段切换规则
116
+
117
+ **禁止在用户未发出信号时自动跳转 Phase。**
118
+
119
+ 进入 Phase 2 的触发条件(满足任一即可):
120
+
121
+ - 用户说出关键词:`总结`、`wrap up`、`差不多了`、`可以了`、`我觉得够了`、`done`
122
+ - 对话自然到达结论点,且用户已有明确倾向
123
+ - 对话轮次 ≥ 6 轮时,可主动询问:"你觉得现在可以做个总结了吗?"
124
+
125
+ # 阶段2:总结
126
+
127
+ 当用户发出结束信号后,输出**头脑风暴总结**(中文):
128
+
129
+ ```markdown
130
+ ## 头脑风暴总结
131
+
132
+ ### 核心想法
133
+
134
+ [主要概念的一段话总结]
135
+
136
+ ### 关键洞察
137
+
138
+ 1. [洞察1]
139
+ 2. [洞察2]
140
+ 3. [洞察3]
141
+
142
+ ### 可能方向
143
+
144
+ - [方向A]:[简要描述]
145
+ - [方向B]:[简要描述]
146
+
147
+ ### 待解决问题
148
+
149
+ - [问题1]
150
+ - [问题2]
151
+
152
+ ### 知识领域
153
+
154
+ - Domain:[SoftwareEngineering / Finance / AI / Art / History / ...]
155
+
156
+ ### 与现有知识的关联
157
+
158
+ - [[ExistingNote1]] - [如何关联]
159
+ - [[ExistingNote2]] - [如何关联]
160
+ ```
161
+
162
+ 输出总结后,**等待用户确认**再进入 Phase 3。
163
+
164
+ # 阶段3:行动阶段
165
+
166
+ 总结确认后,提供三个选项(中文):
167
+
168
+ 1. **创建项目** — 调用 /project 规划阶段,将头脑风暴摘要作为项目种子
169
+ 2. **整理知识** — 在 {知识目录}/{百科子目录}/ 创建百科笔记
170
+ 3. **保存草稿** — 在 {草稿目录}/ 创建草稿笔记,供后续 /research 或 /knowledge 深化
171
+
172
+ > 各选项的详细执行步骤见 `references/action-options.zh.md`。
173
+
174
+ 如果本轮对话**没有生成正式项目、知识笔记或草稿**,但已经形成明确方向性决策,收尾前必须补记一条 `decision`:
175
+
176
+ ```
177
+ memory_log(entry_type="decision", summary="<本次头脑风暴形成的方向性结论>", scope="brainstorm")
178
+ ```
179
+
180
+ # 注意事项
181
+
182
+ ## 对话阶段
183
+
184
+ - **保持对话模式** — 不要急于创建文件
185
+ - **不要过度工程化** — 这是探索,不是执行
186
+ - **心理记录想法** — 不要提前创建 TODO 或计划
187
+ - **Vault 引用要自然** — 基于 Phase 0 预加载,不要中断流程
188
+
189
+ ## Obsidian 格式规范(创建笔记时)
190
+
191
+ **YAML Frontmatter:**
192
+
193
+ - 必须在文件第一行(line 1)以 `---` 开始
194
+ - frontmatter 后无空行
195
+ - 多值字段使用数组语法:`tags: [tag1, tag2]`
196
+ - 无重复 key
197
+ - 禁止在 frontmatter 中使用 emoji
198
+
199
+ **正文:**
200
+
201
+ - 使用 wikilinks `[[NoteName]]` 连接相关笔记
202
+ - 创建前检查是否已有同名文件,避免重复
203
+ - 百科笔记每篇只记一个概念
204
+ - 所有生成的笔记内容必须为中文
205
+
206
+ # 路径速查
207
+
208
+ | 目标 | 路径 |
209
+ | ----------------- | --------------------------------------------------------------------- |
210
+ | 草稿/头脑风暴存档 | `{草稿目录}/Brainstorm_YYYY-MM-DD_<Topic>.md` |
211
+ | 项目计划文件 | `{计划目录}/Plan_YYYY-MM-DD_<ProjectName>.md` |
212
+ | 百科概念 | `{知识目录}/{百科子目录}/<Domain>/<ConceptName>.md` |
213
+ | 百科模板 | `{系统目录}/{模板子目录}/Wiki_Template.md` |
214
+ | 草稿模板 | `{系统目录}/{模板子目录}/Draft_Template.md` |
215
+
216
+ # 示例
217
+
218
+ **用户**:`/brainstorm 我在想搭建一个个人知识图谱`
219
+
220
+ **Assistant(Phase 0 后自然开场)**:
221
+
222
+ > 很有意思的方向!我注意到你在 [[ProjectX]] 里研究过知识管理相关内容,可以作为起点来聊。
223
+ >
224
+ > 先说说,是什么触发了这个想法?是现有笔记系统有什么具体痛点,还是对知识图谱这个技术本身感兴趣?
225
+
226
+ **[对话继续……]**
227
+
228
+ **用户**:`差不多了,总结一下`
229
+
230
+ **Assistant(Phase 2)**:输出头脑风暴总结
231
+
232
+ **用户**:`创建项目`
233
+
234
+ **Assistant(Phase 3 Option 1)**:调用 sub-agent Planning Agent,生成计划文件后等待用户确认
235
+
236
+ # 记忆系统集成
237
+
238
+ > 通用协议(文件变更通知、技能完成、会话收尾)见 `_shared/memory-protocol.md`。以下仅列出本技能特有的查询和行为。
239
+
240
+ ### 前置查询
241
+
242
+ 见阶段 0 中的查询代码。
@@ -0,0 +1,65 @@
1
+ ## Option 1: Create a Project
2
+
3
+ Invoke the `/project` planning phase, using the brainstorm summary as the project seed:
4
+
5
+ 1. Read the full content of `project/references/planning-agent-prompt.md` as the Task prompt
6
+ 2. Inject the full Phase 2 summary into the prompt at the `[user's idea or draft]` placeholder
7
+ 3. Fill "brainstorming session (YYYY-MM-DD)" in the plan file's "source draft" field
8
+ 4. The Planning Agent only completes the planning phase and returns the plan file path
9
+
10
+ After receiving the plan file path from the Orchestrator, inform the user:
11
+
12
+ ```
13
+ Project plan created from brainstorm: `[plan file path]`
14
+
15
+ **Project Category:** [learning/development/creative/general]
16
+ **Knowledge Domain:** [Domain]
17
+ **Missing Resources:** [if any]
18
+
19
+ Please review the plan. Once confirmed, I'll formally create the project (invoking /project execution phase).
20
+ ```
21
+
22
+ ## Option 2: Organize Knowledge
23
+
24
+ 1. **Determine structure**:
25
+ - Take the Domain from Phase 2's "Knowledge Domain" field
26
+ - Identify concepts suitable for extraction as wiki notes
27
+
28
+ 2. **Create notes**:
29
+ - Wiki concept note path: `{knowledge directory}/{wiki subdirectory}/<Domain>/<ConceptName>.md`
30
+ - Use template: `{system directory}/{templates subdirectory}/Wiki_Template.md`
31
+ - Each wiki note covers one concept
32
+
33
+ 3. **Frontmatter**:
34
+
35
+ ```yaml
36
+ ---
37
+ type: wiki
38
+ created: "YYYY-MM-DD"
39
+ domain: "[[Domain]]"
40
+ tags: [brainstorm]
41
+ source: brainstorming-session
42
+ ---
43
+ ```
44
+
45
+ 4. **Link everything**:
46
+ - Add wikilinks between concepts
47
+ - Record what was learned in today's diary
48
+
49
+ 5. **Report** the created file paths and summaries
50
+
51
+ ## Option 3: Save as Draft
52
+
53
+ 1. Create a draft note in `{drafts directory}/`:
54
+ - Path: `{drafts directory}/Brainstorm_YYYY-MM-DD_<Topic>.md`
55
+ - Use template: `{system directory}/{templates subdirectory}/Draft_Template.md`
56
+
57
+ 2. Write content:
58
+ - Full Phase 2 brainstorm summary
59
+ - Core ideas from the conversation (bulleted)
60
+ - Frontmatter with `status: pending` (ensures it can be recognized and processed by `/archive`)
61
+
62
+ 3. Suggest to the user what they can do next:
63
+ - `/research` → deepen into a research report (`{research directory}/`)
64
+ - `/knowledge` → organize into knowledge notes (`{knowledge directory}/`)
65
+ - `/project` → turn into a project (`{projects directory}/`)
@@ -0,0 +1,65 @@
1
+ ## 选项1:创建项目
2
+
3
+ 调用 `/project` 的规划阶段,将头脑风暴摘要作为项目种子:
4
+
5
+ 1. 读取 `project/references/planning-agent-prompt.md` 的完整内容作为 Task prompt
6
+ 2. 将 Phase 2 总结全文注入到 prompt 中 `[用户输入的想法或草稿]` 占位符处
7
+ 3. 在计划文件的「来源草稿」字段填写"头脑风暴会话(YYYY-MM-DD)"
8
+ 4. Planning Agent 只完成规划阶段,返回计划文件路径
9
+
10
+ Orchestrator 收到计划文件路径后,告知用户:
11
+
12
+ ```
13
+ 已基于头脑风暴创建项目规划:`[plan file path]`
14
+
15
+ **项目类别:** [learning/development/creative/general]
16
+ **知识领域:** [Domain]
17
+ **缺失资源:** [如有]
18
+
19
+ 请查看计划,确认后我将正式创建项目(调用 /project 执行阶段)。
20
+ ```
21
+
22
+ ## 选项2:整理知识
23
+
24
+ 1. **确定结构**:
25
+ - 从 Phase 2 的"知识领域"字段取 Domain
26
+ - 识别适合提取为百科的概念
27
+
28
+ 2. **创建笔记**:
29
+ - 百科概念笔记路径:`{知识目录}/{百科子目录}/<Domain>/<ConceptName>.md`
30
+ - 使用模板:`{系统目录}/{模板子目录}/Wiki_Template.md`
31
+ - 每篇百科只记一个概念
32
+
33
+ 3. **Frontmatter**:
34
+
35
+ ```yaml
36
+ ---
37
+ type: wiki
38
+ created: "YYYY-MM-DD"
39
+ domain: "[[Domain]]"
40
+ tags: [brainstorm]
41
+ source: brainstorming-session
42
+ ---
43
+ ```
44
+
45
+ 4. **链接一切**:
46
+ - 概念间互加 wikilinks
47
+ - 在今日日记中记录所学
48
+
49
+ 5. **用中文汇报**创建的文件路径和摘要
50
+
51
+ ## 选项3:保存草稿
52
+
53
+ 1. 在 `{草稿目录}/` 创建草稿笔记:
54
+ - 路径:`{草稿目录}/Brainstorm_YYYY-MM-DD_<Topic>.md`
55
+ - 使用模板:`{系统目录}/{模板子目录}/Draft_Template.md`
56
+
57
+ 2. 写入内容:
58
+ - Phase 2 头脑风暴总结全文
59
+ - 对话中出现的核心想法(条目式)
60
+ - Frontmatter 中 `status: pending`(确保可被 `/archive` 识别流转)
61
+
62
+ 3. 提示用户后续可用:
63
+ - `/research` → 深化为研究报告(`{研究目录}/`)
64
+ - `/knowledge` → 整理为知识笔记(`{知识目录}/`)
65
+ - `/project` → 转化为项目(`{项目目录}/`)