opencode-skills-collection 4.0.7 → 4.0.9

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 (75) hide show
  1. package/bundled-skills/.antigravity-install-manifest.json +19 -1
  2. package/bundled-skills/antigravity-maintainer-batch-release/SKILL.md +22 -8
  3. package/bundled-skills/antigravity-maintainer-batch-release/agents/openai.yaml +4 -0
  4. package/bundled-skills/anywrite/SKILL.md +18 -8
  5. package/bundled-skills/cloudflare-security-audit/SKILL.md +5 -3
  6. package/bundled-skills/cloudflare-security-audit/references/RECONNAISSANCE.md +2 -0
  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/aas-agent-first-control-plane-preview-profile.md +2 -2
  10. package/bundled-skills/docs/maintainers/aas-agent-first-control-plane-v1-worklog.md +1 -1
  11. package/bundled-skills/docs/maintainers/merge-batch.md +3 -3
  12. package/bundled-skills/docs/maintainers/merging-prs.md +13 -17
  13. package/bundled-skills/docs/maintainers/pr-autonomy.md +2 -2
  14. package/bundled-skills/docs/maintainers/release-process.md +17 -2
  15. package/bundled-skills/docs/maintainers/repo-growth-seo.md +3 -3
  16. package/bundled-skills/docs/maintainers/skills-update-guide.md +1 -1
  17. package/bundled-skills/docs/users/aas-core.md +38 -3
  18. package/bundled-skills/docs/users/bundles.md +1 -1
  19. package/bundled-skills/docs/users/claude-code-skills.md +1 -1
  20. package/bundled-skills/docs/users/faq.md +2 -0
  21. package/bundled-skills/docs/users/gemini-cli-skills.md +1 -1
  22. package/bundled-skills/docs/users/kiro-integration.md +1 -1
  23. package/bundled-skills/docs/users/usage.md +4 -4
  24. package/bundled-skills/docs/users/visual-guide.md +4 -4
  25. package/bundled-skills/docs/vietnamese/README.vi.md +4 -4
  26. package/bundled-skills/hf-cloud-aws-context-discovery/SKILL.md +96 -0
  27. package/bundled-skills/loki-mode/examples/todo-app-generated/backend/package-lock.json +3 -3
  28. package/bundled-skills/markstream-angular/SKILL.md +76 -0
  29. package/bundled-skills/markstream-custom-components/SKILL.md +74 -0
  30. package/bundled-skills/markstream-custom-components/references/patterns.md +14 -0
  31. package/bundled-skills/markstream-install/SKILL.md +3 -1
  32. package/bundled-skills/markstream-migration/SKILL.md +78 -0
  33. package/bundled-skills/markstream-migration/references/adoption-checklist.md +10 -0
  34. package/bundled-skills/markstream-nuxt/SKILL.md +71 -0
  35. package/bundled-skills/markstream-react/SKILL.md +74 -0
  36. package/bundled-skills/markstream-svelte/SKILL.md +68 -0
  37. package/bundled-skills/markstream-vue/SKILL.md +71 -0
  38. package/bundled-skills/markstream-vue2/SKILL.md +70 -0
  39. package/bundled-skills/markstream-vue2-cli/SKILL.md +70 -0
  40. package/bundled-skills/markstream-vue2-vite/SKILL.md +69 -0
  41. package/bundled-skills/n8n-agents/SKILL.md +301 -0
  42. package/bundled-skills/n8n-agents/references/CHAT_AGENT_PATTERNS.md +228 -0
  43. package/bundled-skills/n8n-agents/references/EXAMPLES.md +432 -0
  44. package/bundled-skills/n8n-agents/references/HUMAN_REVIEW.md +180 -0
  45. package/bundled-skills/n8n-agents/references/MEMORY.md +139 -0
  46. package/bundled-skills/n8n-agents/references/RAG.md +102 -0
  47. package/bundled-skills/n8n-agents/references/STRUCTURED_OUTPUT.md +163 -0
  48. package/bundled-skills/n8n-agents/references/SUBWORKFLOW_AS_TOOL.md +199 -0
  49. package/bundled-skills/n8n-agents/references/SYSTEM_PROMPT.md +151 -0
  50. package/bundled-skills/n8n-agents/references/TOOLS.md +199 -0
  51. package/bundled-skills/n8n-binary-and-data/SKILL.md +269 -0
  52. package/bundled-skills/n8n-binary-and-data/references/AGENT_TOOL_BINARY.md +227 -0
  53. package/bundled-skills/n8n-binary-and-data/references/BINARY_BASICS.md +187 -0
  54. package/bundled-skills/n8n-binary-and-data/references/CDN_REQUIREMENT.md +109 -0
  55. package/bundled-skills/n8n-binary-and-data/references/MERGE_FOR_CONTEXT.md +130 -0
  56. package/bundled-skills/n8n-code-tool/SKILL.md +358 -0
  57. package/bundled-skills/n8n-code-tool/references/ERROR_PATTERNS.md +178 -0
  58. package/bundled-skills/n8n-code-tool/references/INPUT_SCHEMA.md +132 -0
  59. package/bundled-skills/n8n-error-handling/SKILL.md +289 -0
  60. package/bundled-skills/n8n-error-handling/references/API_WORKFLOWS.md +256 -0
  61. package/bundled-skills/n8n-error-handling/references/ERROR_WORKFLOWS.md +178 -0
  62. package/bundled-skills/n8n-error-handling/references/NODE_ERROR_OUTPUTS.md +171 -0
  63. package/bundled-skills/n8n-error-handling/references/RESPONSE_SHAPES.md +220 -0
  64. package/bundled-skills/n8n-multi-instance/SKILL.md +208 -0
  65. package/bundled-skills/n8n-node-configuration/references/NODE_FAMILY_GOTCHAS.md +241 -0
  66. package/bundled-skills/n8n-subworkflows/SKILL.md +271 -0
  67. package/bundled-skills/n8n-subworkflows/references/NAMING_AND_DISCOVERY.md +130 -0
  68. package/bundled-skills/n8n-subworkflows/references/SUBWORKFLOW_PATTERNS.md +147 -0
  69. package/bundled-skills/pptx-deck-creation/SKILL.md +2 -0
  70. package/bundled-skills/pptx-deck-creation/references/design-profiles.md +2 -0
  71. package/bundled-skills/sshepherd/SKILL.md +16 -6
  72. package/bundled-skills/using-n8n-mcp-skills/SKILL.md +193 -0
  73. package/bundled-skills/weaviate-cookbooks/references/pdf_multimodal_rag.md +12 -6
  74. package/package.json +1 -1
  75. package/skills_index.json +596 -13
