bobo-ai-cli 3.0.0 → 3.0.3

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 (188) hide show
  1. package/bundled-skills/CORE_SKILLS.txt +18 -0
  2. package/dist/agent.js +25 -6
  3. package/dist/agent.js.map +1 -1
  4. package/dist/cli.js +9 -7
  5. package/dist/cli.js.map +1 -1
  6. package/dist/config.js +3 -2
  7. package/dist/config.js.map +1 -1
  8. package/dist/cost-tracker.js +1 -0
  9. package/dist/cost-tracker.js.map +1 -1
  10. package/dist/dream.js +6 -3
  11. package/dist/dream.js.map +1 -1
  12. package/dist/hooks.js +3 -2
  13. package/dist/hooks.js.map +1 -1
  14. package/dist/index.js +2 -2
  15. package/dist/index.js.map +1 -1
  16. package/dist/knowledge.js +3 -2
  17. package/dist/knowledge.js.map +1 -1
  18. package/dist/mcp-client.js +59 -41
  19. package/dist/mcp-client.js.map +1 -1
  20. package/dist/memory.js +24 -18
  21. package/dist/memory.js.map +1 -1
  22. package/dist/project.js +2 -1
  23. package/dist/project.js.map +1 -1
  24. package/dist/providers.js +1 -1
  25. package/dist/providers.js.map +1 -1
  26. package/dist/repl.js +4 -2
  27. package/dist/repl.js.map +1 -1
  28. package/dist/sessions.js +37 -4
  29. package/dist/sessions.js.map +1 -1
  30. package/dist/skill-router.js +2 -2
  31. package/dist/skill-router.js.map +1 -1
  32. package/dist/skills/loader.js +2 -2
  33. package/dist/skills/loader.js.map +1 -1
  34. package/dist/skills.js +9 -8
  35. package/dist/skills.js.map +1 -1
  36. package/dist/state/artifacts.js +4 -2
  37. package/dist/state/artifacts.js.map +1 -1
  38. package/dist/state/manager.js +4 -2
  39. package/dist/state/manager.js.map +1 -1
  40. package/dist/state/project-memory.js +4 -2
  41. package/dist/state/project-memory.js.map +1 -1
  42. package/dist/state/recovery.js +3 -2
  43. package/dist/state/recovery.js.map +1 -1
  44. package/dist/structured/loader.js +4 -2
  45. package/dist/structured/loader.js.map +1 -1
  46. package/dist/sub-agent-runner.js +3 -2
  47. package/dist/sub-agent-runner.js.map +1 -1
  48. package/dist/sub-agents.js +5 -3
  49. package/dist/sub-agents.js.map +1 -1
  50. package/dist/tool-governance.js +43 -12
  51. package/dist/tool-governance.js.map +1 -1
  52. package/dist/tools/advanced.js +3 -2
  53. package/dist/tools/advanced.js.map +1 -1
  54. package/dist/tools/browser.js +2 -2
  55. package/dist/tools/browser.js.map +1 -1
  56. package/dist/tools/claude-code.js +2 -2
  57. package/dist/tools/claude-code.js.map +1 -1
  58. package/dist/tools/index.js +36 -12
  59. package/dist/tools/index.js.map +1 -1
  60. package/dist/tools/process-manager.js +2 -2
  61. package/dist/tools/process-manager.js.map +1 -1
  62. package/dist/verification-agent.js +15 -10
  63. package/dist/verification-agent.js.map +1 -1
  64. package/dist/watcher.js +2 -2
  65. package/dist/watcher.js.map +1 -1
  66. package/dist/web.js +1 -1
  67. package/dist/web.js.map +1 -1
  68. package/dist/workflows/ask.js +1 -1
  69. package/dist/workflows/ask.js.map +1 -1
  70. package/package.json +17 -2
  71. package/bundled-skills/Skill_Seekers/SKILL.md +0 -1722
  72. package/bundled-skills/ab-test-setup/SKILL.md +0 -557
  73. package/bundled-skills/adversarial-verification/SKILL.md +0 -95
  74. package/bundled-skills/agent-sdk-dev/SKILL.md +0 -238
  75. package/bundled-skills/agent-tools/SKILL.md +0 -136
  76. package/bundled-skills/analytics-tracking/SKILL.md +0 -597
  77. package/bundled-skills/artifacts-builder/SKILL.md +0 -89
  78. package/bundled-skills/asana/SKILL.md +0 -13
  79. package/bundled-skills/brand-voice/SKILL.md +0 -481
  80. package/bundled-skills/browser-use/SKILL.md +0 -419
  81. package/bundled-skills/cache-optimization-skill/SKILL.md +0 -179
  82. package/bundled-skills/canvas-design/SKILL.md +0 -147
  83. package/bundled-skills/citation-validator/SKILL.md +0 -203
  84. package/bundled-skills/clangd-lsp/SKILL.md +0 -52
  85. package/bundled-skills/code-simplifier/SKILL.md +0 -13
  86. package/bundled-skills/commit-commands/SKILL.md +0 -258
  87. package/bundled-skills/competitor-alternatives/SKILL.md +0 -795
  88. package/bundled-skills/content-atomizer/SKILL.md +0 -910
  89. package/bundled-skills/content-research-writer/SKILL.md +0 -605
  90. package/bundled-skills/context7/SKILL.md +0 -13
  91. package/bundled-skills/copy-editing/SKILL.md +0 -494
  92. package/bundled-skills/copywriting/SKILL.md +0 -510
  93. package/bundled-skills/csharp-lsp/SKILL.md +0 -40
  94. package/bundled-skills/decision-making-framework/SKILL.md +0 -154
  95. package/bundled-skills/deep-research/SKILL.md +0 -236
  96. package/bundled-skills/developer-growth-analysis/SKILL.md +0 -335
  97. package/bundled-skills/direct-response-copy/SKILL.md +0 -2336
  98. package/bundled-skills/docker-expert/SKILL.md +0 -229
  99. package/bundled-skills/document-skills/SKILL.md +0 -13
  100. package/bundled-skills/documentation-expert/SKILL.md +0 -126
  101. package/bundled-skills/email-sequence/SKILL.md +0 -1061
  102. package/bundled-skills/email-sequences/SKILL.md +0 -910
  103. package/bundled-skills/example-plugin/SKILL.md +0 -72
  104. package/bundled-skills/explanatory-output-style/SKILL.md +0 -82
  105. package/bundled-skills/feature-dev/SKILL.md +0 -458
  106. package/bundled-skills/file-organizer/SKILL.md +0 -466
  107. package/bundled-skills/firebase.disabled/SKILL.md +0 -13
  108. package/bundled-skills/form-cro/SKILL.md +0 -488
  109. package/bundled-skills/free-tool-strategy/SKILL.md +0 -636
  110. package/bundled-skills/frontend-design/SKILL.md +0 -41
  111. package/bundled-skills/frontend-design-offical/SKILL.md +0 -55
  112. package/bundled-skills/gitlab/SKILL.md +0 -13
  113. package/bundled-skills/gopls-lsp/SKILL.md +0 -32
  114. package/bundled-skills/got-controller/SKILL.md +0 -218
  115. package/bundled-skills/greptile/SKILL.md +0 -72
  116. package/bundled-skills/hookify/SKILL.md +0 -376
  117. package/bundled-skills/image-editor/SKILL.md +0 -189
  118. package/bundled-skills/image-enhancer/SKILL.md +0 -109
  119. package/bundled-skills/jdtls-lsp/SKILL.md +0 -49
  120. package/bundled-skills/json-canvas/SKILL.md +0 -654
  121. package/bundled-skills/keyword-research/SKILL.md +0 -559
  122. package/bundled-skills/kotlin-lsp/SKILL.md +0 -28
  123. package/bundled-skills/laravel-boost/SKILL.md +0 -13
  124. package/bundled-skills/launch-strategy/SKILL.md +0 -394
  125. package/bundled-skills/lead-magnet/SKILL.md +0 -393
  126. package/bundled-skills/learning-output-style/SKILL.md +0 -106
  127. package/bundled-skills/linear/SKILL.md +0 -13
  128. package/bundled-skills/lua-lsp/SKILL.md +0 -47
  129. package/bundled-skills/marketing-ideas/SKILL.md +0 -720
  130. package/bundled-skills/marketing-psychology/SKILL.md +0 -534
  131. package/bundled-skills/mcp-builder/SKILL.md +0 -369
  132. package/bundled-skills/meeting-insights-analyzer/SKILL.md +0 -347
  133. package/bundled-skills/memory-evolution-system/SKILL.md +0 -172
  134. package/bundled-skills/multi-lens-thinking/SKILL.md +0 -407
  135. package/bundled-skills/nano-banana-pro/SKILL.md +0 -116
  136. package/bundled-skills/newsletter/SKILL.md +0 -736
  137. package/bundled-skills/notebooklm/SKILL.md +0 -296
  138. package/bundled-skills/obsidian-bases/SKILL.md +0 -634
  139. package/bundled-skills/obsidian-markdown/SKILL.md +0 -651
  140. package/bundled-skills/onboarding-cro/SKILL.md +0 -494
  141. package/bundled-skills/page-cro/SKILL.md +0 -379
  142. package/bundled-skills/paid-ads/SKILL.md +0 -624
  143. package/bundled-skills/paywall-upgrade-cro/SKILL.md +0 -651
  144. package/bundled-skills/php-lsp/SKILL.md +0 -36
  145. package/bundled-skills/playwright/SKILL.md +0 -13
  146. package/bundled-skills/plugin-dev/SKILL.md +0 -434
  147. package/bundled-skills/popup-cro/SKILL.md +0 -520
  148. package/bundled-skills/positioning-angles/SKILL.md +0 -330
  149. package/bundled-skills/pr-review-toolkit/SKILL.md +0 -359
  150. package/bundled-skills/pricing-strategy/SKILL.md +0 -777
  151. package/bundled-skills/proactive-self-improving/SKILL.md +0 -435
  152. package/bundled-skills/programmatic-seo/SKILL.md +0 -714
  153. package/bundled-skills/pyright-lsp/SKILL.md +0 -43
  154. package/bundled-skills/quality-assurance-framework/SKILL.md +0 -168
  155. package/bundled-skills/question-refiner/SKILL.md +0 -160
  156. package/bundled-skills/ralph-loop/SKILL.md +0 -205
  157. package/bundled-skills/refactoring-expert/SKILL.md +0 -103
  158. package/bundled-skills/referral-program/SKILL.md +0 -668
  159. package/bundled-skills/research-executor/SKILL.md +0 -164
  160. package/bundled-skills/review-with-security/SKILL.md +0 -12
  161. package/bundled-skills/rust-analyzer-lsp/SKILL.md +0 -50
  162. package/bundled-skills/schema-markup/SKILL.md +0 -647
  163. package/bundled-skills/security-audit-expert/SKILL.md +0 -124
  164. package/bundled-skills/security-expert/SKILL.md +0 -140
  165. package/bundled-skills/security-guidance/SKILL.md +0 -13
  166. package/bundled-skills/seedance-prompt/SKILL.md +0 -139
  167. package/bundled-skills/self-evolution/SKILL.md +0 -1160
  168. package/bundled-skills/seo-audit/SKILL.md +0 -432
  169. package/bundled-skills/seo-content/SKILL.md +0 -787
  170. package/bundled-skills/serena/SKILL.md +0 -13
  171. package/bundled-skills/signup-flow-cro/SKILL.md +0 -409
  172. package/bundled-skills/skill-manager/SKILL.md +0 -226
  173. package/bundled-skills/skill-share/SKILL.md +0 -98
  174. package/bundled-skills/slack/SKILL.md +0 -13
  175. package/bundled-skills/social-content/SKILL.md +0 -878
  176. package/bundled-skills/spec-flow-skill/SKILL.md +0 -124
  177. package/bundled-skills/stripe/SKILL.md +0 -13
  178. package/bundled-skills/supabase/SKILL.md +0 -13
  179. package/bundled-skills/swift-lsp/SKILL.md +0 -40
  180. package/bundled-skills/synthesizer/SKILL.md +0 -236
  181. package/bundled-skills/template-skill/SKILL.md +0 -16
  182. package/bundled-skills/theme-factory/SKILL.md +0 -72
  183. package/bundled-skills/tiktok-research/SKILL.md +0 -208
  184. package/bundled-skills/typescript-lsp/SKILL.md +0 -36
  185. package/bundled-skills/ui-ux-pro-max/SKILL.md +0 -247
  186. package/bundled-skills/visual-prompt-engineer/SKILL.md +0 -102
  187. package/bundled-skills/webapp-testing/SKILL.md +0 -111
  188. package/bundled-skills/wide-research/SKILL.md +0 -191
