@kudoai/ai-personas 1.3.0 → 1.4.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.
package/README.md CHANGED
@@ -1,32 +1,55 @@
1
1
  <a id="top"></a>
2
2
 
3
- # > ai-personas
3
+ <div align="center">
4
+
5
+ # <a href="https://www.kudoai.com"><picture><source media="(prefers-color-scheme: dark)" srcset="https://cdn.jsdelivr.net/gh/KudoAI/kudoai.com@255f8fd/assets/images/icons/kudoai/white-on-black/icon400.png"></picture><img height=155 width="auto" src="https://cdn.jsdelivr.net/gh/KudoAI/kudoai.com@255f8fd/assets/images/icons/kudoai/black-on-white/icon400.png"></a><br>> KudoAI / ai-personas
4
6
 
5
7
  <a href="https://npm-compare.com/@kudoai/ai-personas/#timeRange=ALL">
6
8
  <img height=31 src="https://img.shields.io/npm/dm/@kudoai/ai-personas?logo=npm&color=af68ff&logoColor=white&labelColor=464646&style=for-the-badge"></a>
7
- <a href="https://github.com/KudoAI/ai-personas/releases/tag/node.js-v1.3.0">
8
- <img height=31 src="https://img.shields.io/badge/Latest_Build-1.3.0-32fcee.svg?logo=icinga&logoColor=white&labelColor=464646&style=for-the-badge"></a>
9
+ <a href="https://github.com/KudoAI/ai-personas/releases/tag/node.js-v1.4.0">
10
+ <img height=31 src="https://img.shields.io/badge/Latest_Build-1.4.0-32fcee.svg?logo=icinga&logoColor=white&labelColor=464646&style=for-the-badge"></a>
9
11
  <a href="#%EF%B8%8F-license">
10
12
  <img height=31 src="https://img.shields.io/badge/License-CC0--1.0/MIT-f99b27.svg?logo=internetarchive&logoColor=white&labelColor=464646&style=for-the-badge"></a>
11
13
  <a href="https://www.codefactor.io/repository/github/KudoAI/ai-personas">
12
14
  <img height=31 src="https://img.shields.io/codefactor/grade/github/KudoAI/ai-personas?label=Code+Quality&logo=codefactor&logoColor=white&labelColor=464646&color=a0fc55&style=for-the-badge"></a>
13
15
  <a href="https://sonarcloud.io/component_measures?metric=vulnerabilities&selected=KudoAI_ai-personas%3Anode.js&id=KudoAI_ai-personas">
14
- <img height=31 src="https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fsonarcloud.io%2Fapi%2Fmeasures%2Fcomponent%3Fcomponent%3DKudoAI_ai-personas%3Anode.js%26metricKeys%3Dvulnerabilities&query=%24.component.measures.0.value&style=for-the-badge&logo=sonar&logoColor=white&labelColor=464646&label=Vulnerabilities&color=gold"></a>
16
+ <img height=31 src="https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fsonarcloud.io%2Fapi%2Fmeasures%2Fcomponent%3Fcomponent%3DKudoAI_ai-personas%3Anode.js%26metricKeys%3Dvulnerabilities&query=%24.component.measures.0.value&style=for-the-badge&logo=sonar&logoColor=white&labelColor=464646&label=Vulnerabilities&color=ffef00"></a>
17
+
18
+ </div>
19
+
20
+ <hr>
15
21
 
16
22
  > ### _1,200+ AI personas for LLMs and agents._
17
23
 
18
- It's just a [JSON file](https://cdn.jsdelivr.net/npm/@kudoai/ai-personas@1.2.0/dist/ai-personas.json), so you can use it in any environment.
24
+ It's just a [JSON file](https://cdn.jsdelivr.net/npm/@kudoai/ai-personas@1.3.0/dist/ai-personas.json), so you can use it in any environment.
25
+
26
+ <img src="https://cdn.jsdelivr.net/gh/KudoAI/ai-personas@node.js-v1.4.0/assets/images/screenshots/dataset-preview.png">
19
27
 
