opencode-skills-collection 4.0.5 → 4.0.6
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/antigravity-maintainer-batch-release/SKILL.md +6 -5
- package/bundled-skills/docs/integrations/jetski-cortex.md +4 -4
- package/bundled-skills/docs/integrations/jetski-gemini-loader/README.md +2 -2
- package/bundled-skills/docs/maintainers/aas-agent-first-control-plane-preview-profile.md +50 -128
- package/bundled-skills/docs/maintainers/aas-agent-first-control-plane-v1-design.md +2 -0
- package/bundled-skills/docs/maintainers/aas-agent-first-control-plane-v1-goal.md +2 -0
- package/bundled-skills/docs/maintainers/aas-agent-first-control-plane-v1-worklog.md +2 -0
- package/bundled-skills/docs/maintainers/repo-growth-seo.md +3 -3
- package/bundled-skills/docs/maintainers/skills-update-guide.md +1 -1
- package/bundled-skills/docs/users/aas-core.md +84 -49
- package/bundled-skills/docs/users/agentic-awesome-skills-vs-awesome-claude-skills.md +5 -5
- package/bundled-skills/docs/users/ai-agent-skills.md +8 -8
- package/bundled-skills/docs/users/best-claude-code-skills-github.md +4 -4
- package/bundled-skills/docs/users/bundles.md +1 -1
- package/bundled-skills/docs/users/claude-code-skills.md +7 -7
- package/bundled-skills/docs/users/codex-cli-skills.md +8 -8
- package/bundled-skills/docs/users/discovery-manifest.md +1 -1
- package/bundled-skills/docs/users/faq.md +8 -8
- package/bundled-skills/docs/users/gemini-cli-skills.md +1 -1
- package/bundled-skills/docs/users/getting-started.md +5 -5
- package/bundled-skills/docs/users/kiro-integration.md +1 -1
- package/bundled-skills/docs/users/plugins.md +2 -2
- package/bundled-skills/docs/users/skills-vs-mcp-tools.md +9 -9
- package/bundled-skills/docs/users/usage.md +23 -11
- package/bundled-skills/docs/users/visual-guide.md +10 -10
- package/bundled-skills/docs/vietnamese/AAS_CORE.vi.md +5 -5
- package/bundled-skills/docs/vietnamese/README.vi.md +2 -2
- package/bundled-skills/markstream-install/SKILL.md +187 -0
- package/bundled-skills/markstream-install/references/scenarios.md +48 -0
- package/package.json +1 -1
- package/skills_index.json +35 -0
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: markstream-install
|
|
3
|
+
description: "Install and configure Markstream streaming Markdown renderers for Vue, React, Svelte, Angular, Nuxt, Next.js, and Vue 2 applications."
|
|
4
|
+
category: frontend
|
|
5
|
+
risk: safe
|
|
6
|
+
source: https://github.com/Simon-He95/markstream-vue/tree/main/.agents/skills/markstream-install
|
|
7
|
+
source_repo: Simon-He95/markstream-vue
|
|
8
|
+
source_type: official
|
|
9
|
+
date_added: "2026-07-19"
|
|
10
|
+
author: Simon-He95
|
|
11
|
+
tags: [markdown, streaming, vue, react, svelte, angular, ai-chat]
|
|
12
|
+
tools: [claude, cursor, gemini, codex]
|
|
13
|
+
license: MIT
|
|
14
|
+
license_source: https://github.com/Simon-He95/markstream-vue/blob/main/license
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
# Markstream Install
|
|
18
|
+
|
|
19
|
+
## Overview
|
|
20
|
+
|
|
21
|
+
Integrate the correct [Markstream](https://github.com/Simon-He95/markstream-vue) streaming Markdown renderer into an existing frontend application. This skill selects the framework package, installs only requested optional peers, preserves safe HTML and Mermaid defaults, and handles CSS, streaming state, and SSR boundaries.
|
|
22
|
+
|
|
23
|
+
Read [references/scenarios.md](references/scenarios.md) before selecting packages or optional peers.
|
|
24
|
+
|
|
25
|
+
## When to Use
|
|
26
|
+
|
|
27
|
+
Use this skill when the user asks to:
|
|
28
|
+
|
|
29
|
+
- add streaming Markdown rendering to an AI chat or document interface;
|
|
30
|
+
- install Markstream in Vue, Nuxt, React, Next.js, Svelte, Angular, or Vue 2;
|
|
31
|
+
- repair missing Markstream styles, an incorrect framework package, or an SSR failure;
|
|
32
|
+
- replace another Markdown renderer with Markstream;
|
|
33
|
+
- choose between static content, built-in smooth streaming, or externally parsed AST input.
|
|
34
|
+
|
|
35
|
+
## How It Works
|
|
36
|
+
|
|
37
|
+
### 1. Inspect the host application
|
|
38
|
+
|
|
39
|
+
Before changing dependencies, inspect:
|
|
40
|
+
|
|
41
|
+
- the framework and version in `package.json`;
|
|
42
|
+
- the existing package-manager lockfile;
|
|
43
|
+
- whether the application uses SSR;
|
|
44
|
+
- reset, Tailwind, UnoCSS, or design-system styles;
|
|
45
|
+
- required optional features such as highlighted code, Monaco, Mermaid, D2, or KaTeX.
|
|
46
|
+
|
|
47
|
+
Do not select `markstream-vue` merely because the source repository has Vue in its name. Choose the framework-specific package from the scenario table.
|
|
48
|
+
|
|
49
|
+
### 2. Install the smallest dependency set
|
|
50
|
+
|
|
51
|
+
Install exactly one framework package and preserve the repository's package manager. Add optional peers only when the requested UI uses their feature.
|
|
52
|
+
|
|
53
|
+
Examples:
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
npm install markstream-vue
|
|
57
|
+
npm install markstream-react
|
|
58
|
+
npm install markstream-svelte
|
|
59
|
+
npm install markstream-angular
|
|
60
|
+
npm install markstream-vue2
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
For Vue 2.6, also install and register `@vue/composition-api`. Vue 2.7 has a built-in Composition API and must not install that plugin.
|
|
64
|
+
|
|
65
|
+
### 3. Wire styles in the correct order
|
|
66
|
+
|
|
67
|
+
Import application resets before Markstream styles. Import package CSS explicitly instead of relying on component imports to inject it.
|
|
68
|
+
|
|
69
|
+
For Tailwind or UnoCSS, put the matching package stylesheet in a component layer:
|
|
70
|
+
|
|
71
|
+
```css
|
|
72
|
+
@import 'markstream-vue/index.css' layer(components);
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
When math rendering is enabled, also import:
|
|
76
|
+
|
|
77
|
+
```css
|
|
78
|
+
@import 'katex/dist/katex.min.css';
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
Vue CLI 4 and other Webpack 4-based Vue 2 projects do not understand package export maps. Use the published file path in those projects:
|
|
82
|
+
|
|
83
|
+
```ts
|
|
84
|
+
import 'markstream-vue2/dist/index.css'
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### 4. Add the smallest working renderer
|
|
88
|
+
|
|
89
|
+
Prefer `content` for static documents and most streaming chat interfaces. Markstream's built-in smooth streaming can pace irregular token delivery without requiring the host application to maintain an AST.
|
|
90
|
+
|
|
91
|
+
Use `nodes` plus `final` only when a worker, shared AST store, custom transform, or another application layer already owns parsing.
|
|
92
|
+
|
|
93
|
+
### 5. Handle framework boundaries
|
|
94
|
+
|
|
95
|
+
- In Nuxt, keep browser-only optional peers behind client boundaries.
|
|
96
|
+
- In Next.js, use root `markstream-react` inside a `'use client'` component for live SSE or WebSocket streams.
|
|
97
|
+
- Use `markstream-react/next` for SSR-first HTML with hydration and `markstream-react/server` for server-only rendering.
|
|
98
|
+
- Use `markstream-svelte` only with Svelte 5.
|
|
99
|
+
- Confirm the host meets the current `markstream-angular` version requirement.
|
|
100
|
+
- In Vue 3, use `mode="chat"` for AI chat, `mode="docs"` for rich documents, and `mode="minimal"` for lightweight non-chat surfaces.
|
|
101
|
+
|
|
102
|
+
### 6. Preserve safe defaults
|
|
103
|
+
|
|
104
|
+
HTML policy defaults to `safe`, and Mermaid uses strict mode. Do not broaden either setting unless the user explicitly identifies a trusted legacy surface that requires it. Scope any exception to that surface.
|
|
105
|
+
|
|
106
|
+
### 7. Validate
|
|
107
|
+
|
|
108
|
+
Run the smallest relevant build, typecheck, or test command. Confirm:
|
|
109
|
+
|
|
110
|
+
1. the selected package matches the framework;
|
|
111
|
+
2. only requested optional peers were added;
|
|
112
|
+
3. styles load after resets;
|
|
113
|
+
4. SSR pages do not evaluate browser-only peers on the server;
|
|
114
|
+
5. static content and at least one incremental update render correctly.
|
|
115
|
+
|
|
116
|
+
Report the selected package, added peers, CSS location, streaming input choice, and validation command.
|
|
117
|
+
|
|
118
|
+
## Examples
|
|
119
|
+
|
|
120
|
+
### Vue 3 streaming chat
|
|
121
|
+
|
|
122
|
+
```vue
|
|
123
|
+
<MarkdownRender
|
|
124
|
+
mode="chat"
|
|
125
|
+
:content="markdown"
|
|
126
|
+
:final="false"
|
|
127
|
+
smooth-streaming="auto"
|
|
128
|
+
:fade="false"
|
|
129
|
+
typewriter
|
|
130
|
+
/>
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
### Vue 3 completed chat history
|
|
134
|
+
|
|
135
|
+
```vue
|
|
136
|
+
<MarkdownRender
|
|
137
|
+
mode="chat"
|
|
138
|
+
:content="markdown"
|
|
139
|
+
:final="true"
|
|
140
|
+
:smooth-streaming="false"
|
|
141
|
+
:fade="true"
|
|
142
|
+
:typewriter="false"
|
|
143
|
+
/>
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
Setting `final=true` tells the parser that the document is complete; disabling pacing alone does not finalize trailing constructs.
|
|
147
|
+
|
|
148
|
+
## Best Practices
|
|
149
|
+
|
|
150
|
+
- Install the minimal peer set instead of every optional integration.
|
|
151
|
+
- Keep the renderer mode stable when a chat message transitions from streaming to history.
|
|
152
|
+
- Let an existing outer message virtualizer own mounted rows; coordinate Markstream height metrics instead of adding a competing virtualizer.
|
|
153
|
+
- Scope component overrides with `customId` or `custom-id` when multiple render surfaces coexist.
|
|
154
|
+
- Test SSR and incremental client updates separately.
|
|
155
|
+
|
|
156
|
+
## Limitations
|
|
157
|
+
|
|
158
|
+
- This skill does not choose application-specific visual styling or chat architecture.
|
|
159
|
+
- Optional browser-heavy peers can require framework-specific client boundaries and bundler configuration.
|
|
160
|
+
- Vue 2.6 and legacy Webpack projects require the compatibility steps documented above.
|
|
161
|
+
- Current package and framework requirements must be checked against the host lockfile and Markstream documentation before installation.
|
|
162
|
+
|
|
163
|
+
## Security & Safety Notes
|
|
164
|
+
|
|
165
|
+
- Package installation changes the dependency manifest and lockfile. Review the proposed package set before running the install command.
|
|
166
|
+
- Do not enable trusted HTML or non-strict Mermaid rendering for untrusted model output.
|
|
167
|
+
- Keep optional browser runtimes out of server-only execution paths.
|
|
168
|
+
- Run installs only inside the intended project directory and use its existing package manager.
|
|
169
|
+
|
|
170
|
+
## Common Pitfalls
|
|
171
|
+
|
|
172
|
+
- **Problem:** Styles appear missing or are overwritten.
|
|
173
|
+
**Solution:** Load resets first, then the matching Markstream stylesheet explicitly.
|
|
174
|
+
- **Problem:** A completed response still looks incomplete.
|
|
175
|
+
**Solution:** Set `final=true` when the stream finishes, not only `smoothStreaming=false`.
|
|
176
|
+
- **Problem:** Next.js evaluates browser-only code on the server.
|
|
177
|
+
**Solution:** Select the root, `/next`, or `/server` entry according to the render boundary.
|
|
178
|
+
- **Problem:** Lightweight highlighting does not activate after installing `stream-markdown`.
|
|
179
|
+
**Solution:** On Vue, Vue 2, or React, configure `MarkdownCodeBlockNode` as the `code_block` override.
|
|
180
|
+
|
|
181
|
+
## Additional Resources
|
|
182
|
+
|
|
183
|
+
- [Installation](https://markstream.simonhe.me/guide/installation)
|
|
184
|
+
- [AI chat and streaming](https://markstream.simonhe.me/guide/ai-chat-streaming)
|
|
185
|
+
- [Performance](https://markstream.simonhe.me/guide/performance)
|
|
186
|
+
- [Troubleshooting](https://markstream.simonhe.me/guide/troubleshooting)
|
|
187
|
+
- [Component overrides](https://markstream.simonhe.me/guide/component-overrides)
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# Install Scenarios
|
|
2
|
+
|
|
3
|
+
## Package selection
|
|
4
|
+
|
|
5
|
+
| Host app | Package and setup |
|
|
6
|
+
|----------|-------------------|
|
|
7
|
+
| Vue 3 / Nuxt 3 or 4 | `markstream-vue` |
|
|
8
|
+
| Vue 2.6 | `markstream-vue2` plus `@vue/composition-api`; register the plugin before mounting the app |
|
|
9
|
+
| Vue 2.7 | `markstream-vue2`; use Vue's built-in Composition API and do not install `@vue/composition-api` |
|
|
10
|
+
| React 18+ / Next.js | `markstream-react` |
|
|
11
|
+
| Angular 20+ | `markstream-angular` |
|
|
12
|
+
| Svelte 5 | `markstream-svelte` |
|
|
13
|
+
|
|
14
|
+
## Peer selection
|
|
15
|
+
|
|
16
|
+
| Feature | Peer | Supported packages | Activation |
|
|
17
|
+
|---------|------|--------------------|------------|
|
|
18
|
+
| Lightweight highlighted code blocks | `stream-markdown` | `markstream-vue`, `markstream-vue2`, `markstream-react` | Configure the package's `MarkdownCodeBlockNode` as the `code_block` override |
|
|
19
|
+
| Monaco-powered code blocks | `stream-monaco` | All framework packages | Install only when Monaco interactions are required |
|
|
20
|
+
| Mermaid diagrams | `mermaid` | All framework packages | Install when Mermaid fences are rendered |
|
|
21
|
+
| D2 diagrams | `@terrastruct/d2` | All framework packages | Install when D2 fences are rendered |
|
|
22
|
+
| KaTeX math | `katex` | All framework packages | Install and load KaTeX CSS when math is rendered |
|
|
23
|
+
|
|
24
|
+
## CSS checklist
|
|
25
|
+
|
|
26
|
+
- Load reset styles first.
|
|
27
|
+
- Load the framework-specific Markstream CSS after the reset.
|
|
28
|
+
- In Tailwind or UnoCSS projects, use `@import '...' layer(components)`.
|
|
29
|
+
- Import KaTeX CSS when math is enabled.
|
|
30
|
+
- When rendering standalone node components directly, wrap them with the relevant package root class such as `.markstream-vue`, `.markstream-react`, or `.markstream-svelte`.
|
|
31
|
+
|
|
32
|
+
## Input choice
|
|
33
|
+
|
|
34
|
+
- `content`: static documents, low-frequency updates, and most SSE or token-streaming chat surfaces.
|
|
35
|
+
- `content` with built-in smooth streaming: irregular AI streams whose visible output should be paced independently from raw chunk cadence.
|
|
36
|
+
- `smoothStreaming="auto"` or `smooth-streaming="auto"` is the default.
|
|
37
|
+
- Auto pacing activates when `typewriter=true` or `maxLiveNodes <= 0` / `max-live-nodes <= 0`.
|
|
38
|
+
- `typewriter` controls the cursor and defaults to `false`.
|
|
39
|
+
- `fade` controls node-entry and streamed-text fade effects.
|
|
40
|
+
- `nodes` plus `final`: worker-preparsed content, shared AST stores, custom AST transforms, or cases where another layer already owns parsing.
|
|
41
|
+
|
|
42
|
+
## Next.js entry selection
|
|
43
|
+
|
|
44
|
+
| Surface | Entry |
|
|
45
|
+
|---------|-------|
|
|
46
|
+
| Live SSE or WebSocket output in a Client Component | `markstream-react` |
|
|
47
|
+
| SSR-first HTML with client hydration | `markstream-react/next` |
|
|
48
|
+
| Server-only Markdown rendering | `markstream-react/server` |
|
package/package.json
CHANGED
package/skills_index.json
CHANGED
|
@@ -27550,6 +27550,41 @@
|
|
|
27550
27550
|
"reasons": []
|
|
27551
27551
|
}
|
|
27552
27552
|
},
|
|
27553
|
+
{
|
|
27554
|
+
"id": "markstream-install",
|
|
27555
|
+
"path": "skills/markstream-install",
|
|
27556
|
+
"category": "frontend",
|
|
27557
|
+
"name": "markstream-install",
|
|
27558
|
+
"description": "Install and configure Markstream streaming Markdown renderers for Vue, React, Svelte, Angular, Nuxt, Next.js, and Vue 2 applications.",
|
|
27559
|
+
"risk": "safe",
|
|
27560
|
+
"source": "https://github.com/Simon-He95/markstream-vue/tree/main/.agents/skills/markstream-install",
|
|
27561
|
+
"date_added": "2026-07-19",
|
|
27562
|
+
"plugin": {
|
|
27563
|
+
"targets": {
|
|
27564
|
+
"codex": "supported",
|
|
27565
|
+
"claude": "supported"
|
|
27566
|
+
},
|
|
27567
|
+
"setup": {
|
|
27568
|
+
"type": "none",
|
|
27569
|
+
"summary": "",
|
|
27570
|
+
"docs": null
|
|
27571
|
+
},
|
|
27572
|
+
"reasons": []
|
|
27573
|
+
},
|
|
27574
|
+
"source_type": "official",
|
|
27575
|
+
"source_repo": "Simon-He95/markstream-vue",
|
|
27576
|
+
"license": "MIT",
|
|
27577
|
+
"license_source": "https://github.com/Simon-He95/markstream-vue/blob/main/license",
|
|
27578
|
+
"tags": [
|
|
27579
|
+
"markdown",
|
|
27580
|
+
"streaming",
|
|
27581
|
+
"vue",
|
|
27582
|
+
"react",
|
|
27583
|
+
"svelte",
|
|
27584
|
+
"angular",
|
|
27585
|
+
"ai-chat"
|
|
27586
|
+
]
|
|
27587
|
+
},
|
|
27553
27588
|
{
|
|
27554
27589
|
"id": "mason",
|
|
27555
27590
|
"path": "skills/agent-squad/mason",
|