1. Conduid
  2. Blockchain
  3. JD.SemanticKernel.Extensions.Plugins
MCP server · Blockchain

JD.SemanticKernel.Extensions.Plugins

Load Claude Code .claude-plugin directories into Semantic Kernel. Orchestrates skill, hook, and MCP server loading from plugin manifests with dependency resolution.

Unclaimed blockchain
34Low

Scored 7 months ago · breakdown

About JD.SemanticKernel.Extensions.Plugins

JD.SemanticKernel.Extensions.Plugins is an MCP server published by JerrettDavis in the Blockchain category: load Claude Code .claude-plugin directories into Semantic Kernel. Orchestrates skill, hook, and MCP server loading from plugin manifests with dependency resolution.

The repository has 1 stars and 0 forks, with the last commit 7 days ago. Recent commit activity is the strongest signal that reported issues will get attention.

Install

From source
git clone https://github.com/JerrettDavis/JD.SemanticKernel.Extensions

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

✦

Ask AI about JD.SemanticKernel.Extensions.Plugins

Powered by Claude · Grounded in docs

I know everything about JD.SemanticKernel.Extensions.Plugins. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

  • ✓README presentThe repository ships documentation.

5 checks have not been run yet.

README

JD.SemanticKernel.Extensions

CI NuGet

An extensible toolkit for Microsoft Semantic Kernel that bridges Claude Code skills, plugins, and hooks into SK applications, and adds context management primitives (compaction, semantic memory) for building production-grade AI agents.

Features

  • 📝 Skills — Parse SKILL.md files (YAML frontmatter + markdown) into KernelFunction or PromptTemplate
  • 🔗 Hooks — Map Claude Code lifecycle events (PreToolUse, PostToolUse, etc.) to SK's IFunctionInvocationFilter and IPromptRenderFilter
  • 📦 Plugins — Load .claude-plugin/ directories with skills, hooks, and MCP configs
  • 🗜️ Compaction — Transparent context window management with configurable triggers and hierarchical summarization
  • 🧠 Memory — Semantic memory with MMR reranking, temporal decay scoring, and query expansion
  • 💾 Memory.Sqlite — SQLite-backed persistent memory storage
  • 🎯 Fluent API — UseSkills(), UseHooks(), UsePlugins(), AddCompaction(), AddSemanticMemory() extension methods

Packages

Package Description NuGet
JD.SemanticKernel.Extensions.Skills SKILL.md → KernelFunction/PromptTemplate NuGet
JD.SemanticKernel.Extensions.Hooks Claude Code hooks → SK filters NuGet
JD.SemanticKernel.Extensions.Plugins Plugin directory loader NuGet
JD.SemanticKernel.Extensions.Compaction Context window compaction middleware NuGet
JD.SemanticKernel.Extensions.Memory Semantic memory with MMR + temporal decay NuGet
JD.SemanticKernel.Extensions.Memory.Sqlite SQLite memory backend NuGet
JD.SemanticKernel.Extensions Meta-package (all of the above) NuGet

Quick Start

dotnet add package JD.SemanticKernel.Extensions

Load Skills

using JD.SemanticKernel.Extensions.Skills;

var kernel = Kernel.CreateBuilder()
    .AddOpenAIChatCompletion("gpt-4o", apiKey)
    .UseSkills("./skills/")   // Scans for SKILL.md files
    .Build();

A SKILL.md file follows the Claude Code / AgentSkills.io format:

---
name: code-reviewer
description: Reviews code for quality issues
allowed-tools: [Read, Grep, Glob]
---
# Code Reviewer

Review the provided code for:
1. Bug risks
2. Security vulnerabilities
3. Performance issues

Input: $ARGUMENTS

Configure Hooks

using JD.SemanticKernel.Extensions.Hooks;

var kernel = Kernel.CreateBuilder()
    .AddOpenAIChatCompletion("gpt-4o", apiKey)
    .UseHooks(hooks =>
    {
        hooks.OnFunctionInvoking("Bash|Execute", async ctx =>
        {
            Console.WriteLine($"Validating: {ctx.Function.Name}");
        });
        hooks.OnFunctionInvoked("Write|Edit", async ctx =>
        {
            Console.WriteLine($"Post-edit hook: {ctx.Function.Name}");
        });
        hooks.OnPromptRendering(async ctx =>
        {
            Console.WriteLine("Prompt is about to render...");
        });
    })
    .Build();

Load Plugins

using JD.SemanticKernel.Extensions.Plugins;

