bobo-ai-cli 1.0.2 → 1.2.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 (165) hide show
  1. package/bundled-skills/Skill_Seekers/SKILL.md +1722 -0
  2. package/bundled-skills/ab-test-setup/SKILL.md +557 -0
  3. package/bundled-skills/adversarial-verification/SKILL.md +95 -0
  4. package/bundled-skills/agent-sdk-dev/SKILL.md +238 -0
  5. package/bundled-skills/agent-tools/SKILL.md +136 -0
  6. package/bundled-skills/analytics-tracking/SKILL.md +597 -0
  7. package/bundled-skills/artifacts-builder/SKILL.md +89 -0
  8. package/bundled-skills/asana/SKILL.md +13 -0
  9. package/bundled-skills/backend-expert/SKILL.md +97 -0
  10. package/bundled-skills/brand-voice/SKILL.md +481 -0
  11. package/bundled-skills/browser-use/SKILL.md +419 -0
  12. package/bundled-skills/cache-optimization-skill/SKILL.md +179 -0
  13. package/bundled-skills/canvas-design/SKILL.md +147 -0
  14. package/bundled-skills/citation-validator/SKILL.md +203 -0
  15. package/bundled-skills/clangd-lsp/SKILL.md +52 -0
  16. package/bundled-skills/code-review/SKILL.md +280 -0
  17. package/bundled-skills/code-review-expert/SKILL.md +85 -0
  18. package/bundled-skills/code-simplifier/SKILL.md +13 -0
  19. package/bundled-skills/commit-commands/SKILL.md +258 -0
  20. package/bundled-skills/competitor-alternatives/SKILL.md +795 -0
  21. package/bundled-skills/content-atomizer/SKILL.md +910 -0
  22. package/bundled-skills/content-research-writer/SKILL.md +605 -0
  23. package/bundled-skills/context-budget-analyzer/SKILL.md +76 -0
  24. package/bundled-skills/context-compressor/SKILL.md +75 -0
  25. package/bundled-skills/context-optimization-suite/SKILL.md +162 -0
  26. package/bundled-skills/context7/SKILL.md +13 -0
  27. package/bundled-skills/copy-editing/SKILL.md +494 -0
  28. package/bundled-skills/copywriting/SKILL.md +510 -0
  29. package/bundled-skills/csharp-lsp/SKILL.md +40 -0
  30. package/bundled-skills/decision-making-framework/SKILL.md +154 -0
  31. package/bundled-skills/deep-research/SKILL.md +236 -0
  32. package/bundled-skills/developer-growth-analysis/SKILL.md +335 -0
  33. package/bundled-skills/direct-response-copy/SKILL.md +2336 -0
  34. package/bundled-skills/docker-expert/SKILL.md +229 -0
  35. package/bundled-skills/document-skills/SKILL.md +13 -0
  36. package/bundled-skills/documentation-expert/SKILL.md +126 -0
  37. package/bundled-skills/email-sequence/SKILL.md +1061 -0
  38. package/bundled-skills/email-sequences/SKILL.md +910 -0
  39. package/bundled-skills/example-plugin/SKILL.md +72 -0
  40. package/bundled-skills/explanatory-output-style/SKILL.md +82 -0
  41. package/bundled-skills/feature-dev/SKILL.md +458 -0
  42. package/bundled-skills/file-organizer/SKILL.md +466 -0
  43. package/bundled-skills/firebase.disabled/SKILL.md +13 -0
  44. package/bundled-skills/form-cro/SKILL.md +488 -0
  45. package/bundled-skills/free-tool-strategy/SKILL.md +636 -0
  46. package/bundled-skills/frontend-design/SKILL.md +41 -0
  47. package/bundled-skills/frontend-design-offical/SKILL.md +55 -0
  48. package/bundled-skills/frontend-expert/SKILL.md +93 -0
  49. package/bundled-skills/github/SKILL.md +13 -0
  50. package/bundled-skills/gitlab/SKILL.md +13 -0
  51. package/bundled-skills/gopls-lsp/SKILL.md +32 -0
  52. package/bundled-skills/got-controller/SKILL.md +218 -0
  53. package/bundled-skills/greptile/SKILL.md +72 -0
  54. package/bundled-skills/high-agency/SKILL.md +473 -0
  55. package/bundled-skills/high-agency/references/builder-patterns.md +126 -0
  56. package/bundled-skills/high-agency/references/recovery-playbook.md +298 -0
  57. package/bundled-skills/hookify/SKILL.md +376 -0
  58. package/bundled-skills/image-editor/SKILL.md +189 -0
  59. package/bundled-skills/image-enhancer/SKILL.md +109 -0
  60. package/bundled-skills/jdtls-lsp/SKILL.md +49 -0
  61. package/bundled-skills/json-canvas/SKILL.md +654 -0
  62. package/bundled-skills/keyword-research/SKILL.md +559 -0
  63. package/bundled-skills/kotlin-lsp/SKILL.md +28 -0
  64. package/bundled-skills/laravel-boost/SKILL.md +13 -0
  65. package/bundled-skills/launch-strategy/SKILL.md +394 -0
  66. package/bundled-skills/lead-magnet/SKILL.md +393 -0
  67. package/bundled-skills/learning-output-style/SKILL.md +106 -0
  68. package/bundled-skills/linear/SKILL.md +13 -0
  69. package/bundled-skills/lua-lsp/SKILL.md +47 -0
  70. package/bundled-skills/marketing-ideas/SKILL.md +720 -0
  71. package/bundled-skills/marketing-psychology/SKILL.md +534 -0
  72. package/bundled-skills/mcp-builder/SKILL.md +369 -0
  73. package/bundled-skills/meeting-insights-analyzer/SKILL.md +347 -0
  74. package/bundled-skills/memory-evolution-system/SKILL.md +172 -0
  75. package/bundled-skills/memory-manager/SKILL.md +214 -0
  76. package/bundled-skills/memory-manager/references/advanced-config.md +65 -0
  77. package/bundled-skills/multi-lens-thinking/SKILL.md +407 -0
  78. package/bundled-skills/nano-banana-pro/SKILL.md +116 -0
  79. package/bundled-skills/newsletter/SKILL.md +736 -0
  80. package/bundled-skills/notebooklm/SKILL.md +296 -0
  81. package/bundled-skills/obsidian-bases/SKILL.md +634 -0
  82. package/bundled-skills/obsidian-markdown/SKILL.md +651 -0
  83. package/bundled-skills/onboarding-cro/SKILL.md +494 -0
  84. package/bundled-skills/orchestrator/SKILL.md +681 -0
  85. package/bundled-skills/page-cro/SKILL.md +379 -0
  86. package/bundled-skills/paid-ads/SKILL.md +624 -0
  87. package/bundled-skills/paywall-upgrade-cro/SKILL.md +651 -0
  88. package/bundled-skills/php-lsp/SKILL.md +36 -0
  89. package/bundled-skills/planning-with-files/SKILL.md +193 -0
  90. package/bundled-skills/playwright/SKILL.md +13 -0
  91. package/bundled-skills/plugin-dev/SKILL.md +434 -0
  92. package/bundled-skills/popup-cro/SKILL.md +520 -0
  93. package/bundled-skills/positioning-angles/SKILL.md +330 -0
  94. package/bundled-skills/pr-review-toolkit/SKILL.md +359 -0
  95. package/bundled-skills/pricing-strategy/SKILL.md +777 -0
  96. package/bundled-skills/proactive-self-improving/SKILL.md +435 -0
  97. package/bundled-skills/programmatic-seo/SKILL.md +714 -0
  98. package/bundled-skills/pyright-lsp/SKILL.md +43 -0
  99. package/bundled-skills/quality-assurance-framework/SKILL.md +168 -0
  100. package/bundled-skills/question-refiner/SKILL.md +160 -0
  101. package/bundled-skills/ralph-loop/SKILL.md +205 -0
  102. package/bundled-skills/refactoring-expert/SKILL.md +103 -0
  103. package/bundled-skills/referral-program/SKILL.md +668 -0
  104. package/bundled-skills/research-executor/SKILL.md +164 -0
  105. package/bundled-skills/review-with-security/SKILL.md +12 -0
  106. package/bundled-skills/rust-analyzer-lsp/SKILL.md +50 -0
  107. package/bundled-skills/schema-markup/SKILL.md +647 -0
  108. package/bundled-skills/security-audit-expert/SKILL.md +124 -0
  109. package/bundled-skills/security-expert/SKILL.md +140 -0
  110. package/bundled-skills/security-guidance/SKILL.md +13 -0
  111. package/bundled-skills/seedance-prompt/SKILL.md +139 -0
  112. package/bundled-skills/self-evolution/SKILL.md +1160 -0
  113. package/bundled-skills/seo-audit/SKILL.md +432 -0
  114. package/bundled-skills/seo-content/SKILL.md +787 -0
  115. package/bundled-skills/serena/SKILL.md +13 -0
  116. package/bundled-skills/signup-flow-cro/SKILL.md +409 -0
  117. package/bundled-skills/skill-creator/SKILL.md +220 -0
  118. package/bundled-skills/skill-manager/SKILL.md +226 -0
  119. package/bundled-skills/skill-share/SKILL.md +98 -0
  120. package/bundled-skills/slack/SKILL.md +13 -0
  121. package/bundled-skills/social-content/SKILL.md +878 -0
  122. package/bundled-skills/spec-flow-skill/SKILL.md +124 -0
  123. package/bundled-skills/stripe/SKILL.md +13 -0
  124. package/bundled-skills/supabase/SKILL.md +13 -0
  125. package/bundled-skills/swift-lsp/SKILL.md +40 -0
  126. package/bundled-skills/synthesizer/SKILL.md +236 -0
  127. package/bundled-skills/template-skill/SKILL.md +16 -0
  128. package/bundled-skills/testing-expert/SKILL.md +99 -0
  129. package/bundled-skills/theme-factory/SKILL.md +72 -0
  130. package/bundled-skills/tiktok-research/SKILL.md +208 -0
  131. package/bundled-skills/typescript-lsp/SKILL.md +36 -0
  132. package/bundled-skills/ui-ux-pro-max/SKILL.md +247 -0
  133. package/bundled-skills/verify/SKILL.md +15 -0
  134. package/bundled-skills/visual-prompt-engineer/SKILL.md +102 -0
  135. package/bundled-skills/webapp-testing/SKILL.md +111 -0
  136. package/bundled-skills/wide-research/SKILL.md +191 -0
  137. package/dist/agent.d.ts +4 -0
  138. package/dist/agent.js +42 -11
  139. package/dist/agent.js.map +1 -1
  140. package/dist/config.js +10 -1
  141. package/dist/config.js.map +1 -1
  142. package/dist/index.js +340 -10
  143. package/dist/index.js.map +1 -1
  144. package/dist/insight.d.ts +5 -0
  145. package/dist/insight.js +80 -0
  146. package/dist/insight.js.map +1 -0
  147. package/dist/sessions.d.ts +29 -0
  148. package/dist/sessions.js +106 -0
  149. package/dist/sessions.js.map +1 -0
  150. package/dist/skills.d.ts +6 -2
  151. package/dist/skills.js +33 -6
  152. package/dist/skills.js.map +1 -1
  153. package/dist/spinner.d.ts +14 -0
  154. package/dist/spinner.js +38 -0
  155. package/dist/spinner.js.map +1 -0
  156. package/dist/sub-agent-runner.d.ts +6 -0
  157. package/dist/sub-agent-runner.js +37 -0
  158. package/dist/sub-agent-runner.js.map +1 -0
  159. package/dist/sub-agents.d.ts +30 -0
  160. package/dist/sub-agents.js +112 -0
  161. package/dist/sub-agents.js.map +1 -0
  162. package/dist/ui.d.ts +2 -1
  163. package/dist/ui.js +37 -27
  164. package/dist/ui.js.map +1 -1
  165. package/package.json +2 -1
