Msal Client Credentials
AzureAD/microsoft-authentication-library-for-dotnet
Client Credentials Flow for service-to-service (daemon) authentication in MSAL.NET without user involvement
End-to-end session lifecycle management for .NET projects. An agent skill from Resgrid/Core.
$ npx skills add Resgrid/Core --skill session-management -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Resgrid/Core session-management --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/Resgrid/Core.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/session-management .claude/skills/session-management && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "session-management" agent skill from https://github.com/Resgrid/Core/tree/master/.agents/skills/session-management into .claude/skills/session-management/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "session-management", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/Resgrid/Core/tree/master/.agents/skills/session-managementType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add Resgrid/Core --skill session-management -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Resgrid/Core session-management --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Resgrid/Core.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/session-management .agents/skills/session-management && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "session-management" agent skill from https://github.com/Resgrid/Core/tree/master/.agents/skills/session-management into .agents/skills/session-management/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "session-management", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Resgrid/Core --skill session-management -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Resgrid/Core session-management --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Resgrid/Core.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/session-management .cursor/skills/session-management && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "session-management" agent skill from https://github.com/Resgrid/Core/tree/master/.agents/skills/session-management into .cursor/skills/session-management/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "session-management", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/Resgrid/Core.git --path .agents/skills/session-management--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add Resgrid/Core --skill session-management -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Resgrid/Core session-management --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Resgrid/Core.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/session-management .gemini/skills/session-management && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "session-management" agent skill from https://github.com/Resgrid/Core/tree/master/.agents/skills/session-management into .gemini/skills/session-management/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "session-management", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install Resgrid/Core session-managementInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add Resgrid/Core --skill session-management -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Resgrid/Core.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/session-management .github/skills/session-management && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "session-management" agent skill from https://github.com/Resgrid/Core/tree/master/.agents/skills/session-management into .github/skills/session-management/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "session-management", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Resgrid/Core --skill session-management -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Resgrid/Core session-management --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Resgrid/Core.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/session-management .opencode/skills/session-management && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "session-management" agent skill from https://github.com/Resgrid/Core/tree/master/.agents/skills/session-management into .opencode/skills/session-management/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "session-management", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
session-managementEnd-to-end session lifecycle management for .NET projects. An agent skill from Resgrid/Core.
Session Management is an agent skill from Resgrid/Core. End-to-end session lifecycle management for .NET projects. Handles session start (load handoff, MEMORY.md, instincts, detect .NET solution), session end (capture completed work, persist learnings, write handoff), and context preservation across sessions. Load this skill when starting a new session, ending a session, when the user says "new session", "pick up where we left off", "what were we working on", "session start", "session end", "handoff", "context", "resume", or when Codex needs to bootstrap itself in an…
Its SKILL.md is about 3.4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Backend & APIs, covering Authentication. It works with .NET. The repository describes itself as: The Open Source Computer Aided Dispatch (CAD), Personnel, Shift Management, Automatic Vehicle Location (AVL) and Emergency Management Platform that powers Resgrid.com. The licence is Apache-2.0.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit a31015f. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
gitFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Session Management loads about 3.4k tokens when it runs. Until then it costs about 139 tokens; SKILL.md has 510 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from Resgrid/Core at commit a31015f, republished under its Apache-2.0 licence (© Resgrid). 510 words, ~3,376 tokens.
.claude/skills/session-management/SKILL.md (or your agent's skills folder).Sessions start with context, not from scratch — Every session begins by loading three files: .Codex/handoff.md (pending work), MEMORY.md (permanent rules), and .Codex/instincts.md (learned patterns). Then detect the .NET solution so MCP tools are connected. A session that starts blind wastes the first 10 minutes re-discovering what was already known.
Sessions end with capture, never abruptly — When a session ends, three things are captured: what was DONE, what is PENDING, and what was LEARNED. This is non-negotiable. Context lost between sessions is context the user must re-provide, which wastes their time.
Context preservation is a chain — Handoff files pass state session-to-session. MEMORY.md accumulates permanent rules. Instincts track emerging patterns. Git commits preserve code state. Together, these four mechanisms create continuity that no single mechanism can provide alone.
Solution detection enables tooling — .NET MCP tools (get_diagnostics, find_symbol, get_project_graph) require a loaded solution. Detecting the .slnx/.sln file on session start ensures these tools are available from the first prompt, not discovered mid-conversation.
Graceful degradation over hard failure — If no handoff file exists, start clean. If no MEMORY.md exists, offer to create one on first learning. If no solution file is found, work without MCP tools. Never block a session because a context file is missing.
Execute this sequence at the beginning of every session:
STEP 1: Load Handoff
→ Check for .Codex/handoff.md
→ If found: read and summarize pending work
→ If not found: note "No handoff file — starting fresh"
STEP 2: Load Memory
→ Check for MEMORY.md (project root or .Codex/)
→ If found: scan for rules relevant to the likely task
→ If not found: note "No memory file — will create on first learning"
STEP 3: Load Instincts
→ Check for .Codex/instincts.md
→ If found: load instincts at 0.7+ into active context
→ If not found: note "No instincts file — will create on first observation"
STEP 4: Detect .NET Solution
→ Search for .slnx files in current directory
→ If not found, search for .sln files
→ If not found, search parent directories (up to 3 levels)
→ If not found, search child directories (1 level)
→ If found: confirm MCP tools are connected
→ If not found: warn "No solution detected — MCP tools unavailable"
STEP 5: Present Summary
"Session context loaded:
- Last session: [summary from handoff or 'no previous session']
- Pending tasks: [list from handoff or 'none']
- Active rules: [count from MEMORY.md]
- Active instincts: [count at 0.7+]
- Solution: [solution name and path, or 'not detected']
Ready to continue. What would you like to work on?"Execute this sequence when the session is ending:
STEP 1: Review Accomplishments
→ List everything completed this session with file paths
→ Include line numbers for significant changes
STEP 2: Check for Uncommitted Changes
→ Run git status
→ If uncommitted changes exist:
"You have uncommitted changes. Want me to commit before wrapping up?"
→ If clean: note "All changes committed"
STEP 3: Write Handoff
→ Write .Codex/handoff.md using the Handoff File Template (see below)
STEP 4: Extract Learnings
→ Review session for corrections from the user
→ Generalize corrections into rules (via self-correction-loop)
→ Write to MEMORY.md under appropriate category
STEP 5: Update Instincts
→ Review any new patterns observed during the session
→ Update confidence scores in .Codex/instincts.md
→ Promote any instincts that reached 0.9 (via instinct-system)
STEP 6: Confirm
"Session wrapped up:
- Handoff written to .Codex/handoff.md
- [N] learnings added to MEMORY.md
- [N] instincts updated
Next session will pick up right where we left off."Find the .NET solution for MCP tool connectivity:
SEARCH ORDER:
1. Current directory: *.slnx, *.sln
2. Parent directory: *.slnx, *.sln (common in src/ subdirectory layouts)
3. Grandparent directory: *.slnx, *.sln (up to 3 levels)
4. Child directories: */**.slnx, */**.sln (1 level deep)
PREFERENCE:
- .slnx over .sln (modern format)
- If multiple solutions found, prefer the one matching the directory name
- If still ambiguous, list all and ask the user
AFTER DETECTION:
- Confirm MCP connection by running get_project_graph
- If MCP returns "loading", wait briefly and retry (solution may be initializing)
- Cache the solution path for the session — don't re-detect on every tool callFour mechanisms work together to prevent context loss:
FILE SCOPE LIFETIME PURPOSE
.Codex/handoff.md Session Overwritten Pass state between sessions
MEMORY.md Project Permanent Store confirmed rules
.Codex/instincts.md Project Evolving Track emerging patterns
Git commits Code Permanent Preserve code state
FLOW:
Session N ends → writes handoff.md, updates MEMORY.md, updates instincts.md
Session N+1 starts → reads handoff.md, MEMORY.md, instincts.md
Result: zero context loss between sessionsThe standard format for .Codex/handoff.md:
# Session Handoff
> Generated: 2025-07-15 | Branch: feature/order-validation
## Completed
- [x] Added FluentValidation to CreateOrder command
- File: `src/Orders/Features/CreateOrder.cs` (lines 15-35)
- Validator: non-empty CustomerId, at least 1 item, positive quantities
- [x] Fixed N+1 query in GetOrderDetails
- File: `src/Orders/Features/GetOrderDetails.cs` (line 28)
- Added `.Include(o => o.Items)` to the query
## Pending
- [ ] Add validation to UpdateOrder command (same pattern as CreateOrder)
- Start from: `src/Orders/Features/UpdateOrder.cs`
- Reference: CreateOrder validator for the established pattern
- [ ] Run full test suite — last run had 2 unrelated failures in Catalog module
## Learned
- FluentValidation validators must be registered in the module's DI setup
- The N+1 in GetOrderDetails was hidden because test data seeds only 1 item per order
## Context
- Branch: feature/order-validation
- Last commit: "Add CreateOrder validation + tests"
- Uncommitted changes: no
- Solution: src/MyApp.slnxWhen a handoff file exists, present a clear summary and let the user decide:
SESSION RESUME FLOW:
1. Read .Codex/handoff.md
2. Summarize concisely:
"Last session (2025-07-15) on branch feature/order-validation:
- Completed: CreateOrder validation, N+1 fix in GetOrderDetails
- Pending: UpdateOrder validation, test suite failures
Shall I continue with the UpdateOrder validation?"
3. Wait for user direction — never auto-start pending work
4. If the user wants something different, acknowledge and proceed
"Got it, setting aside the pending tasks. What would you like to work on?"When no context files exist (brand new project or first Codex session):
BOOTSTRAP PROTOCOL:
1. No handoff.md → "No previous session found. Starting fresh."
2. No MEMORY.md → "No project memory found. I'll create one when we discover
project-specific rules."
3. No instincts.md → "No instincts file. I'll start tracking patterns
as we work together."
4. Detect solution → Run full detection, report findings
5. Offer convention scan:
"This is our first session. Want me to scan the codebase to learn
the project's conventions? (Uses the convention-learner skill)"When the handoff might be read by a different developer or Codex session:
ENHANCED HANDOFF (add when multiple developers use Codex on the project):
## Decisions Made
| Decision | Choice | Rationale |
|----------|--------|-----------|
| Validation library | FluentValidation | Already used in Catalog module |
| Error format | ProblemDetails | RFC 7807, consistent with API standard |
## Open Questions
- Should we validate product existence at command level or handler level?
- Current: handler level (after DB lookup)
- Trade-off: invalid product IDs return 500 instead of 400
## Dependencies
- Requires FluentValidation 11.x NuGet package (already referenced)
- No new infrastructure dependencies# BAD — ignoring existing context
*Session starts*
Codex: "How can I help you today?"
*User: "Continue the order validation work"*
Codex: "What order validation work? Can you tell me what files to look at?"
*User wastes 5 minutes re-explaining*
# GOOD — loading context automatically
*Session starts*
Codex: "Last session completed CreateOrder validation. Pending: UpdateOrder
validation (start from src/Orders/Features/UpdateOrder.cs).
Shall I continue with that?"# BAD — session ends, context evaporates
User: "Thanks, that's all for today!"
Codex: "You're welcome! Happy to help anytime."
*Next session starts from scratch*
# GOOD — capture before closing
User: "Thanks, that's all for today!"
Codex: "Before we wrap up, let me save our progress to .Codex/handoff.md
so the next session picks up right where we left off."
*Writes handoff, extracts learnings, updates instincts*# BAD — silently overwriting an existing handoff with different pending tasks
*Previous handoff has 3 pending tasks from another developer*
*This session worked on something different*
*Overwrites handoff, losing the other developer's pending tasks*
# GOOD — check before overwriting
"There's an existing handoff from [date] with pending tasks:
- [task 1], [task 2], [task 3]
These appear unrelated to our session. Should I:
a) Merge our session with existing pending tasks
b) Overwrite (their tasks are done or no longer relevant)
c) Skip writing handoff this time"# BAD — trying to use MCP tools without a loaded solution
Codex: "Let me check diagnostics..." *tool fails*
Codex: "Let me find the symbol..." *tool fails*
Codex: "I'll just read the files manually" *misses project-wide context*
# GOOD — detect solution on start, verify MCP connectivity
*Session start*
Codex: "Detected solution at src/MyApp.slnx. MCP tools connected.
Project graph shows 5 projects with 3 test projects."
*All MCP tools work throughout the session*# BAD — handoff file is 500 lines with every detail
## Completed
- Changed line 15 in file A from X to Y because Z and also considered W...
*So long that the next session's context window is wasted on the handoff*
# GOOD — concise, actionable handoff
## Completed
- [x] Added CreateOrder validation (src/Orders/Features/CreateOrder.cs:15-35)
*Reference the diff or commit for full details, don't duplicate them*# BAD — multiple context files with overlapping purposes
.Codex/
handoff.md
handoff-backup.md
session-notes-july.md
session-notes-august.md
todo.md
context.md
*6 files, unclear which is authoritative*
# GOOD — exactly 3 context files, each with a clear purpose
.Codex/
handoff.md ← session-to-session state (overwritten each time)
instincts.md ← emerging patterns (evolving)
MEMORY.md ← permanent rules (append-only, audited)| Scenario | Action |
|---|---|
| Starting a new session | Run full Session Start Protocol (5 steps) |
| User says "wrap up" / "done" / "that's all" | Run full Session End Protocol (6 steps) |
| No handoff.md exists | Start clean, create on first session end |
| No MEMORY.md exists | Offer to create on first correction or learning |
| No solution file found | Warn user, work without MCP tools, suggest creating one |
| Multiple solution files found | List all, ask user which to use |
| Handoff has pending tasks from another dev | Ask before overwriting: merge, overwrite, or skip |
| User wants to resume pending work | Summarize and confirm before starting |
| User wants something different from handoff | Acknowledge, proceed with new task, update handoff at end |
| Session had user corrections | Extract to MEMORY.md before ending |
| Session discovered new patterns | Update instincts.md before ending |
| First-ever session on a project | Run bootstrap protocol, offer convention scan |
| Solution is still loading (MCP returns "loading") | Wait 5 seconds, retry once, then proceed without MCP |
| Mid-session context getting large | Offload research to subagents, keep main context focused |
| User asks "what were we working on?" | Read handoff.md and summarize |
© Resgrid, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .agents/skills/session-management of Resgrid/Core.
Open the folder on GitHubat commit a31015f
Session Management next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Session Management this skillResgrid/Core | 229 | — | ~3.4k | Automated safety check: Pass | Apache-2.0 | |
| Msal Client CredentialsAzureAD/microsoft-authentication-library-for-dotnet | 1.5k | — | ~1.1k | Automated safety check: Pass | MIT | |
| Verify Authendpointsmadeyoga/AuthEndpoints | 121 | — | ~2.6k | Automated safety check: Pass | MIT | |
| Dotnet APInovotnyllc/dotnet-artisan | 233 | — | ~1.6k | Automated safety check: Pass | MIT | |
| .NET Core ExpertJeffallan/claude-skills | 12k | — | ~1.3k | Automated safety check: Pass | MIT | |
| Blazor AuthenticationNethereum/Nethereum | 2.3k | — | ~1.8k | Automated safety check: Pass | MIT |
AzureAD/microsoft-authentication-library-for-dotnet
Client Credentials Flow for service-to-service (daemon) authentication in MSAL.NET without user involvement
madeyoga/AuthEndpoints
Drive the AuthEndpoints HTTP API via the in-repo test host (cookie sessions, Identity bearer, Simple JWT, CSRF, ReAuth).
novotnyllc/dotnet-artisan
Builds ASP.NET Core APIs, EF Core data access, gRPC, SignalR, and backend services with middleware, security (OAuth, JWT, OWASP), resilience, messaging, OpenAPI, .NET Aspire, Semantic Kernel…
Jeffallan/claude-skills
Guides building .NET 8 services with minimal APIs, clean architecture, Entity Framework Core, MediatR CQRS and JWT authentication, with build and test checks.
Nethereum/Nethereum
Implement Sign-In with Ethereum (SIWE / EIP-4361) authentication in Blazor with JWT tokens, session management, and AuthorizeView (.NET/C).
davila7/claude-code-templates
Build ASP.NET Core 8+ backend services with EF Core, auth, background jobs, and production API patterns.
Resgrid/Core
Focus code review effort on the 20% of code that causes 80% of issues.
Resgrid/Core
Autonomous iteration loops for .NET development: build-fix, test-fix, refactor, and scaffold loops.
Resgrid/Core
Auto-document insights and discoveries during development sessions.
Resgrid/Core
Observability for .NET 10 applications. An agent skill from Resgrid/Core.
Resgrid/Core
Strategic Codex model selection for .NET development workflows.
Resgrid/Core
Strategic Claude model selection for .NET development workflows.
Works with
Categories
End-to-end session lifecycle management for .NET projects. An agent skill from Resgrid/Core. Session Management is an agent skill from Resgrid/Core.NET projects.
Session Management fits situations like: says new session; pick up where we left off; what were we working on; Codex needs to bootstrap itself in an unfamiliar project.
Run `npx skills add Resgrid/Core --skill session-management -a claude-code`. Or copy the skill folder (.agents/skills/session-management in Resgrid/Core) into .claude/skills/session-management in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Resgrid/Core --skill session-management -a codex`. Or copy the skill folder (.agents/skills/session-management in Resgrid/Core) into .agents/skills/session-management in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Resgrid/Core --skill session-management -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/session-management, .gemini/skills/session-management, .github/skills/session-management and .opencode/skills/session-management in your project.
Going by SKILL.md and its folder, Session Management needs the command-line tools its instructions call (git).
SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Session Management is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.4k tokens (SKILL.md is roughly 14k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Session Management: Msal Client Credentials (AzureAD/microsoft-authentication-library-for-dotnet, 1.5k stars), Verify Authendpoints (madeyoga/AuthEndpoints, 121 stars), Dotnet API (novotnyllc/dotnet-artisan, 233 stars) and .NET Core Expert (Jeffallan/claude-skills, 12k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Resgrid (a GitHub organization) maintains it in Resgrid/Core, which has 229 GitHub stars. The repository holds 23 skills in this directory. The repository was last updated on October 7, 2026.
Source: Resgrid/Core on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.