20
28
  <a href="#"><img style="height:10px ; width:100%" src="https://cdn.jsdelivr.net/gh/adamlui/js-utils@6b0d399/assets/images/separators/aqua-gradient.png"></a>
21
29
 
22
30
  ## ⚡ Installation
23
31
 
32
+ #### <a href="#-nodejs"><img height=14 width="auto" src="https://cdn.jsdelivr.net/gh//adamlui/js-utils@dbdea4b/assets/images/icons/runtimes/node.js/icon25x28.png"></a> Node.js:
33
+
24
34
  From your project root:
25
35
 
26
36
  ```bash
27
37
  npm install @kudoai/ai-personas
28
38
  ```
29
39
 
40
+ #### [<img height="13" src="https://cdn.jsdelivr.net/gh/adamlui/userscripts@2793398/assets/images/icons/userscript-managers/tampermonkey/icon28.png" title="Tampermonkey">][greasemonkey-install][<img height="15" src="https://cdn.jsdelivr.net/gh/adamlui/userscripts@2793398/assets/images/icons/userscript-managers/violentmonkey/icon25.png" title="Violentmonkey">][greasemonkey-install][<img height="13" src="https://cdn.jsdelivr.net/gh/adamlui/userscripts@2793398/assets/images/icons/userscript-managers/scriptcat/icon32.png" title="ScriptCat">][greasemonkey-install][<img height="13" src="https://cdn.jsdelivr.net/gh/adamlui/userscripts@2793398/assets/images/icons/userscript-managers/orangemonkey/icon16.png" title="OrangeMonkey">][greasemonkey-install][<img height="14" src="https://cdn.jsdelivr.net/gh/adamlui/userscripts@2793398/assets/images/icons/userscript-managers/stay/icon32.png" title="Stay">][greasemonkey-install][<img height="13" src="https://cdn.jsdelivr.net/gh/adamlui/userscripts@2793398/assets/images/icons/userscript-managers/userscripts/icon32.png" title="Userscripts">][greasemonkey-install] Greasemonkey:
41
+
42
+ [greasemonkey-install]: #-greasemonkey
43
+
44
+ ```js
45
+ // ==UserScript==
46
+ ...
47
+ // @resource ai-personas https://cdn.jsdelivr.net/npm/@kudoai/ai-personas@1/dist/ai-personas.min.json
48
+ // @grant GM_getResourceText
49
+ ...
50
+ // ==/UserScript==
51
+ ```
52
+
30
53
  <hr>
31
54
 
32
55
  ## 🔌 Usage
@@ -49,6 +72,34 @@ console.log(personas['Linux Terminal'].prompt)
49
72
  // => I want you to act as a linux terminal. I will type commands and you will...
