diff --git a/.github/plugin/marketplace.json b/.github/plugin/marketplace.json
index cd19cc914..13f2b21ce 100644
--- a/.github/plugin/marketplace.json
+++ b/.github/plugin/marketplace.json
@@ -976,6 +976,12 @@
"description": "Create, edit, run, save, and checkpoint Jupyter notebooks in an interactive Copilot canvas.",
"version": "1.0.0"
},
+ {
+ "name": "juvina-memory",
+ "source": "plugins/juvina-memory",
+ "description": "Persistent, team-shared memory for Copilot agents — encode decisions and recall project knowledge across repositories, sessions, and time via the Juvina memory engine's MCP tools.",
+ "version": "1.0.0"
+ },
{
"name": "keep-the-why",
"description": "Preserves or recovers the reasoning behind a codebase — architectural decisions, rejected alternatives, workarounds, incident learnings, operational constraints, and historical context the code itself cannot explain.",
diff --git a/docs/README.plugins.md b/docs/README.plugins.md
index 274783eff..18d5e6295 100644
--- a/docs/README.plugins.md
+++ b/docs/README.plugins.md
@@ -74,6 +74,7 @@ See [CONTRIBUTING.md](../CONTRIBUTING.md#adding-plugins) for guidelines on how t
| [java-mcp-development](../plugins/java-mcp-development/README.md) | Complete toolkit for building Model Context Protocol servers in Java using the official MCP Java SDK with reactive streams and Spring Boot integration. | 2 items | java, mcp, model-context-protocol, server-development, sdk, reactive-streams, spring-boot, reactor |
| [java-modernization-studio](../plugins/java-modernization-studio/README.md) | Drive the GitHub Copilot App Modernization for Java workflow from an interactive canvas: environment readiness, repo assessment, prioritized plan and progress, validation gates, and one-click predefined-task runs grounded in the repo's real artifacts. | 1 items | app-modernization, assessment-dashboard, azure-migration, java-modernization, legacy-java, modernization-cockpit, validation-gates |
| [jupyter-notebooks](../plugins/jupyter-notebooks/README.md) | Create, edit, run, save, and checkpoint Jupyter notebooks in an interactive Copilot canvas. | 1 items | data-analysis, interactive-notebooks, jupyter, python |
+| [juvina-memory](../plugins/juvina-memory/README.md) | Persistent, team-shared memory for Copilot agents — encode decisions and recall project knowledge across repositories, sessions, and time via the Juvina memory engine's MCP tools. | 1 items | memory, persistent-memory, team-memory, mcp, agent-memory, knowledge-management |
| [kotlin-mcp-development](../plugins/kotlin-mcp-development/README.md) | Complete toolkit for building Model Context Protocol (MCP) servers in Kotlin using the official io.modelcontextprotocol:kotlin-sdk library. Includes instructions for best practices, a prompt for generating servers, and an expert chat mode for guidance. | 2 items | kotlin, mcp, model-context-protocol, kotlin-multiplatform, server-development, ktor |
| [mcp-m365-copilot](../plugins/mcp-m365-copilot/README.md) | Comprehensive collection for building declarative agents with Model Context Protocol integration for Microsoft 365 Copilot | 4 items | mcp, m365-copilot, declarative-agents, api-plugins, model-context-protocol, adaptive-cards |
| [napkin](../plugins/napkin/README.md) | Visual whiteboard collaboration for Copilot CLI. Opens an interactive whiteboard in your browser where you can draw, sketch, and add sticky notes — then share everything back with Copilot. Copilot sees your drawings and responds with analysis, suggestions, and ideas. | 1 items | whiteboard, visual, collaboration, brainstorming, non-technical, drawing, sticky-notes, accessibility, copilot-cli, ux |
diff --git a/docs/README.skills.md b/docs/README.skills.md
index a18e2d489..a3a64f7b3 100644
--- a/docs/README.skills.md
+++ b/docs/README.skills.md
@@ -250,6 +250,7 @@ See [CONTRIBUTING.md](../CONTRIBUTING.md#adding-skills) for guidelines on how to
| [java-springboot](../skills/java-springboot/SKILL.md)
`gh skills install github/awesome-copilot java-springboot` | Get best practices for developing applications with Spring Boot. | None |
| [javascript-typescript-jest](../skills/javascript-typescript-jest/SKILL.md)
`gh skills install github/awesome-copilot javascript-typescript-jest` | Best practices for writing JavaScript/TypeScript tests using Jest, including mocking strategies, test structure, and common patterns. | None |
| [javax-to-jakarta-migration](../skills/javax-to-jakarta-migration/SKILL.md)
`gh skills install github/awesome-copilot javax-to-jakarta-migration` | Migrate Java code from javax.* to jakarta.* namespace. Use when upgrading to Tomcat 11, Jakarta EE 10, or when javax imports are detected in the codebase. | None |
+| [juvina-memory](../skills/juvina-memory/SKILL.md)
`gh skills install github/awesome-copilot juvina-memory` | Encode team decisions and recall project knowledge from a persistent Juvina memory environment via the juvina_recall and juvina_encode MCP tools. Use when the answer may predate this session, span other repositories, or concern why a decision was made. | None |
| [kotlin-mcp-server-generator](../skills/kotlin-mcp-server-generator/SKILL.md)
`gh skills install github/awesome-copilot kotlin-mcp-server-generator` | Generate a complete Kotlin MCP server project with proper structure, dependencies, and implementation using the official io.modelcontextprotocol:kotlin-sdk library. | None |
| [kotlin-springboot](../skills/kotlin-springboot/SKILL.md)
`gh skills install github/awesome-copilot kotlin-springboot` | Get best practices for developing applications with Spring Boot and Kotlin. | None |
| [landing-page-conversion-audit](../skills/landing-page-conversion-audit/SKILL.md)
`gh skills install github/awesome-copilot landing-page-conversion-audit` | Audit a landing page, sales page or checkout page for conversion leaks and return a fix list ordered by expected revenue impact. Use when asked to review, critique or improve a landing page, sales page, opt-in page, product page or checkout flow, when conversion rate is low, when paid traffic is not converting, or when someone asks "why isn't this page converting" or wants a CRO / landing page review. | None |
diff --git a/plugins/juvina-memory/README.md b/plugins/juvina-memory/README.md
new file mode 100644
index 000000000..02b95409d
--- /dev/null
+++ b/plugins/juvina-memory/README.md
@@ -0,0 +1,33 @@
+# Juvina Memory Plugin
+
+Persistent, team-shared memory for Copilot agents — encode decisions and recall project knowledge across repositories, sessions, and time via the Juvina memory engine's MCP tools.
+
+## Installation
+
+```bash
+# Using Copilot CLI
+copilot plugin install juvina-memory@awesome-copilot
+```
+
+## What's Included
+
+### Skills
+
+| Skill | Description |
+|-------|-------------|
+| `juvina-memory` | Encode team decisions and recall project knowledge from a persistent Juvina memory environment via the `juvina_recall` and `juvina_encode` MCP tools |
+
+## Requirements
+
+This plugin requires a running Juvina memory engine exposing the `juvina_recall` and
+`juvina_encode` MCP tools. The engine installs via the free Juvina Light VS Code
+extension ([juvina.ai](https://juvina.ai)) and runs locally: memory is stored locally on
+the machine running the engine, and model calls go to your own endpoint on your own key.
+
+## Source
+
+This plugin is part of [Awesome Copilot](https://github.com/github/awesome-copilot), a community-driven collection of GitHub Copilot extensions.
+
+## License
+
+MIT
diff --git a/plugins/juvina-memory/plugin.json b/plugins/juvina-memory/plugin.json
new file mode 100644
index 000000000..2c9c8dc80
--- /dev/null
+++ b/plugins/juvina-memory/plugin.json
@@ -0,0 +1,27 @@
+{
+ "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
+ "name": "juvina-memory",
+ "description": "Persistent, team-shared memory for Copilot agents — encode decisions and recall project knowledge across repositories, sessions, and time via the Juvina memory engine's MCP tools.",
+ "version": "1.0.0",
+ "author": {
+ "name": "juvina.ai",
+ "url": "https://juvina.ai"
+ },
+ "repository": "https://github.com/github/awesome-copilot",
+ "license": "MIT",
+ "keywords": [
+ "memory",
+ "persistent-memory",
+ "team-memory",
+ "mcp",
+ "agent-memory",
+ "knowledge-management"
+ ],
+ "extensions": {
+ "com.github.awesome-copilot": {
+ "skills": [
+ "./skills/juvina-memory/"
+ ]
+ }
+ }
+}
diff --git a/skills/juvina-memory/SKILL.md b/skills/juvina-memory/SKILL.md
new file mode 100644
index 000000000..786acacd3
--- /dev/null
+++ b/skills/juvina-memory/SKILL.md
@@ -0,0 +1,54 @@
+---
+name: juvina-memory
+description: Encode team decisions and recall project knowledge from a persistent Juvina memory environment via the juvina_recall and juvina_encode MCP tools. Use when the answer may predate this session, span other repositories, or concern why a decision was made.
+compatibility: Requires a running Juvina memory engine and its MCP tools (juvina_recall, juvina_encode). The engine installs via the free Juvina Light VS Code extension (juvina.ai) and runs locally.
+metadata:
+ author: juvina.ai
+ version: "1.0"
+---
+
+# Juvina Memory
+
+This skill connects the agent to a Juvina engine — persistent, associative memory that
+survives context resets, session ends, and time. Memory is shared per environment, so a
+team pointing at one environment shares one memory.
+
+## Setup
+
+The Juvina engine installs via the free Juvina Light VS Code extension
+([juvina.ai](https://juvina.ai)), which registers the `juvina_recall` and `juvina_encode`
+MCP tools. Memory is stored locally on the machine running the engine; model calls go to
+your own endpoint on your own key. Team configurations point multiple agents at a shared
+environment.
+
+## When to recall
+
+Call the `juvina_recall` MCP tool BEFORE answering when:
+
+- the question concerns decisions, rationale, or history ("why did we…", "who decided…",
+ "what happened when…")
+- the answer may predate the current session or live in another repository
+- the user references past work you have no context for
+
+Query in natural language, wide rather than narrow. If recall returns nothing relevant,
+say so — do not fill the gap from the current context alone.
+
+## When to encode
+
+Call the `juvina_encode` MCP tool AFTER significant moments:
+
+- a decision is made (record the decision AND the reasoning)
+- a bug's root cause is found (record cause and fix)
+- a convention or constraint is established
+
+Write full sentences with names, dates, and the why — rich memories recall well; terse
+notes recall poorly.
+
+## Notes
+
+- Both tools take an `environment` name — your team's Juvina configuration provides it.
+ Juvina Light local installs always use `local`. Never invent an environment name.
+- One topic per encode call. Dates in DD/MM/YYYY.
+- The memory is durable and shared: do not encode secrets, credentials, or personal data.
+- Recall constructs answers from woven facts across sessions — treat returned memory as
+ team knowledge, and attribute it as such.