Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .github/plugin/marketplace.json
Original file line number Diff line number Diff line change
Expand Up @@ -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.",
Expand Down
1 change: 1 addition & 0 deletions docs/README.plugins.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 |
Expand Down
1 change: 1 addition & 0 deletions docs/README.skills.md
Original file line number Diff line number Diff line change
Expand Up @@ -250,6 +250,7 @@ See [CONTRIBUTING.md](../CONTRIBUTING.md#adding-skills) for guidelines on how to
| [java-springboot](../skills/java-springboot/SKILL.md)<br />`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)<br />`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)<br />`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)<br />`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)<br />`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)<br />`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)<br />`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 |
Expand Down
33 changes: 33 additions & 0 deletions plugins/juvina-memory/README.md
Original file line number Diff line number Diff line change
@@ -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
27 changes: 27 additions & 0 deletions plugins/juvina-memory/plugin.json
Original file line number Diff line number Diff line change
@@ -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/"
]
}
}
}
54 changes: 54 additions & 0 deletions skills/juvina-memory/SKILL.md
Original file line number Diff line number Diff line change
@@ -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.
Loading