@@ -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 1,969+ skills instead of a narrow single-domain starter pack.
20
+ - It includes 1,987+ 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.
@@ -231,6 +231,8 @@ npx agentic-awesome-skills
231
231
 
232
232
  If you have an older clone created around the removed symlink workaround, reinstall into a fresh directory or rerun `npx agentic-awesome-skills`.
233
233
 
234
+ For AAS Core MCP configuration, native Windows 10 and 11 with Node.js 22 are supported preview targets. A preview failure with `AAS_ADAPTER_WINDOWS_ACL_FAILED` refers to the Codex/Claude configuration directory or file checked with PowerShell `Get-Acl`, not the AAS cache and not `icacls`. Read the returned `path`, `phase`, `status`, and bounded diagnostic; correct the named configuration-path ownership problem, then rerun preview. Never add `--approve` before an approval digest is produced. See the [AAS Core Windows notes](aas-core.md#native-windows-and-codex).
235
+
234
236
  ### I hit a truncation or context crash loop on Windows. How do I recover?
235
237
 
236
238
  If Antigravity or a Jetski/Cortex-based host keeps reopening into:
@@ -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,969+ files.
15
+ - It helps new users get started with bundles and workflows rather than forcing a cold start from 1,987+ 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,969+ specialized areas
21
+ - **Domain expertise** across 1,987+ 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
@@ -21,7 +21,7 @@ use compose_stack with a project profile, inspect the schema 2 manifest returned
21
21
  in memory, and do not apply it.
22
22
  ```
23
23
 
24
- The agent must use `search_skills` and `get_skill` across the complete catalog, build a capability-to-skill coverage map, continue searching while a primary capability remains uncovered, choose the exact IDs itself, call `compose_stack`, then check the in-memory proposal with `inspect_stack` before presenting it. All 1,968 current catalog skills remain individually searchable, readable, and selectable. A client or the CLI can persist the reviewed `aas-stack.json`; an audit-enabled flow can then call `export_selection_evidence`, validate it with `inspect_selection_evidence`, and atomically publish the manifest and separate `aas-selection-evidence.json` sidecar in an `artifact-dir`. Use `aas stack plan` to preview the exact operations without materializing skills or managed state in the target.
24
+ The agent must use `search_skills` and `get_skill` across the complete catalog, build a capability-to-skill coverage map, continue searching while a primary capability remains uncovered, choose the exact IDs itself, call `compose_stack`, then check the in-memory proposal with `inspect_stack` before presenting it. Every current catalog skill remains individually searchable, readable, and selectable. A client or the CLI can persist the reviewed `aas-stack.json`; an audit-enabled flow can then call `export_selection_evidence`, validate it with `inspect_selection_evidence`, and atomically publish the manifest and separate `aas-selection-evidence.json` sidecar in an `artifact-dir`. Use `aas stack plan` to preview the exact operations without materializing skills or managed state in the target.
25
25
 
26
26
  Selection evidence contains the raw `search_skills` queries observed during the MCP session. Do not place secrets, credentials, private source text, or personal data in catalog queries.
27
27
 
@@ -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 1,969+ skill files** to your computer (default: `~/.agents/skills/`; or a custom path like `~/.agent/skills/` if you used `--path`)
42
+ ✅ **Downloaded 1,987+ 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 1,969+ skills at once. Here's a sensible approach:
234
+ Don't try to use all 1,987+ 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 1,969+ skills installed locally, you should **not** concatenate every `SKILL.md` into a single system prompt or context block.
365
+ No. Even though you have 1,987+ 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/ ← 1,969+ skills live here
43
+ ├── 📁 skills/ ← 1,987+ 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
- │ └── ... (1,969+ total)
56
+ │ └── ... (1,987+ 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
- │ 1,969+ SKILLS │
109
+ │ 1,987+ 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
- │ └── ... (1,969+ total) │
210
+ │ └── ... (1,987+ total) │
211
211
  └─────────────────────────────────────────┘
212
212
  ```
213
213
 
@@ -4,7 +4,7 @@
4
4
 
5
5
  Codex hoặc Claude tự kiểm tra dự án; AAS không quét repository. Agent tìm kiếm catalog cục bộ đầy đủ theo thứ tự ổn định, tự đánh giá kết quả không có điểm số hay xếp hạng, rồi gửi `profile` cùng chính xác các ID đã chọn tới `compose_stack`. AAS Core ghi nhận lựa chọn trong `aas-stack.json` schema 2; CLI xác thực manifest và tạo kế hoạch preview bất biến trước khi thay đổi kỹ năng.
6
6
 
7
- > **Ranh giới phát hành:** Gói npm 14.6.0 đã phát hành trước AAS Core và không thể dùng để bootstrap Core. Các gói hỗ trợ Core bắt đầu từ dòng 15.x; chỉ dùng một phiên bản chính xác có release notes tuyên bố rõ rằng nó bao gồm Core. Luồng preview được hỗ trợ dừng sau khi xem kế hoạch; `apply` và `recover` vẫn mang tính thử nghiệm. [Tìm hiểu AAS Core](AAS_CORE.vi.md).
7
+ > **Ranh giới phát hành:** Dòng 15.x hiện tại bao gồm AAS Core. Chỉ dùng một phiên bản chính xác có release notes tuyên bố rõ rằng nó bao gồm Core. Luồng preview được hỗ trợ dừng sau khi xem kế hoạch; `apply` và `recover` vẫn mang tính thử nghiệm. [Tìm hiểu AAS Core](AAS_CORE.vi.md).
8
8
 
9
9
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
10
10
  [![Claude Code](https://img.shields.io/badge/Claude%20Code-Anthropic-purple)](https://claude.ai)
@@ -15,7 +15,7 @@ Codex hoặc Claude tự kiểm tra dự án; AAS không quét repository. Agent
15
15
  [![OpenCode](https://img.shields.io/badge/OpenCode-CLI-gray)](https://github.com/opencode-ai/opencode)
16
16
  [![Antigravity](https://img.shields.io/badge/Antigravity-DeepMind-red)](https://github.com/sickn33/agentic-awesome-skills)
17
17
 
18
- Catalog gồm **1,968+ kỹ năng `SKILL.md`**, plugin chuyên biệt, bundle, workflow và installer trực tiếp vẫn rất quan trọng. Chúng là lớp nội dung, tuyển chọn, phân phối và tương thích xung quanh AAS Core, không phải sản phẩm chính cạnh tranh với Core:
18
+ Các playbook `SKILL.md`, plugin chuyên biệt, bundle, workflow và installer trực tiếp vẫn rất quan trọng. Chúng là lớp nội dung, tuyển chọn, phân phối và tương thích xung quanh AAS Core, không phải sản phẩm chính cạnh tranh với Core:
19
19
 
20
20
  - 🟣 **Claude Code** (Anthropic CLI)
21
21
  - 🔵 **Gemini CLI** (Google DeepMind)
@@ -26,7 +26,7 @@ Catalog gồm **1,968+ kỹ năng `SKILL.md`**, plugin chuyên biệt, bundle, w
26
26
  - ⚪ **OpenCode** (Mã nguồn mở CLI)
27
27
  - 🟡 **Kiro CLI / IDE** và **AdaL CLI**
28
28
 
29
- **Ranh giới phiên bản:** Dòng 14.x là baseline phân phối kỹ năng trực tiếp và không chứa AAS Core; các gói hỗ trợ Core bắt đầu từ dòng 15.x. GitHub là nguồn chuẩn cho Core, catalog, plugin và tài liệu; website được host chỉ là bề mặt duyệt catalog và review trong trình duyệt, không phải control plane được host.
29
+ **Ranh giới phiên bản:** Dòng 14.x là baseline phân phối kỹ năng trực tiếp và không chứa AAS Core; dòng 15.x hiện tại chứa Core. GitHub là nguồn chuẩn cho Core, catalog, plugin và tài liệu; website được host chỉ là bề mặt duyệt catalog và review trong trình duyệt, không phải control plane được host.
30
30
 
31
31
  ### 1. 🐣 Bối cảnh: Đây là gì?
32
32
 
@@ -59,7 +59,7 @@ Repository được tổ chức thành các lĩnh vực chuyên biệt để bi
59
59
 
60
60
  [Xem các Gói khởi đầu tại docs/vietnamese/BUNDLES.md](BUNDLES.vi.md) để tìm bộ công cụ hoàn hảo cho vai trò của bạn.
61
61
 
62
- ## Duyệt hơn 1,967 Kỹ năng
62
+ ## Duyệt kỹ năng
63
63
 
64
64
  Chúng tôi đã chuyển danh sách đầy đủ các kỹ năng sang một danh mục riêng biệt để giữ cho file README này gọn gàng.
65
65
 
@@ -0,0 +1,96 @@
1
+ ---
2
+ name: hf-cloud-aws-context-discovery
3
+ description: "Discover the effective local AWS profile, region, account, and caller identity before any AWS task without exposing credentials."
4
+ risk: safe
5
+ source: https://github.com/huggingface/skills/tree/main/skills/hf-cloud-aws-context-discovery
6
+ source_repo: huggingface/skills
7
+ source_type: official
8
+ date_added: "2026-07-21"
9
+ author: Hugging Face
10
+ license: Apache-2.0
11
+ license_source: https://github.com/huggingface/skills/blob/main/LICENSE
12
+ tags: [hugging-face, aws, credentials, discovery, cloud]
13
+ tools: [claude, codex, cursor]
14
+ ---
15
+
16
+ # AWS Context Discovery
17
+
18
+ Before doing any AWS work, inspect only masked AWS CLI metadata. Don't guess the region, and don't ask the user for things the CLI already answers. Never open or print `~/.aws/credentials`, credential-process output, secret environment variables, access keys, session tokens, or SSO token caches.
19
+
20
+ ## When to Use
21
+
22
+ - Establish the effective AWS profile, region, account, and caller before AWS work.
23
+ - Diagnose expired SSO sessions, missing profiles, or configuration overrides.
24
+ - Provide verified context to later SageMaker planning and deployment skills.
25
+
26
+ ## What to discover
27
+
28
+ Run these at the start of the AWS work and remember the results for the rest of the session.
29
+
30
+ ### 1. Active profile
31
+
32
+ Use a profile the user explicitly named, otherwise use the profile identified by masked AWS CLI metadata. If the named profile is absent from `aws configure list-profiles`, surface that clearly.
33
+
34
+ ### 2. Region
35
+
36
+ Resolution order — stop at the first one that produces a value:
37
+ 1. Region the user explicitly named in this conversation
38
+ 2. Region reported by `aws configure list --profile "$profile"`
39
+ 3. Region reported by `aws configure get region --profile "$profile"`
40
+ 5. Ask the user — but only after the first four have failed
41
+
42
+ Do not fall back to `us-east-1` or any other hardcoded default.
43
+
44
+ ### 3. Credentials, account ID, caller ARN
45
+
46
+ ```bash
47
+ aws sts get-caller-identity --profile "$profile" --region "$region"
48
+ ```
49
+
50
+ Three purposes in one call: confirms credentials are valid (stop if not), returns the `Account` ID (needed for ARN construction), returns the `Arn` of the caller.
51
+
52
+ ### 4. Identify SSO / assumed-role principals
53
+
54
+ The `Arn` field tells you what kind of principal this is. The pattern matters because it determines what IAM operations the caller can do.
55
+
56
+ | ARN pattern | Type | IAM write capability |
57
+ |---|---|---|
58
+ | `arn:aws:iam::<acct>:user/<name>` | IAM user | Depends on attached policies |
59
+ | `arn:aws:sts::<acct>:assumed-role/AWSReservedSSO_<...>/<email>` | **SSO assumed-role** | Typically **none** — can't create/modify IAM roles |
60
+ | `arn:aws:sts::<acct>:assumed-role/<role>/<session>` | Regular assumed-role | Depends on the role |
61
+
62
+ **If the caller is SSO**, surface this immediately before later skills hit `iam:CreateRole` and fail:
63
+
64
+ > Heads up: you're authenticated via SSO (`AWSReservedSSO_<PermissionSet>_...`). SSO principals usually can't create IAM roles directly. If we need a SageMaker execution role, I'll look for an existing one first — if none exists, you'll need to ask whoever manages your AWS access to create one.
65
+
66
+ This is the highest-leverage thing this skill does. Surfacing it now turns a confusing mid-deployment error into a five-second conversation.
67
+
68
+ ## Commands to run
69
+
70
+ ```bash
71
+ # Profiles and masked effective metadata; never read credential files directly
72
+ aws configure list-profiles
73
+ aws configure list --profile "$profile"
74
+ aws configure get region --profile "$profile"
75
+
76
+ # Validate credentials and get identity
77
+ aws sts get-caller-identity --profile "$profile" --region "$region"
78
+ ```
79
+
80
+ `aws configure list` masks credential values and identifies their source. Use these metadata commands instead of parsing AWS files or inspecting secret-bearing environment variables. If the CLI cannot resolve a profile or region without exposing credentials, stop and ask the user for the non-secret profile or region value.
81
+
82
+ ## What to report back
83
+
84
+ One or two lines, not a wall of text:
85
+
86
+ > Working with profile `my-profile` in `eu-west-1`, account `123456789012`. You're authenticated via SSO, so we'll need to use an existing IAM role rather than create one.
87
+
88
+ Don't ask the user to confirm the region you just read from their config — they configured it; that is the confirmation.
89
+
90
+ If something is wrong (credentials expired, profile doesn't exist, no region anywhere), stop and surface the specific error before continuing.
91
+
92
+ ## Limitations
93
+
94
+ - Discovery may reveal account IDs, role ARNs, or profile names; report only what the task needs and never expose secrets or session tokens.
95
+ - STS identity checks require network access and valid credentials.
96
+ - A valid identity does not imply permission to change resources.
@@ -336,9 +336,9 @@
336
336
  }
337
337
  },
338
338
  "node_modules/body-parser": {
339
- "version": "1.20.5",
340
- "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.5.tgz",
341
- "integrity": "sha512-3grm+/2tUOvu2cjJkvsIxrv/wVpfXQW4PsQHYm7yk4vfpu7Ekl6nEsYBoJUL6qDwZUx8wUhQ8tR2qz+ad9c9OA==",
339
+ "version": "1.20.6",
340
+ "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.6.tgz",
341
+ "integrity": "sha512-p5tAzS57i5MV9fZFDj9LeIiTZEufbSe2eDozP+ElheSUq1m74CRq1jI4mYNDdVs9vQztXFLuk/Gd6BWTdwRJ5g==",
342
342
  "license": "MIT",
343
343
  "dependencies": {
344
344
  "bytes": "~3.1.2",
@@ -0,0 +1,76 @@
1
+ ---
2
+ name: markstream-angular
3
+ description: "Integrate the alpha markstream-angular renderer into Angular 20+ applications with standalone components, signals, safe HTML defaults, and optional peer features."
4
+ category: frontend
5
+ risk: critical
6
+ source: https://github.com/Simon-He95/markstream-vue/tree/main/.agents/skills/markstream-angular
7
+ source_repo: Simon-He95/markstream-vue
8
+ source_type: official
9
+ date_added: "2026-07-21"
10
+ author: Simon-He95
11
+ tags: [angular, markdown, streaming, ai-chat, frontend]
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 Angular
18
+
19
+ ## Overview
20
+
21
+ Add Markstream to Angular 20+ while preserving standalone-component patterns, signal-friendly bindings, safe rendering defaults, and explicit optional dependencies. Use `markstream-install` for framework selection; use this skill once Angular is confirmed.
22
+
23
+ ## When to Use
24
+
25
+ Use for Angular-specific standalone imports, CSS, signals, custom tags or components, streaming state, and optional peers. Do not use below Angular 20 or when the application cannot accept an alpha renderer API.
26
+
27
+ ## Workflow
28
+
29
+ Before changing dependencies or source files, inspect the existing package manager and project conventions, preview the intended edits, and obtain explicit user approval.
30
+
31
+ 1. Confirm Angular 20+ and record that `markstream-angular` is alpha.
32
+ 2. Install the package plus only requested peers. Import `markstream-angular/index.css`; add KaTeX CSS only for math.
33
+ 3. Import `MarkstreamAngularComponent` into the standalone component's `imports`.
34
+ 4. Start with `[content]` and `[smoothStreaming]="'auto'"`. Use `nodes` plus `final` only when another layer owns the AST.
35
+ 5. For live chat use `[fade]="false"` and opt into `[typewriter]="true"`. On completion set `[final]="true"`, disable pacing/cursor, and enable fade only if desired.
36
+ 6. Use `[customHtmlTags]` and `[customComponents]` only for trusted tag workflows.
37
+ 7. Keep `[htmlPolicy]="'safe'"` and Mermaid strict mode unless a narrowly scoped trusted legacy surface requires otherwise.
38
+ 8. Validate with the smallest Angular build, typecheck, or dev command.
39
+
40
+ ## Example
41
+
42
+ ```ts
43
+ import { Component, signal } from '@angular/core'
44
+ import { MarkstreamAngularComponent } from 'markstream-angular'
45
+ import 'markstream-angular/index.css'
46
+
47
+ @Component({
48
+ selector: 'app-answer',
49
+ standalone: true,
50
+ imports: [MarkstreamAngularComponent],
51
+ template: `
52
+ <markstream-angular
53
+ [content]="markdown()"
54
+ [final]="done()"
55
+ [fade]="done()"
56
+ [typewriter]="!done()"
57
+ [smoothStreaming]="done() ? false : 'auto'"
58
+ [htmlPolicy]="'safe'"
59
+ />
60
+ `,
61
+ })
62
+ export class AnswerComponent {
63
+ markdown = signal('# Streaming answer')
64
+ done = signal(false)
65
+ }
66
+ ```
67
+
68
+ ## Limitations
69
+
70
+ - Requires Angular 20+ and an alpha package.
71
+ - Browser-heavy peers may need bundler or client-boundary work.
72
+ - This skill does not design the host chat architecture or visual system.
73
+
74
+ ## Security & Safety Notes
75
+
76
+ Review dependency changes before installation. Never broaden HTML or Mermaid trust settings for untrusted model output.
@@ -0,0 +1,74 @@
1
+ ---
2
+ name: markstream-custom-components
3
+ description: "Override Markstream node renderers and add trusted custom tags across Vue, React, Svelte, and Angular using scoped or renderer-local mappings."
4
+ category: frontend
5
+ risk: critical
6
+ source: https://github.com/Simon-He95/markstream-vue/tree/main/.agents/skills/markstream-custom-components
7
+ source_repo: Simon-He95/markstream-vue
8
+ source_type: official
9
+ date_added: "2026-07-21"
10
+ author: Simon-He95
11
+ tags: [markdown, components, vue, react, svelte, angular]
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 Custom Components
18
+
19
+ ## Overview
20
+
21
+ Customize specific Markstream nodes or trusted custom tags without replacing the parser or leaking global renderer state. Read [references/patterns.md](references/patterns.md) first.
22
+
23
+ ## When to Use
24
+
25
+ Use to replace built-ins such as `image`, `link`, `code_block`, `mermaid`, or `inline_code`; render trusted tags such as `thinking`; or scope overrides to one renderer or app. Use parser transforms only when token or AST reshaping is required.
26
+
27
+ ## Workflow
28
+
29
+ Before changing dependencies or source files, inspect the existing package manager and project conventions, preview the intended edits, and obtain explicit user approval.
30
+
31
+ 1. Classify the change as a built-in override, trusted tag, or parser transform.
32
+ 2. Prefer scoped mappings. Vue, Vue 2, Svelte, and Angular can use `setCustomComponents(customId, mapping)`; Svelte and Angular can also pass renderer-local maps.
33
+ 3. In React, prefer `streamingComponents` for parser-backed nodes and `htmlComponents` for sanitized attributes plus children.
34
+ 4. Start with leaf nodes before containers that must preserve children.
35
+ 5. For trusted tag bodies containing Markdown, use a nested renderer with the same allowlist. Do not add a second smooth-streaming loop.
36
+ 6. Preserve node/loading props, identity keys, scope IDs, theme state, and preview-height estimates for async diagrams.
37
+ 7. Remove temporary scoped registrations on cleanup and validate repeated and nested tags.
38
+
39
+ ## Example
40
+
41
+ ```tsx
42
+ import MarkdownRender, {
43
+ type NodeComponentProps,
44
+ setCustomComponents,
45
+ } from 'markstream-react'
46
+ import 'markstream-react/index.css'
47
+
48
+ function ThinkingNode({ node }: NodeComponentProps<any>) {
49
+ return <details><summary>Thinking</summary>{node.content}</details>
50
+ }
51
+
52
+ setCustomComponents('assistant-panel', { thinking: ThinkingNode })
53
+
54
+ export function Answer({ markdown }: { markdown: string }) {
55
+ return (
56
+ <MarkdownRender
57
+ content={markdown}
58
+ customId="assistant-panel"
59
+ customHtmlTags={['thinking']}
60
+ htmlPolicy="safe"
61
+ />
62
+ )
63
+ }
64
+ ```
65
+
66
+ ## Limitations
67
+
68
+ - Component overrides cannot reproduce arbitrary remark/rehype transforms.
69
+ - Container overrides require careful child rendering and accessibility review.
70
+ - Framework registration APIs are not interchangeable.
71
+
72
+ ## Security & Safety Notes
73
+
74
+ Treat custom HTML-like tags as trusted input only. Keep safe HTML enabled and do not pass unsanitized attributes into host components.
@@ -0,0 +1,14 @@
1
+ # Override Patterns
2
+
3
+ | Key | Typical use |
4
+ |---|---|
5
+ | `image` | Lightboxes, captions, lazy loading |
6
+ | `link` | Routing, analytics, tooltips |
7
+ | `code_block` | Fenced code blocks |
8
+ | `mermaid`, `d2`, `infographic` | One diagram renderer |
9
+ | `inline_code` | Inline typography |
10
+ | `heading`, `paragraph`, `list_item` | Containers preserving children |
11
+
12
+ For Vue, Vue 2, Svelte, or Angular shared registration, allowlist the tag, register it under a scoped `customId`, and pass that scope to the renderer. Prefer renderer-local maps when sharing is unnecessary.
13
+
14
+ For React, use `streamingComponents` for parser-backed tags and `htmlComponents` for sanitized HTML-style props. When a tag body contains Markdown, use a nested renderer with the same allowlist and no independent pacing.
@@ -2,7 +2,7 @@
2
2
  name: markstream-install
3
3
  description: "Install and configure Markstream streaming Markdown renderers for Vue, React, Svelte, Angular, Nuxt, Next.js, and Vue 2 applications."
4
4
  category: frontend
5
- risk: safe
5
+ risk: critical
6
6
  source: https://github.com/Simon-He95/markstream-vue/tree/main/.agents/skills/markstream-install
7
7
  source_repo: Simon-He95/markstream-vue
8
8
  source_type: official
@@ -48,6 +48,8 @@ Do not select `markstream-vue` merely because the source repository has Vue in i
48
48
 
49
49
  ### 2. Install the smallest dependency set
50
50
 
51
+ Before installing or changing source files, preview the exact dependency and code changes and obtain explicit user approval. Do not switch package managers or replace an existing renderer implicitly.
52
+
51
53
  Install exactly one framework package and preserve the repository's package manager. Add optional peers only when the requested UI uses their feature.
52
54
 
53
55
  Examples:
@@ -0,0 +1,78 @@
1
+ ---
2
+ name: markstream-migration
3
+ description: "Audit and migrate an existing Markdown renderer to Markstream while preserving custom renderers, security policy, streaming behavior, and explicit parity gaps."
4
+ category: frontend
5
+ risk: critical
6
+ source: https://github.com/Simon-He95/markstream-vue/tree/main/.agents/skills/markstream-migration
7
+ source_repo: Simon-He95/markstream-vue
8
+ source_type: official
9
+ date_added: "2026-07-21"
10
+ author: Simon-He95
11
+ tags: [markdown, migration, streaming, security, frontend]
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 Migration
18
+
19
+ ## Overview
20
+
21
+ Replace an existing Markdown renderer without silently dropping transforms, custom components, URL policy, raw-HTML behavior, or streaming semantics. Read [references/adoption-checklist.md](references/adoption-checklist.md) first.
22
+
23
+ ## When to Use
24
+
25
+ Use when replacing `react-markdown`, `markdown-it`, `marked`, or another renderer; migrating node renderers; or choosing between Markstream `content`, smooth streaming, and `nodes`.
26
+
27
+ ## Workflow
28
+
29
+ Before changing dependencies or source files, inspect the existing package manager and project conventions, preview the intended edits, and obtain explicit user approval.
30
+
31
+ 1. Inventory renderer imports, call sites, plugins, HTML policy, URL transforms, allowlists, custom renderers, CSS, and tests.
32
+ 2. Classify the migration as direct, renderer-custom, plugin-heavy, or security-heavy.
33
+ 3. Install the framework package and explicit CSS. Preserve visible behavior before optional features.
34
+ 4. Map built-ins to scoped overrides; in React prefer renderer-local component maps.
35
+ 5. Use trusted custom tags only for trusted content and reserve parse transforms for irreducible token/AST requirements.
36
+ 6. Keep `content` with smooth streaming for ordinary token streams. Use `nodes` only for worker parsing, shared AST ownership, or structural transforms.
37
+ 7. Preserve safe HTML and strict Mermaid defaults; scope and document any trusted legacy exception.
38
+ 8. Run relevant builds and behavior tests. Report mappings, intentional differences, and unresolved review.
39
+
40
+ ## Example
41
+
42
+ ```tsx
43
+ // Before:
44
+ // import ReactMarkdown from 'react-markdown'
45
+ // return <ReactMarkdown>{markdown}</ReactMarkdown>
46
+
47
+ import MarkdownRender from 'markstream-react'
48
+ import 'markstream-react/index.css'
49
+
50
+ export function AssistantAnswer({
51
+ markdown,
52
+ isDone,
53
+ }: {
54
+ markdown: string
55
+ isDone: boolean
56
+ }) {
57
+ return (
58
+ <MarkdownRender
59
+ content={markdown}
60
+ final={isDone}
61
+ fade={isDone}
62
+ typewriter={!isDone}
63
+ smoothStreaming={isDone ? false : 'auto'}
64
+ htmlPolicy="safe"
65
+ />
66
+ )
67
+ }
68
+ ```
69
+
70
+ ## Limitations
71
+
72
+ - Markstream cannot reproduce every remark, rehype, or markdown-it plugin automatically.
73
+ - Visual parity does not prove security or URL-policy parity.
74
+ - Large migrations may require staged conversion.
75
+
76
+ ## Security & Safety Notes
77
+
78
+ Do not weaken sanitization for screenshot parity. Review dependencies, raw HTML, URL transforms, and trust boundaries explicitly.
@@ -0,0 +1,10 @@
1
+ # Adoption Checklist
2
+
3
+ Search for `react-markdown`, `remarkPlugins`, `rehypePlugins`, `markdown-it`, `marked`, `rehypeRaw`, `skipHtml`, allow/deny lists, `urlTransform`, custom renderers, CSS, and tests.
4
+
5
+ - `direct`: plain renderer swap
6
+ - `renderer-custom`: custom components can become overrides
7
+ - `plugin-heavy`: transform chains need manual mapping
8
+ - `security-heavy`: HTML and URL policy need explicit review
9
+
10
+ Swap the package first, preserve CSS order, prefer scoped mappings, and adopt `nodes` only when another layer owns parsing or structural updates.
@@ -0,0 +1,71 @@
1
+ ---
2
+ name: markstream-nuxt
3
+ description: "Integrate markstream-vue into Nuxt 3 or 4 with SSR-safe client boundaries, renderer modes, explicit CSS, and browser-only optional peers."
4
+ category: frontend
5
+ risk: critical
6
+ source: https://github.com/Simon-He95/markstream-vue/tree/main/.agents/skills/markstream-nuxt
7
+ source_repo: Simon-He95/markstream-vue
8
+ source_type: official
9
+ date_added: "2026-07-21"
10
+ author: Simon-He95
11
+ tags: [nuxt, vue, ssr, markdown, streaming]
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 Nuxt
18
+
19
+ ## Overview
20
+
21
+ Integrate `markstream-vue` into Nuxt while keeping hydration, browser-only peers, workers, and streaming behavior on the correct side of SSR boundaries.
22
+
23
+ ## When to Use
24
+
25
+ Use for Nuxt 3 or 4 pages, components, or plugins. Use `markstream-vue` for non-Nuxt Vue applications and `markstream-install` when the framework is not yet known.
26
+
27
+ ## Workflow
28
+
29
+ Before changing dependencies or source files, inspect the existing package manager and project conventions, preview the intended edits, and obtain explicit user approval.
30
+
31
+ 1. Confirm Nuxt 3 or 4 and install only requested peers.
32
+ 2. Put browser-only peers behind `<ClientOnly>`, `.client` plugins, dynamic imports, or guarded initialization.
33
+ 3. Import `markstream-vue/index.css` explicitly from a client-safe shell or plugin.
34
+ 4. Start with `content`: `mode="chat"` for AI streams, `docs` for rich documents, and `minimal` for lightweight non-chat surfaces.
35
+ 5. Keep smooth streaming in `auto` mode for SSR; do not force `true` on first-screen server content.
36
+ 6. When a chat row completes, keep its mode stable, set `final`, disable pacing/cursor, and enable fade only if desired.
37
+ 7. Keep HTML safe and Mermaid strict. Put optional code, diagram, and worker runtimes behind client boundaries.
38
+ 8. Validate build/typecheck, hydration, and one incremental client update.
39
+
40
+ ## Example
41
+
42
+ ```vue
43
+ <script setup lang="ts">
44
+ import MarkdownRender from 'markstream-vue'
45
+ import 'markstream-vue/index.css'
46
+
47
+ defineProps<{ markdown: string; done: boolean }>()
48
+ </script>
49
+
50
+ <template>
51
+ <MarkdownRender
52
+ mode="chat"
53
+ :content="markdown"
54
+ :final="done"
55
+ :fade="done"
56
+ :typewriter="!done"
57
+ :smooth-streaming="done ? false : 'auto'"
58
+ html-policy="safe"
59
+ />
60
+ </template>
61
+ ```
62
+
63
+ ## Limitations
64
+
65
+ - Browser-only peers cannot run during SSR.
66
+ - Hydration depends on correct host plugin/component boundaries.
67
+ - This skill does not configure deployment adapters.
68
+
69
+ ## Security & Safety Notes
70
+
71
+ Do not expose trusted HTML or loose Mermaid settings to untrusted model output. Review dependency and runtime-boundary changes.