@brookmind/ai-toolkit 1.0.5 → 1.1.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.
Files changed (152) hide show
  1. package/README.md +54 -14
  2. package/agents/code-reviewer.md +6 -1
  3. package/agents/code-simplifier.md +52 -0
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/index.js +257 -220
  6. package/dist/index.js.map +1 -1
  7. package/mcps/context7/.mcp.json +13 -0
  8. package/mcps/expo-mcp/.mcp.json +13 -0
  9. package/mcps/figma-mcp/.mcp.json +4 -6
  10. package/package.json +4 -4
  11. package/skills/pdf-processing-pro/FORMS.md +610 -0
  12. package/skills/pdf-processing-pro/OCR.md +137 -0
  13. package/skills/pdf-processing-pro/SKILL.md +296 -0
  14. package/skills/pdf-processing-pro/TABLES.md +626 -0
  15. package/skills/pdf-processing-pro/scripts/analyze_form.py +307 -0
  16. package/skills/react-best-practices/AGENTS.md +915 -0
  17. package/skills/react-best-practices/README.md +127 -0
  18. package/skills/react-best-practices/SKILL.md +110 -0
  19. package/skills/react-best-practices/metadata.json +14 -0
  20. package/skills/react-best-practices/rules/_sections.md +41 -0
  21. package/skills/react-best-practices/rules/_template.md +28 -0
  22. package/skills/react-best-practices/rules/advanced-event-handler-refs.md +80 -0
  23. package/skills/react-best-practices/rules/advanced-use-latest.md +76 -0
  24. package/skills/react-best-practices/rules/async-defer-await.md +80 -0
  25. package/skills/react-best-practices/rules/async-dependencies.md +36 -0
  26. package/skills/react-best-practices/rules/async-parallel.md +28 -0
  27. package/skills/react-best-practices/rules/async-suspense-boundaries.md +100 -0
  28. package/skills/react-best-practices/rules/bundle-barrel-imports.md +42 -0
  29. package/skills/react-best-practices/rules/bundle-conditional.md +106 -0
  30. package/skills/react-best-practices/rules/bundle-preload.md +44 -0
  31. package/skills/react-best-practices/rules/client-event-listeners.md +131 -0
  32. package/skills/react-best-practices/rules/client-swr-dedup.md +133 -0
  33. package/skills/react-best-practices/rules/js-batch-dom-css.md +82 -0
  34. package/skills/react-best-practices/rules/js-cache-function-results.md +80 -0
  35. package/skills/react-best-practices/rules/js-cache-property-access.md +28 -0
  36. package/skills/react-best-practices/rules/js-cache-storage.md +70 -0
  37. package/skills/react-best-practices/rules/js-combine-iterations.md +32 -0
  38. package/skills/react-best-practices/rules/js-early-exit.md +50 -0
  39. package/skills/react-best-practices/rules/js-hoist-regexp.md +45 -0
  40. package/skills/react-best-practices/rules/js-index-maps.md +37 -0
  41. package/skills/react-best-practices/rules/js-length-check-first.md +49 -0
  42. package/skills/react-best-practices/rules/js-min-max-loop.md +82 -0
  43. package/skills/react-best-practices/rules/js-set-map-lookups.md +24 -0
  44. package/skills/react-best-practices/rules/js-tosorted-immutable.md +57 -0
  45. package/skills/react-best-practices/rules/rendering-activity.md +90 -0
  46. package/skills/react-best-practices/rules/rendering-animate-svg-wrapper.md +47 -0
  47. package/skills/react-best-practices/rules/rendering-conditional-render.md +40 -0
  48. package/skills/react-best-practices/rules/rendering-content-visibility.md +38 -0
  49. package/skills/react-best-practices/rules/rendering-hoist-jsx.md +65 -0
  50. package/skills/react-best-practices/rules/rendering-svg-precision.md +28 -0
  51. package/skills/react-best-practices/rules/rerender-defer-reads.md +39 -0
  52. package/skills/react-best-practices/rules/rerender-dependencies.md +45 -0
  53. package/skills/react-best-practices/rules/rerender-derived-state.md +29 -0
  54. package/skills/react-best-practices/rules/rerender-functional-setstate.md +74 -0
  55. package/skills/react-best-practices/rules/rerender-lazy-state-init.md +58 -0
  56. package/skills/react-best-practices/rules/rerender-memo.md +85 -0
  57. package/skills/react-best-practices/rules/rerender-transitions.md +40 -0
  58. package/themes/README.md +68 -0
  59. package/themes/claude-vivid.json +72 -0
  60. package/mcps/context7/.claude-plugin +0 -1
  61. package/mcps/context7/README.md +0 -1
  62. package/mcps/context7/server.json +0 -1
  63. package/mcps/expo-mcp/README.md +0 -33
  64. package/mcps/expo-mcp/package.json +0 -30
  65. package/mcps/figma-mcp/README.md +0 -554
  66. package/mcps/figma-mcp/server.json +0 -17
  67. package/mcps/figma-mcp/skills/code-connect-components +0 -1
  68. package/mcps/figma-mcp/skills/create-design-system-rules +0 -1
  69. package/mcps/figma-mcp/skills/implement-design +0 -1
  70. package/mcps/pg-aiguide/.claude-plugin +0 -1
  71. package/mcps/pg-aiguide/CLAUDE.md +0 -21
  72. package/mcps/pg-aiguide/README.md +0 -275
  73. package/mcps/pg-aiguide/skills/design-postgres-tables +0 -1
  74. package/mcps/pg-aiguide/skills/find-hypertable-candidates +0 -1
  75. package/mcps/pg-aiguide/skills/migrate-postgres-tables-to-hypertables +0 -1
  76. package/mcps/pg-aiguide/skills/setup-timescaledb-hypertables +0 -1
  77. package/mcps/pg-aiguide/skills.yaml +0 -4
  78. package/skills/cloudflare-cli/SKILL.md +0 -151
  79. package/skills/docx/LICENSE.txt +0 -30
  80. package/skills/docx/SKILL.md +0 -197
  81. package/skills/docx/docx-js.md +0 -350
  82. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +0 -1499
  83. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +0 -146
  84. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +0 -1085
  85. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +0 -11
  86. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +0 -3081
  87. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +0 -23
  88. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +0 -185
  89. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +0 -287
  90. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +0 -1676
  91. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +0 -28
  92. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +0 -144
  93. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +0 -174
  94. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +0 -25
  95. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +0 -18
  96. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +0 -59
  97. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +0 -56
  98. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +0 -195
  99. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +0 -582
  100. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +0 -25
  101. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +0 -4439
  102. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +0 -570
  103. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +0 -509
  104. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +0 -12
  105. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +0 -108
  106. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +0 -96
  107. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +0 -3646
  108. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +0 -116
  109. package/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +0 -42
  110. package/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +0 -50
  111. package/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +0 -49
  112. package/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +0 -33
  113. package/skills/docx/ooxml/schemas/mce/mc.xsd +0 -75
  114. package/skills/docx/ooxml/schemas/microsoft/wml-2010.xsd +0 -560
  115. package/skills/docx/ooxml/schemas/microsoft/wml-2012.xsd +0 -67
  116. package/skills/docx/ooxml/schemas/microsoft/wml-2018.xsd +0 -14
  117. package/skills/docx/ooxml/schemas/microsoft/wml-cex-2018.xsd +0 -20
  118. package/skills/docx/ooxml/schemas/microsoft/wml-cid-2016.xsd +0 -13
  119. package/skills/docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +0 -4
  120. package/skills/docx/ooxml/schemas/microsoft/wml-symex-2015.xsd +0 -8
  121. package/skills/docx/ooxml/scripts/pack.py +0 -159
  122. package/skills/docx/ooxml/scripts/unpack.py +0 -29
  123. package/skills/docx/ooxml/scripts/validate.py +0 -69
  124. package/skills/docx/ooxml/scripts/validation/__init__.py +0 -15
  125. package/skills/docx/ooxml/scripts/validation/base.py +0 -951
  126. package/skills/docx/ooxml/scripts/validation/docx.py +0 -274
  127. package/skills/docx/ooxml/scripts/validation/pptx.py +0 -315
  128. package/skills/docx/ooxml/scripts/validation/redlining.py +0 -279
  129. package/skills/docx/ooxml.md +0 -610
  130. package/skills/docx/scripts/__init__.py +0 -1
  131. package/skills/docx/scripts/document.py +0 -1276
  132. package/skills/docx/scripts/templates/comments.xml +0 -3
  133. package/skills/docx/scripts/templates/commentsExtended.xml +0 -3
  134. package/skills/docx/scripts/templates/commentsExtensible.xml +0 -3
  135. package/skills/docx/scripts/templates/commentsIds.xml +0 -3
  136. package/skills/docx/scripts/templates/people.xml +0 -3
  137. package/skills/docx/scripts/utilities.py +0 -374
  138. package/skills/pdf/LICENSE.txt +0 -30
  139. package/skills/pdf/SKILL.md +0 -294
  140. package/skills/pdf/forms.md +0 -205
  141. package/skills/pdf/reference.md +0 -612
  142. package/skills/pdf/scripts/check_bounding_boxes.py +0 -70
  143. package/skills/pdf/scripts/check_bounding_boxes_test.py +0 -226
  144. package/skills/pdf/scripts/check_fillable_fields.py +0 -12
  145. package/skills/pdf/scripts/convert_pdf_to_images.py +0 -35
  146. package/skills/pdf/scripts/create_validation_image.py +0 -41
  147. package/skills/pdf/scripts/extract_form_field_info.py +0 -152
  148. package/skills/pdf/scripts/fill_fillable_fields.py +0 -114
  149. package/skills/pdf/scripts/fill_pdf_form_with_annotations.py +0 -108
  150. package/skills/xlsx/LICENSE.txt +0 -30
  151. package/skills/xlsx/SKILL.md +0 -289
  152. package/skills/xlsx/recalc.py +0 -178