50
73
  ```
51
74
 
75
+ #### [<img height=14 src="https://cdn.jsdelivr.net/gh/adamlui/ai-web-extensions@c226de5/assets/images/icons/browsers/chrome/icon16.png" title="Chrome">][web-usage][<img height=13.5 src="https://cdn.jsdelivr.net/gh/adamlui/ai-web-extensions@c226de5/assets/images/icons/browsers/edge/icon16.png" title="Edge">][web-usage][<img height=14 src="https://cdn.jsdelivr.net/gh/adamlui/ai-web-extensions@c226de5/assets/images/icons/browsers/firefox/icon16.png" title="Firefox">][web-usage][<img height=14 src="https://cdn.jsdelivr.net/gh/adamlui/ai-web-extensions@c226de5/assets/images/icons/browsers/safari/icon16.png" title="Safari">][web-usage][<img height=13 src="https://cdn.jsdelivr.net/gh/adamlui/ai-web-extensions@c226de5/assets/images/icons/browsers/qq/3d/icon-32x33.png" title="QQ Browser">][web-usage] Web:
76
+
77
+ [web-usage]: #-web
78
+
79
+ ```html
80
+ <script type="module">
81
+ const personas = await (await fetch(
82
+ 'https://cdn.jsdelivr.net/npm/@kudoai/ai-personas@1/dist/ai-personas.min.json'
83
+ )).json()
84
+
85
+ console.log(personas['Linux Terminal'].prompt)
86
+ // => I want you to act as a linux terminal. I will type commands and you will...
87
+ </script>
88
+ ```
89
+
90
+ #### [<img height="13" src="https://cdn.jsdelivr.net/gh/adamlui/userscripts@2793398/assets/images/icons/userscript-managers/tampermonkey/icon28.png" title="Tampermonkey">][greasemonkey-usage][<img height="15" src="https://cdn.jsdelivr.net/gh/adamlui/userscripts@2793398/assets/images/icons/userscript-managers/violentmonkey/icon25.png" title="Violentmonkey">][greasemonkey-usage][<img height="13" src="https://cdn.jsdelivr.net/gh/adamlui/userscripts@2793398/assets/images/icons/userscript-managers/scriptcat/icon32.png" title="ScriptCat">][greasemonkey-usage][<img height="13" src="https://cdn.jsdelivr.net/gh/adamlui/userscripts@2793398/assets/images/icons/userscript-managers/orangemonkey/icon16.png" title="OrangeMonkey">][greasemonkey-usage][<img height="14" src="https://cdn.jsdelivr.net/gh/adamlui/userscripts@2793398/assets/images/icons/userscript-managers/stay/icon32.png" title="Stay">][greasemonkey-usage][<img height="13" src="https://cdn.jsdelivr.net/gh/adamlui/userscripts@2793398/assets/images/icons/userscript-managers/userscripts/icon32.png" title="Userscripts">][greasemonkey-usage] Greasemonkey:
91
+
92
+ [greasemonkey-usage]: #-greasemonkey-1
93
+
94
+ ```js
95
+ const personas = JSON.parse(GM_getResourceText('ai-personas'))
96
+
97
+ console.log(personas['Linux Terminal'].prompt)
98
+ // => I want you to act as a linux terminal. I will type commands and you will...
99
+ ```
100
+
101
+ <br><a href="https://github.com/sponsors/KudoAI"><img src="https://cdn.jsdelivr.net/gh/KudoAI/ai-personas@f83f75a/assets/images/banners/sponsor/$10/banner1660x260.png"></a>
102
+
52
103
  <hr>
53
104
 
54
105
  ## 💻 Examples
@@ -63,7 +114,7 @@ function findPersonas(keyword) {
63
114
  }
64
115
 
65
116
  console.log(findPersonas('coach'))
66
- // => ['Interview Preparation Coach', 'Life Coach', ...]
117
+ // => [ 'Interview Preparation Coach', 'Life Coach', ... ]
67
118
  ```
68
119
 
69
120
  #
@@ -92,7 +143,7 @@ console.log(randomPersona())
92
143
  // => e.g. Reverse Prompt Engineer
93
144
 
94
145
  console.log(randomPersona(10))
95
- // => e.g. ['Internet Trend & Slang Intelligence', 'Tic-Tac-Toe Game', ...]
146
+ // => e.g. [ 'Internet Trend & Slang Intelligence', 'Tic-Tac-Toe Game', ... ]
96
147
  ```
97
148
 
98
149
  #
@@ -125,8 +176,11 @@ Your task is to:
125
176
  #### Fill variables in template prompts:
126
177
 
127
178
  ```js
179
+ function fillVarsInTemplate(prompt, vals = {}) {
180
+ return prompt.replace(/\$\{(.*?)\}/g, (_, key) => vals[key] ?? `\${${key}}`) }
181
+
128
182
  const prompt = personas['Node.js Automation Script Developer'].prompt,
129
- filledPrompt = prompt.replaceAll('${taskType}', 'web scraping')
183
+ filledPrompt = fillVarsInTemplate(prompt, { taskType: 'web scraping' })
130
184
 
131
185
  console.log(filledPrompt)
