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.
Files changed (25) hide show
  1. package/bundled-skills/.antigravity-install-manifest.json +3 -1
  2. package/bundled-skills/context-agent/SKILL.md +40 -26
  3. package/bundled-skills/context-driven-development/SKILL.md +2 -1
  4. package/bundled-skills/context-guardian/SKILL.md +41 -26
  5. package/bundled-skills/context-window-management/SKILL.md +8 -0
  6. package/bundled-skills/conversation-memory/SKILL.md +12 -12
  7. package/bundled-skills/docs/integrations/jetski-cortex.md +3 -3
  8. package/bundled-skills/docs/integrations/jetski-gemini-loader/README.md +1 -1
  9. package/bundled-skills/docs/maintainers/repo-growth-seo.md +1 -1
  10. package/bundled-skills/docs/maintainers/skills-update-guide.md +1 -1
  11. package/bundled-skills/docs/users/aas-core.md +1 -1
  12. package/bundled-skills/docs/users/bundles.md +1 -1
  13. package/bundled-skills/docs/users/claude-code-skills.md +1 -1
  14. package/bundled-skills/docs/users/gemini-cli-skills.md +1 -1
  15. package/bundled-skills/docs/users/kiro-integration.md +1 -1
  16. package/bundled-skills/docs/users/usage.md +3 -3
  17. package/bundled-skills/docs/users/visual-guide.md +4 -4
  18. package/bundled-skills/loki-mode/examples/todo-app-generated/backend/package-lock.json +28 -4
  19. package/bundled-skills/loki-mode/examples/todo-app-generated/backend/package.json +1 -1
  20. package/bundled-skills/people-data/SKILL.md +104 -0
  21. package/bundled-skills/people-data/references/tool-reference.md +36 -0
  22. package/bundled-skills/travel-planner/SKILL.md +230 -0
  23. package/bundled-skills/unified-ai-gateway/SKILL.md +9 -0
  24. package/package.json +1 -1
  25. package/skills_index.json +2 -2
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
- "updatedAt": "2026-08-09T00:46:22.025Z",
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: safe
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
- ## Overview
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
- - When the user mentions "salvar contexto" or related topics
30
- - When the user mentions "salva o contexto" or related topics
31
- - When the user mentions "proxima sessao" or related topics
32
- - When the user mentions "briefing sessao" or related topics
33
- - When the user mentions "resumo sessao" or related topics
34
- - When the user mentions "continuidade sessao" or related topics
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
- ## Do Not Use This Skill When
46
+ ## Quando Nao Usar Esta Skill
37
47
 
38
- - The task is unrelated to context agent
39
- - A simpler, more specific tool can handle the request
40
- - The user needs general-purpose assistance without domain expertise
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
- ## How It Works
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
- ## Best Practices
184
+ ## Boas Praticas
175
185
 
176
- - Provide clear, specific context about your project and requirements
177
- - Review all suggestions before applying them to production code
178
- - Combine with other complementary skills for comprehensive analysis
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
- ## Common Pitfalls
190
+ ## Armadilhas Comuns
181
191
 
182
- - Using this skill for tasks outside its domain expertise
183
- - Applying recommendations without understanding your specific context
184
- - Not providing enough project context for accurate analysis
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
- ## Related Skills
196
+ ## Skills Relacionadas
187
197
 
188
- - `context-guardian` - Complementary skill for enhanced analysis
198
+ - `context-guardian` - Skill complementar para preservar contexto antes da compactacao
189
199
 
190
200
  ## Limitations
191
- - Use this skill only when the task clearly matches the scope described above.
192
- - Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
193
- - Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.
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
- - If detailed examples are required, open `resources/implementation-playbook.md`.
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: safe
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
- ## Overview
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
- - When the user mentions "compactacao contexto" or related topics
30
- - When the user mentions "perda de contexto" or related topics
31
- - When the user mentions "snapshot contexto" or related topics
32
- - When the user mentions "preservar contexto" or related topics
33
- - When the user mentions "contexto critico" or related topics
34
- - When the user mentions "antes de compactar" or related topics
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
- ## Do Not Use This Skill When
46
+ ## Quando Nao Usar Esta Skill
37
47
 
38
- - The task is unrelated to context guardian
39
- - A simpler, more specific tool can handle the request
40
- - The user needs general-purpose assistance without domain expertise
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
- ## How It Works
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
- ## Best Practices
316
+ ## Boas Praticas
307
317
 
308
- - Provide clear, specific context about your project and requirements
309
- - Review all suggestions before applying them to production code
310
- - Combine with other complementary skills for comprehensive analysis
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
- ## Common Pitfalls
322
+ ## Armadilhas Comuns
313
323
 
314
- - Using this skill for tasks outside its domain expertise
315
- - Applying recommendations without understanding your specific context
316
- - Not providing enough project context for accurate analysis
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
- ## Related Skills
328
+ ## Skills Relacionadas
319
329
 
320
- - `context-agent` - Complementary skill for enhanced analysis
330
+ - `context-agent` - Skill complementar para persistencia entre sessoes
321
331
 
322
332
  ## Limitations
323
- - Use this skill only when the task clearly matches the scope described above.
324
- - Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
325
- - Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.
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,005+ skills."
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,005+ skills
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,005+ skills, this approach fills the context window before user messages are even added, causing truncation.
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,005+ skills installed.
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,005+ Agentic Skills` as supporting catalog evidence, not a second product;
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,005+ skills from the skills directory
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.11.0 -- aas mcp configure \
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 \
@@ -1064,4 +1064,4 @@ Found a skill that should be in a bundle? Or want to create a new bundle? [Open
1064
1064
 
1065
1065
  ---
1066
1066
 
1067
- _Last updated: June 2026 | Total Skills: 2,005+ | Total Bundles: 58_
1067
+ _Last updated: June 2026 | Total Skills: 2,007+ | Total Bundles: 58_
@@ -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,005+ skills instead of a narrow single-domain starter pack.
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,005+ files.
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,005+ specialized areas
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,005+ skill files** to your computer (default: `~/.agents/skills/`; or a custom path like `~/.agent/skills/` if you used `--path`)
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,005+ skills at once. Here's a sensible approach:
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,005+ skills installed locally, you should **not** concatenate every `SKILL.md` into a single system prompt or context block.
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,005+ skills live here
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,005+ total)
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,005+ SKILLS │
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,005+ total) │
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.5.2"
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.5.2",
695
- "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-8.5.2.tgz",
696
- "integrity": "sha512-5Kb34ipNX694DH48vN9irak1Qx30nb0PLYHXfJgw4YEjiC3ZEmZJhwOp+VfiCYwFzvFTdB9QkArYS5kXa2cx2A==",
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",
@@ -12,7 +12,7 @@
12
12
  "better-sqlite3": "^12.11.1",
13
13
  "cors": "^2.8.6",
14
14
  "express": "^4.18.2",
15
- "express-rate-limit": "^8.5.2"
15
+ "express-rate-limit": "^8.6.0"
16
16
  },
17
17
  "devDependencies": {
18
18
  "@types/better-sqlite3": "^7.6.13",
@@ -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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencode-skills-collection",
3
- "version": "4.0.26",
3
+ "version": "4.0.28",
4
4
  "description": "OpenCode CLI plugin that automatically downloads and keeps skills up to date.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
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": "safe",
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": "safe",
12123
+ "risk": "critical",
12124
12124
  "source": "community",
12125
12125
  "date_added": "2026-03-06",
12126
12126
  "plugin": {