@@ -1,275 +0,0 @@
1
- # pg-aiguide
2
-
3
- **AI-optimized PostgreSQL expertise for coding assistants**
4
-
5
- pg-aiguide helps AI coding tools write dramatically better PostgreSQL code. It provides:
6
-
7
- - **Semantic search** across the official PostgreSQL manual (version-aware)
8
- - **AI-optimized “skills”** — curated, opinionated Postgres best practices used automatically by AI agents
9
- - **Extension ecosystem docs**, starting with TimescaleDB, with more coming soon
10
-
11
- Use it either as:
12
-
13
- - a **public MCP server** that can be used with any AI coding agent, or
14
- - a **Claude Code plugin** optimized for use with Claude's native skill support.
15
-
16
- ## ⭐ Why pg-aiguide?
17
-
18
- AI coding tools often generate Postgres code that is:
19
-
20
- - outdated
21
- - missing constraints and indexes
22
- - unaware of modern PG features
23
- - inconsistent with real-world best practices
24
-
25
- pg-aiguide fixes that by giving AI agents deep, versioned PostgreSQL knowledge and proven patterns.
26
-
27
- ### See the difference
28
-
29
- https://github.com/user-attachments/assets/5a426381-09b5-4635-9050-f55422253a3d
30
-
31
- <details>
32
- <summary>Video Transcript </summary>
33
-
34
- Prompt given to Claude Code:
35
-
36
- > Please describe the schema you would create for an e-commerce website two times, first with the tiger mcp server disabled, then with the tiger mcp server enabled. For each time, write the schema to its own file in the current working directory. Then compare the two files and let me know which approach generated the better schema, using both qualitative and quantitative reasons. For this example, only use standard Postgres.
37
-
38
- Result (summarized):
39
-
40
- - **4× more constraints**
41
- - **55% more indexes** (including partial/expression indexes)
42
- - **PG17-recommended patterns**
43
- - **Modern features** (`GENERATED ALWAYS AS IDENTITY`, `NULLS NOT DISTINCT`)
44
- - **Cleaner naming & documentation**
45
-
46
- Conclusion: _pg-aiguide produces more robust, performant, maintainable schemas._
47
-
48
- </details>
49
-
50
- ## 🚀 Quickstart
51
-
52
- pg-aiguide is available as a **public MCP server**:
53
-
54
- [https://mcp.tigerdata.com/docs](https://mcp.tigerdata.com/docs)
55
-
56
- <details>
57
- <summary>Manual MCP configuration using JSON</summary>
58
-
59
- ```json
60
- {
61
- "mcpServers": {
62
- "pg-aiguide": {
63
- "url": "https://mcp.tigerdata.com/docs"
64
- }
65
- }
66
- }
67
- ```
68
-
69
- </details>
70
-
71
- Or it can be used as a **Claude Code Plugin**:
72
-
73
- ```bash
74
- claude plugin marketplace add timescale/pg-aiguide
75
- claude plugin install pg@aiguide
76
- ```
77
-
78
- ### Install by environment
79
-
80
- #### One-click installs
81
-
82
- [![Install in Cursor](https://img.shields.io/badge/Install_in-Cursor-000000?style=flat-square&logoColor=white)](https://cursor.com/en/install-mcp?name=pg-aiguide&config=eyJuYW1lIjoicGctYWlndWlkZSIsInR5cGUiOiJodHRwIiwidXJsIjoiaHR0cHM6Ly9tY3AudGlnZXJkYXRhLmNvbS9kb2NzIn0=)
83
- [![Install in VS Code](https://img.shields.io/badge/Install_in-VS_Code-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://vscode.dev/redirect/mcp/install?name=pg-aiguide&config=%7B%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.tigerdata.com%2Fdocs%22%7D)
84
- [![Install in VS Code Insiders](https://img.shields.io/badge/Install_in-VS_Code_Insiders-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect/mcp/install?name=pg-aiguide&config=%7B%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.tigerdata.com%2Fdocs%22%7D&quality=insiders)
85
- [![Install in Visual Studio](https://img.shields.io/badge/Install_in-Visual_Studio-C16FDE?style=flat-square&logo=visualstudio&logoColor=white)](https://vs-open.link/mcp-install?%7B%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.tigerdata.com%2Fdocs%22%7D)
86
- [![Install in Goose](https://block.github.io/goose/img/extension-install-dark.svg)](https://block.github.io/goose/extension?cmd=&arg=&id=pg-aiguide&name=pg-aiguide&description=MCP%20Server%20for%20pg-aiguide)
87
- [![Add MCP Server pg-aiguide to LM Studio](https://files.lmstudio.ai/deeplink/mcp-install-light.svg)](https://lmstudio.ai/install-mcp?name=pg-aiguide&config=eyJuYW1lIjoicGctYWlndWlkZSIsInR5cGUiOiJodHRwIiwidXJsIjoiaHR0cHM6Ly9tY3AudGlnZXJkYXRhLmNvbS9kb2NzIn0=)
88
-
89
- <details>
90
- <summary>Claude Code</summary>
91
-
92
- This repo serves as a claude code marketplace plugin. To install, run:
93
-
94
- ```bash
95
- claude plugin marketplace add timescale/pg-aiguide
96
- claude plugin install pg@aiguide
97
- ```
98
-
99
- This plugin uses the skills available in the `skills` directory as well as our
100
- publicly available MCP server endpoint hosted by TigerData for searching PostgreSQL documentation.
101
-
102
- </details>
103
-
104
- <details>
105
- <summary> Codex </summary>
106
-
107
- Run the following to add the MCP server to codex:
108
-
109
- ```bash
110
- codex mcp add --url "https://mcp.tigerdata.com/docs" pg-aiguide
111
- ```
112
-
113
- </details>
114
-
115
- <details>
116
- <summary> Cursor </summary>
117
-
118
- One-click install:
119
-
120
- [![Install MCP Server](https://cursor.com/deeplink/mcp-install-dark.svg)](https://cursor.com/en-US/install-mcp?name=pg-aiguide&config=eyJ1cmwiOiJodHRwczovL21jcC50aWdlcmRhdGEuY29tL2RvY3MifQ%3D%3D)
121
-
122
- Or add the following to `.cursor/mcp.json`
123
-
124
- ```json
125
- {
126
- "mcpServers": {
127
- "pg-aiguide": {
128
- "url": "https://mcp.tigerdata.com/docs"
129
- }
130
- }
131
- }
132
- ```
133
-
134
- </details>
135
-
136
- <details>
137
- <summary> Gemini CLI </summary>
138
-
139
- Run the following to add the MCP server to Gemini CLI:
140
-
141
- ```bash
142
- gemini mcp add -s user pg-aiguide "https://mcp.tigerdata.com/docs" -t http
143
- ```
144
-
145
- </details>
146
-
147
- <details>
148
- <summary> Visual Studio </summary>
149
-
150
- Click the button to install:
151
-
152
- [![Install in Visual Studio](https://img.shields.io/badge/Install_in-Visual_Studio-C16FDE?style=flat-square&logo=visualstudio&logoColor=white)](https://vs-open.link/mcp-install?%7B%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.tigerdata.com%2Fdocs%22%7D)
153
-
154
- </details>
155
-
156
- <details>
157
- <summary> VS Code </summary>
158
-
159
- Click the button to install:
160
-
161
- [![Install in VS Code](https://img.shields.io/badge/Install_in-VS_Code-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://vscode.dev/redirect/mcp/install?name=pg-aiguide&config=%7B%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.tigerdata.com%2Fdocs%22%7D)
162
-
163
- Alternatively, run the following to add the MCP server to VS Code:
164
-
165
- ```bash
166
- code --add-mcp '{"name":"pg-aiguide","type":"http","url":"https://mcp.tigerdata.com/docs"}'
167
- ```
168
-
169
- </details>
170
-
171
- <details>
172
- <summary> VS Code Insiders </summary>
173
-
174
- Click the button to install:
175
-
176
- [![Install in VS Code Insiders](https://img.shields.io/badge/Install_in-VS_Code_Insiders-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect/mcp/install?name=pg-aiguide&config=%7B%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.tigerdata.com%2Fdocs%22%7D&quality=insiders)
177
-
178
- Alternatively, run the following to add the MCP server to VS Code Insiders:
179
-
180
- ```bash
181
- code-insiders --add-mcp '{"name":"pg-aiguide","type":"http","url":"https://mcp.tigerdata.com/docs"}'
182
- ```
183
-
184
- </details>
185
-
186
- <details>
187
- <summary> Windsurf </summary>
188
-
189
- Add the following to `~/.codeium/windsurf/mcp_config.json`
190
-
191
- ```json
192
- {
193
- "mcpServers": {
194
- "pg-aiguide": {
195
- "serverUrl": "https://mcp.tigerdata.com/docs"
196
- }
197
- }
198
- }
199
- ```
200
-
201
- </details>
202
-
203
- ### 💡 Your First Prompt
204
-
205
- Once installed, pg-aiguide can answer Postgres questions or design schemas.
206
-
207
- **Simple schema example prompt**
208
-
209
- > Create a Postgres table schema for storing usernames and unique email addresses.
210
-
211
- **Complex schema example prompt**
212
-
213
- > You are a senior software engineer. You are given a task to generate a Postgres schema for an IoT device company.
214
- > The devices collect environmental data on a factory floor. The data includes temperature, humidity, pressure, as
215
- > the main data points as well as other measurements that vary from device to device. Each device has a unique id
216
- > and a human-readable name. We want to record the time the data was collected as well. Analysis for recent data
217
- > includes finding outliers and anomalies based on measurements, as well as analyzing the data of particular devices for ad-hoc analysis. Historical data analysis includes analyzing the history of data for one device or getting statistics for all devices over long periods of time.
218
-
219
- ## Features
220
-
221
- ### Semantic Search (MCP Tools)
222
-
223
- - [**`semantic_search_postgres_docs`**](API.md#semantic_search_postgres_docs)
224
- Performs semantic search over the official PostgreSQL manual, with results scoped to a specific Postgres version.
225
-
226
- - [**`semantic_search_tiger_docs`** ](API.md#semantic_search_tiger_docs)
227
- Searches Tiger Data’s documentation corpus, including TimescaleDB and future ecosystem extensions.
228
-
229
- ### Skills (AI-Optimized Best Practices)
230
-
231
- - **[`view_skill`](API.md#view_skill)**
232
- Exposes curated, opinionated PostgreSQL best-practice skills used automatically by AI coding assistants.
233
-
234
- These skills provide guidance on:
235
- - Schema design
236
- - Indexing strategies
237
- - Data types
238
- - Data integrity and constraints
239
- - Naming conventions
240
- - Performance tuning
241
- - Modern PostgreSQL features
242
-
243
- ## 🔌 Ecosystem Documentation
244
-
245
- Supported today:
246
-
247
- - **TimescaleDB** (docs + skills)
248
-
249
- Coming soon:
250
-
251
- - **pgvector**
252
- - **PostGIS**
253
-
254
- We welcome contributions for additional extensions and tools.
255
-
256
- ## 🛠 Development
257
-
258
- See [DEVELOPMENT.md](DEVELOPMENT.md) for:
259
-
260
- - running the MCP server locally
261
- - adding new skills
262
- - adding new docs
263
-
264
- ## 🤝 Contributing
265
-
266
- We welcome:
267
-
268
- - new Postgres best-practice skills
269
- - additional documentation corpora
270
- - search quality improvements
271
- - bug reports and feature ideas
272
-
273
- ## 📄 License
274
-
275
- Apache 2.0
@@ -1 +0,0 @@
1
- 404: Not Found
@@ -1 +0,0 @@
1
- 404: Not Found
@@ -1 +0,0 @@
1
- 404: Not Found
@@ -1,4 +0,0 @@
1
- ---
2
- local:
3
- type: local_collection
4
- path: ./skills
@@ -1,151 +0,0 @@
1
- ---
2
- name: cloudflare-cli
3
- description: This skill should be used when the user wants to interact with Cloudflare services including Workers, R2 buckets, KV namespaces, D1 databases, DNS, or any Cloudflare-related operations. Use the wrangler CLI instead of MCP tools.
4
- ---
5
-
6
- # Cloudflare CLI Skill
7
-
8
- This skill provides instructions for using the `wrangler` CLI to interact with Cloudflare, replacing the need for Cloudflare MCP servers.
9
-
10
- ## Prerequisites
11
-
12
- Wrangler is already authenticated. Verify with:
13
-
14
- ```bash
15
- npx wrangler whoami
16
- ```
17
-
18
- Account: **DC** (fd6d187f67d843db47f1949aa701ee52)
19
-
20
- ## R2 (Object Storage)
21
-
22
- ```bash
23
- # List buckets
24
- npx wrangler r2 bucket list
25
-
26
- # Create bucket
27
- npx wrangler r2 bucket create <bucket-name>
28
-
29
- # Delete bucket
30
- npx wrangler r2 bucket delete <bucket-name>
31
-
32
- # List objects in bucket
33
- npx wrangler r2 object list <bucket-name>
34
-
35
- # Upload object
36
- npx wrangler r2 object put <bucket-name>/<key> --file=<path>
37
-
38
- # Download object
39
- npx wrangler r2 object get <bucket-name>/<key> --file=<path>
40
-
41
- # Delete object
42
- npx wrangler r2 object delete <bucket-name>/<key>
43
- ```
44
-
45
- ## KV (Key-Value Store)
46
-
47
- ```bash
48
- # List namespaces
49
- npx wrangler kv namespace list
50
-
51
- # Create namespace
52
- npx wrangler kv namespace create <name>
53
-
54
- # Delete namespace
55
- npx wrangler kv namespace delete --namespace-id=<id>
56
-
57
- # List keys
58
- npx wrangler kv key list --namespace-id=<id>
59
-
60
- # Get value
61
- npx wrangler kv key get <key> --namespace-id=<id>
62
-
63
- # Put value
64
- npx wrangler kv key put <key> <value> --namespace-id=<id>
65
-
66
- # Delete key
67
- npx wrangler kv key delete <key> --namespace-id=<id>
68
- ```
69
-
70
- ## D1 (SQL Database)
71
-
72
- ```bash
73
- # List databases
74
- npx wrangler d1 list
75
-
76
- # Create database
77
- npx wrangler d1 create <name>
78
-
79
- # Execute SQL query
80
- npx wrangler d1 execute <database-name> --command="SELECT * FROM table"
81
-
82
- # Execute SQL file
83
- npx wrangler d1 execute <database-name> --file=./schema.sql
84
-
85
- # Export database
86
- npx wrangler d1 export <database-name> --output=backup.sql
87
- ```
88
-
89
- ## Workers
90
-
91
- ```bash
92
- # List workers
93
- npx wrangler deployments list
94
-
95
- # View worker details
96
- npx wrangler deployments status
97
-
98
- # Deploy worker
99
- npx wrangler deploy
100
-
101
- # Tail logs (real-time)
102
- npx wrangler tail <worker-name>
103
-
104
- # View worker code
105
- npx wrangler deployments view
106
- ```
107
-
108
- ## DNS & Zones
109
-
110
- ```bash
111
- # List zones
112
- npx wrangler dns zones list
113
-
114
- # List DNS records
115
- npx wrangler dns records list <zone-id>
116
-
117
- # Create DNS record
118
- npx wrangler dns records create <zone-id> --type=A --name=sub --content=1.2.3.4
119
- ```
120
-
121
- ## Pages
122
-
123
- ```bash
124
- # List projects
125
- npx wrangler pages project list
126
-
127
- # Deploy
128
- npx wrangler pages deploy <directory> --project-name=<name>
129
-
130
- # List deployments
131
- npx wrangler pages deployment list --project-name=<name>
132
- ```
133
-
134
- ## Secrets
135
-
136
- ```bash
137
- # List secrets
138
- npx wrangler secret list
139
-
140
- # Add secret
141
- npx wrangler secret put <name>
142
-
143
- # Delete secret
144
- npx wrangler secret delete <name>
145
- ```
146
-
147
- ## Tips
148
-
149
- - Use `--json` flag for JSON output when available
150
- - Use `--help` on any command for detailed options
151
- - Most commands work with local `wrangler.toml` for project context
@@ -1,30 +0,0 @@
1
- © 2025 Anthropic, PBC. All rights reserved.
2
-
3
- LICENSE: Use of these materials (including all code, prompts, assets, files,
4
- and other components of this Skill) is governed by your agreement with
5
- Anthropic regarding use of Anthropic's services. If no separate agreement
6
- exists, use is governed by Anthropic's Consumer Terms of Service or
7
- Commercial Terms of Service, as applicable:
8
- https://www.anthropic.com/legal/consumer-terms
9
- https://www.anthropic.com/legal/commercial-terms
10
- Your applicable agreement is referred to as the "Agreement." "Services" are
11
- as defined in the Agreement.
12
-
13
- ADDITIONAL RESTRICTIONS: Notwithstanding anything in the Agreement to the
14
- contrary, users may not:
15
-
16
- - Extract these materials from the Services or retain copies of these
17
- materials outside the Services
18
- - Reproduce or copy these materials, except for temporary copies created
19
- automatically during authorized use of the Services
20
- - Create derivative works based on these materials
21
- - Distribute, sublicense, or transfer these materials to any third party
22
- - Make, offer to sell, sell, or import any inventions embodied in these
23
- materials
24
- - Reverse engineer, decompile, or disassemble these materials
25
-
26
- The receipt, viewing, or possession of these materials does not convey or
27
- imply any license or right beyond those expressly granted above.
28
-
29
- Anthropic retains all right, title, and interest in these materials,
30
- including all copyrights, patents, and other intellectual property rights.
@@ -1,197 +0,0 @@
1
- ---
2
- name: docx
3
- description: "Comprehensive document creation, editing, and analysis with support for tracked changes, comments, formatting preservation, and text extraction. When Claude needs to work with professional documents (.docx files) for: (1) Creating new documents, (2) Modifying or editing content, (3) Working with tracked changes, (4) Adding comments, or any other document tasks"
4
- license: Proprietary. LICENSE.txt has complete terms
5
- ---
6
-
7
- # DOCX creation, editing, and analysis
8
-
9
- ## Overview
10
-
11
- A user may ask you to create, edit, or analyze the contents of a .docx file. A .docx file is essentially a ZIP archive containing XML files and other resources that you can read or edit. You have different tools and workflows available for different tasks.
12
-
13
- ## Workflow Decision Tree
14
-
15
- ### Reading/Analyzing Content
16
- Use "Text extraction" or "Raw XML access" sections below
17
-
18
- ### Creating New Document
19
- Use "Creating a new Word document" workflow
20
-
21
- ### Editing Existing Document
22
- - **Your own document + simple changes**
23
- Use "Basic OOXML editing" workflow
24
-
25
- - **Someone else's document**
26
- Use **"Redlining workflow"** (recommended default)
27
-
28
- - **Legal, academic, business, or government docs**
29
- Use **"Redlining workflow"** (required)
30
-
31
- ## Reading and analyzing content
32
-
33
- ### Text extraction
34
- If you just need to read the text contents of a document, you should convert the document to markdown using pandoc. Pandoc provides excellent support for preserving document structure and can show tracked changes:
35
-
36
- ```bash
37
- # Convert document to markdown with tracked changes
38
- pandoc --track-changes=all path-to-file.docx -o output.md
39
- # Options: --track-changes=accept/reject/all
40
- ```
41
-
42
- ### Raw XML access
43
- You need raw XML access for: comments, complex formatting, document structure, embedded media, and metadata. For any of these features, you'll need to unpack a document and read its raw XML contents.
44
-
45
- #### Unpacking a file
46
- `python ooxml/scripts/unpack.py <office_file> <output_directory>`
47
-
48
- #### Key file structures
49
- * `word/document.xml` - Main document contents
50
- * `word/comments.xml` - Comments referenced in document.xml
51
- * `word/media/` - Embedded images and media files
52
- * Tracked changes use `<w:ins>` (insertions) and `<w:del>` (deletions) tags
53
-
54
- ## Creating a new Word document
55
-
56
- When creating a new Word document from scratch, use **docx-js**, which allows you to create Word documents using JavaScript/TypeScript.
57
-
58
- ### Workflow
59
- 1. **MANDATORY - READ ENTIRE FILE**: Read [`docx-js.md`](docx-js.md) (~500 lines) completely from start to finish. **NEVER set any range limits when reading this file.** Read the full file content for detailed syntax, critical formatting rules, and best practices before proceeding with document creation.
60
- 2. Create a JavaScript/TypeScript file using Document, Paragraph, TextRun components (You can assume all dependencies are installed, but if not, refer to the dependencies section below)
61
- 3. Export as .docx using Packer.toBuffer()
62
-
63
- ## Editing an existing Word document
64
-
65
- When editing an existing Word document, use the **Document library** (a Python library for OOXML manipulation). The library automatically handles infrastructure setup and provides methods for document manipulation. For complex scenarios, you can access the underlying DOM directly through the library.
66
-
67
- ### Workflow
68
- 1. **MANDATORY - READ ENTIRE FILE**: Read [`ooxml.md`](ooxml.md) (~600 lines) completely from start to finish. **NEVER set any range limits when reading this file.** Read the full file content for the Document library API and XML patterns for directly editing document files.
69
- 2. Unpack the document: `python ooxml/scripts/unpack.py <office_file> <output_directory>`
70
- 3. Create and run a Python script using the Document library (see "Document Library" section in ooxml.md)
71
- 4. Pack the final document: `python ooxml/scripts/pack.py <input_directory> <office_file>`
72
-
73
- The Document library provides both high-level methods for common operations and direct DOM access for complex scenarios.
74
-
75
- ## Redlining workflow for document review
76
-
77
- This workflow allows you to plan comprehensive tracked changes using markdown before implementing them in OOXML. **CRITICAL**: For complete tracked changes, you must implement ALL changes systematically.
78
-
79
- **Batching Strategy**: Group related changes into batches of 3-10 changes. This makes debugging manageable while maintaining efficiency. Test each batch before moving to the next.
80
-
81
- **Principle: Minimal, Precise Edits**
82
- When implementing tracked changes, only mark text that actually changes. Repeating unchanged text makes edits harder to review and appears unprofessional. Break replacements into: [unchanged text] + [deletion] + [insertion] + [unchanged text]. Preserve the original run's RSID for unchanged text by extracting the `<w:r>` element from the original and reusing it.
83
-
84
- Example - Changing "30 days" to "60 days" in a sentence:
85
- ```python
86
- # BAD - Replaces entire sentence
87
- '<w:del><w:r><w:delText>The term is 30 days.</w:delText></w:r></w:del><w:ins><w:r><w:t>The term is 60 days.</w:t></w:r></w:ins>'
88
-
89
- # GOOD - Only marks what changed, preserves original <w:r> for unchanged text
90
- '<w:r w:rsidR="00AB12CD"><w:t>The term is </w:t></w:r><w:del><w:r><w:delText>30</w:delText></w:r></w:del><w:ins><w:r><w:t>60</w:t></w:r></w:ins><w:r w:rsidR="00AB12CD"><w:t> days.</w:t></w:r>'
91
- ```
92
-
93
- ### Tracked changes workflow
94
-
95
- 1. **Get markdown representation**: Convert document to markdown with tracked changes preserved:
96
- ```bash
97
- pandoc --track-changes=all path-to-file.docx -o current.md
98
- ```
99
-
100
- 2. **Identify and group changes**: Review the document and identify ALL changes needed, organizing them into logical batches:
101
-
102
- **Location methods** (for finding changes in XML):
103
- - Section/heading numbers (e.g., "Section 3.2", "Article IV")
104
- - Paragraph identifiers if numbered
105
- - Grep patterns with unique surrounding text
106
- - Document structure (e.g., "first paragraph", "signature block")
107
- - **DO NOT use markdown line numbers** - they don't map to XML structure
108
-
109
- **Batch organization** (group 3-10 related changes per batch):
110
- - By section: "Batch 1: Section 2 amendments", "Batch 2: Section 5 updates"
111
- - By type: "Batch 1: Date corrections", "Batch 2: Party name changes"
112
- - By complexity: Start with simple text replacements, then tackle complex structural changes
113
- - Sequential: "Batch 1: Pages 1-3", "Batch 2: Pages 4-6"
114
-
115
- 3. **Read documentation and unpack**:
116
- - **MANDATORY - READ ENTIRE FILE**: Read [`ooxml.md`](ooxml.md) (~600 lines) completely from start to finish. **NEVER set any range limits when reading this file.** Pay special attention to the "Document Library" and "Tracked Change Patterns" sections.
117
- - **Unpack the document**: `python ooxml/scripts/unpack.py <file.docx> <dir>`
118
- - **Note the suggested RSID**: The unpack script will suggest an RSID to use for your tracked changes. Copy this RSID for use in step 4b.
119
-
120
- 4. **Implement changes in batches**: Group changes logically (by section, by type, or by proximity) and implement them together in a single script. This approach:
121
- - Makes debugging easier (smaller batch = easier to isolate errors)
122
- - Allows incremental progress
123
- - Maintains efficiency (batch size of 3-10 changes works well)
124
-
125
- **Suggested batch groupings:**
126
- - By document section (e.g., "Section 3 changes", "Definitions", "Termination clause")
127
- - By change type (e.g., "Date changes", "Party name updates", "Legal term replacements")
128
- - By proximity (e.g., "Changes on pages 1-3", "Changes in first half of document")
129
-
130
- For each batch of related changes:
131
-
132
- **a. Map text to XML**: Grep for text in `word/document.xml` to verify how text is split across `<w:r>` elements.
133
-
134
- **b. Create and run script**: Use `get_node` to find nodes, implement changes, then `doc.save()`. See **"Document Library"** section in ooxml.md for patterns.
135
-
136
- **Note**: Always grep `word/document.xml` immediately before writing a script to get current line numbers and verify text content. Line numbers change after each script run.
137
-
138
- 5. **Pack the document**: After all batches are complete, convert the unpacked directory back to .docx:
139
- ```bash
140
- python ooxml/scripts/pack.py unpacked reviewed-document.docx
141
- ```
142
-
143
- 6. **Final verification**: Do a comprehensive check of the complete document:
144
- - Convert final document to markdown:
145
- ```bash
146
- pandoc --track-changes=all reviewed-document.docx -o verification.md
147
- ```
148
- - Verify ALL changes were applied correctly:
149
- ```bash
150
- grep "original phrase" verification.md # Should NOT find it
151
- grep "replacement phrase" verification.md # Should find it
152
- ```
153
- - Check that no unintended changes were introduced
154
-
155
-
156
- ## Converting Documents to Images
157
-
158
- To visually analyze Word documents, convert them to images using a two-step process:
159
-
160
- 1. **Convert DOCX to PDF**:
161
- ```bash
162
- soffice --headless --convert-to pdf document.docx
163
- ```
164
-
165
- 2. **Convert PDF pages to JPEG images**:
166
- ```bash
167
- pdftoppm -jpeg -r 150 document.pdf page
168
- ```
169
- This creates files like `page-1.jpg`, `page-2.jpg`, etc.
170
-
171
- Options:
172
- - `-r 150`: Sets resolution to 150 DPI (adjust for quality/size balance)
173
- - `-jpeg`: Output JPEG format (use `-png` for PNG if preferred)
174
- - `-f N`: First page to convert (e.g., `-f 2` starts from page 2)
175
- - `-l N`: Last page to convert (e.g., `-l 5` stops at page 5)
176
- - `page`: Prefix for output files
177
-
178
- Example for specific range:
179
- ```bash
180
- pdftoppm -jpeg -r 150 -f 2 -l 5 document.pdf page # Converts only pages 2-5
181
- ```
182
-
183
- ## Code Style Guidelines
184
- **IMPORTANT**: When generating code for DOCX operations:
185
- - Write concise code
186
- - Avoid verbose variable names and redundant operations
187
- - Avoid unnecessary print statements
188
-
189
- ## Dependencies
190
-
191
- Required dependencies (install if not available):
192
-
193
- - **pandoc**: `sudo apt-get install pandoc` (for text extraction)
194
- - **docx**: `npm install -g docx` (for creating new documents)
195
- - **LibreOffice**: `sudo apt-get install libreoffice` (for PDF conversion)
196
- - **Poppler**: `sudo apt-get install poppler-utils` (for pdftoppm to convert PDF to images)
197
- - **defusedxml**: `pip install defusedxml` (for secure XML parsing)