132
186
 
@@ -144,22 +198,22 @@ Your task is to:
144
198
 
145
199
  ```js
146
200
  const megaPrompt = `
147
- When I start w/ sh: follow prompt A. When I start w/ dax: follow prompt B.
201
+ When I start w/ sh: follow prompt A. When I start w/ win: follow prompt B.
148
202
 
149
203
  Prompt A: ${personas['Linux Terminal'].prompt}
150
204
 
151
- Prompt B: ${personas['DAX Terminal'].prompt}
205
+ Prompt B: ${personas['Windows Terminal'].prompt}
152
206
  `
153
207
 
154
208
  console.log(megaPrompt)
155
209
 
156
210
  /** =>
157
211
 
158
- When I start w/ sh: follow prompt A. When I start w/ dax: follow prompt B.
212
+ When I start w/ sh: follow prompt A. When I start w/ win: follow prompt B.
159
213
 
160
214
  Prompt A: I want you to act as a linux terminal...
161
215
 
162
- Prompt B: I want you to act as a DAX terminal...
216
+ Prompt B: I want you to act as a Windows Terminal...
163
217
  **/
164
218
  ```
165
219
 
@@ -210,18 +264,21 @@ All contributions are very welcome!
210
264
  <!-- GOOGLEGPT -->
211
265
 
212
266
  <details>
213
- <summary><strong><a href="#"><picture><source media="(prefers-color-scheme: dark)" srcset="https://cdn.jsdelivr.net/gh/KudoAI/googlegpt@94d5b04/assets/images/icons/app/white/icon32.png"><img width=15 src="https://cdn.jsdelivr.net/gh/KudoAI/googlegpt@94d5b04/assets/images/icons/app/black/icon32.png"></picture></a> GoogleGPT</strong>&nbsp;&nbsp;<a href="https://github.com/awesome-scripts/awesome-userscripts#chatgpt"><img width=105 height="auto" src="https://cdn.jsdelivr.net/gh/KudoAI/googlegpt@94d5b04/assets/images/badges/awesome/badge.svg"></a></summary>
214
- <br>
215
-
216
- <a href="https://github.com/KudoAI/googlegpt/#readme">
217
- <img width="555" height="auto" src="https://cdn.jsdelivr.net/gh/KudoAI/googlegpt@94d5b04/assets/images/screenshots/desktop/javascript-arrays-query/darkmode.png"></a>
218
-
267
+ <summary>
268
+ <strong><a href="#"><picture><source media="(prefers-color-scheme: dark)" srcset="https://cdn.jsdelivr.net/gh/KudoAI/googlegpt@94d5b04/assets/images/icons/app/white/icon32.png"><img width=15 src="https://cdn.jsdelivr.net/gh/KudoAI/googlegpt@94d5b04/assets/images/icons/app/black/icon32.png"></picture></a> GoogleGPT</strong>&nbsp;&nbsp;<a href="https://github.com/awesome-scripts/awesome-userscripts#chatgpt"><img width=105 height="auto" src="https://cdn.jsdelivr.net/gh/KudoAI/googlegpt@94d5b04/assets/images/badges/awesome/badge.svg"></a>
269
+ </summary>
270
+ <br>
271
+ <a href="https://github.com/KudoAI/googlegpt/#readme">
272
+ <img width="555" height="auto" src="https://cdn.jsdelivr.net/gh/KudoAI/googlegpt@latest/assets/images/screenshots/desktop/javascript-arrays-query/darkmode.png">
273
+ </a>
219
274
  </details>
220
275
 
