frida-pi-studio 0.6.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.
- package/CHANGELOG.md +100 -0
- package/LICENSE +21 -0
- package/README.md +149 -0
- package/assets/logo.png +0 -0
- package/assets/logo.svg +35 -0
- package/docs/feature-catalog.md +148 -0
- package/docs/theme-gallery.html +197 -0
- package/package.json +126 -0
- package/packages/setup/bin/setup.mjs +430 -0
- package/packages/studio/extensions/branding.ts +153 -0
- package/packages/studio/extensions/frida-eval.ts +135 -0
- package/packages/studio/extensions/frida-footer.ts +98 -0
- package/packages/studio/extensions/frida-uris.ts +148 -0
- package/packages/studio/prompts/.gitkeep +0 -0
- package/packages/studio/prompts/rol-datos-ia.md +19 -0
- package/packages/studio/prompts/rol-dev.md +20 -0
- package/packages/studio/prompts/rol-fullstack.md +20 -0
- package/packages/studio/prompts/rol-seguridad.md +19 -0
- package/packages/studio/skills/.gitkeep +0 -0
- package/packages/studio/skills/gh-quoting/SKILL.md +49 -0
- package/packages/studio/skills/learn-review/SKILL.md +58 -0
- package/packages/studio/themes/arctic-aurora.json +84 -0
- package/packages/studio/themes/aurora-circuit.json +85 -0
- package/packages/studio/themes/frida.json +48 -0
- package/packages/studio/themes/violet-breakwater.json +83 -0
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: learn-review
|
|
3
|
+
description: Revisar lecciones recurrentes de la memoria persistente (hermes-memory) y proponer su promoción a skills curadas del kit vía issue. Usar cuando el usuario pida "revisa mis lecciones", "qué hemos aprendido que merezca ser skill", o periódicamente para convertir correcciones repetidas en conocimiento curado del equipo.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# learn-review — lecciones → skills curadas del kit
|
|
7
|
+
|
|
8
|
+
Las lecciones viven sueltas en la memoria de cada máquina; una lección
|
|
9
|
+
que se repite merece ser conocimiento **curado** (skill del kit) para
|
|
10
|
+
todo el equipo. Este flujo promueve — vía issue, nunca escritura
|
|
11
|
+
directa al repo (gobernanza de frida-pi-studio).
|
|
12
|
+
|
|
13
|
+
## Cuándo usar
|
|
14
|
+
|
|
15
|
+
- El usuario pide revisar lecciones / promover aprendizajes.
|
|
16
|
+
- Cierre de un ciclo de trabajo con varias correcciones repetidas.
|
|
17
|
+
|
|
18
|
+
## Procedimiento
|
|
19
|
+
|
|
20
|
+
1. **Buscar lecciones**: `memory_search` con `target="failure"` (y
|
|
21
|
+
después `target="memory"`) filtrando por categorías `failure`,
|
|
22
|
+
`correction` e `insight`. Ampliar el `limit` si hay muchas.
|
|
23
|
+
2. **Agrupar recurrencias**: clusterizar por causa raíz. Un cluster es
|
|
24
|
+
candidato SOLO si la misma lección (o su misma causa) apareció
|
|
25
|
+
**≥ 2 veces** o en ≥ 2 sesiones distintas.
|
|
26
|
+
3. **Descartar lo ya cubierto**: revisar contra el catálogo del kit
|
|
27
|
+
(`docs/feature-catalog.md` en el repo frida-pi-studio) y las skills
|
|
28
|
+
existentes — si ya está cubierto, no proponer.
|
|
29
|
+
4. **Redactar el borrador de skill** en español, con la estructura del
|
|
30
|
+
kit: `Cuándo usar` / `Procedimiento` (pasos concretos) / `Trampas` /
|
|
31
|
+
`Verificación`. Nombrar con kebab-case descriptivo
|
|
32
|
+
(p. ej. `debug-e2e-contenedor`).
|
|
33
|
+
5. **Proponer vía issue**:
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
gh issue create --label enhancement \
|
|
37
|
+
--title "Skill: <nombre> — <qué resuelve>" \
|
|
38
|
+
--body "<evidencia: qué lecciones, cuántas veces, en qué sesiones>
|
|
39
|
+
<borrador completo de SKILL.md>"
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
6. **Reportar al usuario** el(los) issue(s) creado(s) con links, y
|
|
43
|
+
sugerir revisar los clusters descartados y por qué.
|
|
44
|
+
|
|
45
|
+
## Trampas
|
|
46
|
+
|
|
47
|
+
- NO promuevas one-offs: una lección vista una vez no es patrón.
|
|
48
|
+
- NO escribas skills directo al repo — el issue es el único canal
|
|
49
|
+
(todo cambio nace en un issue y aterriza en CHANGELOG al cerrarse).
|
|
50
|
+
- Sin secrets ni rutas personales en el borrador.
|
|
51
|
+
- Si un cluster es preferencia de UN usuario (no del equipo),
|
|
52
|
+
proponlo como memoria, no como skill del kit.
|
|
53
|
+
|
|
54
|
+
## Verificación
|
|
55
|
+
|
|
56
|
+
- Cada issue creado enlaza las lecciones fuente (citas) con su
|
|
57
|
+
recuencia y trae el borrador completo de SKILL.md listo para revisar.
|
|
58
|
+
- Los clusters descartados quedan explicados en el reporte al usuario.
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://raw.githubusercontent.com/earendil-works/pi/main/packages/coding-agent/src/modes/interactive/theme/theme-schema.json",
|
|
3
|
+
"name": "arctic-aurora",
|
|
4
|
+
"vars": {
|
|
5
|
+
"accent": "#67e8f9",
|
|
6
|
+
"accentSoft": "#cffafe",
|
|
7
|
+
"accentDeep": "#0891b2",
|
|
8
|
+
"secondary": "#a7f3d0",
|
|
9
|
+
"secondaryDeep": "#047857",
|
|
10
|
+
"success": "#86efac",
|
|
11
|
+
"error": "#fda4af",
|
|
12
|
+
"warning": "#fde68a",
|
|
13
|
+
"ink": "#f8fdff",
|
|
14
|
+
"muted": "#a8c8d5",
|
|
15
|
+
"dim": "#6e8995",
|
|
16
|
+
"bgPanel": "#0f2027",
|
|
17
|
+
"bgPanelAlt": "#14303a",
|
|
18
|
+
"bgSelected": "#1d4652",
|
|
19
|
+
"bgTool": "#0a171d",
|
|
20
|
+
"bgSuccess": "#103226",
|
|
21
|
+
"bgError": "#361722",
|
|
22
|
+
"borderSubtle": "#24424b",
|
|
23
|
+
"borderSoft": "#6ca6b4"
|
|
24
|
+
},
|
|
25
|
+
"colors": {
|
|
26
|
+
"accent": "accent",
|
|
27
|
+
"border": "borderSoft",
|
|
28
|
+
"borderAccent": "accent",
|
|
29
|
+
"borderMuted": "borderSubtle",
|
|
30
|
+
"success": "success",
|
|
31
|
+
"error": "error",
|
|
32
|
+
"warning": "warning",
|
|
33
|
+
"muted": "muted",
|
|
34
|
+
"dim": "dim",
|
|
35
|
+
"text": "",
|
|
36
|
+
"thinkingText": "muted",
|
|
37
|
+
"selectedBg": "bgSelected",
|
|
38
|
+
"userMessageBg": "bgPanel",
|
|
39
|
+
"userMessageText": "ink",
|
|
40
|
+
"customMessageBg": "bgPanelAlt",
|
|
41
|
+
"customMessageText": "ink",
|
|
42
|
+
"customMessageLabel": "accent",
|
|
43
|
+
"toolPendingBg": "bgTool",
|
|
44
|
+
"toolSuccessBg": "bgSuccess",
|
|
45
|
+
"toolErrorBg": "bgError",
|
|
46
|
+
"toolTitle": "accentSoft",
|
|
47
|
+
"toolOutput": "ink",
|
|
48
|
+
"mdHeading": "accentSoft",
|
|
49
|
+
"mdLink": "secondary",
|
|
50
|
+
"mdLinkUrl": "muted",
|
|
51
|
+
"mdCode": "accent",
|
|
52
|
+
"mdCodeBlock": "ink",
|
|
53
|
+
"mdCodeBlockBorder": "accentDeep",
|
|
54
|
+
"mdQuote": "muted",
|
|
55
|
+
"mdQuoteBorder": "borderSoft",
|
|
56
|
+
"mdHr": "borderSubtle",
|
|
57
|
+
"mdListBullet": "accent",
|
|
58
|
+
"toolDiffAdded": "success",
|
|
59
|
+
"toolDiffRemoved": "error",
|
|
60
|
+
"toolDiffContext": "muted",
|
|
61
|
+
"syntaxComment": "dim",
|
|
62
|
+
"syntaxKeyword": "accent",
|
|
63
|
+
"syntaxFunction": "secondary",
|
|
64
|
+
"syntaxVariable": "ink",
|
|
65
|
+
"syntaxString": "success",
|
|
66
|
+
"syntaxNumber": "warning",
|
|
67
|
+
"syntaxType": "accentSoft",
|
|
68
|
+
"syntaxOperator": "error",
|
|
69
|
+
"syntaxPunctuation": "muted",
|
|
70
|
+
"thinkingOff": "borderSubtle",
|
|
71
|
+
"thinkingMinimal": "dim",
|
|
72
|
+
"thinkingLow": "secondaryDeep",
|
|
73
|
+
"thinkingMedium": "accentDeep",
|
|
74
|
+
"thinkingHigh": "accent",
|
|
75
|
+
"thinkingXhigh": "accentSoft",
|
|
76
|
+
"thinkingMax": "warning",
|
|
77
|
+
"bashMode": "warning"
|
|
78
|
+
},
|
|
79
|
+
"export": {
|
|
80
|
+
"pageBg": "#061116",
|
|
81
|
+
"cardBg": "#0f2027",
|
|
82
|
+
"infoBg": "#1d4652"
|
|
83
|
+
}
|
|
84
|
+
}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://raw.githubusercontent.com/earendil-works/pi/main/packages/coding-agent/src/modes/interactive/theme/theme-schema.json",
|
|
3
|
+
"name": "aurora-circuit",
|
|
4
|
+
"vars": {
|
|
5
|
+
"lime": "#b6ff4d",
|
|
6
|
+
"mint": "#55f7c2",
|
|
7
|
+
"cyan": "#3fe7ff",
|
|
8
|
+
"blue": "#5f8cff",
|
|
9
|
+
"violet": "#b47cff",
|
|
10
|
+
"magenta": "#ff6bd6",
|
|
11
|
+
"amber": "#ffd166",
|
|
12
|
+
"coral": "#ff6f7d",
|
|
13
|
+
"ice": "#effbff",
|
|
14
|
+
"fog": "#b8ccd5",
|
|
15
|
+
"smoke": "#6e8793",
|
|
16
|
+
"void": "#071014",
|
|
17
|
+
"panel": "#0d1b22",
|
|
18
|
+
"panelAlt": "#132833",
|
|
19
|
+
"selected": "#1f4350",
|
|
20
|
+
"tool": "#09161c",
|
|
21
|
+
"successPanel": "#0b3026",
|
|
22
|
+
"errorPanel": "#351823",
|
|
23
|
+
"borderDim": "#24404b",
|
|
24
|
+
"borderSoft": "#4d8fa0"
|
|
25
|
+
},
|
|
26
|
+
"colors": {
|
|
27
|
+
"accent": "cyan",
|
|
28
|
+
"border": "borderSoft",
|
|
29
|
+
"borderAccent": "lime",
|
|
30
|
+
"borderMuted": "borderDim",
|
|
31
|
+
"success": "mint",
|
|
32
|
+
"error": "coral",
|
|
33
|
+
"warning": "amber",
|
|
34
|
+
"muted": "fog",
|
|
35
|
+
"dim": "smoke",
|
|
36
|
+
"text": "",
|
|
37
|
+
"thinkingText": "fog",
|
|
38
|
+
"selectedBg": "selected",
|
|
39
|
+
"userMessageBg": "panel",
|
|
40
|
+
"userMessageText": "ice",
|
|
41
|
+
"customMessageBg": "panelAlt",
|
|
42
|
+
"customMessageText": "ice",
|
|
43
|
+
"customMessageLabel": "lime",
|
|
44
|
+
"toolPendingBg": "tool",
|
|
45
|
+
"toolSuccessBg": "successPanel",
|
|
46
|
+
"toolErrorBg": "errorPanel",
|
|
47
|
+
"toolTitle": "cyan",
|
|
48
|
+
"toolOutput": "ice",
|
|
49
|
+
"mdHeading": "lime",
|
|
50
|
+
"mdLink": "cyan",
|
|
51
|
+
"mdLinkUrl": "blue",
|
|
52
|
+
"mdCode": "amber",
|
|
53
|
+
"mdCodeBlock": "ice",
|
|
54
|
+
"mdCodeBlockBorder": "violet",
|
|
55
|
+
"mdQuote": "fog",
|
|
56
|
+
"mdQuoteBorder": "mint",
|
|
57
|
+
"mdHr": "borderSoft",
|
|
58
|
+
"mdListBullet": "magenta",
|
|
59
|
+
"toolDiffAdded": "mint",
|
|
60
|
+
"toolDiffRemoved": "coral",
|
|
61
|
+
"toolDiffContext": "fog",
|
|
62
|
+
"syntaxComment": "smoke",
|
|
63
|
+
"syntaxKeyword": "violet",
|
|
64
|
+
"syntaxFunction": "cyan",
|
|
65
|
+
"syntaxVariable": "ice",
|
|
66
|
+
"syntaxString": "mint",
|
|
67
|
+
"syntaxNumber": "amber",
|
|
68
|
+
"syntaxType": "lime",
|
|
69
|
+
"syntaxOperator": "magenta",
|
|
70
|
+
"syntaxPunctuation": "fog",
|
|
71
|
+
"thinkingOff": "borderDim",
|
|
72
|
+
"thinkingMinimal": "smoke",
|
|
73
|
+
"thinkingLow": "blue",
|
|
74
|
+
"thinkingMedium": "cyan",
|
|
75
|
+
"thinkingHigh": "lime",
|
|
76
|
+
"thinkingXhigh": "magenta",
|
|
77
|
+
"thinkingMax": "amber",
|
|
78
|
+
"bashMode": "amber"
|
|
79
|
+
},
|
|
80
|
+
"export": {
|
|
81
|
+
"pageBg": "#03090c",
|
|
82
|
+
"cardBg": "#0d1b22",
|
|
83
|
+
"infoBg": "#1f4350"
|
|
84
|
+
}
|
|
85
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://raw.githubusercontent.com/earendil-works/pi/main/packages/coding-agent/src/modes/interactive/theme/theme-schema.json",
|
|
3
|
+
"name": "frida",
|
|
4
|
+
"vars": {
|
|
5
|
+
"frida": "#ff5533",
|
|
6
|
+
"rosa": "#e91e8c",
|
|
7
|
+
"teal": "#2ec4b6",
|
|
8
|
+
"ambar": "#ffd166",
|
|
9
|
+
"gris": 246,
|
|
10
|
+
"grisTenue": 240
|
|
11
|
+
},
|
|
12
|
+
"colors": {
|
|
13
|
+
"accent": "frida",
|
|
14
|
+
"border": "gris",
|
|
15
|
+
"borderAccent": "frida",
|
|
16
|
+
"borderMuted": "grisTenue",
|
|
17
|
+
"success": "teal",
|
|
18
|
+
"error": "#ff5c57",
|
|
19
|
+
"warning": "ambar",
|
|
20
|
+
"muted": "gris",
|
|
21
|
+
"dim": "grisTenue",
|
|
22
|
+
"text": "",
|
|
23
|
+
"thinkingText": "rosa",
|
|
24
|
+
"selectedBg": "#2d2a45",
|
|
25
|
+
"scrollbarTrack": "grisTenue",
|
|
26
|
+
"scrollbarThumb": "",
|
|
27
|
+
"searchMatchBg": "#2d2a45",
|
|
28
|
+
"searchMatchText": "",
|
|
29
|
+
"userMessageBg": "#241f36",
|
|
30
|
+
"userMessageText": "",
|
|
31
|
+
"customMessageBg": "#241f36",
|
|
32
|
+
"customMessageText": "",
|
|
33
|
+
"customMessageLabel": "frida",
|
|
34
|
+
"toolPendingBg": "#1e1e2e",
|
|
35
|
+
"toolSuccessBg": "#1e2e1e",
|
|
36
|
+
"toolErrorBg": "#2e1e1e",
|
|
37
|
+
"toolTitle": "frida",
|
|
38
|
+
"toolOutput": "",
|
|
39
|
+
"mdHeading": "ambar",
|
|
40
|
+
"mdLink": "frida",
|
|
41
|
+
"mdLinkUrl": "gris",
|
|
42
|
+
"mdCode": "rosa",
|
|
43
|
+
"mdCodeBlock": "",
|
|
44
|
+
"toolDiffAdded": "teal",
|
|
45
|
+
"toolDiffRemoved": "#ff5c57",
|
|
46
|
+
"toolDiffContext": "gris"
|
|
47
|
+
}
|
|
48
|
+
}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://raw.githubusercontent.com/earendil-works/pi/main/packages/coding-agent/src/modes/interactive/theme/theme-schema.json",
|
|
3
|
+
"name": "violet-breakwater",
|
|
4
|
+
"vars": {
|
|
5
|
+
"bg": "#050910",
|
|
6
|
+
"fg": "#edf3fb",
|
|
7
|
+
"breakwater": "#78d2da",
|
|
8
|
+
"violet": "#b999ff",
|
|
9
|
+
"harborBlue": "#82a8ff",
|
|
10
|
+
"seafoam": "#8ce4c1",
|
|
11
|
+
"lanternGold": "#f0c86d",
|
|
12
|
+
"coralSignal": "#ff8d9d",
|
|
13
|
+
"moonSalt": "#b3c2d6",
|
|
14
|
+
"basalt": "#677487",
|
|
15
|
+
"panel": "#0e1621",
|
|
16
|
+
"panelAlt": "#172231",
|
|
17
|
+
"selected": "#243449",
|
|
18
|
+
"tool": "#09111a",
|
|
19
|
+
"successPanel": "#0f241e",
|
|
20
|
+
"errorPanel": "#341a22",
|
|
21
|
+
"borderDim": "#253243",
|
|
22
|
+
"borderSoft": "#5c7493"
|
|
23
|
+
},
|
|
24
|
+
"colors": {
|
|
25
|
+
"accent": "violet",
|
|
26
|
+
"border": "borderSoft",
|
|
27
|
+
"borderAccent": "breakwater",
|
|
28
|
+
"borderMuted": "borderDim",
|
|
29
|
+
"success": "seafoam",
|
|
30
|
+
"error": "coralSignal",
|
|
31
|
+
"warning": "lanternGold",
|
|
32
|
+
"muted": "moonSalt",
|
|
33
|
+
"dim": "basalt",
|
|
34
|
+
"text": "",
|
|
35
|
+
"thinkingText": "moonSalt",
|
|
36
|
+
"selectedBg": "selected",
|
|
37
|
+
"userMessageBg": "panel",
|
|
38
|
+
"userMessageText": "fg",
|
|
39
|
+
"customMessageBg": "panelAlt",
|
|
40
|
+
"customMessageText": "fg",
|
|
41
|
+
"customMessageLabel": "breakwater",
|
|
42
|
+
"toolPendingBg": "tool",
|
|
43
|
+
"toolSuccessBg": "successPanel",
|
|
44
|
+
"toolErrorBg": "errorPanel",
|
|
45
|
+
"toolTitle": "breakwater",
|
|
46
|
+
"toolOutput": "fg",
|
|
47
|
+
"mdHeading": "breakwater",
|
|
48
|
+
"mdLink": "harborBlue",
|
|
49
|
+
"mdLinkUrl": "moonSalt",
|
|
50
|
+
"mdCode": "lanternGold",
|
|
51
|
+
"mdCodeBlock": "fg",
|
|
52
|
+
"mdCodeBlockBorder": "violet",
|
|
53
|
+
"mdQuote": "moonSalt",
|
|
54
|
+
"mdQuoteBorder": "borderSoft",
|
|
55
|
+
"mdHr": "borderDim",
|
|
56
|
+
"mdListBullet": "seafoam",
|
|
57
|
+
"toolDiffAdded": "seafoam",
|
|
58
|
+
"toolDiffRemoved": "coralSignal",
|
|
59
|
+
"toolDiffContext": "moonSalt",
|
|
60
|
+
"syntaxComment": "basalt",
|
|
61
|
+
"syntaxKeyword": "violet",
|
|
62
|
+
"syntaxFunction": "breakwater",
|
|
63
|
+
"syntaxVariable": "fg",
|
|
64
|
+
"syntaxString": "seafoam",
|
|
65
|
+
"syntaxNumber": "lanternGold",
|
|
66
|
+
"syntaxType": "harborBlue",
|
|
67
|
+
"syntaxOperator": "coralSignal",
|
|
68
|
+
"syntaxPunctuation": "moonSalt",
|
|
69
|
+
"thinkingOff": "borderDim",
|
|
70
|
+
"thinkingMinimal": "basalt",
|
|
71
|
+
"thinkingLow": "borderSoft",
|
|
72
|
+
"thinkingMedium": "harborBlue",
|
|
73
|
+
"thinkingHigh": "breakwater",
|
|
74
|
+
"thinkingXhigh": "violet",
|
|
75
|
+
"thinkingMax": "coralSignal",
|
|
76
|
+
"bashMode": "lanternGold"
|
|
77
|
+
},
|
|
78
|
+
"export": {
|
|
79
|
+
"pageBg": "#03070d",
|
|
80
|
+
"cardBg": "#0e1621",
|
|
81
|
+
"infoBg": "#243449"
|
|
82
|
+
}
|
|
83
|
+
}
|