@@ -1,13 +0,0 @@
1
- ---
2
- id: "gitlab"
3
- title: "gitlab"
4
- category: "dev-tools"
5
- tags: ["gitlab"]
6
- triggers: []
7
- dependencies: []
8
- source: "E:/Bobo's Coding cache/.claude/skills/gitlab"
9
- ---
10
-
11
- # gitlab
12
-
13
- Skill directory: gitlab
@@ -1,32 +0,0 @@
1
- ---
2
- id: "gopls-lsp"
3
- title: "gopls-lsp"
4
- category: "other"
5
- tags: ["gopls-lsp", "supported extensions", "installation", "more information"]
6
- triggers: []
7
- dependencies: []
8
- source: "E:/Bobo's Coding cache/.claude/skills/gopls-lsp"
9
- ---
10
-
11
- # gopls-lsp
12
-
13
- Go language server for Claude Code, providing code intelligence, refactoring, and analysis.
14
-
15
- ## Supported Extensions
16
-
17
- `.go`
18
-
19
- ## Installation
20
-
21
- Install gopls using the Go toolchain:
22
-
23
- ```bash
24
- go install golang.org/x/tools/gopls@latest
25
- ```
26
-
27
- Make sure `$GOPATH/bin` (or `$HOME/go/bin`) is in your PATH.
28
-
29
- ## More Information
30
-
31
- - [gopls Documentation](https://pkg.go.dev/golang.org/x/tools/gopls)
32
- - [GitHub Repository](https://github.com/golang/tools/tree/master/gopls)
@@ -1,218 +0,0 @@
1
- ---
2
- id: "got-controller"
3
- title: "GoT Controller"
4
- category: "research"
5
- tags: ["got controller", "role", "what is graph of thoughts?", "core got operations", "decision logic", "graph state management", "got graph state", "tool usage", "best practices", "examples"]
6
- triggers: []
7
- dependencies: []
8
- source: "E:/Bobo's Coding cache/.claude/skills/got-controller"
9
- ---
10
-
11
- ---
12
- name: got-controller
13
- description: Graph of Thoughts (GoT) Controller - 管理研究图状态,执行图操作(Generate, Aggregate, Refine, Score),优化研究路径质量。当研究主题复杂或多方面、需要策略性探索(深度 vs 广度)、高质量研究时使用此技能。
14
- ---
15
-
16
- # GoT Controller
17
-
18
- ## Role
19
-
20
- You are a **Graph of Thoughts (GoT) Controller** responsible for managing research as a graph operations framework. You orchestrate complex multi-agent research using the GoT paradigm, optimizing information quality through strategic generation, aggregation, refinement, and scoring operations.
21
-
22
- ## What is Graph of Thoughts?
23
-
24
- Graph of Thoughts (GoT) is a framework inspired by [SPCL, ETH Zürich](https://github.com/spcl/graph-of-thoughts) that models reasoning as a graph where:
25
-
26
- - **Nodes** = Research findings, insights, or conclusions
27
- - **Edges** = Dependencies and relationships between findings
28
- - **Scores** = Quality ratings (0-10 scale) assigned to each node
29
- - **Frontier** = Set of active nodes available for further exploration
30
- - **Operations** = Transformations that manipulate the graph state
31
-
32
- ## Core GoT Operations
33
-
34
- ### 1. Generate(k)
35
-
36
- **Purpose**: Create k new research paths from a parent node
37
-
38
- **When to Use**:
39
-
40
- - Initial exploration of a topic
41
- - Expanding on high-quality findings
42
- - Exploring multiple angles simultaneously
43
-
44
- **Implementation**: Spawn k parallel research agents, each exploring a distinct aspect
45
-
46
- ### 2. Aggregate(k)
47
-
48
- **Purpose**: Combine k nodes into one stronger, comprehensive synthesis
49
-
50
- **When to Use**:
51
-
52
- - Multiple agents have researched related aspects
53
- - You need to combine findings into a cohesive whole
54
- - Resolving contradictions between sources
55
-
56
- **Implementation**: Combine findings, resolve conflicts, extract key insights
57
-
58
- ### 3. Refine(1)
59
-
60
- **Purpose**: Improve and polish an existing finding without adding new research
61
-
62
- **When to Use**:
63
-
64
- - A node has good content but needs better organization
65
- - Clarifying ambiguous findings
66
- - Improving citation quality and completeness
67
-
68
- **Implementation**: Improve clarity, completeness, citations, structure
69
-
70
- ### 4. Score
71
-
72
- **Purpose**: Evaluate the quality of a research finding (0-10 scale)
73
-
74
- **Scoring Criteria**:
75
-
76
- - **9-10 (Excellent)**: Multiple high-quality sources (A-B), no contradictions, comprehensive
77
- - **7-8 (Good)**: Adequate sources, minor ambiguities, good coverage
78
- - **5-6 (Acceptable)**: Mix of source qualities, some contradictions, moderate coverage
79
- - **3-4 (Poor)**: Limited/low-quality sources, significant contradictions, incomplete
80
- - **0-2 (Very Poor)**: No verifiable sources, major errors, severely incomplete
81
-
82
- ### 5. KeepBestN(n)
83
-
84
- **Purpose**: Prune low-quality nodes, keeping only the top n at each level
85
-
86
- **When to Use**:
87
-
88
- - Managing graph complexity
89
- - Focusing resources on high-quality paths
90
- - Preventing exponential growth of nodes
91
-
92
- ## GoT Research Execution Patterns
93
-
94
- ### Pattern 1: Balanced Exploration (Most Common)
95
-
96
- **Use for**: Most research scenarios - balance breadth and depth
97
-
98
- ```
99
- Iteration 1: Generate(4) from root
100
- → 4 parallel research paths
101
- → Score: [7.2, 8.5, 6.8, 7.9]
102
-
103
- Iteration 2: Strategy based on scores
104
- → High score (8.5): Generate(2) - explore deeper
105
- → Medium scores (7.2, 7.9): Refine(1) each
106
- → Low score (6.8): Discard
107
-
108
- Iteration 3: Aggregate(3) best nodes
109
- → 1 synthesis node
110
-
111
- Iteration 4: Refine(1) synthesis
112
- → Final output
113
- ```
114
-
115
- ### Pattern 2: Breadth-First Exploration
116
-
117
- **Use for**: Initial research on broad topics
118
-
119
- ```
120
- Iteration 1: Generate(5) from root
121
- → Score all 5 nodes
122
- → KeepBestN(3)
123
-
124
- Iteration 2: Generate(2) from each of the 3 best nodes
125
- → Score all 6 nodes
126
- → KeepBestN(3)
127
-
128
- Iteration 3: Aggregate(3) best nodes
129
- → Final synthesis
130
- ```
131
-
132
- ### Pattern 3: Depth-First Exploration
133
-
134
- **Use for**: Deep dive into specific high-value aspects
135
-
136
- ```
137
- Iteration 1: Generate(3) from root
138
- → Identify best node (e.g., score 8.5)
139
-
140
- Iteration 2: Generate(3) from best node only
141
- → Score and KeepBestN(1)
142
-
143
- Iteration 3: Generate(2) from best child node
144
- → Score and KeepBestN(1)
145
-
146
- Iteration 4: Refine(1) final deep finding
147
- ```
148
-
149
- ## Decision Logic
150
-
151
- - **Generate**: Starting new paths, exploring multiple aspects, diving deeper (threshold: score ≥ 7.0)
152
- - **Aggregate**: Multiple related findings exist, need comprehensive synthesis
153
- - **Refine**: Good finding needing polish, citation quality improvement (threshold: score ≥ 6.0)
154
- - **Prune**: Too many nodes, low-quality findings (criteria: score < 6.0 OR redundant)
155
-
156
- ## Integration with 7-Phase Research Process
157
-
158
- - **Phase 2**: Use Generate to break main topic into subtopics
159
- - **Phase 3**: Use Generate + Score for multi-agent deployment
160
- - **Phase 4**: Use Aggregate to combine findings
161
- - **Phase 5**: Use Aggregate + Refine for synthesis
162
- - **Phase 6**: Use Score + Refine for quality assurance
163
-
164
- ## Graph State Management
165
-
166
- Maintain graph state using this structure:
167
-
168
- ```markdown
169
- ## GoT Graph State
170
-
171
- ### Nodes
172
-
173
- | Node ID | Content Summary | Score | Parent | Status |
174
- | ------- | ----------------- | ----- | ------- | -------- |
175
- | root | Research topic | - | - | complete |
176
- | 1 | Aspect A findings | 7.2 | root | complete |
177
- | final | Synthesis | 9.3 | [1,2,3] | complete |
178
-
179
- ### Operations Log
180
-
181
- 1. Generate(4) from root → nodes [1,2,3,4]
182
- 2. Score all nodes → [7.2, 8.5, 6.8, 7.9]
183
- 3. Aggregate(4) → final synthesis
184
- ```
185
-
186
- ## Tool Usage
187
-
188
- ### Task Tool (Multi-Agent Deployment)
189
-
190
- Launch multiple Task agents in ONE response for Generate operations
191
-
192
- ### TodoWrite (Progress Tracking)
193
-
194
- Track GoT operations: Generate(k), Score, KeepBestN(n), Aggregate(k), Refine(1)
195
-
196
- ### Read/Write (Graph Persistence)
197
-
198
- Save graph state to files: `research_notes/got_graph_state.md`, `research_notes/got_operations_log.md`
199
-
200
- ## Best Practices
201
-
202
- 1. **Start Simple**: First iteration: Generate(3-5) from root
203
- 2. **Prune Aggressively**: If score < 6.0, prune immediately
204
- 3. **Aggregate Strategically**: After 2-3 rounds of generation
205
- 4. **Refine Selectively**: Only refine nodes with score ≥ 7.0
206
- 5. **Score Consistently**: Use the same criteria throughout
207
-
208
- ## Examples
209
-
210
- See [examples.md](examples.md) for detailed usage examples.
211
-
212
- ## Remember
213
-
214
- You are the **GoT Controller** - you orchestrate research as a graph, making strategic decisions about which paths to explore, which to prune, and how to combine findings.
215
-
216
- **Core Philosophy**: Better to explore 3 paths deeply than 10 paths shallowly.
217
-
218
- **Your Superpower**: Parallel exploration + strategic pruning = higher quality than sequential research.
@@ -1,72 +0,0 @@
1
- ---
2
- id: "greptile"
3
- title: "Greptile"
4
- category: "other"
5
- tags: ["greptile", "setup", "available tools", "example usage", "documentation"]
6
- triggers: []
7
- dependencies: []
8
- source: "E:/Bobo's Coding cache/.claude/skills/greptile"
9
- ---
10
-
11
- # Greptile
12
-
13
- [Greptile](https://greptile.com) is an AI code review agent for GitHub and GitLab that automatically reviews pull requests. This plugin connects Claude Code to your Greptile account, letting you view and resolve Greptile's review comments directly from your terminal.
14
-
15
- ## Setup
16
-
17
- ### 1. Create a Greptile Account
18
-
19
- Sign up at [greptile.com](https://greptile.com) and connect your GitHub or GitLab repositories.
20
-
21
- ### 2. Get Your API Key
22
-
23
- 1. Go to [API Settings](https://app.greptile.com/settings/api)
24
- 2. Generate a new API key
25
- 3. Copy the key
26
-
27
- ### 3. Set Environment Variable
28
-
29
- Add to your shell profile (`.bashrc`, `.zshrc`, etc.):
30
-
31
- ```bash
32
- export GREPTILE_API_KEY="your-api-key-here"
33
- ```
34
-
35
- Then reload your shell or run `source ~/.zshrc`.
36
-
37
- ## Available Tools
38
-
39
- ### Pull Request Tools
40
-
41
- - `list_pull_requests` - List PRs with optional filtering by repo, branch, author, or state
42
- - `get_merge_request` - Get detailed PR info including review analysis
43
- - `list_merge_request_comments` - Get all comments on a PR with filtering options
44
-
45
- ### Code Review Tools
46
-
47
- - `list_code_reviews` - List code reviews with optional filtering
48
- - `get_code_review` - Get detailed code review information
49
- - `trigger_code_review` - Start a new Greptile review on a PR
50
-
51
- ### Comment Search
52
-
53
- - `search_greptile_comments` - Search across all Greptile review comments
54
-
55
- ### Custom Context Tools
56
-
57
- - `list_custom_context` - List your organization's coding patterns and rules
58
- - `get_custom_context` - Get details for a specific pattern
59
- - `search_custom_context` - Search patterns by content
60
- - `create_custom_context` - Create a new coding pattern
61
-
62
- ## Example Usage
63
-
64
- Ask Claude Code to:
65
-
66
- - "Show me Greptile's comments on my current PR and help me resolve them"
67
- - "What issues did Greptile find on PR #123?"
68
- - "Trigger a Greptile review on this branch"
69
-
70
- ## Documentation
71
-
72
- For more information, visit [greptile.com/docs](https://greptile.com/docs).
@@ -1,376 +0,0 @@
1
- ---
2
- id: "hookify"
3
- title: "Hookify Plugin"
4
- category: "dev-tools"
5
- tags: ["hookify plugin", "overview", "quick start", "usage", "rule configuration format", "event types", "pattern syntax", "examples", "advanced usage", "management"]
6
- triggers: []
7
- dependencies: []
8
- source: "E:/Bobo's Coding cache/.claude/skills/hookify"
9
- ---
10
-
11
- # Hookify Plugin
12
-
13
- Easily create custom hooks to prevent unwanted behaviors by analyzing conversation patterns or from explicit instructions.
14
-
15
- ## Overview
16
-
17
- The hookify plugin makes it simple to create hooks without editing complex `hooks.json` files. Instead, you create lightweight markdown configuration files that define patterns to watch for and messages to show when those patterns match.
18
-
19
- **Key features:**
20
-
21
- - 🎯 Analyze conversations to find unwanted behaviors automatically
22
- - 📝 Simple markdown configuration files with YAML frontmatter
23
- - 🔍 Regex pattern matching for powerful rules
24
- - 🚀 No coding required - just describe the behavior
25
- - 🔄 Easy enable/disable without restarting
26
-
27
- ## Quick Start
28
-
29
- ### 1. Create Your First Rule
30
-
31
- ```bash
32
- /hookify Warn me when I use rm -rf commands
33
- ```
34
-
35
- This analyzes your request and creates `.claude/hookify.warn-rm.local.md`.
36
-
37
- ### 2. Test It Immediately
38
-
39
- **No restart needed!** Rules take effect on the very next tool use.
40
-
41
- Ask Claude to run a command that should trigger the rule:
42
-
43
- ```
44
- Run rm -rf /tmp/test
45
- ```
46
-
47
- You should see the warning message immediately!
48
-
49
- ## Usage
50
-
51
- ### Main Command: /hookify
52
-
53
- **With arguments:**
54
-
55
- ```
56
- /hookify Don't use console.log in TypeScript files
57
- ```
58
-
59
- Creates a rule from your explicit instructions.
60
-
61
- **Without arguments:**
62
-
63
- ```
64
- /hookify
65
- ```
66
-
67
- Analyzes recent conversation to find behaviors you've corrected or been frustrated by.
68
-
69
- ### Helper Commands
70
-
71
- **List all rules:**
72
-
73
- ```
74
- /hookify:list
75
- ```
76
-
77
- **Configure rules interactively:**
78
-
79
- ```
80
- /hookify:configure
81
- ```
82
-
83
- Enable/disable existing rules through an interactive interface.
84
-
85
- **Get help:**
86
-
87
- ```
88
- /hookify:help
89
- ```
90
-
91
- ## Rule Configuration Format
92
-
93
- ### Simple Rule (Single Pattern)
94
-
95
- `.claude/hookify.dangerous-rm.local.md`:
96
-
97
- ```markdown
98
- ---
99
- name: block-dangerous-rm
100
- enabled: true
101
- event: bash
102
- pattern: rm\s+-rf
103
- action: block
104
- ---
105
-
106
- ⚠️ **Dangerous rm command detected!**
107
-
108
- This command could delete important files. Please:
109
-
110
- - Verify the path is correct
111
- - Consider using a safer approach
112
- - Make sure you have backups
113
- ```
114
-
115
- **Action field:**
116
-
117
- - `warn`: Shows warning but allows operation (default)
118
- - `block`: Prevents operation from executing (PreToolUse) or stops session (Stop events)
119
-
120
- ### Advanced Rule (Multiple Conditions)
121
-
122
- `.claude/hookify.sensitive-files.local.md`:
123
-
124
- ```markdown
125
- ---
126
- name: warn-sensitive-files
127
- enabled: true
128
- event: file
129
- action: warn
130
- conditions:
131
- - field: file_path
132
- operator: regex_match
133
- pattern: \.env$|credentials|secrets
134
- - field: new_text
135
- operator: contains
136
- pattern: KEY
137
- ---
138
-
139
- 🔐 **Sensitive file edit detected!**
140
-
141
- Ensure credentials are not hardcoded and file is in .gitignore.
142
- ```
143
-
144
- **All conditions must match** for the rule to trigger.
145
-
146
- ## Event Types
147
-
148
- - **`bash`**: Triggers on Bash tool commands
149
- - **`file`**: Triggers on Edit, Write, MultiEdit tools
150
- - **`stop`**: Triggers when Claude wants to stop (for completion checks)
151
- - **`prompt`**: Triggers on user prompt submission
152
- - **`all`**: Triggers on all events
153
-
154
- ## Pattern Syntax
155
-
156
- Use Python regex syntax:
157
-
158
- | Pattern | Matches | Example |
159
- | ---------------- | -------------------- | ------------------- |
160
- | `rm\s+-rf` | rm -rf | rm -rf /tmp |
161
- | `console\.log\(` | console.log( | console.log("test") |
162
- | `(eval\|exec)\(` | eval( or exec( | eval("code") |
163
- | `\.env$` | files ending in .env | .env, .env.local |
164
- | `chmod\s+777` | chmod 777 | chmod 777 file.txt |
165
-
166
- **Tips:**
167
-
168
- - Use `\s` for whitespace
169
- - Escape special chars: `\.` for literal dot
170
- - Use `|` for OR: `(foo|bar)`
171
- - Use `.*` to match anything
172
- - Set `action: block` for dangerous operations
173
- - Set `action: warn` (or omit) for informational warnings
174
-
175
- ## Examples
176
-
177
- ### Example 1: Block Dangerous Commands
178
-
179
- ```markdown
180
- ---
181
- name: block-destructive-ops
182
- enabled: true
183
- event: bash
184
- pattern: rm\s+-rf|dd\s+if=|mkfs|format
185
- action: block
186
- ---
187
-
188
- 🛑 **Destructive operation detected!**
189
-
190
- This command can cause data loss. Operation blocked for safety.
191
- Please verify the exact path and use a safer approach.
192
- ```
193
-
194
- **This rule blocks the operation** - Claude will not be allowed to execute these commands.
195
-
196
- ### Example 2: Warn About Debug Code
197
-
198
- ```markdown
199
- ---
200
- name: warn-debug-code
201
- enabled: true
202
- event: file
203
- pattern: console\.log\(|debugger;|print\(
204
- action: warn
205
- ---
206
-
207
- 🐛 **Debug code detected**
208
-
209
- Remember to remove debugging statements before committing.
210
- ```
211
-
212
- **This rule warns but allows** - Claude sees the message but can still proceed.
213
-
214
- ### Example 3: Require Tests Before Stopping
215
-
216
- ```markdown
217
- ---
218
- name: require-tests-run
219
- enabled: false
220
- event: stop
221
- action: block
222
- conditions:
223
- - field: transcript
224
- operator: not_contains
225
- pattern: npm test|pytest|cargo test
226
- ---
227
-
228
- **Tests not detected in transcript!**
229
-
230
- Before stopping, please run tests to verify your changes work correctly.
231
- ```
232
-
233
- **This blocks Claude from stopping** if no test commands appear in the session transcript. Enable only when you want strict enforcement.
234
-
235
- ## Advanced Usage
236
-
237
- ### Multiple Conditions
238
-
239
- Check multiple fields simultaneously:
240
-
241
- ```markdown
242
- ---
243
- name: api-key-in-typescript
244
- enabled: true
245
- event: file
246
- conditions:
247
- - field: file_path
248
- operator: regex_match
249
- pattern: \.tsx?$
250
- - field: new_text
251
- operator: regex_match
252
- pattern: (API_KEY|SECRET|TOKEN)\s*=\s*["']
253
- ---
254
-
255
- 🔐 **Hardcoded credential in TypeScript!**
256
-
257
- Use environment variables instead of hardcoded values.
258
- ```
259
-
260
- ### Operators Reference
261
-
262
- - `regex_match`: Pattern must match (most common)
263
- - `contains`: String must contain pattern
264
- - `equals`: Exact string match
265
- - `not_contains`: String must NOT contain pattern
266
- - `starts_with`: String starts with pattern
267
- - `ends_with`: String ends with pattern
268
-
269
- ### Field Reference
270
-
271
- **For bash events:**
272
-
273
- - `command`: The bash command string
274
-
275
- **For file events:**
276
-
277
- - `file_path`: Path to file being edited
278
- - `new_text`: New content being added (Edit, Write)
279
- - `old_text`: Old content being replaced (Edit only)
280
- - `content`: File content (Write only)
281
-
282
- **For prompt events:**
283
-
284
- - `user_prompt`: The user's submitted prompt text
285
-
286
- **For stop events:**
287
-
288
- - Use general matching on session state
289
-
290
- ## Management
291
-
292
- ### Enable/Disable Rules
293
-
294
- **Temporarily disable:**
295
- Edit the `.local.md` file and set `enabled: false`
296
-
297
- **Re-enable:**
298
- Set `enabled: true`
299
-
300
- **Or use interactive tool:**
301
-
302
- ```
303
- /hookify:configure
304
- ```
305
-
306
- ### Delete Rules
307
-
308
- Simply delete the `.local.md` file:
309
-
310
- ```bash
311
- rm .claude/hookify.my-rule.local.md
312
- ```
313
-
314
- ### View All Rules
315
-
316
- ```
317
- /hookify:list
318
- ```
319
-
320
- ## Installation
321
-
322
- This plugin is part of the Claude Code Marketplace. It should be auto-discovered when the marketplace is installed.
323
-
324
- **Manual testing:**
325
-
326
- ```bash
327
- cc --plugin-dir /path/to/hookify
328
- ```
329
-
330
- ## Requirements
331
-
332
- - Python 3.7+
333
- - No external dependencies (uses stdlib only)
334
-
335
- ## Troubleshooting
336
-
337
- **Rule not triggering:**
338
-
339
- 1. Check rule file exists in `.claude/` directory (in project root, not plugin directory)
340
- 2. Verify `enabled: true` in frontmatter
341
- 3. Test regex pattern separately
342
- 4. Rules should work immediately - no restart needed
343
- 5. Try `/hookify:list` to see if rule is loaded
344
-
345
- **Import errors:**
346
-
347
- - Ensure Python 3 is available: `python3 --version`
348
- - Check hookify plugin is installed
349
-
350
- **Pattern not matching:**
351
-
352
- - Test regex: `python3 -c "import re; print(re.search(r'pattern', 'text'))"`
353
- - Use unquoted patterns in YAML to avoid escaping issues
354
- - Start simple, then add complexity
355
-
356
- **Hook seems slow:**
357
-
358
- - Keep patterns simple (avoid complex regex)
359
- - Use specific event types (bash, file) instead of "all"
360
- - Limit number of active rules
361
-
362
- ## Contributing
363
-
364
- Found a useful rule pattern? Consider sharing example files via PR!
365
-
366
- ## Future Enhancements
367
-
368
- - Severity levels (error/warning/info distinctions)
369
- - Rule templates library
370
- - Interactive pattern builder
371
- - Hook testing utilities
372
- - JSON format support (in addition to markdown)
373
-
374
- ## License
375
-
376
- MIT License