221
276
  > [<img height="13" src="https://cdn.jsdelivr.net/gh/adamlui/userscripts@2793398/assets/images/icons/userscript-managers/tampermonkey/icon28.png" title="Tampermonkey">][googlegpt-install][<img height="15" src="https://cdn.jsdelivr.net/gh/adamlui/userscripts@2793398/assets/images/icons/userscript-managers/violentmonkey/icon25.png" title="Violentmonkey">][googlegpt-install][<img height="13" src="https://cdn.jsdelivr.net/gh/adamlui/userscripts@2793398/assets/images/icons/userscript-managers/scriptcat/icon32.png" title="ScriptCat">][googlegpt-install][<img height="13" src="https://cdn.jsdelivr.net/gh/adamlui/userscripts@2793398/assets/images/icons/userscript-managers/orangemonkey/icon16.png" title="OrangeMonkey">][googlegpt-install][<img height="14" src="https://cdn.jsdelivr.net/gh/adamlui/userscripts@2793398/assets/images/icons/userscript-managers/stay/icon32.png" title="Stay">][googlegpt-install][<img height="13" src="https://cdn.jsdelivr.net/gh/adamlui/userscripts@2793398/assets/images/icons/userscript-managers/userscripts/icon32.png" title="Userscripts">][googlegpt-install]
222
277
  > [Install][googlegpt-install] /
223
- > [<picture><source media="(prefers-color-scheme: dark)" srcset="https://cdn.jsdelivr.net/gh/adamlui/userscripts@13443c3/assets/images/icons/paper-sheet/white.svg"><img height="13" src="https://cdn.jsdelivr.net/gh/adamlui/userscripts@13443c3/assets/images/icons/paper-sheet/black.svg"></picture>][googlegpt-readme] [Readme][googlegpt-readme] /
224
- > [<picture><source media="(prefers-color-scheme: dark)" srcset="https://cdn.jsdelivr.net/gh/adamlui/userscripts@13443c3/assets/images/icons/speech-bubble-square/white.svg"><img height="12.5" src="https://cdn.jsdelivr.net/gh/adamlui/userscripts@13443c3/assets/images/icons/speech-bubble-square/black.svg"></picture>][googlegpt-discuss] [Discuss][googlegpt-discuss]
278
+ > [<picture><source media="(prefers-color-scheme: dark)" srcset="https://cdn.jsdelivr.net/gh/adamlui/userscripts@13443c3/assets/images/icons/paper-sheet/white.svg"><img height="13" src="https://cdn.jsdelivr.net/gh/adamlui/userscripts@13443c3/assets/images/icons/paper-sheet/black.svg"></picture>][googlegpt-readme]
279
+ > [Readme][googlegpt-readme] /
280
+ > [<picture><source media="(prefers-color-scheme: dark)" srcset="https://cdn.jsdelivr.net/gh/adamlui/userscripts@13443c3/assets/images/icons/speech-bubble-square/white.svg"><img height="12.5" src="https://cdn.jsdelivr.net/gh/adamlui/userscripts@13443c3/assets/images/icons/speech-bubble-square/black.svg"></picture>][googlegpt-discuss]
281
+ > [Discuss][googlegpt-discuss]
225
282
 
226
283
  [googlegpt-install]: https://github.com/KudoAI/googlegpt/#-installation
227
284
  [googlegpt-readme]: https://github.com/KudoAI/googlegpt/#readme
@@ -230,31 +287,52 @@ All contributions are very welcome!
230
287
  <!-- DUCKDUCKGPT -->
231
288
 
232
289
  <details>
