opencode-skills-collection 4.0.26 → 4.0.28
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/bundled-skills/.antigravity-install-manifest.json +3 -1
- package/bundled-skills/context-agent/SKILL.md +40 -26
- package/bundled-skills/context-driven-development/SKILL.md +2 -1
- package/bundled-skills/context-guardian/SKILL.md +41 -26
- package/bundled-skills/context-window-management/SKILL.md +8 -0
- package/bundled-skills/conversation-memory/SKILL.md +12 -12
- package/bundled-skills/docs/integrations/jetski-cortex.md +3 -3
- package/bundled-skills/docs/integrations/jetski-gemini-loader/README.md +1 -1
- package/bundled-skills/docs/maintainers/repo-growth-seo.md +1 -1
- package/bundled-skills/docs/maintainers/skills-update-guide.md +1 -1
- package/bundled-skills/docs/users/aas-core.md +1 -1
- package/bundled-skills/docs/users/bundles.md +1 -1
- package/bundled-skills/docs/users/claude-code-skills.md +1 -1
- package/bundled-skills/docs/users/gemini-cli-skills.md +1 -1
- package/bundled-skills/docs/users/kiro-integration.md +1 -1
- package/bundled-skills/docs/users/usage.md +3 -3
- package/bundled-skills/docs/users/visual-guide.md +4 -4
- package/bundled-skills/loki-mode/examples/todo-app-generated/backend/package-lock.json +28 -4
- package/bundled-skills/loki-mode/examples/todo-app-generated/backend/package.json +1 -1
- package/bundled-skills/people-data/SKILL.md +104 -0
- package/bundled-skills/people-data/references/tool-reference.md +36 -0
- package/bundled-skills/travel-planner/SKILL.md +230 -0
- package/bundled-skills/unified-ai-gateway/SKILL.md +9 -0
- package/package.json +1 -1
- package/skills_index.json +2 -2
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 1,
|
|
3
|
-
"updatedAt": "2026-08-
|
|
3
|
+
"updatedAt": "2026-08-11T00:48:21.801Z",
|
|
4
4
|
"entries": [
|
|
5
5
|
"00-andruia-consultant",
|
|
6
6
|
"007",
|
|
@@ -1371,6 +1371,7 @@
|
|
|
1371
1371
|
"pdf-official",
|
|
1372
1372
|
"pentest-checklist",
|
|
1373
1373
|
"pentest-commands",
|
|
1374
|
+
"people-data",
|
|
1374
1375
|
"performance-engineer",
|
|
1375
1376
|
"performance-optimization",
|
|
1376
1377
|
"performance-optimizer",
|
|
@@ -1832,6 +1833,7 @@
|
|
|
1832
1833
|
"train-sentence-transformers",
|
|
1833
1834
|
"transformers-js",
|
|
1834
1835
|
"travel-health-analyzer",
|
|
1836
|
+
"travel-planner",
|
|
1835
1837
|
"tree-ring-memory",
|
|
1836
1838
|
"trello-automation",
|
|
1837
1839
|
"triage",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: context-agent
|
|
3
3
|
description: Agente de contexto para continuidade entre sessoes. Salva resumos, decisoes, tarefas pendentes e carrega briefing automatico na sessao seguinte.
|
|
4
|
-
risk:
|
|
4
|
+
risk: critical
|
|
5
5
|
source: community
|
|
6
6
|
date_added: '2026-03-06'
|
|
7
7
|
author: renat
|
|
@@ -20,26 +20,36 @@ tools:
|
|
|
20
20
|
|
|
21
21
|
# Context Agent
|
|
22
22
|
|
|
23
|
-
|
|
23
|
+
> Este guia e intencionalmente escrito em portugues brasileiro. O cabecalho
|
|
24
|
+
> Os cabecalhos `When to Use` e `Limitations` permanecem em ingles apenas para
|
|
25
|
+
> compatibilidade com a descoberta e a validacao automatica do catalogo.
|
|
26
|
+
|
|
27
|
+
> [!WARNING]
|
|
28
|
+
> Esta skill escreve contexto, registros, um banco SQLite e `MEMORY.md` em
|
|
29
|
+
> caminhos locais; a manutencao tambem pode arquivar e remover resumos antigos.
|
|
30
|
+
> Confirme os caminhos, mantenha um backup e obtenha aprovacao explicita antes
|
|
31
|
+
> de executar `init`, `save`, `archive` ou `maintain`.
|
|
32
|
+
|
|
33
|
+
## Visao Geral
|
|
24
34
|
|
|
25
35
|
Agente de contexto para continuidade entre sessoes. Salva resumos, decisoes, tarefas pendentes e carrega briefing automatico na sessao seguinte.
|
|
26
36
|
|
|
27
37
|
## When to Use This Skill
|
|
28
38
|
|
|
29
|
-
-
|
|
30
|
-
-
|
|
31
|
-
-
|
|
32
|
-
-
|
|
33
|
-
-
|
|
34
|
-
-
|
|
39
|
+
- Quando o usuario mencionar "salvar contexto" ou assuntos relacionados
|
|
40
|
+
- Quando o usuario mencionar "salva o contexto" ou assuntos relacionados
|
|
41
|
+
- Quando o usuario mencionar "proxima sessao" ou assuntos relacionados
|
|
42
|
+
- Quando o usuario mencionar "briefing sessao" ou assuntos relacionados
|
|
43
|
+
- Quando o usuario mencionar "resumo sessao" ou assuntos relacionados
|
|
44
|
+
- Quando o usuario mencionar "continuidade sessao" ou assuntos relacionados
|
|
35
45
|
|
|
36
|
-
##
|
|
46
|
+
## Quando Nao Usar Esta Skill
|
|
37
47
|
|
|
38
|
-
-
|
|
39
|
-
-
|
|
40
|
-
-
|
|
48
|
+
- A tarefa nao estiver relacionada a continuidade de contexto
|
|
49
|
+
- Uma ferramenta mais simples e especifica puder atender ao pedido
|
|
50
|
+
- O usuario precisar apenas de assistencia geral, sem esta especializacao
|
|
41
51
|
|
|
42
|
-
##
|
|
52
|
+
## Como Funciona
|
|
43
53
|
|
|
44
54
|
Continuidade perfeita entre sessões do Claude Code. Captura, comprime e
|
|
45
55
|
restaura contexto automaticamente — tópicos, decisões, tarefas, erros,
|
|
@@ -171,23 +181,27 @@ e decisões tomadas — sem precisar de nenhuma ação manual.
|
|
|
171
181
|
- Para formato detalhado dos arquivos: `references/context-format.md`
|
|
172
182
|
- Para regras de compressão e arquivamento: `references/compression-rules.md`
|
|
173
183
|
|
|
174
|
-
##
|
|
184
|
+
## Boas Praticas
|
|
175
185
|
|
|
176
|
-
-
|
|
177
|
-
-
|
|
178
|
-
- Combine
|
|
186
|
+
- Forneca contexto claro e especifico sobre o projeto e seus requisitos
|
|
187
|
+
- Revise todas as sugestoes antes de aplica-las em codigo de producao
|
|
188
|
+
- Combine esta skill com outras skills complementares quando necessario
|
|
179
189
|
|
|
180
|
-
##
|
|
190
|
+
## Armadilhas Comuns
|
|
181
191
|
|
|
182
|
-
-
|
|
183
|
-
-
|
|
184
|
-
-
|
|
192
|
+
- Usar esta skill em tarefas fora de seu dominio
|
|
193
|
+
- Aplicar recomendacoes sem entender o contexto especifico
|
|
194
|
+
- Fornecer contexto insuficiente para uma analise precisa
|
|
185
195
|
|
|
186
|
-
##
|
|
196
|
+
## Skills Relacionadas
|
|
187
197
|
|
|
188
|
-
- `context-guardian` -
|
|
198
|
+
- `context-guardian` - Skill complementar para preservar contexto antes da compactacao
|
|
189
199
|
|
|
190
200
|
## Limitations
|
|
191
|
-
|
|
192
|
-
-
|
|
193
|
-
-
|
|
201
|
+
|
|
202
|
+
- Use esta skill somente quando a tarefa corresponder claramente ao escopo acima.
|
|
203
|
+
- A implementacao incluida usa caminhos absolutos especificos do Windows e do
|
|
204
|
+
autor; adapte e valide todos os caminhos antes de qualquer execucao.
|
|
205
|
+
- Nao trate a saida como substituta de validacao, testes ou revisao especializada.
|
|
206
|
+
- Pare e peca esclarecimentos quando faltarem entradas, permissoes, limites de
|
|
207
|
+
seguranca ou criterios de sucesso.
|
|
@@ -20,7 +20,8 @@ Guide for implementing and maintaining context as a managed artifact alongside c
|
|
|
20
20
|
- Clarify goals, constraints, and required inputs.
|
|
21
21
|
- Apply relevant best practices and validate outcomes.
|
|
22
22
|
- Provide actionable steps and verification.
|
|
23
|
-
-
|
|
23
|
+
- Use the workflow, artifact relationships, and validation checklist below when
|
|
24
|
+
detailed implementation guidance is required.
|
|
24
25
|
|
|
25
26
|
## Use this skill when
|
|
26
27
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: context-guardian
|
|
3
3
|
description: Guardiao de contexto que preserva dados criticos antes da compactacao automatica. Snapshots, verificacao de integridade e zero perda de informacao.
|
|
4
|
-
risk:
|
|
4
|
+
risk: critical
|
|
5
5
|
source: community
|
|
6
6
|
date_added: '2026-03-06'
|
|
7
7
|
author: renat
|
|
@@ -20,26 +20,36 @@ tools:
|
|
|
20
20
|
|
|
21
21
|
# Context Guardian
|
|
22
22
|
|
|
23
|
-
|
|
23
|
+
> Este guia e intencionalmente escrito em portugues brasileiro. O cabecalho
|
|
24
|
+
> Os cabecalhos `When to Use` e `Limitations` permanecem em ingles apenas para
|
|
25
|
+
> compatibilidade com a descoberta e a validacao automatica do catalogo.
|
|
26
|
+
|
|
27
|
+
> [!WARNING]
|
|
28
|
+
> Esta skill cria snapshots e pode remove-los durante a poda. Confirme o
|
|
29
|
+
> diretorio de dados, mantenha um backup e obtenha aprovacao explicita antes de
|
|
30
|
+
> executar `save` ou `prune`; nunca presuma autorizacao para alterar `MEMORY.md`
|
|
31
|
+
> ou outros arquivos de contexto do usuario.
|
|
32
|
+
|
|
33
|
+
## Visao Geral
|
|
24
34
|
|
|
25
35
|
Guardiao de contexto que preserva dados criticos antes da compactacao automatica. Snapshots, verificacao de integridade e zero perda de informacao.
|
|
26
36
|
|
|
27
37
|
## When to Use This Skill
|
|
28
38
|
|
|
29
|
-
-
|
|
30
|
-
-
|
|
31
|
-
-
|
|
32
|
-
-
|
|
33
|
-
-
|
|
34
|
-
-
|
|
39
|
+
- Quando o usuario mencionar "compactacao contexto" ou assuntos relacionados
|
|
40
|
+
- Quando o usuario mencionar "perda de contexto" ou assuntos relacionados
|
|
41
|
+
- Quando o usuario mencionar "snapshot contexto" ou assuntos relacionados
|
|
42
|
+
- Quando o usuario mencionar "preservar contexto" ou assuntos relacionados
|
|
43
|
+
- Quando o usuario mencionar "contexto critico" ou assuntos relacionados
|
|
44
|
+
- Quando o usuario mencionar "antes de compactar" ou assuntos relacionados
|
|
35
45
|
|
|
36
|
-
##
|
|
46
|
+
## Quando Nao Usar Esta Skill
|
|
37
47
|
|
|
38
|
-
-
|
|
39
|
-
-
|
|
40
|
-
-
|
|
48
|
+
- A tarefa nao estiver relacionada a preservacao de contexto
|
|
49
|
+
- Uma ferramenta mais simples e especifica puder atender ao pedido
|
|
50
|
+
- O usuario precisar apenas de assistencia geral, sem esta especializacao
|
|
41
51
|
|
|
42
|
-
##
|
|
52
|
+
## Como Funciona
|
|
43
53
|
|
|
44
54
|
Sistema de integridade de contexto que protege projetos tecnicoss complexos contra
|
|
45
55
|
perda de informacao durante compactacao automatica do Claude Code. Enquanto o
|
|
@@ -303,23 +313,28 @@ Proximo Claude continua com precisao total, zero re-trabalho.
|
|
|
303
313
|
mesmo se uma camada falhar, as outras duas preservam a informacao
|
|
304
314
|
- Snapshots antigos (>10) podem ser podados manualmente
|
|
305
315
|
|
|
306
|
-
##
|
|
316
|
+
## Boas Praticas
|
|
307
317
|
|
|
308
|
-
-
|
|
309
|
-
-
|
|
310
|
-
- Combine
|
|
318
|
+
- Forneca contexto claro e especifico sobre o projeto e seus requisitos
|
|
319
|
+
- Revise todas as sugestoes antes de aplica-las em codigo de producao
|
|
320
|
+
- Combine esta skill com outras skills complementares quando necessario
|
|
311
321
|
|
|
312
|
-
##
|
|
322
|
+
## Armadilhas Comuns
|
|
313
323
|
|
|
314
|
-
-
|
|
315
|
-
-
|
|
316
|
-
-
|
|
324
|
+
- Usar esta skill em tarefas fora de seu dominio
|
|
325
|
+
- Aplicar recomendacoes sem entender o contexto especifico
|
|
326
|
+
- Fornecer contexto insuficiente para uma analise precisa
|
|
317
327
|
|
|
318
|
-
##
|
|
328
|
+
## Skills Relacionadas
|
|
319
329
|
|
|
320
|
-
- `context-agent` -
|
|
330
|
+
- `context-agent` - Skill complementar para persistencia entre sessoes
|
|
321
331
|
|
|
322
332
|
## Limitations
|
|
323
|
-
|
|
324
|
-
-
|
|
325
|
-
-
|
|
333
|
+
|
|
334
|
+
- Use esta skill somente quando a tarefa corresponder claramente ao escopo acima.
|
|
335
|
+
- Os exemplos de integracao usam caminhos absolutos especificos do Windows e do
|
|
336
|
+
autor; adapte e valide todos os caminhos antes de qualquer execucao.
|
|
337
|
+
- O script cria arquivos e a operacao `prune` remove snapshots antigos; exija
|
|
338
|
+
aprovacao para o caminho exato e preserve um backup recuperavel.
|
|
339
|
+
- Pare e peca esclarecimentos quando faltarem entradas, permissoes, limites de
|
|
340
|
+
seguranca ou criterios de sucesso.
|
|
@@ -46,6 +46,7 @@ Different strategies based on context size
|
|
|
46
46
|
|
|
47
47
|
**When to use**: Building any multi-turn conversation system
|
|
48
48
|
|
|
49
|
+
```typescript
|
|
49
50
|
interface ContextTier {
|
|
50
51
|
maxTokens: number;
|
|
51
52
|
strategy: 'full' | 'summarize' | 'rag';
|
|
@@ -86,6 +87,7 @@ async function prepareContext(messages: Message[]): PreparedContext {
|
|
|
86
87
|
return { messages: [...relevant, ...recentMessages(messages)], model: tier.model };
|
|
87
88
|
}
|
|
88
89
|
}
|
|
90
|
+
```
|
|
89
91
|
|
|
90
92
|
### Serial Position Optimization
|
|
91
93
|
|
|
@@ -93,6 +95,7 @@ Place important content at start and end
|
|
|
93
95
|
|
|
94
96
|
**When to use**: Constructing prompts with significant context
|
|
95
97
|
|
|
98
|
+
```typescript
|
|
96
99
|
// LLMs weight beginning and end more heavily
|
|
97
100
|
// Structure prompts to leverage this
|
|
98
101
|
|
|
@@ -131,6 +134,7 @@ function buildOptimalPrompt(components: {
|
|
|
131
134
|
|
|
132
135
|
return parts.join('\n\n');
|
|
133
136
|
}
|
|
137
|
+
```
|
|
134
138
|
|
|
135
139
|
### Intelligent Summarization
|
|
136
140
|
|
|
@@ -138,6 +142,7 @@ Summarize by importance, not just recency
|
|
|
138
142
|
|
|
139
143
|
**When to use**: Context exceeds optimal size
|
|
140
144
|
|
|
145
|
+
```typescript
|
|
141
146
|
interface MessageWithMetadata extends Message {
|
|
142
147
|
importance: number; // 0-1 score
|
|
143
148
|
hasCriticalInfo: boolean; // User preferences, decisions
|
|
@@ -186,6 +191,7 @@ async function smartSummarize(
|
|
|
186
191
|
// Restore original order
|
|
187
192
|
return keep.sort((a, b) => a.timestamp - b.timestamp);
|
|
188
193
|
}
|
|
194
|
+
```
|
|
189
195
|
|
|
190
196
|
### Token Budget Allocation
|
|
191
197
|
|
|
@@ -193,6 +199,7 @@ Allocate token budget across context components
|
|
|
193
199
|
|
|
194
200
|
**When to use**: Need predictable context management
|
|
195
201
|
|
|
202
|
+
```typescript
|
|
196
203
|
interface TokenBudget {
|
|
197
204
|
system: number; // System prompt
|
|
198
205
|
criticalContext: number; // User prefs, key info
|
|
@@ -241,6 +248,7 @@ async function buildWithBudget(
|
|
|
241
248
|
|
|
242
249
|
return prepared;
|
|
243
250
|
}
|
|
251
|
+
```
|
|
244
252
|
|
|
245
253
|
## Validation Checks
|
|
246
254
|
|
|
@@ -8,7 +8,6 @@ date_added: 2026-02-27
|
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
# Conversation Memory
|
|
11
|
-
|
|
12
11
|
Persistent memory systems for LLM conversations including short-term, long-term, and entity-based memory
|
|
13
12
|
|
|
14
13
|
## Capabilities
|
|
@@ -46,16 +45,14 @@ Different memory tiers for different purposes
|
|
|
46
45
|
|
|
47
46
|
**When to use**: Building any conversational AI
|
|
48
47
|
|
|
48
|
+
```typescript
|
|
49
49
|
interface MemorySystem {
|
|
50
50
|
// Buffer: Current conversation (in context)
|
|
51
51
|
buffer: ConversationBuffer;
|
|
52
|
-
|
|
53
52
|
// Short-term: Recent interactions (session)
|
|
54
53
|
shortTerm: ShortTermMemory;
|
|
55
|
-
|
|
56
54
|
// Long-term: Persistent across sessions
|
|
57
55
|
longTerm: LongTermMemory;
|
|
58
|
-
|
|
59
56
|
// Entity: Facts about people, places, things
|
|
60
57
|
entity: EntityMemory;
|
|
61
58
|
}
|
|
@@ -64,13 +61,11 @@ class TieredMemory implements MemorySystem {
|
|
|
64
61
|
async addMessage(message: Message): Promise<void> {
|
|
65
62
|
// Always add to buffer
|
|
66
63
|
this.buffer.add(message);
|
|
67
|
-
|
|
68
64
|
// Extract entities
|
|
69
65
|
const entities = await extractEntities(message);
|
|
70
66
|
for (const entity of entities) {
|
|
71
67
|
await this.entity.upsert(entity);
|
|
72
68
|
}
|
|
73
|
-
|
|
74
69
|
// Check for memorable content
|
|
75
70
|
if (await isMemoryWorthy(message)) {
|
|
76
71
|
await this.shortTerm.add({
|
|
@@ -94,21 +89,18 @@ class TieredMemory implements MemorySystem {
|
|
|
94
89
|
|
|
95
90
|
async buildContext(query: string): Promise<string> {
|
|
96
91
|
const parts: string[] = [];
|
|
97
|
-
|
|
98
92
|
// Relevant long-term memories
|
|
99
93
|
const longTermRelevant = await this.longTerm.search(query, 3);
|
|
100
94
|
if (longTermRelevant.length) {
|
|
101
95
|
parts.push('## Relevant Memories\n' +
|
|
102
96
|
longTermRelevant.map(m => `- ${m.content}`).join('\n'));
|
|
103
97
|
}
|
|
104
|
-
|
|
105
98
|
// Relevant entities
|
|
106
99
|
const entities = await this.entity.getRelevant(query);
|
|
107
100
|
if (entities.length) {
|
|
108
101
|
parts.push('## Known Entities\n' +
|
|
109
102
|
entities.map(e => `- ${e.name}: ${e.facts.join(', ')}`).join('\n'));
|
|
110
103
|
}
|
|
111
|
-
|
|
112
104
|
// Recent conversation
|
|
113
105
|
const recent = this.buffer.getRecent(10);
|
|
114
106
|
parts.push('## Recent Conversation\n' + formatMessages(recent));
|
|
@@ -116,6 +108,7 @@ class TieredMemory implements MemorySystem {
|
|
|
116
108
|
return parts.join('\n\n');
|
|
117
109
|
}
|
|
118
110
|
}
|
|
111
|
+
```
|
|
119
112
|
|
|
120
113
|
### Entity Memory
|
|
121
114
|
|
|
@@ -123,6 +116,7 @@ Store and update facts about entities
|
|
|
123
116
|
|
|
124
117
|
**When to use**: Need to remember details about people, places, things
|
|
125
118
|
|
|
119
|
+
```typescript
|
|
126
120
|
interface Entity {
|
|
127
121
|
id: string;
|
|
128
122
|
name: string;
|
|
@@ -131,7 +125,6 @@ interface Entity {
|
|
|
131
125
|
lastMentioned: number;
|
|
132
126
|
mentionCount: number;
|
|
133
127
|
}
|
|
134
|
-
|
|
135
128
|
interface Fact {
|
|
136
129
|
content: string;
|
|
137
130
|
confidence: number;
|
|
@@ -150,7 +143,6 @@ class EntityMemory {
|
|
|
150
143
|
|
|
151
144
|
Message: "${message.content}"
|
|
152
145
|
`);
|
|
153
|
-
|
|
154
146
|
const { entities } = JSON.parse(extraction);
|
|
155
147
|
for (const entity of entities) {
|
|
156
148
|
await this.upsert(entity, message.id);
|
|
@@ -159,7 +151,6 @@ class EntityMemory {
|
|
|
159
151
|
|
|
160
152
|
async upsert(entity: ExtractedEntity, sourceId: string): Promise<void> {
|
|
161
153
|
const existing = await this.store.get(entity.name.toLowerCase());
|
|
162
|
-
|
|
163
154
|
if (existing) {
|
|
164
155
|
// Merge facts, avoiding duplicates
|
|
165
156
|
for (const fact of entity.facts) {
|
|
@@ -193,6 +184,7 @@ class EntityMemory {
|
|
|
193
184
|
}
|
|
194
185
|
}
|
|
195
186
|
}
|
|
187
|
+
```
|
|
196
188
|
|
|
197
189
|
### Memory-Aware Prompting
|
|
198
190
|
|
|
@@ -200,6 +192,7 @@ Include relevant memories in prompts
|
|
|
200
192
|
|
|
201
193
|
**When to use**: Making LLM calls with memory context
|
|
202
194
|
|
|
195
|
+
```typescript
|
|
203
196
|
async function promptWithMemory(
|
|
204
197
|
query: string,
|
|
205
198
|
memory: MemorySystem,
|
|
@@ -237,6 +230,7 @@ ${query}
|
|
|
237
230
|
|
|
238
231
|
return response;
|
|
239
232
|
}
|
|
233
|
+
```
|
|
240
234
|
|
|
241
235
|
## Sharp Edges
|
|
242
236
|
|
|
@@ -258,6 +252,7 @@ Retrieval over millions of items.
|
|
|
258
252
|
|
|
259
253
|
Recommended fix:
|
|
260
254
|
|
|
255
|
+
```typescript
|
|
261
256
|
// Implement memory lifecycle management
|
|
262
257
|
|
|
263
258
|
class ManagedMemory {
|
|
@@ -309,6 +304,7 @@ class ManagedMemory {
|
|
|
309
304
|
return Object.values(factors).reduce((a, b) => a + b, 0);
|
|
310
305
|
}
|
|
311
306
|
}
|
|
307
|
+
```
|
|
312
308
|
|
|
313
309
|
### Retrieved memories not relevant to current query
|
|
314
310
|
|
|
@@ -328,6 +324,7 @@ Including all retrieved memories.
|
|
|
328
324
|
|
|
329
325
|
Recommended fix:
|
|
330
326
|
|
|
327
|
+
```typescript
|
|
331
328
|
// Intelligent memory retrieval
|
|
332
329
|
|
|
333
330
|
async function retrieveRelevant(
|
|
@@ -357,6 +354,7 @@ async function retrieveRelevant(
|
|
|
357
354
|
.sort((a, b) => b.relevance - a.relevance)
|
|
358
355
|
.slice(0, maxResults);
|
|
359
356
|
}
|
|
357
|
+
```
|
|
360
358
|
|
|
361
359
|
### Memories from one user accessible to another
|
|
362
360
|
|
|
@@ -376,6 +374,7 @@ Cross-user retrieval.
|
|
|
376
374
|
|
|
377
375
|
Recommended fix:
|
|
378
376
|
|
|
377
|
+
```typescript
|
|
379
378
|
// Strict user isolation in memory
|
|
380
379
|
|
|
381
380
|
class IsolatedMemory {
|
|
@@ -426,6 +425,7 @@ class IsolatedMemory {
|
|
|
426
425
|
}
|
|
427
426
|
}
|
|
428
427
|
}
|
|
428
|
+
```
|
|
429
429
|
|
|
430
430
|
## Validation Checks
|
|
431
431
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: Jetski/Cortex + Gemini Integration Guide
|
|
3
|
-
description: "Use agentic-awesome-skills with Jetski/Cortex without hitting context-window overflow with 2,
|
|
3
|
+
description: "Use agentic-awesome-skills with Jetski/Cortex without hitting context-window overflow with 2,007+ skills."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Jetski/Cortex + Gemini: safe integration with 2,
|
|
6
|
+
# Jetski/Cortex + Gemini: safe integration with 2,007+ skills
|
|
7
7
|
|
|
8
8
|
> **Custom-host integration:** This guide documents a low-level, direct-manifest lazy loader for Jetski/Cortex and similar hosts. For Codex or Claude Code, the recommended path is [AAS Core](../users/aas-core.md), which provides neutral, deterministic catalog retrieval and validates exact agent-selected IDs through a bounded, read-only MCP server.
|
|
9
9
|
|
|
@@ -25,7 +25,7 @@ Never do:
|
|
|
25
25
|
- concatenate all `SKILL.md` content into a single system prompt;
|
|
26
26
|
- re-inject the entire library for **every** request.
|
|
27
27
|
|
|
28
|
-
With 2,
|
|
28
|
+
With 2,007+ skills, this approach fills the context window before user messages are even added, causing truncation.
|
|
29
29
|
|
|
30
30
|
---
|
|
31
31
|
|
|
@@ -23,7 +23,7 @@ This example shows one way to integrate **agentic-awesome-skills** with a Jetski
|
|
|
23
23
|
- How to enforce a **maximum number of skills per turn** via `maxSkillsPerTurn`.
|
|
24
24
|
- How to choose whether to **truncate or error** when too many skills are requested via `overflowBehavior`.
|
|
25
25
|
|
|
26
|
-
This pattern avoids context overflow when you have 2,
|
|
26
|
+
This pattern avoids context overflow when you have 2,007+ skills installed.
|
|
27
27
|
|
|
28
28
|
Manifest contract references:
|
|
29
29
|
|
|
@@ -29,7 +29,7 @@ Preferred homepage:
|
|
|
29
29
|
Preferred social preview:
|
|
30
30
|
|
|
31
31
|
- lead with `AAS Core` and the profile → stack → plan flow;
|
|
32
|
-
- present `2,
|
|
32
|
+
- present `2,007+ Agentic Skills` as supporting catalog evidence, not a second product;
|
|
33
33
|
- mention Codex and Claude as the current Core agent path, with broader host compatibility as distribution support;
|
|
34
34
|
- avoid dense text and tiny logos that disappear in social cards.
|
|
35
35
|
|
|
@@ -72,7 +72,7 @@ The update process refreshes:
|
|
|
72
72
|
- Canonical skills index (`skills_index.json`)
|
|
73
73
|
- Compatibility mirror (`data/skills_index.json`)
|
|
74
74
|
- Web app skills data (`apps\web-app\public\skills.json`)
|
|
75
|
-
- All 2,
|
|
75
|
+
- All 2,007+ skills from the skills directory
|
|
76
76
|
|
|
77
77
|
## When to Update
|
|
78
78
|
|
|
@@ -30,7 +30,7 @@ AAS MCP does not scan the repository and does not decide which skills are best.
|
|
|
30
30
|
> **Release boundary:** AAS Core landed after release 14.6.0. Use an exact Core-capable release rather than an unreviewed moving tag.
|
|
31
31
|
|
|
32
32
|
```bash
|
|
33
|
-
npm exec --yes --ignore-scripts --package=agentic-awesome-skills@15.
|
|
33
|
+
npm exec --yes --ignore-scripts --package=agentic-awesome-skills@15.12.0 -- aas mcp configure \
|
|
34
34
|
--host codex \
|
|
35
35
|
--scope user \
|
|
36
36
|
--config /absolute/path/to/codex/config.toml \
|
|
@@ -17,7 +17,7 @@ Configure AAS Core for Claude Code, describe the task and constraints, let Claud
|
|
|
17
17
|
- It lets Claude search the verified local catalog without loading the full library into context.
|
|
18
18
|
- It preserves Claude's exact selection without using metadata as an eligibility gate.
|
|
19
19
|
- It keeps MCP discovery read-only and CLI changes approval-gated.
|
|
20
|
-
- It includes 2,
|
|
20
|
+
- It includes 2,007+ skills instead of a narrow single-domain starter pack.
|
|
21
21
|
- It supports the standard `.claude/skills/` path and the Claude Code plugin marketplace flow.
|
|
22
22
|
- It also ships generated bundle plugins so teams can install focused packs like `Essentials` or `Security Developer` from the marketplace metadata.
|
|
23
23
|
- It includes onboarding docs, bundles, and workflows so new users do not need to guess where to begin.
|
|
@@ -12,7 +12,7 @@ Install into the Gemini skills path, then ask Gemini to apply one skill at a tim
|
|
|
12
12
|
|
|
13
13
|
- It installs directly into the expected Gemini skills path.
|
|
14
14
|
- It includes both core software engineering skills and deeper agent/LLM-oriented skills.
|
|
15
|
-
- It helps new users get started with bundles and workflows rather than forcing a cold start from 2,
|
|
15
|
+
- It helps new users get started with bundles and workflows rather than forcing a cold start from 2,007+ files.
|
|
16
16
|
- It is useful whether you want a broad internal skill library or a single repo to test many workflows quickly.
|
|
17
17
|
|
|
18
18
|
## Install Gemini CLI Skills
|
|
@@ -18,7 +18,7 @@ Kiro is AWS's agentic AI IDE that combines:
|
|
|
18
18
|
|
|
19
19
|
Kiro's agentic capabilities are enhanced by skills that provide:
|
|
20
20
|
|
|
21
|
-
- **Domain expertise** across 2,
|
|
21
|
+
- **Domain expertise** across 2,007+ specialized areas
|
|
22
22
|
- **Best practices** from Anthropic, OpenAI, Google, Microsoft, and AWS
|
|
23
23
|
- **Workflow automation** for common development tasks
|
|
24
24
|
- **AWS-specific patterns** for serverless, infrastructure, and cloud architecture
|
|
@@ -39,7 +39,7 @@ If you came in through a **Claude Code** or **Codex** plugin instead of AAS Core
|
|
|
39
39
|
|
|
40
40
|
When you ran `npx agentic-awesome-skills` or cloned the repository, you:
|
|
41
41
|
|
|
42
|
-
✅ **Downloaded 2,
|
|
42
|
+
✅ **Downloaded 2,007+ skill files** to your computer (default: `~/.agents/skills/`; or a custom path like `~/.agent/skills/` if you used `--path`)
|
|
43
43
|
✅ **Made them available** to your AI assistant
|
|
44
44
|
❌ **Did NOT enable them all automatically** (they're just sitting there, waiting)
|
|
45
45
|
|
|
@@ -231,7 +231,7 @@ Let's actually use a skill right now. Follow these steps:
|
|
|
231
231
|
|
|
232
232
|
## Direct-install Step 5: Pick Skills Manually
|
|
233
233
|
|
|
234
|
-
Don't try to use all 2,
|
|
234
|
+
Don't try to use all 2,007+ skills at once. Here's a sensible approach:
|
|
235
235
|
|
|
236
236
|
If you want a tool-specific starting point before choosing skills, use:
|
|
237
237
|
|
|
@@ -362,7 +362,7 @@ Usually no, but if your AI doesn't recognize a skill:
|
|
|
362
362
|
|
|
363
363
|
### "Can I load all skills into the model at once?"
|
|
364
364
|
|
|
365
|
-
No. Even though you have 2,
|
|
365
|
+
No. Even though you have 2,007+ skills installed locally, you should **not** concatenate every `SKILL.md` into a single system prompt or context block.
|
|
366
366
|
|
|
367
367
|
The intended pattern is:
|
|
368
368
|
|
|
@@ -40,7 +40,7 @@ agentic-awesome-skills/
|
|
|
40
40
|
├── 📄 CONTRIBUTING.md ← Contributor workflow
|
|
41
41
|
├── 📄 CATALOG.md ← Full generated catalog
|
|
42
42
|
│
|
|
43
|
-
├── 📁 skills/ ← 2,
|
|
43
|
+
├── 📁 skills/ ← 2,007+ skills live here
|
|
44
44
|
│ │
|
|
45
45
|
│ ├── 📁 brainstorming/
|
|
46
46
|
│ │ └── 📄 SKILL.md ← Skill definition
|
|
@@ -53,7 +53,7 @@ agentic-awesome-skills/
|
|
|
53
53
|
│ │ └── 📁 2d-games/
|
|
54
54
|
│ │ └── 📄 SKILL.md ← Nested skills also supported
|
|
55
55
|
│ │
|
|
56
|
-
│ └── ... (2,
|
|
56
|
+
│ └── ... (2,007+ total)
|
|
57
57
|
│
|
|
58
58
|
├── 📁 apps/
|
|
59
59
|
│ └── 📁 web-app/ ← Interactive browser
|
|
@@ -106,7 +106,7 @@ agentic-awesome-skills/
|
|
|
106
106
|
|
|
107
107
|
```
|
|
108
108
|
┌─────────────────────────┐
|
|
109
|
-
│ 2,
|
|
109
|
+
│ 2,007+ SKILLS │
|
|
110
110
|
└────────────┬────────────┘
|
|
111
111
|
│
|
|
112
112
|
┌────────────────────────┼────────────────────────┐
|
|
@@ -207,7 +207,7 @@ If you want a workspace-style manual install instead, cloning into `.agent/skill
|
|
|
207
207
|
│ ├── 📁 brainstorming/ │
|
|
208
208
|
│ ├── 📁 stripe-integration/ │
|
|
209
209
|
│ ├── 📁 react-best-practices/ │
|
|
210
|
-
│ └── ... (2,
|
|
210
|
+
│ └── ... (2,007+ total) │
|
|
211
211
|
└─────────────────────────────────────────┘
|
|
212
212
|
```
|
|
213
213
|
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"better-sqlite3": "^12.11.1",
|
|
12
12
|
"cors": "^2.8.6",
|
|
13
13
|
"express": "^4.18.2",
|
|
14
|
-
"express-rate-limit": "^8.
|
|
14
|
+
"express-rate-limit": "^8.6.0"
|
|
15
15
|
},
|
|
16
16
|
"devDependencies": {
|
|
17
17
|
"@types/better-sqlite3": "^7.6.13",
|
|
@@ -691,11 +691,12 @@
|
|
|
691
691
|
}
|
|
692
692
|
},
|
|
693
693
|
"node_modules/express-rate-limit": {
|
|
694
|
-
"version": "8.
|
|
695
|
-
"resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-8.
|
|
696
|
-
"integrity": "sha512-
|
|
694
|
+
"version": "8.6.0",
|
|
695
|
+
"resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-8.6.0.tgz",
|
|
696
|
+
"integrity": "sha512-XKJXDsASUOo0LLtFwW5hCcQGH0N4WQc/Rn8/Pvoia+TJFOkkFPvrtW9lZOeeNcxQJspvOIERMwiRLsVFlhHEkA==",
|
|
697
697
|
"license": "MIT",
|
|
698
698
|
"dependencies": {
|
|
699
|
+
"debug": "^4.4.3",
|
|
699
700
|
"ip-address": "^10.2.0"
|
|
700
701
|
},
|
|
701
702
|
"engines": {
|
|
@@ -708,6 +709,29 @@
|
|
|
708
709
|
"express": ">= 4.11"
|
|
709
710
|
}
|
|
710
711
|
},
|
|
712
|
+
"node_modules/express-rate-limit/node_modules/debug": {
|
|
713
|
+
"version": "4.4.3",
|
|
714
|
+
"resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
|
|
715
|
+
"integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
|
|
716
|
+
"license": "MIT",
|
|
717
|
+
"dependencies": {
|
|
718
|
+
"ms": "^2.1.3"
|
|
719
|
+
},
|
|
720
|
+
"engines": {
|
|
721
|
+
"node": ">=6.0"
|
|
722
|
+
},
|
|
723
|
+
"peerDependenciesMeta": {
|
|
724
|
+
"supports-color": {
|
|
725
|
+
"optional": true
|
|
726
|
+
}
|
|
727
|
+
}
|
|
728
|
+
},
|
|
729
|
+
"node_modules/express-rate-limit/node_modules/ms": {
|
|
730
|
+
"version": "2.1.3",
|
|
731
|
+
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
|
|
732
|
+
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
|
|
733
|
+
"license": "MIT"
|
|
734
|
+
},
|
|
711
735
|
"node_modules/file-uri-to-path": {
|
|
712
736
|
"version": "1.0.0",
|
|
713
737
|
"resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: people-data
|
|
3
|
+
description: "Research LinkedIn professional profiles and public business-contact data, including email/phone lookup, people search, and YouTube channel business-email discovery."
|
|
4
|
+
category: research
|
|
5
|
+
risk: safe
|
|
6
|
+
source: https://github.com/agentbody/skills/blob/main/skills/people-data/SKILL.md
|
|
7
|
+
source_repo: agentbody/skills
|
|
8
|
+
source_type: community
|
|
9
|
+
date_added: "2026-08-07"
|
|
10
|
+
author: agentbody
|
|
11
|
+
tags: [linkedin, youtube, people-search, business-contacts, research]
|
|
12
|
+
tools: [claude, cursor, gemini]
|
|
13
|
+
license: "MIT"
|
|
14
|
+
license_source: "https://github.com/agentbody/skills/blob/main/LICENSE"
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
# People Data
|
|
18
|
+
|
|
19
|
+
## Overview
|
|
20
|
+
|
|
21
|
+
Perform authorized professional-profile and public business-contact research through the Agent Body MCP server at `/mcp/people-data`. It covers LinkedIn profile retrieval, email and phone lookup, filtered people search, and YouTube channel business-email discovery.
|
|
22
|
+
|
|
23
|
+
Read [references/tool-reference.md](references/tool-reference.md) for exact tool names and input fields.
|
|
24
|
+
|
|
25
|
+
## When to Use This Skill
|
|
26
|
+
|
|
27
|
+
- Use when the user asks to look up, enrich, or verify a LinkedIn professional profile.
|
|
28
|
+
- Use when the user needs a business email or phone number for a LinkedIn profile they are authorized to contact.
|
|
29
|
+
- Use when the user wants to find people by role, company, location, seniority, or other LinkedIn filters.
|
|
30
|
+
- Use when the user wants to find public business contact emails for YouTube channels.
|
|
31
|
+
- Use when the user asks to validate or deduplicate people-search results before outreach.
|
|
32
|
+
|
|
33
|
+
## How It Works
|
|
34
|
+
|
|
35
|
+
### Step 1: Choose one operation
|
|
36
|
+
|
|
37
|
+
- `linkedin_person_profile` with `linkedin_url` retrieves one professional profile.
|
|
38
|
+
- `linkedin_email_lookup` with `profileUrl` looks up one profile email address.
|
|
39
|
+
- `linkedin_phone_lookup` with `profileUrl` looks up one profile phone number.
|
|
40
|
+
- `linkedin_people_search` accepts optional filters and returns a `nextPageToken` for continuation.
|
|
41
|
+
- `youtube_email_finder` takes `channels` (1-1000 channel URLs) and optional `scrape_fresh_emails` to find public business emails.
|
|
42
|
+
|
|
43
|
+
### Step 2: Prefer canonical URLs and explicit filters
|
|
44
|
+
|
|
45
|
+
Use canonical profile or channel URLs when available. For name-only searches, add explicit role, company, location, or keyword filters. `companyFilter` must be `current`, `past`, or `all`.
|
|
46
|
+
|
|
47
|
+
### Step 3: Verify and present only returned data
|
|
48
|
+
|
|
49
|
+
Confirm that returned identities match the request, deduplicate search results by canonical profile identity, and never construct or guess an email address or phone number. Preserve per-channel found/not-found state from YouTube results.
|
|
50
|
+
|
|
51
|
+
## Examples
|
|
52
|
+
|
|
53
|
+
### Example 1: Look up one LinkedIn profile
|
|
54
|
+
|
|
55
|
+
Call `linkedin_person_profile` with:
|
|
56
|
+
|
|
57
|
+
```json
|
|
58
|
+
{
|
|
59
|
+
"linkedin_url": "https://www.linkedin.com/in/example-person"
|
|
60
|
+
}
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### Example 2: Find public business emails for YouTube channels
|
|
64
|
+
|
|
65
|
+
Call `youtube_email_finder` with:
|
|
66
|
+
|
|
67
|
+
```json
|
|
68
|
+
{
|
|
69
|
+
"channels": ["https://www.youtube.com/@example"],
|
|
70
|
+
"scrape_fresh_emails": false
|
|
71
|
+
}
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## Best Practices
|
|
75
|
+
|
|
76
|
+
- ✅ Use canonical profile or channel URLs instead of guessing handles.
|
|
77
|
+
- ✅ Confirm the returned identity matches the person or channel before presenting it.
|
|
78
|
+
- ✅ Use only public, authorized, or explicitly permitted business data.
|
|
79
|
+
- ✅ Keep `nextPageToken` unchanged when continuing a `linkedin_people_search`.
|
|
80
|
+
- ❌ Do not fabricate, guess, or infer email addresses or phone numbers.
|
|
81
|
+
- ❌ Do not bypass access controls or collect private profiles without authorization.
|
|
82
|
+
|
|
83
|
+
## Limitations
|
|
84
|
+
|
|
85
|
+
- Requires an Agent Body API key and access to the `/mcp/people-data` MCP server; results depend on the live tool schema.
|
|
86
|
+
- Email and phone lookup may return no result for profiles without public contact data; a missing result is not evidence that a person has no contact information.
|
|
87
|
+
- Search filters are optional, but unfiltered name-only searches can return ambiguous matches that need manual verification.
|
|
88
|
+
- `youtube_email_finder` only finds public business emails and may report channels where no email is found.
|
|
89
|
+
|
|
90
|
+
## Security & Safety Notes
|
|
91
|
+
|
|
92
|
+
- Never print, log, or commit API keys or other credentials.
|
|
93
|
+
- Use contact information only for authorized business purposes and respect privacy, anti-harassment, and outreach rules.
|
|
94
|
+
- Do not use this skill to build contact lists without a lawful basis or to contact people who have opted out.
|
|
95
|
+
- This skill is read-only: it queries business data and does not modify files or systems.
|
|
96
|
+
|
|
97
|
+
## Common Pitfalls
|
|
98
|
+
|
|
99
|
+
- **Problem:** Using the wrong input key for profile versus email/phone lookups.
|
|
100
|
+
**Solution:** Profile lookup uses `linkedin_url`; email and phone lookup use `profileUrl`.
|
|
101
|
+
- **Problem:** Guessing an email when lookup returns nothing.
|
|
102
|
+
**Solution:** Report the missing result and stop; never invent contact data.
|
|
103
|
+
- **Problem:** Repeating the same people-search page.
|
|
104
|
+
**Solution:** Pass the returned `nextPageToken` unchanged to continue instead of replaying the initial query.
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# People Data Tool Reference
|
|
2
|
+
|
|
3
|
+
MCP server: `/mcp/people-data`
|
|
4
|
+
|
|
5
|
+
Successful calls return the business result in `data`.
|
|
6
|
+
|
|
7
|
+
REST uses `POST /v1/tools/{tool_id}/call`.
|
|
8
|
+
|
|
9
|
+
| Tool ID | MCP Tool | Required input | Purpose |
|
|
10
|
+
|---|---|---|---|
|
|
11
|
+
| `linkedin.email_lookup` | `linkedin_email_lookup` | `profileUrl` (URI) | Look up an email address from a LinkedIn profile URL |
|
|
12
|
+
| `linkedin.phone_lookup` | `linkedin_phone_lookup` | `profileUrl` (URI) | Look up a phone number from a LinkedIn profile URL |
|
|
13
|
+
| `linkedin.person_profile` | `linkedin_person_profile` | `linkedin_url` (URI) | Retrieve one professional profile |
|
|
14
|
+
| `linkedin.people_search` | `linkedin_people_search` | None | Search people with explicit filters |
|
|
15
|
+
| `youtube.email_finder` | `youtube_email_finder` | `channels` | Find public business emails for channels |
|
|
16
|
+
|
|
17
|
+
## People search fields
|
|
18
|
+
|
|
19
|
+
`linkedin_people_search` accepts these optional fields:
|
|
20
|
+
|
|
21
|
+
- Strings: `name`, `companyFilter`, `keyword`, `nextPageToken`.
|
|
22
|
+
- String arrays: `jobTitle`, `excludeJobTitles`, `seniority`, `jobFunction`, `skills`, `yearsOfExperience`, `yearsInCurrentRole`, `education`, `company`, `domain`, `excludeCompanies`, `location`, `industry`, `companySize`.
|
|
23
|
+
- Booleans: `currentTitlesOnly`, `includeRelatedJobTitles`.
|
|
24
|
+
|
|
25
|
+
`companyFilter` must be `current`, `past`, or `all`. Pass a returned `nextPageToken` unchanged to continue a search.
|
|
26
|
+
|
|
27
|
+
## YouTube email input
|
|
28
|
+
|
|
29
|
+
```json
|
|
30
|
+
{
|
|
31
|
+
"channels": ["https://www.youtube.com/@example"],
|
|
32
|
+
"scrape_fresh_emails": false
|
|
33
|
+
}
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
`channels` must contain 1-1000 non-empty strings. The result contains a `channels` array; preserve per-channel found/not-found state instead of inventing missing addresses.
|
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: travel-planner
|
|
3
|
+
description: "旅行/行程规划需求时使用:规划去某地旅行、X天X城、带老人孩子、自驾、假期安排等。产出逐日行程表、预算估算(经济/舒适/奢华三档)、交通住宿建议、景点美食清单。必须先问预算,预算未确认只输出问题清单;事实数据带来源和查询日期。"
|
|
4
|
+
category: travel
|
|
5
|
+
risk: safe
|
|
6
|
+
source: community
|
|
7
|
+
source_repo: saudademjj/luopan
|
|
8
|
+
source_type: community
|
|
9
|
+
date_added: "2026-08-08"
|
|
10
|
+
author: saudademjj
|
|
11
|
+
tags: [travel, itinerary, planning, trip, chinese]
|
|
12
|
+
license: "MIT"
|
|
13
|
+
license_source: "https://github.com/saudademjj/luopan/blob/main/LICENSE"
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# 旅行规划 (Travel Planner)
|
|
17
|
+
|
|
18
|
+
## When to Use
|
|
19
|
+
|
|
20
|
+
- 用户提出任何旅行、出游、行程规划相关需求时使用;用户未明说"规划"但请求涉及目的地、天数、路线或行程安排的,同样适用
|
|
21
|
+
- 覆盖自由行、家庭游、亲子游、商务出差、自驾等所有类型
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
为用户的旅行需求生成一份完整、可执行、节奏合理的规划。输出一律用中文。
|
|
25
|
+
以下四个步骤**按顺序执行,不得跳步、不得提前输出**。
|
|
26
|
+
|
|
27
|
+
## 第一步:收集需求(必问预算)
|
|
28
|
+
|
|
29
|
+
在开始任何联网查询或规划前,先收集齐以下信息。用户请求里没明确给出的,用**一次提问**问清(不要逐条追问,按顺序打包成 4-7 个问题):
|
|
30
|
+
|
|
31
|
+
1. **出发地**:用户所在城市/出发城市(影响大交通与预算口径;用户未提时默认按用户所在地推断,并在输出页眉注明推断假设)
|
|
32
|
+
2. **目的地**:城市/地区,必要时细分到区域
|
|
33
|
+
3. **日期与天数**:起止日期或"X天"+ 大致出发时间
|
|
34
|
+
4. **同行人与人数**:个人 / 情侣 / 带老人 / 带孩子 / 团队——老人小孩直接影响节奏
|
|
35
|
+
5. **预算——必须问**:人均或总预算、口径(含不含机票/购物)。用户没提预算就必须问,不能跳过、不能自己默认。若用户说"没想好",给出档位让他选:经济(青旅/公共交通)、舒适(中档酒店/地铁为主)、奢华(高星酒店/包车)。**预算未确认前,只输出问题清单,不输出任何行程内容——包括草稿、框架、示例,都不要给。**若用户明确拒绝提供预算,默认按舒适档规划,并在输出页眉注明"按默认舒适档估算"。用户回答预算后,才进入第二步。
|
|
36
|
+
6. **偏好**:节奏(松弛/紧凑/无所谓)、兴趣(美食/人文/自然/购物/夜生活/小众)、避雷内容
|
|
37
|
+
7. **限制**:签证/证件、身体条件、天气敏感度、是否需要 WiFi/翻译/无障碍
|
|
38
|
+
|
|
39
|
+
**目的地范围红线**:行程范围严格等于用户指定的目的地(指定城市名即其行政市域,指定地区即该地区域)。**不得擅自加入其他城市/区域**——包括"顺路""高铁 1 小时内"的周边一日游,哪怕你认为单城天数偏长。若天数确实偏多:(1)优先放慢节奏、加深单城玩法——冷门点位、博物馆、街区深度游、留半天休息日;(2)周边一日游只能作为**问题清单里的一道选择题**先问用户("X天单城可能偏长,是否考虑加 1-2 天周边一日游?"),用户明确同意后才纳入主行程;未获同意则主行程保持单城。若用户明确要求"环线/深度游"等跨区域形态,当行程必须覆盖跨出指定区域的部分时,在输出开头向用户**明确解释每个跨区点的原因**,并给出严格限定在指定区域内的替代方案,让用户拍板,不得擅自决定。
|
|
40
|
+
|
|
41
|
+
## 第二步:联网调研(实时信息)
|
|
42
|
+
|
|
43
|
+
用 WebSearch/WebFetch 联网核实以下内容,输出中标注信息来源与查询日期:
|
|
44
|
+
|
|
45
|
+
- **目的地当前状况**:最佳季节、当月天气气温、节庆或大型活动(影响人流与价格)
|
|
46
|
+
- **大交通**:出发地→目的地航班/高铁/大巴的价格区间与耗时、机场/车站→市区方式
|
|
47
|
+
- **住宿**:按预算档位推荐区域,各区域特点与大致价位
|
|
48
|
+
- **景点**:必去景点开放时间、门票、预约要求、排队预期;小众景点
|
|
49
|
+
- **签证/入境**(国际旅行必查):要求、材料、办理时间
|
|
50
|
+
- **当地实用信息**:时差、货币、语言、安全、电源插头
|
|
51
|
+
|
|
52
|
+
调研纪律:
|
|
53
|
+
- 搜索时带年份/月份关键词,优先取最新信息;**区分"攻略观点"与"事实性信息"**(开放时间、票价、签证政策以官方为准)
|
|
54
|
+
- **来源分级**:事实性数据(票价/开放时间/政策)优先官方渠道(景区官网、政府公告、12306、航司、场馆官方公众号),权威媒体次之;**自媒体与"野榜"(小红书、自媒体榜单、平台号攻略)只作线索不作依据**——仅出自自媒体的信息须标注"来源为自媒体,需官方确认",不得当确定事实写;美食/口碑类推荐须多个本地来源交叉验证,单一榜单不作推荐理由
|
|
55
|
+
- **可追溯**:每个事实性数据(票价、开放时间、闭馆日、签证要求、班次时刻)都要能追溯到来源——查询所得项标注来源与查询日期(如"某航司官网 2026-08""官方公告 2026-02"),未查到的一律明确写"未查到,需自行确认"
|
|
56
|
+
- **绝不编造**:查不到或不确定的,明确写"需以官网/预订平台为准"
|
|
57
|
+
- 若联网工具不可用,在输出开头声明:"以下为知识库信息,票价/开放时间/航班等实时信息可能过期,请以官方渠道为准"
|
|
58
|
+
|
|
59
|
+
## 第三步:构建行程框架
|
|
60
|
+
|
|
61
|
+
**先定优先级,再排天**,然后逐条校验以下规则(**R1-R13 全部必须满足,编号用于对照,不是可选项**):
|
|
62
|
+
|
|
63
|
+
**R1 优先级分级**:用调研结果与目的地公认热度,把候选景点分为**必去级**(城市顶级地标——5A/国家级场馆/当地共识必打卡)、**值得去级**(有特色但可取舍)、**可选级**(锦上添花,如次级景点、小众点位)。**必去级必须进主行程,绝不放备选**;可选级只作补充,不能当行程主卖点。排序依据是热度数据与官方评级,不是模型自己的偏好。若必去级总量超出天数可承载(按 R3 体量、R4 独占一天计算排不下),不得静默删减:按热度与官方评级降序,**把取舍选项一次写入问题清单让用户拍板**(如"3 天排不下全部必去景点,以下二选一:…)",用户同意后才可移出主行程,并在自检表备注注明原因与依据。
|
|
64
|
+
|
|
65
|
+
**R2 高商业化旅游街避雷**:商业化严重、目标客群是游客的街区/美食街(特征:全国统一的小吃摊、网红店聚集、本地人不去),不得排为必去级,也不得作为美食推荐的主要来源。这类地点要么降级为"顺路可逛",要么写进避雷说明(标注"商业化严重、餐饮全国统一、坑多,逛可以、吃住别选这里");美食推荐以本地人常去为主——老字号、居民区、菜场周边小店。
|
|
66
|
+
|
|
67
|
+
**R3 体量定负荷**:判断"赶不赶"看**体量**而非个数。每天 2-3 个主景点(或 1 个大景点 + 周边);两个重量级(大型景区/国家级场馆/纪念地)不得同日,重量级只能配轻量级(街区/广场/商场)。自驾行程中,**长途驾驶本身计入每日体量**:单日车程 ≥4 小时视为一个重量级,"车程+游玩"合并评估当天负荷;两个长驱日之间必须隔开。
|
|
68
|
+
|
|
69
|
+
**R4 顶流园区独占一天**:一天都逛不完的顶流园区(如口碑顶流的超大型园区)必须独占一天,不得与任何其他主景点同日——宁可整体少排景点,也不压缩大园。唯一例外见 R5。
|
|
70
|
+
|
|
71
|
+
**R5 收尾型并日(例外)**:主景点玩完后,同区域次一级景点的**"收尾型"并日**可接受(经实测验证的成熟玩法)——前提:次一级点只安排核心区段(如主园林 4-5h 后接次一级景区遗址区夕阳收尾 2-2.5h,非全园),并注明可替换为休整/商圈。不得做全园。
|
|
72
|
+
|
|
73
|
+
**R6 时间预估带缓冲**:每个景点先按**纯浏览时间**估算,再**统一加 1-2 小时缓冲**,覆盖入场/安检/排队、找路、吃饭、休息、拍照、离场等实际因素,避免按两套口径重复计入。热门大型园区直接按**一整天到闭园**估,绝不压缩。宁可排松,不可排满。
|
|
74
|
+
|
|
75
|
+
**R7 不砍核心景点**:5 天及以上的单城行程不得砍核心景点——必去级与热门值得去级都要保住;排不下就拆天、挪位、合并轻量级,而不是从行程里删景点。
|
|
76
|
+
|
|
77
|
+
**R8 大型博物馆半天起步**:国家级大馆(藏品数十万件的省级以上博物馆)至少 4-6 小时,标注建议时长前先确认场馆体量,不许把大馆塞进"上午 3 小时"。
|
|
78
|
+
|
|
79
|
+
**R9 顶级商圈**:中档及以上预算的行程应纳入顶级商场/商圈体验,放在晚间、雨天或休整日。以**本地人日常消费为主的品质商圈**为准;若该商圈同时属于 R2 所述高商业化游客街,降级为"顺路可逛",改为推荐商场内部高品质餐饮/展览作为替代;用户明确无购物偏好时不强制纳入。
|
|
80
|
+
|
|
81
|
+
**R10 行程锚定住宿区域**:先定住宿区域(按预算+全程动线),之后每一天都从"酒店出发"的视角估算交通衔接——住市中心枢纽则各日从容;住宿偏远时逐日重估通勤,不允许出现"从偏远酒店出发还要 1 小时才到第一站"的安排。全程建议住同一家酒店,避免中途搬行李;自驾环线无法同店连住时,以"行李随车、每晚只收拾次日小包"变通并注明。
|
|
82
|
+
|
|
83
|
+
**R11 地理就近**:同一天排同一区域,减少来回奔波。
|
|
84
|
+
|
|
85
|
+
**R12 全局去重**:所有天排完后整体检查一遍——同一街区/市集/夜游点不得在多个晚上重复出现(顺路路过与专门安排视为重复)。重复的合并或替换为同类替代(如换本地人常去的另一处),保证每天体验有差异,不把行程排成"同一批地方的循环"。
|
|
86
|
+
|
|
87
|
+
**R13 主观体验类项目列为可选**:实景演出、大型演出、游船/画舫夜游、主题乐园夜场、摩天轮等高单价、强主观喜好的项目,**默认列入"可选加项"供用户拍板,不自动占主行程晚间位置**。用户未明确偏好时,全行程此类晚间项目至多保留 1 个(选最经典的那个),其余进可选清单(注明价格与确认渠道)。必要交通性乘船(如登岛只能坐船)不算游船项目,正常排。
|
|
88
|
+
|
|
89
|
+
通用要求(适用于每一天):
|
|
90
|
+
- 节奏默认中等;带老人小孩或用户要求松弛时每日主景点数减至 1 个或只排半天,商务出差留弹性
|
|
91
|
+
- 受天气影响的活动(户外、夜景、游船)必须有**备选方案**
|
|
92
|
+
- 热点餐厅/博物馆等标注预约提示
|
|
93
|
+
|
|
94
|
+
## 第四步:按模板输出
|
|
95
|
+
|
|
96
|
+
**输出前强制检查(不可跳过)**:正式撰写输出前,重读本文件"第三步"的 R1-R13 与文末"质量红线",逐条对照已排定的行程;发现不合规(体量失衡、必去级缺失或进了备选、重复安排、时长未带缓冲等)先在草稿中修正,再进入模板输出。输出完成后,按模板末尾的"规则自检表"逐条填写。
|
|
97
|
+
|
|
98
|
+
严格按照以下模板输出,顺序与层级不变,Markdown 格式:
|
|
99
|
+
|
|
100
|
+
# [目的地] X天Y夜行程规划
|
|
101
|
+
> 规划日期 / 信息查询日期 / 人数与类型 / 预算档位
|
|
102
|
+
|
|
103
|
+
## 📋 行程总览
|
|
104
|
+
- 天数、日期、季节与天气概要
|
|
105
|
+
- 每日一句话主题(如 D1 老城区漫步、D2 海边)
|
|
106
|
+
|
|
107
|
+
## 🗓️ 逐日行程表
|
|
108
|
+
### Day 1(日期 星期)
|
|
109
|
+
- **上午**:…
|
|
110
|
+
- **下午**:…
|
|
111
|
+
- **晚上**:…
|
|
112
|
+
- **交通**:…(地铁/公交/步行/打车/自驾里程 + 大致耗时)
|
|
113
|
+
- **备选**:…(天气/预约不上时的方案)
|
|
114
|
+
|
|
115
|
+
## 💰 预算估算(人均)
|
|
116
|
+
| 项目 | 经济 | 舒适 | 奢华 | 备注 |
|
|
117
|
+
|---|---|---|---|---|
|
|
118
|
+
| 往返大交通 | | | | |
|
|
119
|
+
| 住宿(X晚) | | | | |
|
|
120
|
+
| 餐饮 | | | | |
|
|
121
|
+
| 门票/活动 | | | | |
|
|
122
|
+
| 市内交通 | | | | 自驾含租车/油费/过路费/异地还车费 |
|
|
123
|
+
| **合计** | | | | |
|
|
124
|
+
|
|
125
|
+
> 说明:预算表只输出**用户所选档位**对应的列(经济/舒适/奢华);哪些项为联网查询所得(**注明来源与查询日期**),哪些为估算(注明口径)。查询所得金额逐一标注,如"¥1200(航司官网 2026-08)"
|
|
126
|
+
|
|
127
|
+
## 🚄 交通与住宿建议
|
|
128
|
+
- 抵达/离开交通:班次建议时段、价格区间、订票平台提醒
|
|
129
|
+
- 市内交通:地铁卡/APP/打车软件与大致成本;自驾含租车车型/取还车点/保险/加油提示
|
|
130
|
+
- 住宿区域:按预算档位推荐,列出各区域优缺点与价位
|
|
131
|
+
|
|
132
|
+
## 🏞️ 景点与美食清单
|
|
133
|
+
- **必去**:理由 + 建议时长 + 预约提示
|
|
134
|
+
- **小众/隐藏**:值得绕路去的
|
|
135
|
+
- **避雷**:商业化严重/口碑差/坑多的地方,写明避雷原因(全国统一小吃、宰客、溢价);顺路可一句带过,不推荐专门安排时间
|
|
136
|
+
- **美食**:当地必吃 + 推荐餐厅类型/区域,以本地人常去为主(老字号/居民区/菜场周边),标注需预约的
|
|
137
|
+
|
|
138
|
+
## ⚠️ 注意事项
|
|
139
|
+
- 签证/证件(国际旅行)、气候与穿衣、安全与风俗、实用信息(时差/货币/网络/电源);自驾含驾驶安全、限行时段、边防/边境证件、加油点
|
|
140
|
+
|
|
141
|
+
## ✅ 出行前二次确认清单
|
|
142
|
+
把最容易变化、且规划时依赖查询结果的信息集中列出,提醒用户在预订/出发前核对官方渠道(每一项注明:查到什么、什么时候查的、去哪里确认):
|
|
143
|
+
- 签证政策(入境要求/材料/办理时间)——官方:使领馆/出入境管理局
|
|
144
|
+
- 航班/高铁时刻与行李额——官方:航司/12306
|
|
145
|
+
- 景点开放时间、闭馆日、预约——官方:景点官网/官方小程序
|
|
146
|
+
- 汇率与当地支付方式——官方:银行/支付平台
|
|
147
|
+
- 天气预警(雨季/台风/寒潮)——官方:气象部门
|
|
148
|
+
|
|
149
|
+
## 📎 数据来源索引
|
|
150
|
+
按景点/事项分组列出本次规划引用的所有事实性数据:项目 → 查到值 → 来源 → 查询日期。仅列确有查询结果的数据;未查到的在逐日行程相应位置标"⚠️需自行确认"。
|
|
151
|
+
|
|
152
|
+
## ✅ 规则自检表(置于行程文档最末,交付前必须逐条填写)
|
|
153
|
+
|
|
154
|
+
| 规则 | 判定 | 备注(具体证据,不得留空) |
|
|
155
|
+
|---|---|---|
|
|
156
|
+
| R1 优先级分级:必去级全部在主行程、绝不在备选 | | |
|
|
157
|
+
| R2 高商业化旅游街:未排为必去、未作美食主来源 | | |
|
|
158
|
+
| R3 体量:无两重量级同日,重量级只配轻量级;自驾单日车程≥4h 计入体量 | | |
|
|
159
|
+
| R4 顶流园区独占一天(R5 收尾型例外除外) | | |
|
|
160
|
+
| R5 收尾型并日:只游核心区段、注明可替换 | | |
|
|
161
|
+
| R6 时长带缓冲:每段含排队/交通/拍照余量,顶流按整天 | | |
|
|
162
|
+
| R7 5 天及以上单城:核心景点无删减 | | |
|
|
163
|
+
| R8 大馆半天起步(4-6h) | | |
|
|
164
|
+
| R9 中档及以上预算含品质商圈(高商业化游客街除外,无购物偏好不强制) | | |
|
|
165
|
+
| R10 住宿锚定:每日从酒店出发算通勤 | | |
|
|
166
|
+
| R11 地理就近:同日同区域 | | |
|
|
167
|
+
| R12 全局去重:无同一街区/市集/夜游点多晚重复 | | |
|
|
168
|
+
| R13 主观体验类(演出/游船/夜场/摩天轮):默认可选加项,晚间至多1个 | | |
|
|
169
|
+
| 红线① 预算已确认后才规划(拒绝提供预算时注明按默认舒适档) | | |
|
|
170
|
+
| 红线② 范围=指定目的地,无擅自加城市 | | |
|
|
171
|
+
| 红线③ 实时数据可追溯(来源+查询日期),无编造 | | |
|
|
172
|
+
| 红线④ 节奏合理:无塞满行程,每天安排人能走完 | | |
|
|
173
|
+
| 红线⑤ 模板结构与输出语言(中文)固定不变 | | |
|
|
174
|
+
|
|
175
|
+
- 判定:✓ 符合 / △ 检查中发现并已修正后符合 / — 不适用(如非国际行程)
|
|
176
|
+
- 规则编号与正文 R1-R13 一一对应;任何一条为 △ 都意味着交付前修改过,备注应说明改了什么
|
|
177
|
+
|
|
178
|
+
**以下排版规则与质量红线为技能内部约束,仅供规划时执行,不得作为行程文档的一部分输出:**
|
|
179
|
+
|
|
180
|
+
**排版规则(与模板同等重要)**:
|
|
181
|
+
- **来源与行程分层**:逐日行程主体只写时间/地点/活动/交通衔接,行内不逐句挂"来源:xxx";来源集中到"数据来源索引"小节(位于二次确认清单之后、规则自检表之前);仅有争议或未查到的数据才在行内标"⚠️需自行确认"
|
|
182
|
+
- **预算表**:来源统一放表下"说明"或数据来源索引,不在备注列逐格贴来源
|
|
183
|
+
- **推荐与事实分层**:景点美食清单中,推荐理由(为什么值得去/吃)与事实数据(票价/开放时间/预约)分行或分列呈现,不揉杂
|
|
184
|
+
|
|
185
|
+
---
|
|
186
|
+
*以上信息查询于 [日期],票价与开放时间以官方渠道为准。需要调整节奏、预算或某一天安排,直接说。*
|
|
187
|
+
|
|
188
|
+
### 质量红线(最后兜底,优先级最高,与正文冲突时以红线为准)
|
|
189
|
+
|
|
190
|
+
1. **必问预算**——用户没给预算就只提问、不出行程(任何形式的草稿/框架都不行),预算确认后才开始规划;拒绝提供时按舒适档并注明
|
|
191
|
+
2. **范围红线**——主行程只覆盖用户指定目的地,未经同意不得添加其他城市的周边一日游。想加必须先问;未获同意时,周边游至多在"备选方案"小节约一句并注明"超出你要求的范围,仅作参考"
|
|
192
|
+
3. **不编造**——实时数据可追溯(来源+查询日期);查不到就写"需自行确认"
|
|
193
|
+
4. **节奏合理优先**于塞满行程,每天的安排必须是人能走完的;因节奏删减项目时,被删项目须经用户确认(R1 取舍机制),不得静默丢弃
|
|
194
|
+
5. **模板结构与输出语言(中文)固定不变**
|
|
195
|
+
|
|
196
|
+
## Examples
|
|
197
|
+
|
|
198
|
+
### 示例 1:标准规划流程
|
|
199
|
+
|
|
200
|
+
用户:"帮我规划成都 3 天 2 晚,带父母,预算舒适档。"
|
|
201
|
+
|
|
202
|
+
技能:一次提问补齐剩余信息(出发地、具体日期、节奏偏好、是否忌口等),等待用户确认预算与答案;预算确认后联网调研,再按模板输出。输出片段:
|
|
203
|
+
|
|
204
|
+
```
|
|
205
|
+
# 成都 3天2夜行程规划
|
|
206
|
+
> 规划日期:2026-08-08 / 信息查询日期:2026-08-08 / 2 成人 2 老人 / 舒适档
|
|
207
|
+
|
|
208
|
+
## 📋 行程总览
|
|
209
|
+
- 3 天 2 夜,8 月下旬,晴热多雷阵雨(来源:气象部门 2026-08)
|
|
210
|
+
- D1 武侯祠—锦里老城区 / D2 熊猫基地一整天 / D3 杜甫草堂—宽窄巷子
|
|
211
|
+
|
|
212
|
+
## 🗓️ 逐日行程表
|
|
213
|
+
### Day 1(2026-08-21 周五)
|
|
214
|
+
- **上午**:武侯祠(约 2.5h 含缓冲,门票 50 元,来源:景区官网 2026-08)
|
|
215
|
+
- …
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
### 示例 2:预算未确认时不输出行程
|
|
219
|
+
|
|
220
|
+
用户:"帮我规划去西安玩。"
|
|
221
|
+
|
|
222
|
+
技能:只输出问题清单(目的地细节、日期天数、同行人、**预算档位**、偏好、限制),不给出任何行程草稿或示例。
|
|
223
|
+
|
|
224
|
+
## Limitations
|
|
225
|
+
|
|
226
|
+
- 实时信息(票价/开放时间/签证政策/航班班次)以规划时的联网查询为准,可能过期,须以官方渠道确认;技能不保证其准确性
|
|
227
|
+
- 查询不到的数据只能标注"需自行确认",不得编造
|
|
228
|
+
- 行程为建议而非预订承诺,预订前须走完"出行前二次确认清单"
|
|
229
|
+
- 突发情况(大型活动临时管制、极端天气、景点临时闭园)无法提前预测,备选方案不能替代现场确认
|
|
230
|
+
- 无联网环境时只能输出知识库级信息,并按要求在输出开头声明
|
|
@@ -24,6 +24,15 @@ guidance; it does not install the server or change Codex configuration by
|
|
|
24
24
|
itself. The official Codex plugin bundles the MCP definition, while skill-only
|
|
25
25
|
installations require the manual setup below.
|
|
26
26
|
|
|
27
|
+
## Version Note
|
|
28
|
+
|
|
29
|
+
The current public project release is `v0.4.3`. The inspection procedure below
|
|
30
|
+
intentionally pins the reviewed, immutable `v0.4.0` image and its recorded
|
|
31
|
+
digests; those values are a historical security baseline and must not be
|
|
32
|
+
silently replaced with a mutable tag. For a normal provider-free demo, use the
|
|
33
|
+
current `v0.4.3` command in the [project README](https://github.com/happy520ai/unified-ai-system#try-it-in-60-seconds).
|
|
34
|
+
A new content review is required before changing this pinned procedure.
|
|
35
|
+
|
|
27
36
|
## Prerequisites And Setup
|
|
28
37
|
|
|
29
38
|
1. Confirm that Codex CLI and Docker are installed and Docker is running.
|
package/package.json
CHANGED
package/skills_index.json
CHANGED
|
@@ -11978,7 +11978,7 @@
|
|
|
11978
11978
|
"category": "ai-ml",
|
|
11979
11979
|
"name": "context-agent",
|
|
11980
11980
|
"description": "Agente de contexto para continuidade entre sessoes. Salva resumos, decisoes, tarefas pendentes e carrega briefing automatico na sessao seguinte.",
|
|
11981
|
-
"risk": "
|
|
11981
|
+
"risk": "critical",
|
|
11982
11982
|
"source": "community",
|
|
11983
11983
|
"date_added": "2026-03-06",
|
|
11984
11984
|
"plugin": {
|
|
@@ -12120,7 +12120,7 @@
|
|
|
12120
12120
|
"category": "ai-ml",
|
|
12121
12121
|
"name": "context-guardian",
|
|
12122
12122
|
"description": "Guardiao de contexto que preserva dados criticos antes da compactacao automatica. Snapshots, verificacao de integridade e zero perda de informacao.",
|
|
12123
|
-
"risk": "
|
|
12123
|
+
"risk": "critical",
|
|
12124
12124
|
"source": "community",
|
|
12125
12125
|
"date_added": "2026-03-06",
|
|
12126
12126
|
"plugin": {
|