You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Port the .NET skills-source context change from microsoft/agent-framework#6797 so Go skill sources and provider-level filters can receive invocation-aware context.
This updates the public agent/skills source API to pass a new skills.SourceContext containing the current agent and session, threads that context through skills.NewContextProvider, and adds CacheIsolationKeySelector so cached skill discovery can be isolated per context when needed while preserving the existing shared-cache default. File-based sources were updated to the new signature, the affected skills tests were updated, and the feature comparison doc now reflects the new invocation-aware skills support.
Skills provider caching was always shared across invocations unless disabled entirely.
New behavior/API:
skills.Source and skills.SourceFunc now expose Skills(context.Context, skills.SourceContext) ([]*skills.Skill, error).
skills.ContextProviderOptions.SkillFilter now accepts func(*skills.Skill, skills.SourceContext) bool.
skills.ContextProviderOptions.CacheIsolationKeySelector can opt specific invocations into isolated cache buckets while keeping the default shared-cache behavior.
This breaking change is acceptable for the beta Go SDK because it directly aligns the public skills extension surface with upstream .NET and enables context-aware skill discovery/filtering without redesigning the broader agent lifecycle.
Tests and Examples
Ran go test ./agent/skills/....
Ran go test ./....
Added provider coverage for source-context propagation and cache-isolation behavior.
Updated existing in-memory and file-based skills tests for the new source method signature.
No examples changed; this port updates the underlying public skills extension API rather than an end-user scenario.
Notes
File-based fsskills.Source accepts the new skills.SourceContext but currently ignores it, preserving existing discovery behavior while matching the new public interface.
This was originally intended as a pull request, but GitHub Actions is not permitted to create or approve pull requests in this repository.
The changes have been pushed to branch dotnet-port-api-skills-source-context-20260707-ecc3c8b630fbd621.
To fix the permissions issue, go to Settings → Actions → General and enable Allow GitHub Actions to create and approve pull requests. See also: gh-aw FAQ
Summary
Port the
.NETskills-source context change from microsoft/agent-framework#6797 so Go skill sources and provider-level filters can receive invocation-aware context.This updates the public
agent/skillssource API to pass a newskills.SourceContextcontaining the current agent and session, threads that context throughskills.NewContextProvider, and addsCacheIsolationKeySelectorso cached skill discovery can be isolated per context when needed while preserving the existing shared-cache default. File-based sources were updated to the new signature, the affected skills tests were updated, and the feature comparison doc now reflects the new invocation-aware skills support.Upstream commit: microsoft/agent-framework@09fbccf
Ported .NET PRs
Breaking Changes
Yes.
Old behavior/API:
skills.Sourceandskills.SourceFuncexposedSkills(context.Context) ([]*skills.Skill, error).skills.ContextProviderOptions.SkillFilteracceptedfunc(*skills.Skill) bool.New behavior/API:
skills.Sourceandskills.SourceFuncnow exposeSkills(context.Context, skills.SourceContext) ([]*skills.Skill, error).skills.ContextProviderOptions.SkillFilternow acceptsfunc(*skills.Skill, skills.SourceContext) bool.skills.ContextProviderOptions.CacheIsolationKeySelectorcan opt specific invocations into isolated cache buckets while keeping the default shared-cache behavior.This breaking change is acceptable for the beta Go SDK because it directly aligns the public skills extension surface with upstream
.NETand enables context-aware skill discovery/filtering without redesigning the broader agent lifecycle.Tests and Examples
go test ./agent/skills/....go test ./....Notes
fsskills.Sourceaccepts the newskills.SourceContextbut currently ignores it, preserving existing discovery behavior while matching the new public interface.Partialbecause Go still lacks the class-based/DI-backed skills support present in.NET.Note
This was originally intended as a pull request, but GitHub Actions is not permitted to create or approve pull requests in this repository.
The changes have been pushed to branch
dotnet-port-api-skills-source-context-20260707-ecc3c8b630fbd621.Click here to create the pull request
To fix the permissions issue, go to Settings → Actions → General and enable Allow GitHub Actions to create and approve pull requests. See also: gh-aw FAQ
Show patch preview (500 of 888 lines)