233
- <summary><strong><a href="#"><img height=16 width="auto" src="https://cdn.jsdelivr.net/gh/KudoAI/duckduckgpt@2a48d2e/assets/images/icons/app/icon48.png"></a> DuckDuckGPT</strong>&nbsp;&nbsp;<a href="https://www.producthunt.com/posts/duckduckgpt?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-duckduckgpt"><img width=105 height="auto" src="https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=379261&theme=light"></a></summary>
234
- <br>
235
-
236
- <a href="https://github.com/KudoAI/duckduckgpt/#readme">
237
- <img width="555" height="auto" src="https://cdn.jsdelivr.net/gh/KudoAI/duckduckgpt@2a48d2e/assets/images/screenshots/desktop/how-to-becum-rich-query/lightmode.png"></a>
238
-
290
+ <summary>
291
+ <strong><a href="#"><img height=16 width="auto" src="https://cdn.jsdelivr.net/gh/KudoAI/duckduckgpt@2a48d2e/assets/images/icons/app/icon48.png"></a> DuckDuckGPT</strong>&nbsp;&nbsp;<a href="https://www.producthunt.com/posts/duckduckgpt?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-duckduckgpt"><img width=105 height="auto" src="https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=379261&theme=light"></a>
292
+ </summary>
293
+ <br>
294
+ <a href="https://github.com/KudoAI/duckduckgpt/#readme">
295
+ <img width="555" height="auto" src="https://cdn.jsdelivr.net/gh/KudoAI/duckduckgpt@latest/assets/images/screenshots/desktop/how-to-becum-rich-query/lightmode.png">
296
+ </a>
239
297
  </details>
240
298
 
241
299
  > [<img height="13" src="https://cdn.jsdelivr.net/gh/adamlui/userscripts@2793398/assets/images/icons/userscript-managers/tampermonkey/icon28.png" title="Tampermonkey">][googlegpt-install][<img height="15" src="https://cdn.jsdelivr.net/gh/adamlui/userscripts@2793398/assets/images/icons/userscript-managers/violentmonkey/icon25.png" title="Violentmonkey">][ddgpt-install][<img height="13" src="https://cdn.jsdelivr.net/gh/adamlui/userscripts@2793398/assets/images/icons/userscript-managers/scriptcat/icon32.png" title="ScriptCat">][ddgpt-install][<img height="13" src="https://cdn.jsdelivr.net/gh/adamlui/userscripts@2793398/assets/images/icons/userscript-managers/orangemonkey/icon16.png" title="OrangeMonkey">][ddgpt-install][<img height="14" src="https://cdn.jsdelivr.net/gh/adamlui/userscripts@2793398/assets/images/icons/userscript-managers/stay/icon32.png" title="Stay">][ddgpt-install][<img height="13" src="https://cdn.jsdelivr.net/gh/adamlui/userscripts@2793398/assets/images/icons/userscript-managers/userscripts/icon32.png" title="Userscripts">][ddgpt-install]
242
300
  > [Install][ddgpt-install] /
243
- > [<picture><source media="(prefers-color-scheme: dark)" srcset="https://cdn.jsdelivr.net/gh/adamlui/userscripts@13443c3/assets/images/icons/paper-sheet/white.svg"><img height="13" src="https://cdn.jsdelivr.net/gh/adamlui/userscripts@13443c3/assets/images/icons/paper-sheet/black.svg"></picture>][ddgpt-readme] [Readme][ddgpt-readme] /
244
- > [<picture><source media="(prefers-color-scheme: dark)" srcset="https://cdn.jsdelivr.net/gh/adamlui/userscripts@13443c3/assets/images/icons/speech-bubble-square/white.svg"><img height="12.5" src="https://cdn.jsdelivr.net/gh/adamlui/userscripts@13443c3/assets/images/icons/speech-bubble-square/black.svg"></picture>][ddgpt-discuss] [Discuss][ddgpt-discuss]
301
+ > [<picture><source media="(prefers-color-scheme: dark)" srcset="https://cdn.jsdelivr.net/gh/adamlui/userscripts@13443c3/assets/images/icons/paper-sheet/white.svg"><img height="13" src="https://cdn.jsdelivr.net/gh/adamlui/userscripts@13443c3/assets/images/icons/paper-sheet/black.svg"></picture>][ddgpt-readme]
302
+ > [Readme][ddgpt-readme] /
303
+ > [<picture><source media="(prefers-color-scheme: dark)" srcset="https://cdn.jsdelivr.net/gh/adamlui/userscripts@13443c3/assets/images/icons/speech-bubble-square/white.svg"><img height="12.5" src="https://cdn.jsdelivr.net/gh/adamlui/userscripts@13443c3/assets/images/icons/speech-bubble-square/black.svg"></picture>][ddgpt-discuss]
304
+ > [Discuss][ddgpt-discuss]
245
305
 