@@ -0,0 +1,296 @@
1
+ ---
2
+ id: "notebooklm"
3
+ title: "NotebookLM Research Assistant Skill"
4
+ category: "research"
5
+ tags: ["when to use this skill", "core workflow", "list all notebooks", "search notebooks by topic", "set active notebook", "remove notebook", "query specific notebook", "show browser for debugging", "script reference", "environment management"]
6
+ triggers: []
7
+ dependencies: []
8
+ source: "E:/Bobo's Coding cache/.claude/skills/notebooklm"
9
+ ---
10
+
11
+ ---
12
+ name: notebooklm
13
+ description: Use this skill to query your Google NotebookLM notebooks directly from Claude Code for source-grounded, citation-backed answers from Gemini. Browser automation, library management, persistent auth. Drastically reduced hallucinations through document-only responses.
14
+ ---
15
+
16
+ # NotebookLM Research Assistant Skill
17
+
18
+ Interact with Google NotebookLM to query documentation with Gemini's source-grounded answers. Each question opens a fresh browser session, retrieves the answer exclusively from your uploaded documents, and closes.
19
+
20
+ ## When to Use This Skill
21
+
22
+ Trigger when user:
23
+
24
+ - Mentions NotebookLM explicitly
25
+ - Shares NotebookLM URL (`https://notebooklm.google.com/notebook/...`)
26
+ - Asks to query their notebooks/documentation
27
+ - Wants to add documentation to NotebookLM library
28
+ - Uses phrases like "ask my NotebookLM", "check my docs", "query my notebook"
29
+
30
+ ## ⚠️ CRITICAL: Add Command - Smart Discovery
31
+
32
+ When user wants to add a notebook without providing details:
33
+
34
+ **SMART ADD (Recommended)**: Query the notebook first to discover its content:
35
+
36
+ ```bash
37
+ # Step 1: Query the notebook about its content
38
+ python scripts/run.py ask_question.py --question "What is the content of this notebook? What topics are covered? Provide a complete overview briefly and concisely" --notebook-url "[URL]"
39
+
40
+ # Step 2: Use the discovered information to add it
41
+ python scripts/run.py notebook_manager.py add --url "[URL]" --name "[Based on content]" --description "[Based on content]" --topics "[Based on content]"
42
+ ```
43
+
44
+ **MANUAL ADD**: If user provides all details:
45
+
46
+ - `--url` - The NotebookLM URL
47
+ - `--name` - A descriptive name
48
+ - `--description` - What the notebook contains (REQUIRED!)
49
+ - `--topics` - Comma-separated topics (REQUIRED!)
50
+
51
+ NEVER guess or use generic descriptions! If details missing, use Smart Add to discover them.
52
+
53
+ ## Critical: Always Use run.py Wrapper
54
+
55
+ **NEVER call scripts directly. ALWAYS use `python scripts/run.py [script]`:**
56
+
57
+ ```bash
58
+ # ✅ CORRECT - Always use run.py:
59
+ python scripts/run.py auth_manager.py status
60
+ python scripts/run.py notebook_manager.py list
61
+ python scripts/run.py ask_question.py --question "..."
62
+
63
+ # ❌ WRONG - Never call directly:
64
+ python scripts/auth_manager.py status # Fails without venv!
65
+ ```
66
+
67
+ The `run.py` wrapper automatically:
68
+
69
+ 1. Creates `.venv` if needed
70
+ 2. Installs all dependencies
71
+ 3. Activates environment
72
+ 4. Executes script properly
73
+
74
+ ## Core Workflow
75
+
76
+ ### Step 1: Check Authentication Status
77
+
78
+ ```bash
79
+ python scripts/run.py auth_manager.py status
80
+ ```
81
+
82
+ If not authenticated, proceed to setup.
83
+
84
+ ### Step 2: Authenticate (One-Time Setup)
85
+
86
+ ```bash
87
+ # Browser MUST be visible for manual Google login
88
+ python scripts/run.py auth_manager.py setup
89
+ ```
90
+
91
+ **Important:**
92
+
93
+ - Browser is VISIBLE for authentication
94
+ - Browser window opens automatically
95
+ - User must manually log in to Google
96
+ - Tell user: "A browser window will open for Google login"
97
+
98
+ ### Step 3: Manage Notebook Library
99
+
100
+ ```bash
101
+ # List all notebooks
102
+ python scripts/run.py notebook_manager.py list
103
+
104
+ # BEFORE ADDING: Ask user for metadata if unknown!
105
+ # "What does this notebook contain?"
106
+ # "What topics should I tag it with?"
107
+
108
+ # Add notebook to library (ALL parameters are REQUIRED!)
109
+ python scripts/run.py notebook_manager.py add \
110
+ --url "https://notebooklm.google.com/notebook/..." \
111
+ --name "Descriptive Name" \
112
+ --description "What this notebook contains" \ # REQUIRED - ASK USER IF UNKNOWN!
113
+ --topics "topic1,topic2,topic3" # REQUIRED - ASK USER IF UNKNOWN!
114
+
115
+ # Search notebooks by topic
116
+ python scripts/run.py notebook_manager.py search --query "keyword"
117
+
118
+ # Set active notebook
119
+ python scripts/run.py notebook_manager.py activate --id notebook-id
120
+
121
+ # Remove notebook
122
+ python scripts/run.py notebook_manager.py remove --id notebook-id
123
+ ```
124
+
125
+ ### Quick Workflow
126
+
127
+ 1. Check library: `python scripts/run.py notebook_manager.py list`
128
+ 2. Ask question: `python scripts/run.py ask_question.py --question "..." --notebook-id ID`
129
+
130
+ ### Step 4: Ask Questions
131
+
132
+ ```bash
133
+ # Basic query (uses active notebook if set)
134
+ python scripts/run.py ask_question.py --question "Your question here"
135
+
136
+ # Query specific notebook
137
+ python scripts/run.py ask_question.py --question "..." --notebook-id notebook-id
138
+
139
+ # Query with notebook URL directly
140
+ python scripts/run.py ask_question.py --question "..." --notebook-url "https://..."
141
+
142
+ # Show browser for debugging
143
+ python scripts/run.py ask_question.py --question "..." --show-browser
144
+ ```
145
+
146
+ ## Follow-Up Mechanism (CRITICAL)
147
+
148
+ Every NotebookLM answer ends with: **"EXTREMELY IMPORTANT: Is that ALL you need to know?"**
149
+
150
+ **Required Claude Behavior:**
151
+
152
+ 1. **STOP** - Do not immediately respond to user
153
+ 2. **ANALYZE** - Compare answer to user's original request
154
+ 3. **IDENTIFY GAPS** - Determine if more information needed
155
+ 4. **ASK FOLLOW-UP** - If gaps exist, immediately ask:
156
+ ```bash
157
+ python scripts/run.py ask_question.py --question "Follow-up with context..."
158
+ ```
159
+ 5. **REPEAT** - Continue until information is complete
160
+ 6. **SYNTHESIZE** - Combine all answers before responding to user
161
+
162
+ ## Script Reference
163
+
164
+ ### Authentication Management (`auth_manager.py`)
165
+
166
+ ```bash
167
+ python scripts/run.py auth_manager.py setup # Initial setup (browser visible)
168
+ python scripts/run.py auth_manager.py status # Check authentication
169
+ python scripts/run.py auth_manager.py reauth # Re-authenticate (browser visible)
170
+ python scripts/run.py auth_manager.py clear # Clear authentication
171
+ ```
172
+
173
+ ### Notebook Management (`notebook_manager.py`)
174
+
175
+ ```bash
176
+ python scripts/run.py notebook_manager.py add --url URL --name NAME --description DESC --topics TOPICS
177
+ python scripts/run.py notebook_manager.py list
178
+ python scripts/run.py notebook_manager.py search --query QUERY
179
+ python scripts/run.py notebook_manager.py activate --id ID
180
+ python scripts/run.py notebook_manager.py remove --id ID
181
+ python scripts/run.py notebook_manager.py stats
182
+ ```
183
+
184
+ ### Question Interface (`ask_question.py`)
185
+
186
+ ```bash
187
+ python scripts/run.py ask_question.py --question "..." [--notebook-id ID] [--notebook-url URL] [--show-browser]
188
+ ```
189
+
190
+ ### Data Cleanup (`cleanup_manager.py`)
191
+
192
+ ```bash
193
+ python scripts/run.py cleanup_manager.py # Preview cleanup
194
+ python scripts/run.py cleanup_manager.py --confirm # Execute cleanup
195
+ python scripts/run.py cleanup_manager.py --preserve-library # Keep notebooks
196
+ ```
197
+
198
+ ## Environment Management
199
+
200
+ The virtual environment is automatically managed:
201
+
202
+ - First run creates `.venv` automatically
203
+ - Dependencies install automatically
204
+ - Chromium browser installs automatically
205
+ - Everything isolated in skill directory
206
+
207
+ Manual setup (only if automatic fails):
208
+
209
+ ```bash
210
+ python -m venv .venv
211
+ source .venv/bin/activate # Linux/Mac
212
+ pip install -r requirements.txt
213
+ python -m patchright install chromium
214
+ ```
215
+
216
+ ## Data Storage
217
+
218
+ All data stored in `~/.claude/skills/notebooklm/data/`:
219
+
220
+ - `library.json` - Notebook metadata
221
+ - `auth_info.json` - Authentication status
222
+ - `browser_state/` - Browser cookies and session
223
+
224
+ **Security:** Protected by `.gitignore`, never commit to git.
225
+
226
+ ## Configuration
227
+
228
+ Optional `.env` file in skill directory:
229
+
230
+ ```env
231
+ HEADLESS=false # Browser visibility
232
+ SHOW_BROWSER=false # Default browser display
233
+ STEALTH_ENABLED=true # Human-like behavior
234
+ TYPING_WPM_MIN=160 # Typing speed
235
+ TYPING_WPM_MAX=240
236
+ DEFAULT_NOTEBOOK_ID= # Default notebook
237
+ ```
238
+
239
+ ## Decision Flow
240
+
241
+ ```
242
+ User mentions NotebookLM
243
+
244
+ Check auth → python scripts/run.py auth_manager.py status
245
+
246
+ If not authenticated → python scripts/run.py auth_manager.py setup
247
+
248
+ Check/Add notebook → python scripts/run.py notebook_manager.py list/add (with --description)
249
+
250
+ Activate notebook → python scripts/run.py notebook_manager.py activate --id ID
251
+
252
+ Ask question → python scripts/run.py ask_question.py --question "..."
253
+
254
+ See "Is that ALL you need?" → Ask follow-ups until complete
255
+
256
+ Synthesize and respond to user
257
+ ```
258
+
259
+ ## Troubleshooting
260
+
261
+ | Problem | Solution |
262
+ | -------------------- | ------------------------------------------------------------- |
263
+ | ModuleNotFoundError | Use `run.py` wrapper |
264
+ | Authentication fails | Browser must be visible for setup! --show-browser |
265
+ | Rate limit (50/day) | Wait or switch Google account |
266
+ | Browser crashes | `python scripts/run.py cleanup_manager.py --preserve-library` |
267
+ | Notebook not found | Check with `notebook_manager.py list` |
268
+
269
+ ## Best Practices
270
+
271
+ 1. **Always use run.py** - Handles environment automatically
272
+ 2. **Check auth first** - Before any operations
273
+ 3. **Follow-up questions** - Don't stop at first answer
274
+ 4. **Browser visible for auth** - Required for manual login
275
+ 5. **Include context** - Each question is independent
276
+ 6. **Synthesize answers** - Combine multiple responses
277
+
278
+ ## Limitations
279
+
280
+ - No session persistence (each question = new browser)
281
+ - Rate limits on free Google accounts (50 queries/day)
282
+ - Manual upload required (user must add docs to NotebookLM)
283
+ - Browser overhead (few seconds per question)
284
+
285
+ ## Resources (Skill Structure)
286
+
287
+ **Important directories and files:**
288
+
289
+ - `scripts/` - All automation scripts (ask_question.py, notebook_manager.py, etc.)
290
+ - `data/` - Local storage for authentication and notebook library
291
+ - `references/` - Extended documentation:
292
+ - `api_reference.md` - Detailed API documentation for all scripts
293
+ - `troubleshooting.md` - Common issues and solutions
294
+ - `usage_patterns.md` - Best practices and workflow examples
295
+ - `.venv/` - Isolated Python environment (auto-created on first run)
296
+ - `.gitignore` - Protects sensitive data from being committed