opencode-skills-collection 4.0.4 → 4.0.5
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 +4 -1
- package/bundled-skills/antigravity-maintainer-batch-release/SKILL.md +150 -0
- package/bundled-skills/create-pr/SKILL.md +4 -4
- package/bundled-skills/docs/README.md +1 -0
- package/bundled-skills/docs/contributors/quality-bar.md +1 -2
- package/bundled-skills/docs/integrations/jetski-cortex.md +5 -3
- package/bundled-skills/docs/integrations/jetski-gemini-loader/README.md +3 -1
- package/bundled-skills/docs/maintainers/aas-agent-first-control-plane-preview-profile.md +141 -0
- package/bundled-skills/docs/maintainers/aas-agent-first-control-plane-v1-design.md +302 -0
- package/bundled-skills/docs/maintainers/aas-agent-first-control-plane-v1-goal.md +169 -0
- package/bundled-skills/docs/maintainers/aas-agent-first-control-plane-v1-worklog.md +102 -0
- package/bundled-skills/docs/maintainers/audit.md +3 -8
- package/bundled-skills/docs/maintainers/legacy-redirect-bridge.md +46 -0
- package/bundled-skills/docs/maintainers/merge-batch.md +3 -7
- package/bundled-skills/docs/maintainers/merging-prs.md +1 -1
- package/bundled-skills/docs/maintainers/pr-autonomy.md +2 -3
- package/bundled-skills/docs/maintainers/release-process.md +12 -5
- package/bundled-skills/docs/maintainers/repo-growth-seo.md +16 -14
- package/bundled-skills/docs/maintainers/skills-update-guide.md +1 -1
- package/bundled-skills/docs/users/aas-core.md +147 -0
- package/bundled-skills/docs/users/agentic-awesome-skills-vs-awesome-claude-skills.md +10 -9
- package/bundled-skills/docs/users/ai-agent-skills.md +22 -19
- package/bundled-skills/docs/users/best-claude-code-skills-github.md +8 -8
- package/bundled-skills/docs/users/best-cursor-skills-github.md +5 -5
- package/bundled-skills/docs/users/bundles.md +3 -1
- package/bundled-skills/docs/users/claude-code-skills.md +23 -7
- package/bundled-skills/docs/users/codex-cli-skills.md +30 -13
- package/bundled-skills/docs/users/discovery-manifest.md +6 -3
- package/bundled-skills/docs/users/faq.md +37 -10
- package/bundled-skills/docs/users/gemini-cli-skills.md +1 -1
- package/bundled-skills/docs/users/getting-started.md +24 -10
- package/bundled-skills/docs/users/kiro-integration.md +1 -1
- package/bundled-skills/docs/users/plugins.md +15 -3
- package/bundled-skills/docs/users/skills-vs-mcp-tools.md +68 -49
- package/bundled-skills/docs/users/usage.md +38 -25
- package/bundled-skills/docs/users/visual-guide.md +28 -22
- package/bundled-skills/docs/vietnamese/AAS_CORE.vi.md +28 -0
- package/bundled-skills/docs/vietnamese/README.vi.md +10 -6
- package/bundled-skills/game-development/2d-games/SKILL.md +22 -19
- package/bundled-skills/game-development/SKILL.md +27 -35
- package/bundled-skills/game-development/engine-selection/SKILL.md +115 -0
- package/bundled-skills/game-development/web-games/SKILL.md +47 -45
- package/bundled-skills/git-advanced-workflows/SKILL.md +1 -11
- package/bundled-skills/git-pushing/SKILL.md +4 -4
- package/bundled-skills/modellix/SKILL.md +80 -0
- package/bundled-skills/pptx-deck-creation/SKILL.md +15 -7
- package/bundled-skills/pptx-deck-creation/references/audit-checklist.md +7 -3
- package/bundled-skills/pptx-deck-creation/references/ooxml-parsing.md +58 -0
- package/bundled-skills/pptx-deck-creation/references/{python-snippets.md → reference-deck-analysis-patterns.md} +1 -1
- package/bundled-skills/pptx-deck-creation/references/reference-deck-analysis.md +30 -8
- package/bundled-skills/pptx-deck-creation/references/visual-asset-adapters.md +23 -13
- package/bundled-skills/pr-writer/SKILL.md +2 -2
- package/bundled-skills/repo-maintainer/SKILL.md +4 -2
- package/bundled-skills/tools-page-seo-optimizer/SKILL.md +6 -6
- package/package.json +1 -1
- package/skills_index.json +86 -7
- package/bundled-skills/docs/contributors/skill-scoring.md +0 -235
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: engine-selection
|
|
3
|
+
description: >-
|
|
4
|
+
Selects game engines and frameworks by platform, genre, and architecture
|
|
5
|
+
(full canvas shell vs hybrid DOM shell + guest viewport). Covers Phaser,
|
|
6
|
+
PixiJS, Kaplay, Canvas/WebGL, Three.js, Babylon.js, Godot, Unity, Ink, Twine.
|
|
7
|
+
Use when choosing a stack or comparing runtimes before implementation.
|
|
8
|
+
risk: safe
|
|
9
|
+
source: self
|
|
10
|
+
date_added: "2026-07-17"
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Engine selection
|
|
14
|
+
|
|
15
|
+
> Pick tools that match **delivery target**, **interaction model**, and **team constraints**. Engines serve the game type — not the reverse.
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Fit questions (ask first)
|
|
20
|
+
|
|
21
|
+
1. **Platform:** Web, mobile, PC, console, VR?
|
|
22
|
+
2. **Primary loop:** Action/physics, turn-based, narrative branch, management/UI, hybrid?
|
|
23
|
+
3. **Presentation:** Full-screen canvas, DOM/UI chrome, or both?
|
|
24
|
+
4. **Toolchain:** No-build / ESM OK, or bundler + editor OK?
|
|
25
|
+
5. **Authoring:** Code-only, or designers need Twine/Ink/Godot/Unity editors?
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## Architecture patterns
|
|
30
|
+
|
|
31
|
+
| Pattern | When | Notes |
|
|
32
|
+
|---------|------|-------|
|
|
33
|
+
| **Full engine shell** | Game *is* the canvas/scene | Phaser, Godot, Unity, Kaplay as app root |
|
|
34
|
+
| **Renderer + custom logic** | You want draw power, own gameplay | PixiJS, Three.js + your systems |
|
|
35
|
+
| **Hybrid shell + guest** | Dense UI/text + occasional skill-checks | DOM/app shell; mount canvas engines in modals/viewports only |
|
|
36
|
+
| **Narrative runtime** | Branching prose is the product | Ink, Twine; host chrome separately |
|
|
37
|
+
| **Content-as-data** | Levels/events authored as packs | JSON/YAML + thin loader; engine optional |
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## Web — decision tree
|
|
42
|
+
|
|
43
|
+
```
|
|
44
|
+
What type of game?
|
|
45
|
+
│
|
|
46
|
+
├── Mostly DOM / panels / forms / text UI
|
|
47
|
+
│ ├── + small arcade/spatial challenges
|
|
48
|
+
│ │ └── Hybrid: custom shell + guest
|
|
49
|
+
│ │ Raw Canvas/WebGL → Kaplay → Phaser → PixiJS
|
|
50
|
+
│ └── + branching story
|
|
51
|
+
│ └── Ink (inkjs) or Twine export → host in DOM
|
|
52
|
+
│
|
|
53
|
+
├── Full-screen 2D game
|
|
54
|
+
│ ├── Full gameplay features (scenes, physics, input)
|
|
55
|
+
│ │ └── Phaser 4 (or Kaplay if you want lighter/faster prototype)
|
|
56
|
+
│ └── Mostly rendering / custom systems
|
|
57
|
+
│ └── PixiJS 8 (or Raw Canvas/WebGL if tiny scope)
|
|
58
|
+
│
|
|
59
|
+
└── Full-screen 3D game
|
|
60
|
+
├── Full engine / physics / XR
|
|
61
|
+
│ └── Babylon.js
|
|
62
|
+
└── Rendering-focused / lighter
|
|
63
|
+
└── Three.js
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
## Quick comparison (web & common exports)
|
|
69
|
+
|
|
70
|
+
| Tool | Type | Best for | Watch-outs |
|
|
71
|
+
|------|------|----------|------------|
|
|
72
|
+
| **Raw Canvas / WebGL** | 2D/low-level | Tiny games, learning, no framework tax | You own everything |
|
|
73
|
+
| **Kaplay** (ex-Kaboom) | 2D toolkit | Fast prototypes, jam games | Less “full product” structure than Phaser |
|
|
74
|
+
| **Phaser 4** | 2D engine | Complete 2D features | Heavier; often bundled |
|
|
75
|
+
| **PixiJS 8** | 2D renderer | Performance, custom game code | Not a full gameplay framework alone |
|
|
76
|
+
| **Three.js** | 3D renderer | Visuals, lightweight 3D | You add gameplay systems |
|
|
77
|
+
| **Babylon.js** | 3D engine | Fuller 3D + XR | Heavier than Three for simple scenes |
|
|
78
|
+
| **Ink + inkjs** | Narrative | Complex branching prose | Weak for real-time multi-entity sims |
|
|
79
|
+
| **Twine / Twison / TweeJS** | Narrative | Educator-friendly branches | Export/host glue; not a physics engine |
|
|
80
|
+
| **Godot 4** | Full engine | 2D/3D indie, open source | Web export iteration cost |
|
|
81
|
+
| **Unity** | Full engine | Large teams, multi-platform | Heavy for simple web UI games |
|
|
82
|
+
|
|
83
|
+
Editor-first web shells (**Construct**, **GDevelop**) fit visual prototyping; weaker when you need versioned code-first content pipelines.
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
## Non-web defaults (see also platform skills)
|
|
88
|
+
|
|
89
|
+
| Target | Lean toward |
|
|
90
|
+
|--------|-------------|
|
|
91
|
+
| PC indie / open source | Godot 4 |
|
|
92
|
+
| PC large team / multi-platform | Unity |
|
|
93
|
+
| Mobile | See `game-development/mobile-games` (touch, stores, battery) |
|
|
94
|
+
| VR/AR | See `game-development/vr-ar` (+ Babylon/Three on web) |
|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
## Anti-patterns
|
|
99
|
+
|
|
100
|
+
| Don't | Do |
|
|
101
|
+
|-------|-----|
|
|
102
|
+
| Choose Unity/Godot for a form-heavy browser tool | Prefer DOM/hybrid |
|
|
103
|
+
| Force Ink to run real-time concurrent simulations | Use narrative tools for branches; custom/sim code for clocks & entities |
|
|
104
|
+
| Use Phaser as “the whole app” when the surrounding UI is HTML | Prefer a hybrid guest viewport |
|
|
105
|
+
| Optimize for WebGPU on day one | Ship WebGL; add WebGPU + fallback when needed |
|
|
106
|
+
|
|
107
|
+
## When to Use
|
|
108
|
+
|
|
109
|
+
Use when choosing or comparing game engines/frameworks before implementation, especially for hybrid DOM+canvas or narrative-first products.
|
|
110
|
+
|
|
111
|
+
## Limitations
|
|
112
|
+
|
|
113
|
+
- Does not replace platform skills (`game-development/web-games`, `game-development/pc-games`, …).
|
|
114
|
+
- Final choice still depends on team skill and shipping constraints.
|
|
115
|
+
- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: web-games
|
|
3
|
-
description:
|
|
3
|
+
description: >-
|
|
4
|
+
Web browser game development. Framework selection (Phaser, PixiJS, Kaplay,
|
|
5
|
+
Canvas/WebGL, Three.js, Babylon.js), hybrid DOM+canvas, WebGPU, optimization,
|
|
6
|
+
PWA, audio unlock. Use when building HTML5/WebGL/WebGPU games or choosing a
|
|
7
|
+
browser runtime.
|
|
4
8
|
risk: unknown
|
|
5
9
|
source: community
|
|
6
10
|
date_added: "2026-02-27"
|
|
@@ -8,7 +12,7 @@ date_added: "2026-02-27"
|
|
|
8
12
|
|
|
9
13
|
# Web Browser Game Development
|
|
10
14
|
|
|
11
|
-
> Framework selection and browser-specific principles.
|
|
15
|
+
> Framework selection and browser-specific principles. For stack choice details see `game-development/engine-selection`.
|
|
12
16
|
|
|
13
17
|
---
|
|
14
18
|
|
|
@@ -20,25 +24,43 @@ date_added: "2026-02-27"
|
|
|
20
24
|
What type of game?
|
|
21
25
|
│
|
|
22
26
|
├── 2D Game
|
|
23
|
-
│ ├── Full game engine features? → Phaser
|
|
24
|
-
│
|
|
27
|
+
│ ├── Full game engine features? → Phaser 4
|
|
28
|
+
│ ├── Fast prototype / jam? → Kaplay
|
|
29
|
+
│ ├── Raw rendering power? → PixiJS 8
|
|
30
|
+
│ └── Tiny / no dependency? → Raw Canvas / WebGL
|
|
25
31
|
│
|
|
26
32
|
├── 3D Game
|
|
27
33
|
│ ├── Full engine (physics, XR)? → Babylon.js
|
|
28
|
-
│ └── Rendering focused?
|
|
34
|
+
│ └── Rendering focused? → Three.js
|
|
29
35
|
│
|
|
30
|
-
|
|
31
|
-
|
|
36
|
+
├── Hybrid (DOM UI + canvas moments)
|
|
37
|
+
│ └── Custom shell + guest viewport
|
|
38
|
+
│ (Canvas/Kaplay/Phaser/Pixi inside a region/modal)
|
|
39
|
+
│
|
|
40
|
+
└── Narrative-first
|
|
41
|
+
└── Ink (inkjs) or Twine export + DOM host
|
|
32
42
|
```
|
|
33
43
|
|
|
34
|
-
### Comparison
|
|
44
|
+
### Comparison
|
|
35
45
|
|
|
36
46
|
| Framework | Type | Best For |
|
|
37
47
|
|-----------|------|----------|
|
|
38
|
-
| **
|
|
39
|
-
| **
|
|
40
|
-
| **
|
|
41
|
-
| **
|
|
48
|
+
| **Raw Canvas / WebGL** | 2D / low-level | Small scope, full control |
|
|
49
|
+
| **Kaplay** | 2D toolkit | Rapid prototypes |
|
|
50
|
+
| **Phaser 4** | 2D engine | Full game features |
|
|
51
|
+
| **PixiJS 8** | 2D renderer | Rendering, custom systems |
|
|
52
|
+
| **Three.js** | 3D renderer | Visualizations, lightweight 3D |
|
|
53
|
+
| **Babylon.js** | 3D engine | Full engine, XR |
|
|
54
|
+
|
|
55
|
+
### Hybrid shell + guest
|
|
56
|
+
|
|
57
|
+
Use when chrome is HTML (menus, inventories, text, dashboards) but bursts of play need a canvas:
|
|
58
|
+
|
|
59
|
+
1. Mount guest in a container; pass context in.
|
|
60
|
+
2. Run a **local** game loop in the guest.
|
|
61
|
+
3. Return results (score, pass/fail); **destroy** guest (RAF, listeners, GL context as needed).
|
|
62
|
+
|
|
63
|
+
Do not let the guest own global app routing unless the product *is* a full-screen game.
|
|
42
64
|
|
|
43
65
|
---
|
|
44
66
|
|
|
@@ -56,8 +78,8 @@ What type of game?
|
|
|
56
78
|
|
|
57
79
|
### Decision
|
|
58
80
|
|
|
59
|
-
- **New projects**: Use WebGPU with WebGL fallback
|
|
60
|
-
- **
|
|
81
|
+
- **New GPU-heavy projects**: Use WebGPU with WebGL fallback
|
|
82
|
+
- **Broad legacy / simple 2D**: Start with WebGL or Canvas 2D
|
|
61
83
|
- **Feature detection**: Check `navigator.gpu`
|
|
62
84
|
|
|
63
85
|
---
|
|
@@ -69,7 +91,7 @@ What type of game?
|
|
|
69
91
|
| Constraint | Strategy |
|
|
70
92
|
|------------|----------|
|
|
71
93
|
| No local file access | Asset bundling, CDN |
|
|
72
|
-
| Tab throttling | Pause when hidden |
|
|
94
|
+
| Tab throttling | Pause when hidden (`visibilitychange`) |
|
|
73
95
|
| Mobile data limits | Compress assets |
|
|
74
96
|
| Audio autoplay | Require user interaction |
|
|
75
97
|
|
|
@@ -85,16 +107,12 @@ What type of game?
|
|
|
85
107
|
|
|
86
108
|
## 4. Asset Strategy
|
|
87
109
|
|
|
88
|
-
### Compression Formats
|
|
89
|
-
|
|
90
110
|
| Type | Format |
|
|
91
111
|
|------|--------|
|
|
92
|
-
| Textures | KTX2 + Basis Universal |
|
|
112
|
+
| Textures | KTX2 + Basis Universal (or WebP/PNG for simple 2D) |
|
|
93
113
|
| Audio | WebM/Opus (fallback: MP3) |
|
|
94
114
|
| 3D Models | glTF + Draco/Meshopt |
|
|
95
115
|
|
|
96
|
-
### Loading Strategy
|
|
97
|
-
|
|
98
116
|
| Phase | Load |
|
|
99
117
|
|-------|------|
|
|
100
118
|
| Startup | Core assets, <2MB |
|
|
@@ -105,35 +123,16 @@ What type of game?
|
|
|
105
123
|
|
|
106
124
|
## 5. PWA for Games
|
|
107
125
|
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
- Offline play
|
|
111
|
-
- Install to home screen
|
|
112
|
-
- Full screen mode
|
|
113
|
-
- Push notifications
|
|
114
|
-
|
|
115
|
-
### Requirements
|
|
116
|
-
|
|
117
|
-
- Service worker for caching
|
|
118
|
-
- Web app manifest
|
|
119
|
-
- HTTPS
|
|
126
|
+
**Benefits:** offline play, install, fullscreen, optional push.
|
|
127
|
+
**Requirements:** service worker, web app manifest, HTTPS.
|
|
120
128
|
|
|
121
129
|
---
|
|
122
130
|
|
|
123
131
|
## 6. Audio Handling
|
|
124
132
|
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
-
|
|
128
|
-
- Create AudioContext on first click/tap
|
|
129
|
-
- Resume context if suspended
|
|
130
|
-
|
|
131
|
-
### Best Practices
|
|
132
|
-
|
|
133
|
-
- Use Web Audio API
|
|
134
|
-
- Pool audio sources
|
|
135
|
-
- Preload common sounds
|
|
136
|
-
- Compress with WebM/Opus
|
|
133
|
+
- Create/resume `AudioContext` on first click/tap
|
|
134
|
+
- Prefer Web Audio API; pool sources; preload common SFX
|
|
135
|
+
- Compress with WebM/Opus when possible
|
|
137
136
|
|
|
138
137
|
---
|
|
139
138
|
|
|
@@ -146,15 +145,18 @@ What type of game?
|
|
|
146
145
|
| Block on audio load | Lazy load audio |
|
|
147
146
|
| Skip compression | Compress everything |
|
|
148
147
|
| Assume fast connection | Handle slow networks |
|
|
148
|
+
| Leave canvas engines running off-screen | Tear down guests |
|
|
149
149
|
|
|
150
150
|
---
|
|
151
151
|
|
|
152
152
|
> **Remember:** Browser is the most accessible platform. Respect its constraints.
|
|
153
153
|
|
|
154
154
|
## When to Use
|
|
155
|
-
|
|
155
|
+
|
|
156
|
+
Use when building HTML5/WebGL/WebGPU games, choosing a browser runtime, or wiring hybrid DOM+canvas guests.
|
|
156
157
|
|
|
157
158
|
## Limitations
|
|
159
|
+
|
|
158
160
|
- Use this skill only when the task clearly matches the scope described above.
|
|
159
161
|
- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
|
|
160
162
|
- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.
|
|
@@ -20,9 +20,8 @@ Master advanced Git techniques to maintain clean history, collaborate effectivel
|
|
|
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`.
|
|
24
23
|
|
|
25
|
-
##
|
|
24
|
+
## When to Use
|
|
26
25
|
|
|
27
26
|
- Cleaning up commit history before merging
|
|
28
27
|
- Applying specific commits across branches
|
|
@@ -405,15 +404,6 @@ git reflog
|
|
|
405
404
|
git branch recovered-branch abc123
|
|
406
405
|
```
|
|
407
406
|
|
|
408
|
-
## Resources
|
|
409
|
-
|
|
410
|
-
- **references/git-rebase-guide.md**: Deep dive into interactive rebase
|
|
411
|
-
- **references/git-conflict-resolution.md**: Advanced conflict resolution strategies
|
|
412
|
-
- **references/git-history-rewriting.md**: Safely rewriting Git history
|
|
413
|
-
- **assets/git-workflow-checklist.md**: Pre-PR cleanup checklist
|
|
414
|
-
- **assets/git-aliases.md**: Useful Git aliases for advanced workflows
|
|
415
|
-
- **scripts/git-clean-branches.sh**: Clean up merged and stale branches
|
|
416
|
-
|
|
417
407
|
## Limitations
|
|
418
408
|
- Use this skill only when the task clearly matches the scope described above.
|
|
419
409
|
- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
|
|
@@ -32,22 +32,22 @@ Do not use this skill for a maintainer merge batch, canonical synchronization, v
|
|
|
32
32
|
|
|
33
33
|
## Workflow
|
|
34
34
|
|
|
35
|
-
Use the helper only after the safety gates pass. With no paths
|
|
35
|
+
Use the helper only after the safety gates pass. Resolve the installed directory that contains this `SKILL.md` and substitute its absolute path for `<skill-directory>` below; do not assume the current working directory is the catalog repository. With no paths the helper stages all current changes, so use that form only when every dirty file belongs to the requested commit:
|
|
36
36
|
|
|
37
37
|
```bash
|
|
38
|
-
bash
|
|
38
|
+
bash "<skill-directory>/scripts/smart_commit.sh"
|
|
39
39
|
```
|
|
40
40
|
|
|
41
41
|
With custom message:
|
|
42
42
|
|
|
43
43
|
```bash
|
|
44
|
-
bash
|
|
44
|
+
bash "<skill-directory>/scripts/smart_commit.sh" "feat: add feature"
|
|
45
45
|
```
|
|
46
46
|
|
|
47
47
|
To stage only named files, pass them after `--`:
|
|
48
48
|
|
|
49
49
|
```bash
|
|
50
|
-
bash
|
|
50
|
+
bash "<skill-directory>/scripts/smart_commit.sh" "fix: scope change" -- path/to/file
|
|
51
51
|
```
|
|
52
52
|
|
|
53
53
|
The helper handles isolated staging, commit creation, and push; it does not replace validation, release tooling, or a rebase required by an advanced upstream branch.
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: modellix
|
|
3
|
+
description: "Integrate Modellix unified API/CLI for async AI image and video generation (model run --wait, task download)."
|
|
4
|
+
category: creative
|
|
5
|
+
risk: critical
|
|
6
|
+
source: community
|
|
7
|
+
source_repo: Modellix/modellix-skill
|
|
8
|
+
source_type: official
|
|
9
|
+
date_added: "2026-07-16"
|
|
10
|
+
author: Modellix
|
|
11
|
+
tags: [image-generation, video-generation, modellix, cli, api]
|
|
12
|
+
tools: [claude, cursor, gemini]
|
|
13
|
+
license: "MIT"
|
|
14
|
+
license_source: "https://github.com/Modellix/modellix-skill/blob/main/LICENSE"
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
# Modellix
|
|
18
|
+
|
|
19
|
+
## Overview
|
|
20
|
+
|
|
21
|
+
Modellix is a Model-as-a-Service platform for AI image and video generation. This skill teaches agents to use the official `modellix-cli` workflow (doctor → model run --wait → task download).
|
|
22
|
+
|
|
23
|
+
Upstream package: https://github.com/Modellix/modellix-skill/tree/main/modellix-skill
|
|
24
|
+
|
|
25
|
+
## When to Use This Skill
|
|
26
|
+
|
|
27
|
+
- Generate images from text prompts
|
|
28
|
+
- Generate or edit videos from text or images
|
|
29
|
+
- Call Modellix models through a unified API/CLI
|
|
30
|
+
- The user mentions Modellix, Seedream, Seedance, Nano Banana, or similar providers via Modellix
|
|
31
|
+
|
|
32
|
+
## How It Works
|
|
33
|
+
|
|
34
|
+
1. Authenticate with `MODELLIX_API_KEY` or `modellix-cli auth login`
|
|
35
|
+
2. Run `modellix-cli doctor --json`
|
|
36
|
+
3. Use default models when unspecified (T2I: `google/nano-banana-2-lite`, T2V: `bytedance/seedance-2.0-mini-t2v`)
|
|
37
|
+
4. Submit with `modellix-cli model run --wait --json`
|
|
38
|
+
5. Persist outputs with `modellix-cli task download`
|
|
39
|
+
|
|
40
|
+
## Examples
|
|
41
|
+
|
|
42
|
+
### Text-to-image
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
modellix-cli model run \
|
|
46
|
+
--model-slug google/nano-banana-2-lite \
|
|
47
|
+
--body '{"prompt":"A cinematic sunset over a futuristic city"}' \
|
|
48
|
+
--wait --timeout 5m --json
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### Text-to-video
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
modellix-cli model run \
|
|
55
|
+
--model-slug bytedance/seedance-2.0-mini-t2v \
|
|
56
|
+
--body '{"prompt":"Ocean waves under a cloudy sunset"}' \
|
|
57
|
+
--wait --timeout 10m --json
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
## Best Practices
|
|
61
|
+
|
|
62
|
+
- Prefer CLI `model run --wait` over hand-rolled polling
|
|
63
|
+
- Before a paid submission, disclose the provider, model, prompt or source media that will leave the machine, expected cost, and output path; obtain explicit user approval
|
|
64
|
+
- Prefer session-scoped API-key use; run `modellix-cli auth login` only when the user approves persistent local credential storage
|
|
65
|
+
- Do not blindly retry paid submissions after unknown outcomes — check `task history`
|
|
66
|
+
- Confirm the destination and overwrite policy before `task download`; never replace an existing file without explicit approval
|
|
67
|
+
- Fetch request schemas from `model describe` `docs_url` or https://docs.modellix.ai/llms.txt
|
|
68
|
+
|
|
69
|
+
## Security & Safety Notes
|
|
70
|
+
|
|
71
|
+
- Requires a Modellix API key; never print secrets in logs
|
|
72
|
+
- Prompts and uploaded source media leave the machine for `api.modellix.ai` and Modellix CDN processing
|
|
73
|
+
- Paid generation consumes account balance and must not be submitted or retried without the approval described above
|
|
74
|
+
|
|
75
|
+
## Limitations
|
|
76
|
+
|
|
77
|
+
- Requires a Modellix account, network access, a valid API key, and sufficient account balance.
|
|
78
|
+
- Model availability, request schemas, pricing, quotas, moderation, and generation time are controlled by Modellix and may change.
|
|
79
|
+
- Generated outputs require human review for quality, rights, privacy, and policy compliance before publication.
|
|
80
|
+
- This skill documents the CLI workflow only; it does not define a REST fallback or guarantee that a completed remote task downloads successfully.
|
|
@@ -154,8 +154,10 @@ Own net-new PPTX creation in this workflow. When a PPTX file is required,
|
|
|
154
154
|
create a small task-specific builder with the user's approved environment. Start
|
|
155
155
|
slides from a blank layout and create native objects from the final bounding
|
|
156
156
|
boxes. Enable word wrap, disable automatic text resizing, set text insets and
|
|
157
|
-
alignment explicitly, and reject zero or negative bounding boxes
|
|
158
|
-
building.
|
|
157
|
+
alignment explicitly, and reject zero or negative bounding boxes for non-line
|
|
158
|
+
objects before building. Validate lines by requiring two distinct endpoints;
|
|
159
|
+
horizontal and vertical lines may have a zero-height or zero-width bounding
|
|
160
|
+
box.
|
|
159
161
|
|
|
160
162
|
Save the authored specification, PPTX, build manifest, audit records, and
|
|
161
163
|
source manifest together. Do not add a large shared renderer or copy source
|
|
@@ -181,7 +183,11 @@ with the slide ID, object ID, reason, owner, and review date.
|
|
|
181
183
|
|
|
182
184
|
The skill provides a read-only analysis contract, not packaged code. For a
|
|
183
185
|
specific task, use `python-pptx` and the Office Open XML package to inspect a
|
|
184
|
-
presentation.
|
|
186
|
+
presentation. Use OOXML package inspection when `python-pptx` cannot expose
|
|
187
|
+
theme, master, layout, relationship, notes, comments, animation, media, or
|
|
188
|
+
non-modeled formatting evidence. Resolve the package relationship graph;
|
|
189
|
+
never infer slide order from filenames or copy source package parts. Produce
|
|
190
|
+
only the context needed for the task:
|
|
185
191
|
|
|
186
192
|
* Compact prompt context with slide count, styles, brands, template, and layout
|
|
187
193
|
* Full extraction with `layout_tree`, summary metrics, and render-aware elements
|
|
@@ -189,8 +195,10 @@ presentation. Produce only the context needed for the task:
|
|
|
189
195
|
* Style-master analysis with colors, fonts, layout usage, and flow patterns
|
|
190
196
|
|
|
191
197
|
Use [reference-deck analysis recipes](references/reference-deck-analysis.md)
|
|
192
|
-
and [
|
|
193
|
-
references.
|
|
198
|
+
and [reference-deck analysis patterns](references/reference-deck-analysis-patterns.md) as static implementation
|
|
199
|
+
references. Use the bundled `references/ooxml-parsing.md` guidance for the
|
|
200
|
+
package-part map, relationship resolution, namespace, and secure parsing
|
|
201
|
+
requirements. Keep all extraction read-only.
|
|
194
202
|
|
|
195
203
|
## Visual Assets
|
|
196
204
|
|
|
@@ -208,8 +216,8 @@ objects.
|
|
|
208
216
|
Before any external generation call, disclose the provider and model, what
|
|
209
217
|
prompt or source material will leave the machine, the likely cost, and the
|
|
210
218
|
output path. Obtain explicit confirmation unless the user already authorized
|
|
211
|
-
that exact operation. Never overwrite an existing output without
|
|
212
|
-
confirmation.
|
|
219
|
+
that exact operation. Never overwrite an existing output or manifest without
|
|
220
|
+
separate explicit confirmation.
|
|
213
221
|
|
|
214
222
|
## Examples
|
|
215
223
|
|
|
@@ -20,16 +20,20 @@ A.y < B.y + B.h AND B.y < A.y + A.h
|
|
|
20
20
|
For each text object estimate whether its text fits within its bbox.
|
|
21
21
|
|
|
22
22
|
Rough capacity (Latin):
|
|
23
|
-
- Characters per line ≈ `(bbox.w × 72) / (font_size × 0.5)`, using `0.5 em`
|
|
23
|
+
- Characters per line ≈ `(bbox.w × 72) / (font_size × 0.5)`, using `0.5 em`
|
|
24
|
+
as an average Latin glyph-width factor
|
|
24
25
|
- Lines available ≈ `(bbox.h × 72) / (font_size × 1.2)`
|
|
25
26
|
_(bbox in inches, font_size in pt)_
|
|
26
27
|
|
|
27
28
|
Adjustments:
|
|
28
|
-
- **CJK / full-width text:**
|
|
29
|
+
- **CJK / full-width text:** halve the characters-per-line value (full-width glyphs ≈ 2× Latin advance). The extractor reports `non_ascii_text` — use it to flag CJK-heavy slides.
|
|
29
30
|
- **Text on a shape/card:** subtract ≈0.1 in of inner padding from each side of the shape before computing capacity; the text occupies the inset inner area, not the full shape.
|
|
30
31
|
|
|
31
32
|
- **Pass:** estimated text volume ≤ available capacity.
|
|
32
|
-
- **Warning:** likely overflow → inspect the generated PPTX or rendered preview,
|
|
33
|
+
- **Warning:** likely overflow → inspect the generated PPTX or rendered preview,
|
|
34
|
+
then shorten bullets, enlarge the bbox, or split the slide when clipping is
|
|
35
|
+
confirmed. This estimate is a triage heuristic, not a deterministic failure
|
|
36
|
+
by itself.
|
|
33
37
|
**Never set `font_size` below 9 pt for `classification: "content"` objects.**
|
|
34
38
|
|
|
35
39
|
## 3. Font Size Minimums
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# OOXML Parsing Reference
|
|
2
|
+
|
|
3
|
+
A `.pptx` is an Open Packaging Conventions ZIP archive. Inspect it read-only
|
|
4
|
+
by resolving its relationship graph; do not assume sequential filenames or
|
|
5
|
+
copy package parts into a generated deck.
|
|
6
|
+
|
|
7
|
+
## Package-Part Map
|
|
8
|
+
|
|
9
|
+
| Need | Parts |
|
|
10
|
+
| --- | --- |
|
|
11
|
+
| Slide order | `ppt/presentation.xml`, `ppt/_rels/presentation.xml.rels` |
|
|
12
|
+
| Slide text and shapes | Slide parts resolved from presentation relationships (commonly `ppt/slides/slideN.xml`) |
|
|
13
|
+
| Layout, notes, images, charts | The slide's relationship part (commonly `ppt/slides/_rels/slideN.xml.rels`) |
|
|
14
|
+
| Template geometry | `ppt/slideLayouts/`, `ppt/slideMasters/` |
|
|
15
|
+
| Colors and fonts | Theme parts resolved from presentation/master relationships (commonly under `ppt/theme/`) |
|
|
16
|
+
| Notes and comments | `ppt/notesSlides/`, `ppt/comments/` |
|
|
17
|
+
| Media and embeddings | `ppt/media/`, `ppt/embeddings/` |
|
|
18
|
+
|
|
19
|
+
## Relationship Resolution
|
|
20
|
+
|
|
21
|
+
1. Start with `ppt/presentation.xml`; use its slide ID list and
|
|
22
|
+
`ppt/_rels/presentation.xml.rels` to resolve slides in presentation order.
|
|
23
|
+
2. For every part that needs linked content, resolve targets from that part's
|
|
24
|
+
`.rels` file relative to the owning part rather than from a hard-coded path.
|
|
25
|
+
3. Retain the relationship ID, type, resolved target, and any unreadable or
|
|
26
|
+
missing target in the analysis result.
|
|
27
|
+
4. Treat raw element ordering as evidence for rendering, not as a reason to
|
|
28
|
+
reproduce a source slide or its package XML.
|
|
29
|
+
|
|
30
|
+
## Namespaces
|
|
31
|
+
|
|
32
|
+
- PresentationML: `http://schemas.openxmlformats.org/presentationml/2006/main`
|
|
33
|
+
- DrawingML: `http://schemas.openxmlformats.org/drawingml/2006/main`
|
|
34
|
+
- Office relationships: `http://schemas.openxmlformats.org/officeDocument/2006/relationships`
|
|
35
|
+
- Package relationships: `http://schemas.openxmlformats.org/package/2006/relationships`
|
|
36
|
+
|
|
37
|
+
## Analysis Output Guidance
|
|
38
|
+
|
|
39
|
+
For a read-only extraction, retain the slide number, resolved relationship
|
|
40
|
+
target, concatenated text, shape counts, notes, relationship types, and
|
|
41
|
+
OOXML-only markers such as animations, comments, transitions, unsupported
|
|
42
|
+
shapes, and non-modeled formatting. For design context, retain theme
|
|
43
|
+
color/font tokens without inventing an RGB value when a scheme or system color
|
|
44
|
+
cannot be fully resolved.
|
|
45
|
+
|
|
46
|
+
Record the input deck path, inspected parts, relationship-resolution errors,
|
|
47
|
+
and unreadable XML in the analysis manifest. Keep the result limited to the
|
|
48
|
+
evidence needed for the requested analysis.
|
|
49
|
+
|
|
50
|
+
## Secure, Read-Only Handling
|
|
51
|
+
|
|
52
|
+
- Treat a source deck as untrusted input. Reject path traversal, symlinks,
|
|
53
|
+
oversized members, and compressed archive bombs before reading ZIP members.
|
|
54
|
+
- Parse XML with a secure parser. Disable DTD loading, entity expansion, and
|
|
55
|
+
network access.
|
|
56
|
+
- Preserve `xml:space="preserve"` semantics when collecting text.
|
|
57
|
+
- Do not modify the source archive, overwrite it, or blindly copy XML, media,
|
|
58
|
+
fonts, images, or embedded files into a new deck.
|
|
@@ -6,8 +6,9 @@ This file is static guidance for inspecting existing `.pptx` files and defining
|
|
|
6
6
|
|
|
7
7
|
- Keep only static guidance for reference-deck prompt context, extraction, folder analysis, and style-master inspection.
|
|
8
8
|
- Do not place runtime scripts, model assets, importable Python modules, or generated artifacts here.
|
|
9
|
-
- This skill ships no importable code; implement the extraction/style-analysis
|
|
10
|
-
- `
|
|
9
|
+
- This skill ships no importable code; implement the extraction/style-analysis and read-only OOXML inspection contracts on demand with `python-pptx`, `zipfile`, and a secure XML parser.
|
|
10
|
+
- `reference-deck-analysis-patterns.md` holds documentation-only `python-pptx` guidance — approach notes plus short illustrative snippets. Do not import from it or recreate packaged `.py` resources from it.
|
|
11
|
+
- `ooxml-parsing.md` holds documentation-only package-part, relationship, namespace, and security guidance. It is not a runtime dependency or script template.
|
|
11
12
|
|
|
12
13
|
## Analysis Recipes
|
|
13
14
|
|
|
@@ -28,15 +29,34 @@ Produce a full JSON extraction including:
|
|
|
28
29
|
- `summary` complexity metrics
|
|
29
30
|
- `slides[*].layout_tree` with groups/objects
|
|
30
31
|
- `ooxml_elements` for render-aware inspection
|
|
32
|
+
- resolved package relationships, OOXML-only markers, and parsing exceptions
|
|
31
33
|
|
|
32
|
-
### 3.
|
|
34
|
+
### 3. OOXML Package Inspection Recipe
|
|
35
|
+
|
|
36
|
+
Use read-only package inspection when high-level APIs do not expose the needed
|
|
37
|
+
evidence: slide order, theme tokens, masters/layouts, notes, comments,
|
|
38
|
+
animations, media, charts, or non-modeled formatting.
|
|
39
|
+
|
|
40
|
+
- Resolve slide order from `ppt/presentation.xml` and its relationship part.
|
|
41
|
+
Do not derive it from `slideN.xml` filenames.
|
|
42
|
+
- Resolve every relationship target relative to its owning source part, not its
|
|
43
|
+
`.rels` part. Retain the relationship type, target, and unreadable XML errors
|
|
44
|
+
in the result.
|
|
45
|
+
- Preserve theme colors and fonts as tokens when they cannot be reliably
|
|
46
|
+
resolved to RGB values.
|
|
47
|
+
- Parse untrusted XML with a secure parser; do not enable DTDs, entity
|
|
48
|
+
expansion, or network access.
|
|
49
|
+
- Keep the source package read-only and never copy its XML parts into a new
|
|
50
|
+
deck.
|
|
51
|
+
|
|
52
|
+
### 4. Folder Batch Recipe
|
|
33
53
|
|
|
34
54
|
Process a folder of decks to produce:
|
|
35
55
|
|
|
36
56
|
- One `.pptx-spec.json` file per deck
|
|
37
57
|
- A `manifest.json` to track outputs
|
|
38
58
|
|
|
39
|
-
###
|
|
59
|
+
### 5. Style Master Recipe
|
|
40
60
|
|
|
41
61
|
Run style-only analysis when you need design lock signals:
|
|
42
62
|
|
|
@@ -44,7 +64,7 @@ Run style-only analysis when you need design lock signals:
|
|
|
44
64
|
- Typography and font-size distribution
|
|
45
65
|
- Master/layout usage and flow patterns
|
|
46
66
|
|
|
47
|
-
###
|
|
67
|
+
### 6. Reference Template Catalog Recipe
|
|
48
68
|
|
|
49
69
|
When a reference deck should inform a new deck's layout rhythm, produce a
|
|
50
70
|
human-readable catalog from the existing prompt-context, extraction, and
|
|
@@ -83,9 +103,11 @@ Suggested catalog shape:
|
|
|
83
103
|
## Related Responsibilities
|
|
84
104
|
|
|
85
105
|
This reference covers PPTX prompt context, extraction, folder batch analysis,
|
|
86
|
-
style-master inspection, and the derived
|
|
106
|
+
style-master inspection, read-only OOXML package inspection, and the derived
|
|
107
|
+
reference-template catalog only. See [OOXML parsing guidance](ooxml-parsing.md)
|
|
108
|
+
for the package-part map and parser safety rules.
|
|
87
109
|
|
|
88
110
|
- Use the parent `pptx-deck-creation` workflow for narrative/source preparation,
|
|
89
|
-
|
|
111
|
+
together with [design profiles](design-profiles.md) for profile selection.
|
|
90
112
|
- Use [visual asset guidelines](visual-asset-adapters.md) for acquiring and
|
|
91
|
-
|
|
113
|
+
placing icons, images, SVGs, and infographics.
|