246
306
  [ddgpt-install]: https://github.com/KudoAI/duckduckgpt/#-installation
247
307
  [ddgpt-readme]: https://github.com/KudoAI/duckduckgpt/#readme
248
308
  [ddgpt-discuss]: https://github.com/KudoAI/duckduckgpt/discussions
249
309
 
310
+ <!-- AI-PERSONAS (PYTHON) -->
250
311
 
251
- <!-- FOOTER -->
312
+ #### 🤖 ai-personas (Python)
252
313
 
314
+ > [<img height=14 width="auto" src="https://cdn.jsdelivr.net/gh/adamlui/python-utils@b110c1e/assets/images/icons/python/icon32.png">][ap-py-install]
315
+ > [Install][ap-py-install] /
316
+ > [<picture><source media="(prefers-color-scheme: dark)" srcset="https://cdn.jsdelivr.net/gh/adamlui/userscripts@13443c3/assets/images/icons/paper-sheet/white.svg"><img height="13" src="https://cdn.jsdelivr.net/gh/adamlui/userscripts@13443c3/assets/images/icons/paper-sheet/black.svg"></picture>][ap-py-readme]
317
+ > [Readme][ap-py-readme] /
318
+ > 🔌 [API usage][ap-py-api-usage] /
319
+ > [<picture><source media="(prefers-color-scheme: dark)" srcset="https://cdn.jsdelivr.net/gh/adamlui/userscripts@13443c3/assets/images/icons/speech-bubble-square/white.svg"><img height="12.5" src="https://cdn.jsdelivr.net/gh/adamlui/userscripts@13443c3/assets/images/icons/speech-bubble-square/black.svg"></picture>][ap-py-discuss]
320
+ > [Discuss][ap-py-discuss]
321
+
322
+ [ap-py-install]: https://github.com/KudoAI/ai-personas/tree/main/python/#-installation
323
+ [ap-py-readme]: https://github.com/KudoAI/ai-personas/tree/main/python/#readme
324
+ [ap-py-api-usage]: https://github.com/KudoAI/ai-personas/tree/main/python/#-usage
325
+ [ap-py-discuss]: https://github.com/KudoAI/ai-personas/discussions
326
+
327
+ <!-- FOOTER -->
253
328
 
254
329
  <a href="#"><img style="height:10px ; width:100%" src="https://cdn.jsdelivr.net/gh/adamlui/js-utils@6b0d399/assets/images/separators/aqua-gradient.png"></a>
255
330
 
256
- <picture><source media="(prefers-color-scheme: dark)" srcset="https://cdn.jsdelivr.net/gh/adamlui/js-utils@6b0d399/assets/images/icons/home/white/icon32x27.png"><img height=13 src="https://cdn.jsdelivr.net/gh/adamlui/js-utils@6b0d399/assets/images/icons/home/dark-gray/icon32x27.png"></picture> <a href=https://github.com/adamlui/js-utils/#readme>**More JavaScript utilities**</a> /
331
+ [<picture><source media="(prefers-color-scheme: dark)" srcset="https://cdn.jsdelivr.net/gh/adamlui/js-utils@21bf981/assets/images/icons/home/white/icon32x27.png"><img height=13 src="https://cdn.jsdelivr.net/gh/adamlui/js-utils@21bf981/assets/images/icons/home/dark-gray/icon32x27.png"></picture>][js-utils]
332
+ [**More JavaScript utilities**][js-utils] /
257
333
  <a href="https://github.com/KudoAI/ai-personas/discussions">Discuss</a> /
258
334
  <a href="https://github.com/KudoAI/ai-personas/issues">Report bug</a> /
259
335
  <a href="mailto:security@tidelift.com">Report vulnerability</a> /
260
336
  <a href="#top">Back to top ↑</a>
337
+
338
+ [js-utils]: https://github.com/adamlui/js-utils/#readme