📦 deps(thirdparty): update snapshots
This commit is contained in:
@@ -10,23 +10,23 @@
|
||||
<meta name="apple-mobile-web-app-title" content="agentic-awesome-skills" />
|
||||
<link rel="manifest" href="%BASE_URL%site.webmanifest" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="description" content="Use AAS Core preview for neutral catalog retrieval, exact agent-owned selection, validation, and planning for Codex, Claude Code, and compatible clients, backed by 1,969+ cataloged skills." />
|
||||
<meta name="description" content="Use AAS Core preview for neutral catalog retrieval, exact agent-owned selection, validation, and planning for Codex, Claude Code, and compatible clients, backed by 1,987+ cataloged skills." />
|
||||
<meta name="author" content="Agentic Awesome Skills" />
|
||||
<meta name="msvalidate.01" content="CAC904EB0D2DD1B22B5F2BC540CAD654" />
|
||||
<meta property="og:title" content="AAS Core Preview | Agent-first stacks backed by 1,969+ skills" />
|
||||
<meta property="og:description" content="Use AAS Core preview for neutral catalog retrieval, exact agent-owned selection, validation, and planning for Codex, Claude Code, and compatible clients, backed by 1,969+ cataloged skills." />
|
||||
<meta property="og:title" content="AAS Core Preview | Agent-first stacks backed by 1,987+ skills" />
|
||||
<meta property="og:description" content="Use AAS Core preview for neutral catalog retrieval, exact agent-owned selection, validation, and planning for Codex, Claude Code, and compatible clients, backed by 1,987+ cataloged skills." />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:url" content="%BASE_URL%" />
|
||||
<meta property="og:image" content="%BASE_URL%social-card.png" />
|
||||
<meta name="twitter:title" content="AAS Core Preview | Agent-first stacks backed by 1,969+ skills" />
|
||||
<meta name="twitter:description" content="Use AAS Core preview for neutral catalog retrieval, exact agent-owned selection, validation, and planning for Codex, Claude Code, and compatible clients, backed by 1,969+ cataloged skills." />
|
||||
<meta name="twitter:title" content="AAS Core Preview | Agent-first stacks backed by 1,987+ skills" />
|
||||
<meta name="twitter:description" content="Use AAS Core preview for neutral catalog retrieval, exact agent-owned selection, validation, and planning for Codex, Claude Code, and compatible clients, backed by 1,987+ cataloged skills." />
|
||||
<meta name="twitter:image" content="%BASE_URL%social-card.png" />
|
||||
<meta name="twitter:image:alt" content="Agentic Awesome Skills catalog preview" />
|
||||
<meta name="robots" content="index, follow" />
|
||||
<meta property="og:site_name" content="Agentic Awesome Skills" />
|
||||
<meta name="twitter:card" content="summary_large_image" />
|
||||
<meta name="theme-color" content="#0f172a" />
|
||||
<title>AAS Core Preview | Agent-first stacks backed by 1,969+ skills</title>
|
||||
<title>AAS Core Preview | Agent-first stacks backed by 1,987+ skills</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="root"></div>
|
||||
|
||||
+3
-3
@@ -2415,9 +2415,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/brace-expansion": {
|
||||
"version": "1.1.15",
|
||||
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.15.tgz",
|
||||
"integrity": "sha512-EwOCDEex4quD37XhqM3omwtMoJjr//isUZz1JopUNWms+4Z2ViyM/k1YIRePpoVNnQhENnxtFjLaxNHrT7xIUg==",
|
||||
"version": "1.1.16",
|
||||
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.16.tgz",
|
||||
"integrity": "sha512-IDw48K2/2kRkg9LdJxurvq3lV3aBgq0REY89duEqFRthjlPdXHKMj7EnQOXVckxzgisinf3nHfrcE2FufFLXMw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
# Agentic Awesome Skills
|
||||
|
||||
> AAS Core is a local, agent-first control plane for complete catalog discovery, agent-owned skill selection, stack validation, and planning, backed by 1,969+ agentic SKILL.md playbooks.
|
||||
> AAS Core is a local, agent-first control plane for complete catalog discovery, agent-owned skill selection, stack validation, and planning, backed by 1,987+ agentic SKILL.md playbooks.
|
||||
|
||||
## Key Facts
|
||||
|
||||
- Current release: V15.1.0.
|
||||
- Release boundary: V15.1.0 includes AAS Core under the Agent-First Preview; pin this exact version when configuring the local MCP.
|
||||
- Skill count: 1,969+.
|
||||
- Current release: V15.3.0.
|
||||
- Release boundary: V15.3.0 includes AAS Core under the Agent-First Preview; pin this exact version when configuring the local MCP.
|
||||
- Skill count: 1,987+.
|
||||
- Primary product: AAS Core preview, exposed through the `aas` CLI and local `aas-mcp` stdio server.
|
||||
- Agent tools: `search_skills`, `get_skill`, `compose_stack`, `inspect_stack`, `diff_stack`, `export_selection_evidence`, and `inspect_selection_evidence`.
|
||||
- Lifecycle: the client enumerates primary project capabilities, searches and compares candidates for each, covers every capability or reports a catalog gap, and chooses exact IDs. Core has no semantic policy favoring a small stack; each manifest has a technical maximum of 128 skills. Read-only `compose_stack` returns the manifest in memory, while a client or CLI persists `aas-stack.json` and optional `aas-selection-evidence.json` in an `artifact-dir` before CLI validation and immutable plan preview.
|
||||
@@ -17,7 +17,7 @@
|
||||
- Evidence privacy: the sidecar records raw `search_skills` queries, so catalog queries must not contain secrets or private source text.
|
||||
- Preview boundary: planning may write an explicitly requested plan artifact but does not write target state; apply and recovery are not part of the supported preview path.
|
||||
- Supported real clients include Codex CLI and Claude Code; the catalog also serves Cursor, Gemini CLI, Antigravity, and other compatible hosts.
|
||||
- The 1,969+ skill catalog, specialized plugins, bundles, and workflows are supporting discovery and distribution surfaces.
|
||||
- The 1,987+ skill catalog, specialized plugins, bundles, and workflows are supporting discovery and distribution surfaces.
|
||||
- Repository: https://github.com/sickn33/agentic-awesome-skills
|
||||
- Hosted catalog and companion review surface: https://sickn33.github.io/agentic-awesome-skills/
|
||||
- Specialized plugin landing page: https://sickn33.github.io/agentic-awesome-skills/plugins
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -2478,15 +2478,17 @@
|
||||
"date_added": "2026-07-15",
|
||||
"plugin": {
|
||||
"targets": {
|
||||
"codex": "supported",
|
||||
"claude": "supported"
|
||||
"codex": "blocked",
|
||||
"claude": "blocked"
|
||||
},
|
||||
"setup": {
|
||||
"type": "none",
|
||||
"summary": "",
|
||||
"docs": null
|
||||
"type": "manual",
|
||||
"summary": "Requires a separately installed, user-approved anywrite executable at an explicit absolute path.",
|
||||
"docs": "SKILL.md"
|
||||
},
|
||||
"reasons": []
|
||||
"reasons": [
|
||||
"explicit_target_restriction"
|
||||
]
|
||||
},
|
||||
"source_type": "community",
|
||||
"source_repo": "Antheurus/anywrite",
|
||||
@@ -21882,6 +21884,39 @@
|
||||
"reasons": []
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "hf-cloud-aws-context-discovery",
|
||||
"path": "skills/hf-cloud-aws-context-discovery",
|
||||
"category": "cloud",
|
||||
"name": "hf-cloud-aws-context-discovery",
|
||||
"description": "Discover the effective local AWS profile, region, account, and caller identity before any AWS task without exposing credentials.",
|
||||
"risk": "safe",
|
||||
"source": "https://github.com/huggingface/skills/tree/main/skills/hf-cloud-aws-context-discovery",
|
||||
"date_added": "2026-07-21",
|
||||
"plugin": {
|
||||
"targets": {
|
||||
"codex": "supported",
|
||||
"claude": "supported"
|
||||
},
|
||||
"setup": {
|
||||
"type": "none",
|
||||
"summary": "",
|
||||
"docs": null
|
||||
},
|
||||
"reasons": []
|
||||
},
|
||||
"source_type": "official",
|
||||
"source_repo": "huggingface/skills",
|
||||
"license": "Apache-2.0",
|
||||
"license_source": "https://github.com/huggingface/skills/blob/main/LICENSE",
|
||||
"tags": [
|
||||
"hugging-face",
|
||||
"aws",
|
||||
"credentials",
|
||||
"discovery",
|
||||
"cloud"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "hf-mcp",
|
||||
"path": "skills/hf-mcp",
|
||||
@@ -27650,13 +27685,80 @@
|
||||
"reasons": []
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "markstream-angular",
|
||||
"path": "skills/markstream-angular",
|
||||
"category": "frontend",
|
||||
"name": "markstream-angular",
|
||||
"description": "Integrate the alpha markstream-angular renderer into Angular 20+ applications with standalone components, signals, safe HTML defaults, and optional peer features.",
|
||||
"risk": "critical",
|
||||
"source": "https://github.com/Simon-He95/markstream-vue/tree/main/.agents/skills/markstream-angular",
|
||||
"date_added": "2026-07-21",
|
||||
"plugin": {
|
||||
"targets": {
|
||||
"codex": "supported",
|
||||
"claude": "supported"
|
||||
},
|
||||
"setup": {
|
||||
"type": "none",
|
||||
"summary": "",
|
||||
"docs": null
|
||||
},
|
||||
"reasons": []
|
||||
},
|
||||
"source_type": "official",
|
||||
"source_repo": "Simon-He95/markstream-vue",
|
||||
"license": "MIT",
|
||||
"license_source": "https://github.com/Simon-He95/markstream-vue/blob/main/license",
|
||||
"tags": [
|
||||
"angular",
|
||||
"markdown",
|
||||
"streaming",
|
||||
"ai-chat",
|
||||
"frontend"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "markstream-custom-components",
|
||||
"path": "skills/markstream-custom-components",
|
||||
"category": "frontend",
|
||||
"name": "markstream-custom-components",
|
||||
"description": "Override Markstream node renderers and add trusted custom tags across Vue, React, Svelte, and Angular using scoped or renderer-local mappings.",
|
||||
"risk": "critical",
|
||||
"source": "https://github.com/Simon-He95/markstream-vue/tree/main/.agents/skills/markstream-custom-components",
|
||||
"date_added": "2026-07-21",
|
||||
"plugin": {
|
||||
"targets": {
|
||||
"codex": "supported",
|
||||
"claude": "supported"
|
||||
},
|
||||
"setup": {
|
||||
"type": "none",
|
||||
"summary": "",
|
||||
"docs": null
|
||||
},
|
||||
"reasons": []
|
||||
},
|
||||
"source_type": "official",
|
||||
"source_repo": "Simon-He95/markstream-vue",
|
||||
"license": "MIT",
|
||||
"license_source": "https://github.com/Simon-He95/markstream-vue/blob/main/license",
|
||||
"tags": [
|
||||
"markdown",
|
||||
"components",
|
||||
"vue",
|
||||
"react",
|
||||
"svelte",
|
||||
"angular"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "markstream-install",
|
||||
"path": "skills/markstream-install",
|
||||
"category": "frontend",
|
||||
"name": "markstream-install",
|
||||
"description": "Install and configure Markstream streaming Markdown renderers for Vue, React, Svelte, Angular, Nuxt, Next.js, and Vue 2 applications.",
|
||||
"risk": "safe",
|
||||
"risk": "critical",
|
||||
"source": "https://github.com/Simon-He95/markstream-vue/tree/main/.agents/skills/markstream-install",
|
||||
"date_added": "2026-07-19",
|
||||
"plugin": {
|
||||
@@ -27685,6 +27787,270 @@
|
||||
"ai-chat"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "markstream-migration",
|
||||
"path": "skills/markstream-migration",
|
||||
"category": "frontend",
|
||||
"name": "markstream-migration",
|
||||
"description": "Audit and migrate an existing Markdown renderer to Markstream while preserving custom renderers, security policy, streaming behavior, and explicit parity gaps.",
|
||||
"risk": "critical",
|
||||
"source": "https://github.com/Simon-He95/markstream-vue/tree/main/.agents/skills/markstream-migration",
|
||||
"date_added": "2026-07-21",
|
||||
"plugin": {
|
||||
"targets": {
|
||||
"codex": "supported",
|
||||
"claude": "supported"
|
||||
},
|
||||
"setup": {
|
||||
"type": "none",
|
||||
"summary": "",
|
||||
"docs": null
|
||||
},
|
||||
"reasons": []
|
||||
},
|
||||
"source_type": "official",
|
||||
"source_repo": "Simon-He95/markstream-vue",
|
||||
"license": "MIT",
|
||||
"license_source": "https://github.com/Simon-He95/markstream-vue/blob/main/license",
|
||||
"tags": [
|
||||
"markdown",
|
||||
"migration",
|
||||
"streaming",
|
||||
"security",
|
||||
"frontend"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "markstream-nuxt",
|
||||
"path": "skills/markstream-nuxt",
|
||||
"category": "frontend",
|
||||
"name": "markstream-nuxt",
|
||||
"description": "Integrate markstream-vue into Nuxt 3 or 4 with SSR-safe client boundaries, renderer modes, explicit CSS, and browser-only optional peers.",
|
||||
"risk": "critical",
|
||||
"source": "https://github.com/Simon-He95/markstream-vue/tree/main/.agents/skills/markstream-nuxt",
|
||||
"date_added": "2026-07-21",
|
||||
"plugin": {
|
||||
"targets": {
|
||||
"codex": "supported",
|
||||
"claude": "supported"
|
||||
},
|
||||
"setup": {
|
||||
"type": "none",
|
||||
"summary": "",
|
||||
"docs": null
|
||||
},
|
||||
"reasons": []
|
||||
},
|
||||
"source_type": "official",
|
||||
"source_repo": "Simon-He95/markstream-vue",
|
||||
"license": "MIT",
|
||||
"license_source": "https://github.com/Simon-He95/markstream-vue/blob/main/license",
|
||||
"tags": [
|
||||
"nuxt",
|
||||
"vue",
|
||||
"ssr",
|
||||
"markdown",
|
||||
"streaming"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "markstream-react",
|
||||
"path": "skills/markstream-react",
|
||||
"category": "frontend",
|
||||
"name": "markstream-react",
|
||||
"description": "Integrate the beta markstream-react renderer into React 18+ or Next.js with correct client/server entrypoints, CSS, streaming state, and component overrides.",
|
||||
"risk": "critical",
|
||||
"source": "https://github.com/Simon-He95/markstream-vue/tree/main/.agents/skills/markstream-react",
|
||||
"date_added": "2026-07-21",
|
||||
"plugin": {
|
||||
"targets": {
|
||||
"codex": "supported",
|
||||
"claude": "supported"
|
||||
},
|
||||
"setup": {
|
||||
"type": "none",
|
||||
"summary": "",
|
||||
"docs": null
|
||||
},
|
||||
"reasons": []
|
||||
},
|
||||
"source_type": "official",
|
||||
"source_repo": "Simon-He95/markstream-vue",
|
||||
"license": "MIT",
|
||||
"license_source": "https://github.com/Simon-He95/markstream-vue/blob/main/license",
|
||||
"tags": [
|
||||
"react",
|
||||
"nextjs",
|
||||
"markdown",
|
||||
"streaming",
|
||||
"ssr"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "markstream-svelte",
|
||||
"path": "skills/markstream-svelte",
|
||||
"category": "frontend",
|
||||
"name": "markstream-svelte",
|
||||
"description": "Integrate the beta markstream-svelte renderer into Svelte 5 or SvelteKit with runes, explicit CSS, smooth streaming, workers, and SSR-safe boundaries.",
|
||||
"risk": "critical",
|
||||
"source": "https://github.com/Simon-He95/markstream-vue/tree/main/.agents/skills/markstream-svelte",
|
||||
"date_added": "2026-07-21",
|
||||
"plugin": {
|
||||
"targets": {
|
||||
"codex": "supported",
|
||||
"claude": "supported"
|
||||
},
|
||||
"setup": {
|
||||
"type": "none",
|
||||
"summary": "",
|
||||
"docs": null
|
||||
},
|
||||
"reasons": []
|
||||
},
|
||||
"source_type": "official",
|
||||
"source_repo": "Simon-He95/markstream-vue",
|
||||
"license": "MIT",
|
||||
"license_source": "https://github.com/Simon-He95/markstream-vue/blob/main/license",
|
||||
"tags": [
|
||||
"svelte",
|
||||
"sveltekit",
|
||||
"markdown",
|
||||
"streaming",
|
||||
"ssr"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "markstream-vue",
|
||||
"path": "skills/markstream-vue",
|
||||
"category": "frontend",
|
||||
"name": "markstream-vue",
|
||||
"description": "Integrate markstream-vue into plain Vue 3 with renderer modes, code and DOM choices, streaming state, virtualization, optional peers, and scoped components.",
|
||||
"risk": "critical",
|
||||
"source": "https://github.com/Simon-He95/markstream-vue/tree/main/.agents/skills/markstream-vue",
|
||||
"date_added": "2026-07-21",
|
||||
"plugin": {
|
||||
"targets": {
|
||||
"codex": "supported",
|
||||
"claude": "supported"
|
||||
},
|
||||
"setup": {
|
||||
"type": "none",
|
||||
"summary": "",
|
||||
"docs": null
|
||||
},
|
||||
"reasons": []
|
||||
},
|
||||
"source_type": "official",
|
||||
"source_repo": "Simon-He95/markstream-vue",
|
||||
"license": "MIT",
|
||||
"license_source": "https://github.com/Simon-He95/markstream-vue/blob/main/license",
|
||||
"tags": [
|
||||
"vue",
|
||||
"markdown",
|
||||
"streaming",
|
||||
"virtualization",
|
||||
"ai-chat"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "markstream-vue2",
|
||||
"path": "skills/markstream-vue2",
|
||||
"category": "frontend",
|
||||
"name": "markstream-vue2",
|
||||
"description": "Integrate markstream-vue2 into Vue 2.6 or 2.7 with correct Composition API decisions, CSS, streaming state, optional peers, and scoped overrides.",
|
||||
"risk": "critical",
|
||||
"source": "https://github.com/Simon-He95/markstream-vue/tree/main/.agents/skills/markstream-vue2",
|
||||
"date_added": "2026-07-21",
|
||||
"plugin": {
|
||||
"targets": {
|
||||
"codex": "supported",
|
||||
"claude": "supported"
|
||||
},
|
||||
"setup": {
|
||||
"type": "none",
|
||||
"summary": "",
|
||||
"docs": null
|
||||
},
|
||||
"reasons": []
|
||||
},
|
||||
"source_type": "official",
|
||||
"source_repo": "Simon-He95/markstream-vue",
|
||||
"license": "MIT",
|
||||
"license_source": "https://github.com/Simon-He95/markstream-vue/blob/main/license",
|
||||
"tags": [
|
||||
"vue2",
|
||||
"markdown",
|
||||
"streaming",
|
||||
"compatibility",
|
||||
"frontend"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "markstream-vue2-cli",
|
||||
"path": "skills/markstream-vue2-cli",
|
||||
"category": "frontend",
|
||||
"name": "markstream-vue2-cli",
|
||||
"description": "Integrate markstream-vue2 into Vue CLI or Webpack 4 with export-map-safe CSS, CDN worker fallbacks, and conservative code-block defaults.",
|
||||
"risk": "critical",
|
||||
"source": "https://github.com/Simon-He95/markstream-vue/tree/main/.agents/skills/markstream-vue2-cli",
|
||||
"date_added": "2026-07-21",
|
||||
"plugin": {
|
||||
"targets": {
|
||||
"codex": "supported",
|
||||
"claude": "supported"
|
||||
},
|
||||
"setup": {
|
||||
"type": "none",
|
||||
"summary": "",
|
||||
"docs": null
|
||||
},
|
||||
"reasons": []
|
||||
},
|
||||
"source_type": "official",
|
||||
"source_repo": "Simon-He95/markstream-vue",
|
||||
"license": "MIT",
|
||||
"license_source": "https://github.com/Simon-He95/markstream-vue/blob/main/license",
|
||||
"tags": [
|
||||
"vue2",
|
||||
"vue-cli",
|
||||
"webpack4",
|
||||
"markdown",
|
||||
"workers"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "markstream-vue2-vite",
|
||||
"path": "skills/markstream-vue2-vite",
|
||||
"category": "frontend",
|
||||
"name": "markstream-vue2-vite",
|
||||
"description": "Integrate markstream-vue2 into Vue 2 plus Vite with bundled worker imports, CSS ordering, Composition API compatibility, and safe streaming defaults.",
|
||||
"risk": "critical",
|
||||
"source": "https://github.com/Simon-He95/markstream-vue/tree/main/.agents/skills/markstream-vue2-vite",
|
||||
"date_added": "2026-07-21",
|
||||
"plugin": {
|
||||
"targets": {
|
||||
"codex": "supported",
|
||||
"claude": "supported"
|
||||
},
|
||||
"setup": {
|
||||
"type": "none",
|
||||
"summary": "",
|
||||
"docs": null
|
||||
},
|
||||
"reasons": []
|
||||
},
|
||||
"source_type": "official",
|
||||
"source_repo": "Simon-He95/markstream-vue",
|
||||
"license": "MIT",
|
||||
"license_source": "https://github.com/Simon-He95/markstream-vue/blob/main/license",
|
||||
"tags": [
|
||||
"vue2",
|
||||
"vite",
|
||||
"markdown",
|
||||
"workers",
|
||||
"streaming"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "mason",
|
||||
"path": "skills/agent-squad/mason",
|
||||
@@ -29423,6 +29789,58 @@
|
||||
"reasons": []
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "n8n-agents",
|
||||
"path": "skills/n8n-agents",
|
||||
"category": "automation",
|
||||
"name": "n8n-agents",
|
||||
"description": "Design n8n AI agents, chains, classifiers, extractors, tool calling, memory, RAG, structured output, and human-review flows.",
|
||||
"risk": "critical",
|
||||
"source": "https://github.com/czlonkowski/n8n-skills/tree/main/skills/n8n-agents",
|
||||
"date_added": "2026-07-21",
|
||||
"plugin": {
|
||||
"targets": {
|
||||
"codex": "supported",
|
||||
"claude": "supported"
|
||||
},
|
||||
"setup": {
|
||||
"type": "none",
|
||||
"summary": "",
|
||||
"docs": null
|
||||
},
|
||||
"reasons": []
|
||||
},
|
||||
"source_type": "community",
|
||||
"source_repo": "czlonkowski/n8n-skills",
|
||||
"license": "MIT",
|
||||
"license_source": "https://github.com/czlonkowski/n8n-skills/blob/main/LICENSE"
|
||||
},
|
||||
{
|
||||
"id": "n8n-binary-and-data",
|
||||
"path": "skills/n8n-binary-and-data",
|
||||
"category": "automation",
|
||||
"name": "n8n-binary-and-data",
|
||||
"description": "Handle n8n files and binary data across uploads, downloads, transforms, multimodal inputs, agent tools, and chat surfaces.",
|
||||
"risk": "unknown",
|
||||
"source": "https://github.com/czlonkowski/n8n-skills/tree/main/skills/n8n-binary-and-data",
|
||||
"date_added": "2026-07-21",
|
||||
"plugin": {
|
||||
"targets": {
|
||||
"codex": "supported",
|
||||
"claude": "supported"
|
||||
},
|
||||
"setup": {
|
||||
"type": "none",
|
||||
"summary": "",
|
||||
"docs": null
|
||||
},
|
||||
"reasons": []
|
||||
},
|
||||
"source_type": "community",
|
||||
"source_repo": "czlonkowski/n8n-skills",
|
||||
"license": "MIT",
|
||||
"license_source": "https://github.com/czlonkowski/n8n-skills/blob/main/LICENSE"
|
||||
},
|
||||
{
|
||||
"id": "n8n-code-javascript",
|
||||
"path": "skills/n8n-code-javascript",
|
||||
@@ -29467,6 +29885,58 @@
|
||||
"reasons": []
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "n8n-code-tool",
|
||||
"path": "skills/n8n-code-tool",
|
||||
"category": "automation",
|
||||
"name": "n8n-code-tool",
|
||||
"description": "Write and debug JavaScript or Python for the AI-callable n8n Custom Code Tool, including schemas, sandbox limits, and return formats.",
|
||||
"risk": "unknown",
|
||||
"source": "https://github.com/czlonkowski/n8n-skills/tree/main/skills/n8n-code-tool",
|
||||
"date_added": "2026-07-21",
|
||||
"plugin": {
|
||||
"targets": {
|
||||
"codex": "supported",
|
||||
"claude": "supported"
|
||||
},
|
||||
"setup": {
|
||||
"type": "none",
|
||||
"summary": "",
|
||||
"docs": null
|
||||
},
|
||||
"reasons": []
|
||||
},
|
||||
"source_type": "community",
|
||||
"source_repo": "czlonkowski/n8n-skills",
|
||||
"license": "MIT",
|
||||
"license_source": "https://github.com/czlonkowski/n8n-skills/blob/main/LICENSE"
|
||||
},
|
||||
{
|
||||
"id": "n8n-error-handling",
|
||||
"path": "skills/n8n-error-handling",
|
||||
"category": "automation",
|
||||
"name": "n8n-error-handling",
|
||||
"description": "Design visible, structured, recoverable n8n failures using error outputs, retries, Error Trigger workflows, and HTTP error responses.",
|
||||
"risk": "unknown",
|
||||
"source": "https://github.com/czlonkowski/n8n-skills/tree/main/skills/n8n-error-handling",
|
||||
"date_added": "2026-07-21",
|
||||
"plugin": {
|
||||
"targets": {
|
||||
"codex": "supported",
|
||||
"claude": "supported"
|
||||
},
|
||||
"setup": {
|
||||
"type": "none",
|
||||
"summary": "",
|
||||
"docs": null
|
||||
},
|
||||
"reasons": []
|
||||
},
|
||||
"source_type": "community",
|
||||
"source_repo": "czlonkowski/n8n-skills",
|
||||
"license": "MIT",
|
||||
"license_source": "https://github.com/czlonkowski/n8n-skills/blob/main/LICENSE"
|
||||
},
|
||||
{
|
||||
"id": "n8n-expression-syntax",
|
||||
"path": "skills/n8n-expression-syntax",
|
||||
@@ -29511,6 +29981,32 @@
|
||||
"reasons": []
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "n8n-multi-instance",
|
||||
"path": "skills/n8n-multi-instance",
|
||||
"category": "automation",
|
||||
"name": "n8n-multi-instance",
|
||||
"description": "Select, verify, and safely switch n8n MCP instances across production, staging, teams, or clients, especially before credential writes.",
|
||||
"risk": "critical",
|
||||
"source": "https://github.com/czlonkowski/n8n-skills/tree/main/skills/n8n-multi-instance",
|
||||
"date_added": "2026-07-21",
|
||||
"plugin": {
|
||||
"targets": {
|
||||
"codex": "supported",
|
||||
"claude": "supported"
|
||||
},
|
||||
"setup": {
|
||||
"type": "none",
|
||||
"summary": "",
|
||||
"docs": null
|
||||
},
|
||||
"reasons": []
|
||||
},
|
||||
"source_type": "community",
|
||||
"source_repo": "czlonkowski/n8n-skills",
|
||||
"license": "MIT",
|
||||
"license_source": "https://github.com/czlonkowski/n8n-skills/blob/main/LICENSE"
|
||||
},
|
||||
{
|
||||
"id": "n8n-node-configuration",
|
||||
"path": "skills/n8n-node-configuration",
|
||||
@@ -29533,6 +30029,32 @@
|
||||
"reasons": []
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "n8n-subworkflows",
|
||||
"path": "skills/n8n-subworkflows",
|
||||
"category": "automation",
|
||||
"name": "n8n-subworkflows",
|
||||
"description": "Build reusable n8n sub-workflows with typed inputs, all-vs-each execution, discoverable naming, and agent-tool exposure.",
|
||||
"risk": "unknown",
|
||||
"source": "https://github.com/czlonkowski/n8n-skills/tree/main/skills/n8n-subworkflows",
|
||||
"date_added": "2026-07-21",
|
||||
"plugin": {
|
||||
"targets": {
|
||||
"codex": "supported",
|
||||
"claude": "supported"
|
||||
},
|
||||
"setup": {
|
||||
"type": "none",
|
||||
"summary": "",
|
||||
"docs": null
|
||||
},
|
||||
"reasons": []
|
||||
},
|
||||
"source_type": "community",
|
||||
"source_repo": "czlonkowski/n8n-skills",
|
||||
"license": "MIT",
|
||||
"license_source": "https://github.com/czlonkowski/n8n-skills/blob/main/LICENSE"
|
||||
},
|
||||
{
|
||||
"id": "n8n-validation-expert",
|
||||
"path": "skills/n8n-validation-expert",
|
||||
@@ -40557,15 +41079,17 @@
|
||||
"date_added": "2026-07-15",
|
||||
"plugin": {
|
||||
"targets": {
|
||||
"codex": "supported",
|
||||
"claude": "supported"
|
||||
"codex": "blocked",
|
||||
"claude": "blocked"
|
||||
},
|
||||
"setup": {
|
||||
"type": "none",
|
||||
"summary": "",
|
||||
"docs": null
|
||||
"type": "manual",
|
||||
"summary": "Requires a separately installed, user-approved sshepherd executable at an explicit absolute path.",
|
||||
"docs": "SKILL.md"
|
||||
},
|
||||
"reasons": []
|
||||
"reasons": [
|
||||
"explicit_target_restriction"
|
||||
]
|
||||
},
|
||||
"source_type": "community",
|
||||
"source_repo": "Antheurus/sshepherd",
|
||||
@@ -44761,6 +45285,32 @@
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "using-n8n-mcp-skills",
|
||||
"path": "skills/using-n8n-mcp-skills",
|
||||
"category": "uncategorized",
|
||||
"name": "using-n8n-mcp-skills",
|
||||
"description": "Route n8n MCP workflow design, editing, validation, testing, deployment, credential, execution, and debugging tasks to specialist guidance.",
|
||||
"risk": "critical",
|
||||
"source": "https://github.com/czlonkowski/n8n-skills/tree/main/skills/using-n8n-mcp-skills",
|
||||
"date_added": "2026-07-21",
|
||||
"plugin": {
|
||||
"targets": {
|
||||
"codex": "supported",
|
||||
"claude": "supported"
|
||||
},
|
||||
"setup": {
|
||||
"type": "none",
|
||||
"summary": "",
|
||||
"docs": null
|
||||
},
|
||||
"reasons": []
|
||||
},
|
||||
"source_type": "community",
|
||||
"source_repo": "czlonkowski/n8n-skills",
|
||||
"license": "MIT",
|
||||
"license_source": "https://github.com/czlonkowski/n8n-skills/blob/main/LICENSE"
|
||||
},
|
||||
{
|
||||
"id": "using-neon",
|
||||
"path": "skills/using-neon",
|
||||
|
||||
@@ -969,7 +969,12 @@ export function assertLlms(
|
||||
assert(text.includes(snippet), `llms.txt missing required snippet: ${snippet}`);
|
||||
}
|
||||
if (expectedReleaseLabel) {
|
||||
assert(text.includes(`Current release: ${expectedReleaseLabel}.`), `llms.txt missing current release: ${expectedReleaseLabel}`);
|
||||
const releaseLines = text.split(/\r?\n/).filter((line) => line.trim().startsWith('- Current release:'));
|
||||
assert(releaseLines.length === 1, 'llms.txt must expose exactly one canonical current-release line.');
|
||||
assert(
|
||||
releaseLines[0].trim() === `- Current release: ${expectedReleaseLabel}.`,
|
||||
`llms.txt current release must equal ${expectedReleaseLabel} exactly.`,
|
||||
);
|
||||
}
|
||||
assertOnlyExpectedSkillCountLabel(text, expectedSkillCountLabel, 'llms.txt');
|
||||
}
|
||||
|
||||
@@ -636,7 +636,7 @@ describe('seo assets verification helpers', () => {
|
||||
const llms = `
|
||||
# Agentic Awesome Skills
|
||||
AAS Core preview
|
||||
Current release: V1.2.3.
|
||||
- Current release: V1.2.3.
|
||||
The published package predates AAS Core.
|
||||
1,678+ agentic skills with specialized plugins for Claude Code and Codex CLI.
|
||||
https://github.com/sickn33/agentic-awesome-skills
|
||||
@@ -651,7 +651,7 @@ describe('seo assets verification helpers', () => {
|
||||
const llms = `
|
||||
# Agentic Awesome Skills
|
||||
AAS Core preview
|
||||
Current release: V1.2.2.
|
||||
- Current release: V1.2.2.
|
||||
The published package predates AAS Core.
|
||||
1,678+ agentic skills with specialized plugins for Claude Code and Codex CLI.
|
||||
https://github.com/sickn33/agentic-awesome-skills
|
||||
@@ -666,7 +666,7 @@ describe('seo assets verification helpers', () => {
|
||||
const llms = `
|
||||
# Agentic Awesome Skills
|
||||
AAS Core preview
|
||||
Current release: V15.0.0.
|
||||
- Current release: V15.0.0.
|
||||
This release includes AAS Core.
|
||||
1,678+ agentic skills with specialized plugins for Claude Code and Codex CLI.
|
||||
https://github.com/sickn33/agentic-awesome-skills
|
||||
@@ -684,6 +684,27 @@ describe('seo assets verification helpers', () => {
|
||||
})).toThrow('predates AAS Core');
|
||||
});
|
||||
|
||||
it('rejects release prefix collisions, trailing garbage, and duplicate release lines', () => {
|
||||
const base = `
|
||||
# Agentic Awesome Skills
|
||||
AAS Core preview
|
||||
This release includes AAS Core.
|
||||
1,678+ agentic skills with specialized plugins for Claude Code and Codex CLI.
|
||||
https://github.com/sickn33/agentic-awesome-skills
|
||||
https://sickn33.github.io/agentic-awesome-skills/workbench
|
||||
Canonical source of truth: the GitHub repository is the primary project URL.
|
||||
`;
|
||||
expect(() => assertLlms(`${base}\n- Current release: V15.0.0-rc.1.`, {
|
||||
expectedReleaseLabel: 'V15.0.0', expectedCoreIncluded: true,
|
||||
})).toThrow('exactly');
|
||||
expect(() => assertLlms(`${base}\n- Current release: V15.0.0. trailing`, {
|
||||
expectedReleaseLabel: 'V15.0.0', expectedCoreIncluded: true,
|
||||
})).toThrow('exactly');
|
||||
expect(() => assertLlms(`${base}\n- Current release: V15.0.0.\n- Current release: V15.0.0.`, {
|
||||
expectedReleaseLabel: 'V15.0.0', expectedCoreIncluded: true,
|
||||
})).toThrow('exactly one');
|
||||
});
|
||||
|
||||
it('requires social image tags in rendered index html', () => {
|
||||
const html = `
|
||||
<html>
|
||||
|
||||
@@ -152,19 +152,13 @@ export function SkillDetail(): React.ReactElement {
|
||||
const cleanPath = skill.path.startsWith('skills/')
|
||||
? skill.path.replace('skills/', '')
|
||||
: skill.path;
|
||||
const canonicalSkillPath = cleanPath.replace(/\/SKILL\.md$/i, '');
|
||||
const canonicalUrl = new URL(
|
||||
`${import.meta.env.BASE_URL}skills/${canonicalSkillPath}/SKILL.md`,
|
||||
window.location.origin,
|
||||
).href;
|
||||
|
||||
const candidateUrls = Array.from(new Set([canonicalUrl, ...getSkillMarkdownCandidateUrls({
|
||||
const candidateUrls = getSkillMarkdownCandidateUrls({
|
||||
baseUrl: import.meta.env.BASE_URL,
|
||||
origin: window.location.origin,
|
||||
pathname: window.location.pathname,
|
||||
documentBaseUrl: window.document.baseURI,
|
||||
skillPath: `skills/${cleanPath}`,
|
||||
})]));
|
||||
});
|
||||
|
||||
let markdown: string | null = null;
|
||||
let lastError: Error | null = null;
|
||||
|
||||
+29
@@ -66,4 +66,33 @@ describe('SkillDetail security', () => {
|
||||
|
||||
expect(pluginNames).not.toContain('rehypeRaw');
|
||||
});
|
||||
|
||||
it.each([
|
||||
'skills/../../api/session#',
|
||||
'skills/%2e%2e/%2e%2e/api/session',
|
||||
])('rejects unsafe catalog paths without issuing a fetch: %s', async (skillPath) => {
|
||||
const mockSkill = createMockSkill({
|
||||
id: 'unsafe-path',
|
||||
name: 'unsafe-path',
|
||||
description: 'Skill with an unsafe catalog path',
|
||||
path: skillPath,
|
||||
});
|
||||
|
||||
(useSkills as Mock).mockReturnValue({
|
||||
skills: [mockSkill],
|
||||
stars: {},
|
||||
loading: false,
|
||||
});
|
||||
|
||||
global.fetch = vi.fn();
|
||||
renderWithRouter(<SkillDetail />, {
|
||||
route: '/skill/unsafe-path',
|
||||
path: '/skill/:id',
|
||||
useProvider: false,
|
||||
});
|
||||
|
||||
await waitFor(() => {
|
||||
expect(global.fetch).not.toHaveBeenCalled();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user