opencode-skills-collection 3.0.16 → 3.0.18
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 +2 -1
- package/bundled-skills/docs/integrations/jetski-cortex.md +15 -7
- package/bundled-skills/docs/integrations/jetski-gemini-loader/README.md +12 -5
- package/bundled-skills/docs/maintainers/repo-growth-seo.md +3 -3
- package/bundled-skills/docs/maintainers/skills-update-guide.md +6 -3
- 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/discovery-manifest.md +62 -0
- package/bundled-skills/docs/users/faq.md +8 -1
- package/bundled-skills/docs/users/gemini-cli-skills.md +1 -1
- package/bundled-skills/docs/users/getting-started.md +1 -1
- package/bundled-skills/docs/users/kiro-integration.md +1 -1
- package/bundled-skills/docs/users/usage.md +11 -5
- package/bundled-skills/docs/users/visual-guide.md +4 -4
- package/bundled-skills/docs/users/windows-truncation-recovery.md +4 -1
- package/bundled-skills/recsys-pipeline-architect/SKILL.md +117 -0
- package/package.json +1 -1
- package/skills_index.json +22 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 1,
|
|
3
|
-
"updatedAt": "2026-05-
|
|
3
|
+
"updatedAt": "2026-05-18T02:03:30.579Z",
|
|
4
4
|
"entries": [
|
|
5
5
|
"00-andruia-consultant",
|
|
6
6
|
"007",
|
|
@@ -1082,6 +1082,7 @@
|
|
|
1082
1082
|
"readme",
|
|
1083
1083
|
"recallmax",
|
|
1084
1084
|
"receiving-code-review",
|
|
1085
|
+
"recsys-pipeline-architect",
|
|
1085
1086
|
"recursive-context-pruning-token-budgeting",
|
|
1086
1087
|
"red-team-tactics",
|
|
1087
1088
|
"red-team-tools",
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: Jetski/Cortex + Gemini Integration Guide
|
|
3
|
-
description: "Use antigravity-awesome-skills with Jetski/Cortex without hitting context-window overflow with 1,
|
|
3
|
+
description: "Use antigravity-awesome-skills with Jetski/Cortex without hitting context-window overflow with 1,460+ skills."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Jetski/Cortex + Gemini: safe integration with 1,
|
|
6
|
+
# Jetski/Cortex + Gemini: safe integration with 1,460+ skills
|
|
7
7
|
|
|
8
8
|
This guide shows how to integrate the `antigravity-awesome-skills` repository with an agent based on **Jetski/Cortex + Gemini** (or similar frameworks) **without exceeding the model context window**.
|
|
9
9
|
|
|
@@ -23,7 +23,7 @@ Never do:
|
|
|
23
23
|
- concatenate all `SKILL.md` content into a single system prompt;
|
|
24
24
|
- re-inject the entire library for **every** request.
|
|
25
25
|
|
|
26
|
-
With 1,
|
|
26
|
+
With 1,460+ skills, this approach fills the context window before user messages are even added, causing truncation.
|
|
27
27
|
|
|
28
28
|
---
|
|
29
29
|
|
|
@@ -31,14 +31,16 @@ With 1,459+ skills, this approach fills the context window before user messages
|
|
|
31
31
|
|
|
32
32
|
Core principles:
|
|
33
33
|
|
|
34
|
-
- **
|
|
34
|
+
- **Stable manifest**: use the canonical root `skills_index.json` to know *which* skills exist without loading full text.
|
|
35
|
+
- **Compatibility mirror**: treat `data/skills_index.json` as an exact mirror of the canonical manifest.
|
|
35
36
|
- **Lazy loading**: read `SKILL.md` **only** for skills actually invoked in a conversation (for example, when `@skill-id` appears).
|
|
36
37
|
- **Explicit limits**: enforce a maximum number of skills/tokens loaded per turn, with clear fallbacks.
|
|
37
38
|
- **Path safety**: verify manifest paths remain inside `SKILLS_ROOT` before reading `SKILL.md`.
|
|
39
|
+
- **Schema contract**: validate manifest entries against [`schemas/skills-index.v1.schema.json`](../../schemas/skills-index.v1.schema.json).
|
|
38
40
|
|
|
39
41
|
The recommended flow is:
|
|
40
42
|
|
|
41
|
-
1. **Bootstrap**: on agent startup, read `data/skills_index.json` and build an `id -> meta` map.
|
|
43
|
+
1. **Bootstrap**: on agent startup, read `skills_index.json` (and `data/skills_index.json` if your host expects compatibility reads) and build an `id -> meta` map.
|
|
42
44
|
2. **Message parsing**: before calling the model, extract all `@skill-id` references from user/system messages.
|
|
43
45
|
3. **Resolution**: map the found IDs into `SkillMeta` objects using the bootstrap map.
|
|
44
46
|
4. **Lazy load**: read `SKILL.md` files only for these IDs (up to a configurable maximum).
|
|
@@ -48,7 +50,9 @@ The recommended flow is:
|
|
|
48
50
|
|
|
49
51
|
## 3. Structure of `skills_index.json`
|
|
50
52
|
|
|
51
|
-
The file `
|
|
53
|
+
The file `skills_index.json` is an array of objects, for example:
|
|
54
|
+
|
|
55
|
+
> `data/skills_index.json` is the compatibility mirror and should stay in sync with the canonical root manifest.
|
|
52
56
|
|
|
53
57
|
```json
|
|
54
58
|
{
|
|
@@ -78,6 +82,10 @@ To resolve the path to a skill definition:
|
|
|
78
82
|
|
|
79
83
|
## 4. Integration pseudocode (TypeScript)
|
|
80
84
|
|
|
85
|
+
The parser should validate against:
|
|
86
|
+
|
|
87
|
+
- [`schemas/skills-index.v1.schema.json`](../../schemas/skills-index.v1.schema.json)
|
|
88
|
+
|
|
81
89
|
> Full example in: [`docs/integrations/jetski-gemini-loader/`](../../docs/integrations/jetski-gemini-loader/).
|
|
82
90
|
|
|
83
91
|
### 4.1. Core Types
|
|
@@ -265,7 +273,7 @@ To prevent recurrence:
|
|
|
265
273
|
## 9. Summary
|
|
266
274
|
|
|
267
275
|
- Do not concatenate all `SKILL.md` files into a single prompt.
|
|
268
|
-
- Use `
|
|
276
|
+
- Use `skills_index.json` as the canonical lightweight manifest.
|
|
269
277
|
- Load skills **on demand** based on `@skill-id`.
|
|
270
278
|
- Set clear limits (max skills per turn, token threshold).
|
|
271
279
|
|
|
@@ -9,7 +9,8 @@ This example shows one way to integrate **antigravity-awesome-skills** with a Je
|
|
|
9
9
|
## What this example demonstrates
|
|
10
10
|
|
|
11
11
|
- How to:
|
|
12
|
-
- load the
|
|
12
|
+
- load the canonical manifest `skills_index.json` once at startup;
|
|
13
|
+
- optionally support `data/skills_index.json` for compatibility-only hosts.
|
|
13
14
|
- scan conversation messages for `@skill-id` patterns;
|
|
14
15
|
- resolve those ids to entries in the manifest;
|
|
15
16
|
- read only the corresponding `SKILL.md` files from disk (lazy loading);
|
|
@@ -20,7 +21,12 @@ This example shows one way to integrate **antigravity-awesome-skills** with a Je
|
|
|
20
21
|
- How to enforce a **maximum number of skills per turn** via `maxSkillsPerTurn`.
|
|
21
22
|
- How to choose whether to **truncate or error** when too many skills are requested via `overflowBehavior`.
|
|
22
23
|
|
|
23
|
-
This pattern avoids context overflow when you have 1,
|
|
24
|
+
This pattern avoids context overflow when you have 1,460+ skills installed.
|
|
25
|
+
|
|
26
|
+
Manifest contract references:
|
|
27
|
+
|
|
28
|
+
- [`../../../schemas/skills-index.v1.schema.json`](../../../schemas/skills-index.v1.schema.json)
|
|
29
|
+
- [`../../users/discovery-manifest.md`](../../users/discovery-manifest.md)
|
|
24
30
|
|
|
25
31
|
---
|
|
26
32
|
|
|
@@ -49,9 +55,9 @@ import {
|
|
|
49
55
|
|
|
50
56
|
const REPO_ROOT = "/path/to/antigravity-awesome-skills";
|
|
51
57
|
const SKILLS_ROOT = REPO_ROOT;
|
|
52
|
-
const INDEX_PATH = path.join(REPO_ROOT, "
|
|
58
|
+
const INDEX_PATH = path.join(REPO_ROOT, "skills_index.json");
|
|
53
59
|
|
|
54
|
-
// 1. Bootstrap once at agent startup
|
|
60
|
+
// 1. Bootstrap once at agent startup (optionally validate `data/skills_index.json` for compatibility hosts).
|
|
55
61
|
const skillIndex = loadSkillIndex(INDEX_PATH);
|
|
56
62
|
|
|
57
63
|
// 2. Before calling the model, build messages with lazy‑loaded skills
|
|
@@ -85,7 +91,8 @@ Adapt the paths and model call to your environment.
|
|
|
85
91
|
|
|
86
92
|
- **Do not** iterate through `skills/*/SKILL.md` and load everything at once.
|
|
87
93
|
- This example:
|
|
88
|
-
- assumes skills live under the same repo root as `
|
|
94
|
+
- assumes skills live under the same repo root as `skills_index.json`;
|
|
95
|
+
- keeps `data/skills_index.json` for compatibility readers only;
|
|
89
96
|
- uses a plain Node.js ESM module so it can be imported directly without a TypeScript runtime.
|
|
90
97
|
- In a real host:
|
|
91
98
|
- wire `buildModelMessages` into the point where you currently assemble the prompt before `TrajectoryChatConverter`;
|
|
@@ -6,7 +6,7 @@ This document keeps the repository's GitHub-facing discovery copy aligned with t
|
|
|
6
6
|
|
|
7
7
|
Preferred positioning:
|
|
8
8
|
|
|
9
|
-
> Installable GitHub library of 1,
|
|
9
|
+
> Installable GitHub library of 1,460+ agentic skills for Claude Code, Cursor, Codex CLI, Gemini CLI, Antigravity, and other AI coding assistants.
|
|
10
10
|
|
|
11
11
|
Key framing:
|
|
12
12
|
|
|
@@ -20,7 +20,7 @@ Key framing:
|
|
|
20
20
|
|
|
21
21
|
Preferred description:
|
|
22
22
|
|
|
23
|
-
> Installable GitHub library of 1,
|
|
23
|
+
> Installable GitHub library of 1,460+ agentic skills for Claude Code, Cursor, Codex CLI, Gemini CLI, Antigravity, and more. Includes installer CLI, bundles, workflows, and official/community skill collections.
|
|
24
24
|
|
|
25
25
|
Preferred homepage:
|
|
26
26
|
|
|
@@ -28,7 +28,7 @@ Preferred homepage:
|
|
|
28
28
|
|
|
29
29
|
Preferred social preview:
|
|
30
30
|
|
|
31
|
-
- use a clean preview image that says `1,
|
|
31
|
+
- use a clean preview image that says `1,460+ Agentic Skills`;
|
|
32
32
|
- mention Claude Code, Cursor, Codex CLI, and Gemini CLI;
|
|
33
33
|
- avoid dense text and tiny logos that disappear in social cards.
|
|
34
34
|
|
|
@@ -39,10 +39,12 @@ The START_APP.bat file includes integrated update functionality that:
|
|
|
39
39
|
# 1. Generate skills index
|
|
40
40
|
python tools/scripts/generate_index.py
|
|
41
41
|
|
|
42
|
-
# 2. Copy to web app
|
|
42
|
+
# 2. Copy canonical manifest to web app
|
|
43
43
|
copy skills_index.json apps\web-app\public\skills.json
|
|
44
44
|
```
|
|
45
45
|
|
|
46
|
+
`tools/scripts/generate_index.py` writes the canonical root `skills_index.json` and mirrors the same array payload to `data/skills_index.json` for compatibility readers.
|
|
47
|
+
|
|
46
48
|
## Prerequisites
|
|
47
49
|
|
|
48
50
|
For manual updates, you need:
|
|
@@ -67,9 +69,10 @@ For manual updates, you need:
|
|
|
67
69
|
## What Gets Updated
|
|
68
70
|
|
|
69
71
|
The update process refreshes:
|
|
70
|
-
-
|
|
72
|
+
- Canonical skills index (`skills_index.json`)
|
|
73
|
+
- Compatibility mirror (`data/skills_index.json`)
|
|
71
74
|
- Web app skills data (`apps\web-app\public\skills.json`)
|
|
72
|
-
- All 1,
|
|
75
|
+
- All 1,460+ skills from the skills directory
|
|
73
76
|
|
|
74
77
|
## When to Update
|
|
75
78
|
|
|
@@ -12,7 +12,7 @@ Install the library into Claude Code, then invoke focused skills directly in the
|
|
|
12
12
|
|
|
13
13
|
## Why use this repo for Claude Code
|
|
14
14
|
|
|
15
|
-
- It includes 1,
|
|
15
|
+
- It includes 1,460+ skills instead of a narrow single-domain starter pack.
|
|
16
16
|
- It supports the standard `.claude/skills/` path and the Claude Code plugin marketplace flow.
|
|
17
17
|
- It also ships generated bundle plugins so teams can install focused packs like `Essentials` or `Security Developer` from the marketplace metadata.
|
|
18
18
|
- It includes onboarding docs, bundles, and workflows so new users do not need to guess where to begin.
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# Stable Skills Manifest v1
|
|
2
|
+
|
|
3
|
+
This page documents the `skills_index.json` manifest contract used by stable integrations.
|
|
4
|
+
|
|
5
|
+
## Manifest contract (v1)
|
|
6
|
+
|
|
7
|
+
- **Canonical file:** `skills_index.json` at repository root.
|
|
8
|
+
- **Mirror file:** `data/skills_index.json` must be an exact compatibility mirror of `skills_index.json`.
|
|
9
|
+
- **Format:** JSON array, one object per skill.
|
|
10
|
+
- **Schema:** [`schemas/skills-index.v1.schema.json`](../../schemas/skills-index.v1.schema.json)
|
|
11
|
+
|
|
12
|
+
## Required fields
|
|
13
|
+
|
|
14
|
+
Each manifest entry includes:
|
|
15
|
+
|
|
16
|
+
- `id` – skill identifier (same as `@skill-id`).
|
|
17
|
+
- `path` – relative skill folder, e.g. `skills/brainstorming`.
|
|
18
|
+
- `category` – grouping used by UI/search surfaces.
|
|
19
|
+
- `name` – display name.
|
|
20
|
+
- `description` – short purpose/trigger summary.
|
|
21
|
+
- `risk` – one of repo risk labels.
|
|
22
|
+
- `source` – source of authority/trust metadata.
|
|
23
|
+
- `date_added` – ISO date string or `null`.
|
|
24
|
+
|
|
25
|
+
Additional fields are allowed, and `plugin` metadata is optional.
|
|
26
|
+
|
|
27
|
+
## Recommended host behavior
|
|
28
|
+
|
|
29
|
+
Stable integrations must not load every skill instruction file up front.
|
|
30
|
+
|
|
31
|
+
- Read the manifest (`skills_index.json`).
|
|
32
|
+
- Resolve only the requested `@skill-id` values from the conversation.
|
|
33
|
+
- For each resolved skill, read that one `SKILL.md` lazily.
|
|
34
|
+
- Enforce a per-turn maximum so user prompts stay below context limits.
|
|
35
|
+
- Validate each resolved path stays under your configured `SKILLS_ROOT`.
|
|
36
|
+
|
|
37
|
+
This is the core prevention for context truncation and trajectory conversion errors in larger multi-skill hosts.
|
|
38
|
+
|
|
39
|
+
## Why the `data/` mirror exists
|
|
40
|
+
|
|
41
|
+
`data/skills_index.json` remains for downstream compatibility where clients still read from the `data/` subtree. The stable contract is that both files contain the same payload.
|
|
42
|
+
|
|
43
|
+
## Quick structure example
|
|
44
|
+
|
|
45
|
+
```json
|
|
46
|
+
{
|
|
47
|
+
"id": "brainstorming",
|
|
48
|
+
"path": "skills/brainstorming",
|
|
49
|
+
"category": "planning",
|
|
50
|
+
"name": "brainstorming",
|
|
51
|
+
"description": "Use before any creative or constructive work.",
|
|
52
|
+
"risk": "safe",
|
|
53
|
+
"source": "official",
|
|
54
|
+
"date_added": "2026-02-27"
|
|
55
|
+
}
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## Related docs
|
|
59
|
+
|
|
60
|
+
- [`docs/integrations/jetski-cortex.md`](../integrations/jetski-cortex.md)
|
|
61
|
+
- [`docs/integrations/jetski-gemini-loader/README.md`](../integrations/jetski-gemini-loader/README.md)
|
|
62
|
+
- [`docs/users/windows-truncation-recovery.md`](windows-truncation-recovery.md)
|
|
@@ -70,9 +70,16 @@ This is **not** how this repository is designed to be used, and it will almost c
|
|
|
70
70
|
|
|
71
71
|
Instead, hosts should:
|
|
72
72
|
|
|
73
|
-
- use `
|
|
73
|
+
- use `skills_index.json` as the **canonical array-format manifest** for discovery;
|
|
74
|
+
- use `data/skills_index.json` as the compatibility mirror in `data/` when needed;
|
|
75
|
+
- validate each discovered `path` against `SKILLS_ROOT` before reading; and
|
|
74
76
|
- load individual `SKILL.md` files **only when a skill is invoked** (e.g. via `@skill-id` in the conversation).
|
|
75
77
|
|
|
78
|
+
Manifest contract references:
|
|
79
|
+
|
|
80
|
+
- [`schemas/skills-index.v1.schema.json`](../../schemas/skills-index.v1.schema.json)
|
|
81
|
+
- [`discovery-manifest.md`](discovery-manifest.md)
|
|
82
|
+
|
|
76
83
|
For a concrete example (including pseudo‑code) see:
|
|
77
84
|
|
|
78
85
|
- [`docs/integrations/jetski-cortex.md`](../integrations/jetski-cortex.md)
|
|
@@ -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 1,
|
|
15
|
+
- It helps new users get started with bundles and workflows rather than forcing a cold start from 1,460+ 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 1,
|
|
21
|
+
- **Domain expertise** across 1,460+ 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
|
|
@@ -14,7 +14,7 @@ If you came in through a **Claude Code** or **Codex** plugin instead of a full l
|
|
|
14
14
|
|
|
15
15
|
When you ran `npx antigravity-awesome-skills` or cloned the repository, you:
|
|
16
16
|
|
|
17
|
-
✅ **Downloaded 1,
|
|
17
|
+
✅ **Downloaded 1,460+ skill files** to your computer (default: `~/.gemini/antigravity/skills/`; or a custom path like `~/.agent/skills/` if you used `--path`)
|
|
18
18
|
✅ **Made them available** to your AI assistant
|
|
19
19
|
❌ **Did NOT enable them all automatically** (they're just sitting there, waiting)
|
|
20
20
|
|
|
@@ -34,7 +34,7 @@ Bundles are **curated groups** of skills organized by role. They help you decide
|
|
|
34
34
|
|
|
35
35
|
**Analogy:**
|
|
36
36
|
|
|
37
|
-
- You installed a toolbox with 1,
|
|
37
|
+
- You installed a toolbox with 1,460+ tools (✅ done)
|
|
38
38
|
- Bundles are like **labeled organizer trays** saying: "If you're a carpenter, start with these 10 tools"
|
|
39
39
|
- You can either **pick skills from the tray** or install that tray as a focused marketplace bundle plugin
|
|
40
40
|
|
|
@@ -212,7 +212,7 @@ Let's actually use a skill right now. Follow these steps:
|
|
|
212
212
|
|
|
213
213
|
## Step 5: Picking Your First Skills (Practical Advice)
|
|
214
214
|
|
|
215
|
-
Don't try to use all 1,
|
|
215
|
+
Don't try to use all 1,460+ skills at once. Here's a sensible approach:
|
|
216
216
|
|
|
217
217
|
If you want a tool-specific starting point before choosing skills, use:
|
|
218
218
|
|
|
@@ -343,17 +343,23 @@ Usually no, but if your AI doesn't recognize a skill:
|
|
|
343
343
|
|
|
344
344
|
### "Can I load all skills into the model at once?"
|
|
345
345
|
|
|
346
|
-
No. Even though you have 1,
|
|
346
|
+
No. Even though you have 1,460+ skills installed locally, you should **not** concatenate every `SKILL.md` into a single system prompt or context block.
|
|
347
347
|
|
|
348
348
|
The intended pattern is:
|
|
349
349
|
|
|
350
|
-
- use `
|
|
350
|
+
- use `skills_index.json` (canonical discovery manifest) to discover which skills exist; and
|
|
351
|
+
- use `data/skills_index.json` only when your host reads from `data/` for compatibility;
|
|
351
352
|
- only load the `SKILL.md` files for the specific `@skill-id` values you actually use in a conversation.
|
|
352
353
|
|
|
353
354
|
If you are building your own host/agent (e.g. Jetski/Cortex + Gemini), see:
|
|
354
355
|
|
|
355
356
|
- [`docs/integrations/jetski-cortex.md`](../integrations/jetski-cortex.md)
|
|
356
357
|
|
|
358
|
+
The v1 manifest shape is defined in:
|
|
359
|
+
|
|
360
|
+
- [`schemas/skills-index.v1.schema.json`](../../schemas/skills-index.v1.schema.json)
|
|
361
|
+
- [`discovery-manifest.md`](discovery-manifest.md)
|
|
362
|
+
|
|
357
363
|
### "Can I create my own skills?"
|
|
358
364
|
|
|
359
365
|
Yes! Use the `@skill-creator` skill:
|
|
@@ -34,7 +34,7 @@ antigravity-awesome-skills/
|
|
|
34
34
|
├── 📄 CONTRIBUTING.md ← Contributor workflow
|
|
35
35
|
├── 📄 CATALOG.md ← Full generated catalog
|
|
36
36
|
│
|
|
37
|
-
├── 📁 skills/ ← 1,
|
|
37
|
+
├── 📁 skills/ ← 1,460+ skills live here
|
|
38
38
|
│ │
|
|
39
39
|
│ ├── 📁 brainstorming/
|
|
40
40
|
│ │ └── 📄 SKILL.md ← Skill definition
|
|
@@ -47,7 +47,7 @@ antigravity-awesome-skills/
|
|
|
47
47
|
│ │ └── 📁 2d-games/
|
|
48
48
|
│ │ └── 📄 SKILL.md ← Nested skills also supported
|
|
49
49
|
│ │
|
|
50
|
-
│ └── ... (1,
|
|
50
|
+
│ └── ... (1,460+ total)
|
|
51
51
|
│
|
|
52
52
|
├── 📁 apps/
|
|
53
53
|
│ └── 📁 web-app/ ← Interactive browser
|
|
@@ -100,7 +100,7 @@ antigravity-awesome-skills/
|
|
|
100
100
|
|
|
101
101
|
```
|
|
102
102
|
┌─────────────────────────┐
|
|
103
|
-
│ 1,
|
|
103
|
+
│ 1,460+ SKILLS │
|
|
104
104
|
└────────────┬────────────┘
|
|
105
105
|
│
|
|
106
106
|
┌────────────────────────┼────────────────────────┐
|
|
@@ -201,7 +201,7 @@ If you want a workspace-style manual install instead, cloning into `.agent/skill
|
|
|
201
201
|
│ ├── 📁 brainstorming/ │
|
|
202
202
|
│ ├── 📁 stripe-integration/ │
|
|
203
203
|
│ ├── 📁 react-best-practices/ │
|
|
204
|
-
│ └── ... (1,
|
|
204
|
+
│ └── ... (1,460+ total) │
|
|
205
205
|
└─────────────────────────────────────────┘
|
|
206
206
|
```
|
|
207
207
|
|
|
@@ -60,10 +60,13 @@ If you installed skills into a different location, also back up that custom dire
|
|
|
60
60
|
## Recommended prevention
|
|
61
61
|
|
|
62
62
|
- Do not concatenate every `SKILL.md` into one system prompt.
|
|
63
|
-
- Use
|
|
63
|
+
- Use the stable manifest contract:
|
|
64
|
+
- `skills_index.json` as canonical discovery source;
|
|
65
|
+
- `data/skills_index.json` only as compatibility mirror.
|
|
64
66
|
- Load `SKILL.md` files only when a skill is actually requested.
|
|
65
67
|
- Set explicit limits for skills per turn.
|
|
66
68
|
- Prefer `overflowBehavior: "error"` in the reference Jetski/Gemini loader so the host fails clearly instead of silently overfilling the context window.
|
|
69
|
+
- See the schema and contract details in [`discovery-manifest.md`](discovery-manifest.md).
|
|
67
70
|
|
|
68
71
|
See:
|
|
69
72
|
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: recsys-pipeline-architect
|
|
3
|
+
description: "Designs composable recommendation, ranking, and feed pipelines using the six-stage Source→Hydrator→Filter→Scorer→Selector→SideEffect framework"
|
|
4
|
+
category: data-ai
|
|
5
|
+
risk: safe
|
|
6
|
+
source: community
|
|
7
|
+
source_repo: mturac/recsys-pipeline-architect
|
|
8
|
+
source_type: community
|
|
9
|
+
date_added: "2026-05-16"
|
|
10
|
+
author: mturac
|
|
11
|
+
tags: [recommender-system, ranking, feed-algorithm, recsys, personalization, for-you-feed, rag-reranker, pipeline-architecture]
|
|
12
|
+
tools: [claude, codex, cursor, gemini, opencode, cline, continue, windsurf]
|
|
13
|
+
license: "MIT"
|
|
14
|
+
license_source: "https://github.com/mturac/recsys-pipeline-architect/blob/main/LICENSE"
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
# recsys-pipeline-architect
|
|
18
|
+
|
|
19
|
+
## Overview
|
|
20
|
+
|
|
21
|
+
A spec-and-scaffold skill for building composable recommendation, ranking, and feed pipelines. It encodes the six-stage **Source → Hydrator → Filter → Scorer → Selector → SideEffect** framework popularized by xAI's open-sourced [For You algorithm](https://github.com/xai-org/x-algorithm) (Apache 2.0). This skill is an independent reimplementation of the *pattern* — no code is copied from the original — licensed MIT. Use it whenever you need "the top K items for a (user, context)": social feeds, content CMSs, RAG rerankers, task prioritizers, notification triage, search reranking, ad ranking.
|
|
22
|
+
|
|
23
|
+
## When to Use This Skill
|
|
24
|
+
|
|
25
|
+
- Use when the user wants to build any system that picks "the top K items for a user/context"
|
|
26
|
+
- Use when the user asks "how should I rank X" or describes a feed/personalization problem
|
|
27
|
+
- Use when the user has a scoring function and needs the pipeline plumbing around it
|
|
28
|
+
- Use when the user wants to migrate from a single relevance score to multi-action prediction with tunable weights
|
|
29
|
+
- Use when the user is wrapping an LLM/ML scorer and needs filters, hydrators, side-effects, and a runnable scaffold in their stack (TypeScript / Go / Python)
|
|
30
|
+
|
|
31
|
+
## How It Works
|
|
32
|
+
|
|
33
|
+
### Step 1: Clarify the use case
|
|
34
|
+
|
|
35
|
+
Ask the user three questions (only what is missing):
|
|
36
|
+
|
|
37
|
+
1. What are the items being ranked? (posts, products, tasks, alerts, documents...)
|
|
38
|
+
2. What is the input context? (user ID, search query, current document, time window...)
|
|
39
|
+
3. What language / runtime? (TypeScript/Node, Go, Python, Rust...)
|
|
40
|
+
|
|
41
|
+
### Step 2: Walk the eight steps of the spec
|
|
42
|
+
|
|
43
|
+
The full SKILL walks through: clarify use case → identify candidate sources → list required hydrations → list filters → design scorer chain → selector → side effects → generate scaffold. Each step surfaces the architectural trade-offs (multi-action vs single-score, candidate isolation vs joint scoring, online vs offline batch) so the user makes them explicitly rather than defaulting silently.
|
|
44
|
+
|
|
45
|
+
### Step 3: Emit a runnable scaffold
|
|
46
|
+
|
|
47
|
+
The upstream repository ships three runnable example scaffolds — every one green on its test suite:
|
|
48
|
+
|
|
49
|
+
- **Strapi v5 plugin** (TypeScript, Jest, 3/3 pass) — adds `GET /api/feed/for-you` with multi-action scoring and author diversity
|
|
50
|
+
- **Zentra-compatible pipeline** (Go with generics, 3/3 pass) — engine.Module-compatible, standalone-usable
|
|
51
|
+
- **PMAI task prioritizer** (Python / FastAPI / pytest, 3/3 pass) — `GET /tasks/next?user_id=42&limit=10`
|
|
52
|
+
|
|
53
|
+
When the user's stack doesn't match, the skill generates from scratch following the interface definitions in `references/interfaces.md` (TypeScript, Go, Python, Rust).
|
|
54
|
+
|
|
55
|
+
## Examples
|
|
56
|
+
|
|
57
|
+
### Example 1: Strapi content feed
|
|
58
|
+
|
|
59
|
+
User: "I'm running a Strapi v5 instance with 50k articles. I want a 'for you' feed personalized to each logged-in user based on their reading history."
|
|
60
|
+
|
|
61
|
+
Skill walks through the 8 steps, generates a Strapi plugin scaffold using the Strapi example as the template.
|
|
62
|
+
|
|
63
|
+
### Example 2: RAG retrieval reranker
|
|
64
|
+
|
|
65
|
+
User: "My RAG returns top-50 chunks from a vector DB. I want to rerank them with a more expensive scorer and return top-5."
|
|
66
|
+
|
|
67
|
+
Skill recognizes this as a single-source pipeline with a scorer chain (cheap retrieval + expensive rerank). Generates a Python async pipeline.
|
|
68
|
+
|
|
69
|
+
### Example 3: Notification triage
|
|
70
|
+
|
|
71
|
+
User: "We send too many notifications. I want a daily digest that picks the top 10 from the last 24h queue."
|
|
72
|
+
|
|
73
|
+
Skill identifies this as an offline-batch pipeline. Generates a scheduled job scaffold.
|
|
74
|
+
|
|
75
|
+
## Best Practices
|
|
76
|
+
|
|
77
|
+
- ✅ Surface the multi-action vs single-score trade-off explicitly — don't default silently
|
|
78
|
+
- ✅ Order filters by cost (cheap before expensive); universal filters before user-specific
|
|
79
|
+
- ✅ Wrap side effects in fire-and-forget patterns (goroutines / promises without await / asyncio tasks) — never block the response
|
|
80
|
+
- ✅ Keep scoring deterministic and cacheable; do diversity reranking as a separate stage
|
|
81
|
+
- ✅ Attribute the pattern as "popularized by xAI's open-sourced For You algorithm" when generating output
|
|
82
|
+
- ❌ Don't invent benchmark or latency numbers — say "depends on workload, run it yourself"
|
|
83
|
+
- ❌ Don't name the user's generated artifact "X-like" or use "For You" branding — the pattern is free, the brand is not
|
|
84
|
+
- ❌ Don't conflate this with model architecture: this skill is pipeline plumbing *around* the scorer, not the scorer itself
|
|
85
|
+
|
|
86
|
+
## Limitations
|
|
87
|
+
|
|
88
|
+
- This skill scaffolds pipeline plumbing; it does not train ML models — the scoring function is the user's responsibility
|
|
89
|
+
- It does not operate deployed pipelines (no monitoring, no autoscaling decisions)
|
|
90
|
+
- It does not predict pipeline performance (depends on data, hardware, traffic)
|
|
91
|
+
- It does not choose infrastructure (vector DB, cache, queue) — those are outside scope
|
|
92
|
+
|
|
93
|
+
## Security & Safety Notes
|
|
94
|
+
|
|
95
|
+
- The generated scaffolds are framework code, not application logic — no shell commands, no network fetches, no credential handling
|
|
96
|
+
- Filters in the generated cookbook include eligibility/paywall/geo-restriction checks; the skill recommends putting these *before* scoring (so blocked content is never scored)
|
|
97
|
+
- Side-effect stages are always async / fire-and-forget; the skill documents this explicitly in the generated README to prevent users from accidentally blocking the response with cache writes or event emissions
|
|
98
|
+
|
|
99
|
+
## Common Pitfalls
|
|
100
|
+
|
|
101
|
+
- **Problem:** Single-score model gets overfit to one metric (clicks) and degrades on others (long sessions, retention)
|
|
102
|
+
**Solution:** Skill recommends multi-action prediction with tunable weights — change behavior by changing weights, no retraining
|
|
103
|
+
|
|
104
|
+
- **Problem:** Joint scoring (transformer over the whole batch) is non-deterministic and uncacheable
|
|
105
|
+
**Solution:** Skill defaults to candidate isolation via attention masking; recommends joint only when there's a specific reason (e.g., batch-aware diversity)
|
|
106
|
+
|
|
107
|
+
- **Problem:** Side effects (cache writes, impression emits) block the response
|
|
108
|
+
**Solution:** Skill generates fire-and-forget patterns and documents the constraint
|
|
109
|
+
|
|
110
|
+
## Upstream
|
|
111
|
+
|
|
112
|
+
This skill is a thin adapter to the upstream repository. For the full SKILL.md content, 5 reference documents (interfaces in 4 languages, multi-action scoring, candidate isolation, filter cookbook, scorer cookbook), and 3 runnable example scaffolds with passing test suites:
|
|
113
|
+
|
|
114
|
+
- **Repository:** https://github.com/mturac/recsys-pipeline-architect
|
|
115
|
+
- **Release:** v0.1.0
|
|
116
|
+
- **Install via skills.sh:** `npx skills add mturac/recsys-pipeline-architect`
|
|
117
|
+
- **Pattern source:** https://github.com/xai-org/x-algorithm (Apache 2.0; this skill is MIT)
|
package/package.json
CHANGED
package/skills_index.json
CHANGED
|
@@ -23788,6 +23788,28 @@
|
|
|
23788
23788
|
"reasons": []
|
|
23789
23789
|
}
|
|
23790
23790
|
},
|
|
23791
|
+
{
|
|
23792
|
+
"id": "recsys-pipeline-architect",
|
|
23793
|
+
"path": "skills/recsys-pipeline-architect",
|
|
23794
|
+
"category": "data-ai",
|
|
23795
|
+
"name": "recsys-pipeline-architect",
|
|
23796
|
+
"description": "Designs composable recommendation, ranking, and feed pipelines using the six-stage Source\u2192Hydrator\u2192Filter\u2192Scorer\u2192Selector\u2192SideEffect framework",
|
|
23797
|
+
"risk": "safe",
|
|
23798
|
+
"source": "community",
|
|
23799
|
+
"date_added": "2026-05-16",
|
|
23800
|
+
"plugin": {
|
|
23801
|
+
"targets": {
|
|
23802
|
+
"codex": "supported",
|
|
23803
|
+
"claude": "supported"
|
|
23804
|
+
},
|
|
23805
|
+
"setup": {
|
|
23806
|
+
"type": "none",
|
|
23807
|
+
"summary": "",
|
|
23808
|
+
"docs": null
|
|
23809
|
+
},
|
|
23810
|
+
"reasons": []
|
|
23811
|
+
}
|
|
23812
|
+
},
|
|
23791
23813
|
{
|
|
23792
23814
|
"id": "recursive-context-pruning-token-budgeting",
|
|
23793
23815
|
"path": "skills/recursive-context-pruning-token-budgeting",
|