var kernel = Kernel.CreateBuilder()
    .AddOpenAIChatCompletion("gpt-4o", apiKey)
    .UsePlugins("./my-plugin/")         // Single plugin directory
    .UseAllPlugins("./plugins/")        // All plugins in directory
    .Build();

Plugin directories follow the .claude-plugin/ convention:

my-plugin/
├── .claude-plugin/
│   └── plugin.json          # Manifest
├── skills/
│   └── reviewer/SKILL.md    # Skills
├── hooks/
│   └── hooks.json           # Hooks
└── .mcp.json                # MCP servers (future)

Meta-Package (All-in-One)

using JD.SemanticKernel.Extensions;

var kernel = Kernel.CreateBuilder()
    .AddOpenAIChatCompletion("gpt-4o", apiKey)
    .AddClaudeCodeSkills("./skills/")
    .AddClaudeCodePlugin("./my-plugin/")
    .AddClaudeCodeHooks(hooks => hooks.OnFunctionInvoking(".*", _ => Task.CompletedTask))
    .Build();

Context Compaction

Automatically compress chat history when it grows too large, preserving key context while staying within token limits.

using JD.SemanticKernel.Extensions.Compaction;

var kernel = Kernel.CreateBuilder()
    .AddOpenAIChatCompletion("gpt-4o", apiKey)
    .Build();

// Register compaction as transparent middleware
kernel.Services.AddCompaction(options =>
{
    options.TriggerMode = CompactionTriggerMode.ContextPercentage;
    options.Threshold = 0.70;                  // Compact at 70% of context window
    options.MaxContextWindowTokens = 128_000;  // Model's context limit
    options.PreserveLastMessages = 10;         // Always keep recent messages
    options.MinMessagesBeforeCompaction = 5;   // Don't compact short conversations
});

Trigger modes:

  • TokenThreshold — Compact when estimated tokens exceed an absolute count
  • ContextPercentage — Compact when usage exceeds a percentage of the context window

Token estimation:

var tokens = TokenEstimator.EstimateTokens("Hello world");          // ~2 tokens
var historyTokens = TokenEstimator.EstimateTokens(chatHistory);     // Includes overhead

Semantic Memory

Store, search, and retrieve context-relevant information with embedding-based similarity, MMR diversity reranking, and temporal decay scoring.

using JD.SemanticKernel.Extensions.Memory;

// Register with in-memory backend
kernel.Services.AddSemanticMemory(options =>
{
    options.DefaultSearchOptions = new MemorySearchOptions
    {
        TopK = 10,
        MinRelevanceScore = 0.7,
        UseMmrReranking = true,
        MmrLambda = 0.7,           // Balance relevance vs diversity
        UseTemporalDecay = true,
        TemporalDecayRate = 0.01,
    };
});

SQLite persistence:

using JD.SemanticKernel.Extensions.Memory.Sqlite;

kernel.Services.AddSqliteMemoryBackend("Data Source=memory.db");

Key capabilities:

  • MMR reranking — Maximal Marginal Relevance for diverse search results
  • Temporal decay — Recent memories rank higher with configurable decay rate
  • Query expansion — Automatically generate alternative queries for broader recall
  • Pluggable backends — InMemoryBackend (default), SqliteMemoryBackend, or implement IMemoryBackend

Hook Event Mapping

Claude Code Event SK Filter
PreToolUse IFunctionInvocationFilter.OnFunctionInvokingAsync
PostToolUse IFunctionInvocationFilter.OnFunctionInvokedAsync
UserPromptSubmit IPromptRenderFilter.OnPromptRenderingAsync
Stop / SubagentStop IAutoFunctionInvocationFilter
SessionStart / SessionEnd IExtensionEventBus (custom)
PreCompact / Notification IExtensionEventBus (custom)

Related Projects

Project Description
JD.SemanticKernel.Connectors.ClaudeCode Claude Code authentication provider for SK
JD.SemanticKernel.Connectors.GitHubCopilot GitHub Copilot authentication provider for SK

Building

dotnet restore
dotnet build
dotnet test

License

MIT © JD

README copy captured when this server was indexed; it may lag the repository. The original is authoritative.

Questions

About JD.SemanticKernel.Extensions.Plugins

How do I install JD.SemanticKernel.Extensions.Plugins?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is JD.SemanticKernel.Extensions.Plugins safe to use with an AI agent?

Its trust score is 34 out of 100 (low). It passes 1 of the 1 static security checks run so far. It has no ConduID identity yet, so agent calls to it are not receipted.

Is JD.SemanticKernel.Extensions.Plugins still maintained?

Yes — the last commit was 7 days ago. The repository has 1 stars and 0 forks.