Ascentic.SkillKit
1.0.4
dotnet tool install --global Ascentic.SkillKit --version 1.0.4
dotnet new tool-manifest
dotnet tool install --local Ascentic.SkillKit --version 1.0.4
#tool dotnet:?package=Ascentic.SkillKit&version=1.0.4
nuke :add-package Ascentic.SkillKit --version 1.0.4
Ascentic.SkillKit
A generic dotnet tool that installs AI skills and agents into your projects. Works with any AI assistant (Claude, ChatGPT, GitHub Copilot, etc.) by creating a customizable folder structure.
Install from NuGet
dotnet tool install --global Ascentic.SkillKit
Quick Start
# Install all skills & agents into .claude directory
skill-kit init .claude
# Install only Clean Architecture skills into .ai directory
skill-kit init .ai --profile cleanarch
# List all available skills and agents
skill-kit list
Commands
Core Commands
init - Initialize skills & agents folder
Install skills and agents into your project with a custom directory name.
# Install all skills & agents into .claude directory
skill-kit init .claude
# Install specific profile into .ai directory
skill-kit init .ai --profile cleanarch
skill-kit init .skills --profile vertslice
skill-kit init .copilot --profile modmonolith
# Target specific directory
skill-kit init .claude --output /path/to/project
# Force overwrite existing folder
skill-kit init .claude --force
Arguments:
directory- Directory name for skills & agents (e.g., .claude, .ai, .skills) - REQUIRED
Options:
--output, -o- Target directory (defaults to current directory)--profile, -p- Architecture profile:all,cleanarch,vertslice,modmonolith--force, -f- Overwrite existing folder
create-doc - Create claude.md documentation file
Generate a claude.md file for your project.
# Create claude.md at the same level as .claude directory (sibling - default)
skill-kit create-doc .claude
# Create claude.md inside the .claude directory
skill-kit create-doc .claude --location inside
# Create in specific directory
skill-kit create-doc .ai --output /path/to/project
# Force overwrite existing file
skill-kit create-doc .claude --force
# Combine options
skill-kit create-doc .claude -l inside -o /path/to/project -f
Arguments:
directory- Directory name containing skills & agents (e.g., .claude, .ai) - REQUIRED
Options:
--location, -l- Where to place claude.md:sibling(same level as directory, default) orinside(within directory)--output, -o- Target directory (defaults to current directory)--force, -f- Overwrite existing claude.md if present
Location Options Explained:
| Location | File Path | Use Case |
|---|---|---|
sibling (default) |
project/claude.md |
Documentation visible at project root, easy to discover |
inside |
project/.claude/claude.md |
Self-contained setup, all AI files in one directory |
Sibling Location (Default):
your-project/
├── .claude/
│ ├── skills/
│ └── agents/
├── claude.md ← Created here
└── README.md
Inside Location:
your-project/
├── .claude/
│ ├── skills/
│ ├── agents/
│ └── claude.md ← Created here
└── README.md
Generated Content Includes:
- Project overview and structure
- Skills documentation links
- Agents documentation links
- Usage guidelines and best practices
- Resource references
When to Use Each Location:
Use sibling (default) when:
- You want documentation easily discoverable at project root
- Following common project conventions
- Working on open source projects
- Team expects docs at top level
Use inside when:
- You prefer a self-contained AI setup
- Project root is already crowded
- Packaging the directory for distribution
- Want to keep AI documentation private/internal
list - List available skills and agents
Display all skills and agents grouped by architecture profile.
skill-kit list
update - Update existing folder
Update your folder with latest skills and agents.
# Merge mode: add new items only (default)
skill-kit update .claude
# Overwrite mode: replace all matching items
skill-kit update .ai --overwrite
# Update specific profile
skill-kit update .claude --profile cleanarch
# Update in specific directory
skill-kit update .claude --output /path/to/project
Arguments:
directory- Directory name containing skills & agents - REQUIRED
Options:
--output, -o- Target directory--merge, -m- Keep existing files, only add new ones (default)--overwrite- Replace all matching skills/agents with latest versions--profile, -p- Architecture profile to update
MCP Server Commands
Transform your static skills folder into an active, intelligent "Memory Bank" and architectural orchestrator by connecting skill-kit directly to AI tools (like Claude Code) via the Model Context Protocol (MCP).
mcp setup - Configure AI Integration
Generate a project-level .mcp.json file that automatically connects your skill-kit skills and project memory to Claude Code.
# Setup MCP connection for Claude Code referencing the .claude directory
skill-kit mcp setup .claude
# Target a specific external directory
skill-kit mcp setup .claude --output /path/to/project
# Overwrite existing .mcp.json file
skill-kit mcp setup .claude --force
What this enables for your AI:
- Dynamic Memory: Claude can actively write (
memory_store) and read (memory_search) architectural decisions specific to your project, so it automatically remembers your rules tomorrow. - Skill Awareness: Claude natively lists installed skills (
skill_list) and fetches your strict scaffold instructions instantly (knowledge_read) instead of hallucinating.
mcp start - Start the MCP Server
Typically executed automatically by your AI assistant using the generated .mcp.json file. It spins up the skill-kit JSON-RPC server over standard input/output.
# Start the MCP server explicitly (blocks terminal)
skill-kit mcp start .claude
Management Commands
add - Add specific skills or agents
Add individual skills or agents to existing folder.
# Add single skill
skill-kit add .claude --skill dotnet-cleanarch-ddd-api-create-endpoint
# Add multiple skills
skill-kit add .ai --skill skill1 --skill skill2
# Add agent
skill-kit add .claude --agent code-reviewer
# Add to specific directory
skill-kit add .claude --skill skill-name --output /path/to/project
Arguments:
directory- Directory name containing skills & agents - REQUIRED
Options:
--skill, -s- Skill name(s) to add--agent, -a- Agent name(s) to add--output, -o- Target directory
remove - Remove specific skills or agents
Remove skills or agents from folder.
# Remove skill
skill-kit remove .claude --skill dotnet-cleanarch-ddd-api-create-endpoint
# Remove multiple items
skill-kit remove .ai --skill skill1 --skill skill2 --agent agent1
# Remove from specific directory
skill-kit remove .claude --skill skill-name --output /path/to/project
Arguments:
directory- Directory name containing skills & agents - REQUIRED
Options:
--skill, -s- Skill name(s) to remove--agent, -a- Agent name(s) to remove--output, -o- Target directory
Information Commands
info - Show detailed information
Display detailed information about a specific skill or agent.
# Get skill info
skill-kit info --skill dotnet-cleanarch-ddd-api-create-endpoint
# Get agent info
skill-kit info --agent cleanarch-ddd-guardian
Options:
--skill, -s- Skill name to get info about--agent, -a- Agent name to get info about
search - Search for skills and agents
Search for skills and agents by keyword.
# Search by keyword
skill-kit search "repository"
skill-kit search "api endpoint"
skill-kit search "validation"
diff - Compare local with registry
Compare your local folder with the registry to see differences.
# Show diff for .claude directory
skill-kit diff .claude
# Show diff for specific directory
skill-kit diff .ai --output /path/to/project
Arguments:
directory- Directory name containing skills & agents - REQUIRED
Shows:
- Installed skills/agents from registry
- Missing items (in registry but not local)
- Custom items (local but not in registry)
Options:
--output, -o- Target directory
Validation & Diagnostics
validate - Validate folder
Check folder structure and validate all skills and agents.
# Validate .claude directory
skill-kit validate .claude
# Validate specific directory
skill-kit validate .ai --output /path/to/project
Arguments:
directory- Directory name containing skills & agents - REQUIRED
Checks:
- Missing required files (skill.md, agent.md)
- Empty files
- Folder structure
Options:
--output, -o- Target directory
doctor - Run health check
Run diagnostics to check tool installation health.
skill-kit doctor
Checks:
- Tool version
- .NET runtime version
- Embedded resources integrity
- Skill registry
- File system permissions
Import/Export Commands
export - Export folder
Export your folder as a shareable zip package.
# Export from .claude directory
skill-kit export .claude
# Export with custom output name
skill-kit export .ai --output my-skills.zip
# Export from specific directory
skill-kit export .claude --source /path/to/project --output skills.zip
Arguments:
directory- Directory name containing skills & agents - REQUIRED
Options:
--source, -s- Source directory containing the folder--output, -o- Output zip file path (defaults to skills-export.zip)
import - Import skills and agents
Import skills and agents from a zip file or URL.
# Import from local zip file to .claude
skill-kit import .claude --source custom-skills.zip
# Import from URL to .ai
skill-kit import .ai --url https://example.com/skills.zip
# Import to specific directory
skill-kit import .claude --source skills.zip --output /path/to/project
Arguments:
directory- Directory name for skills & agents - REQUIRED
Options:
--source, -s- Path to zip file--url, -u- URL to download zip file from--output, -o- Target directory
Profiles
| Profile | Includes |
|---|---|
cleanarch |
Clean Architecture / DDD skills + guardians |
vertslice |
Vertical Slice skills + vertslice-guardian |
modmonolith |
Modular Monolith skills |
all |
Everything (default) |
Output Structure
your-project/
└── .claude/ (or .ai, .skills, etc.)
├── skills/
│ ├── dotnet-cleanarch-ddd-api-create-endpoint/
│ │ └── skill.md
│ ├── dotnet-vertslice-feature-create-slice/
│ │ └── skill.md
│ └── ... (26 skills total)
└── agents/
├── cleanarch-ddd-guardian/
│ └── agent.md
├── code-reviewer/
│ └── agent.md
└── ... (5 agents total)
Common Workflows
Initial Setup
# Install tool
dotnet tool install --global Ascentic.SkillKit
# Initialize project with Clean Architecture skills
skill-kit init .claude --profile cleanarch
# Create documentation file at project root
skill-kit create-doc .claude
Creating Documentation
# Standard setup - documentation at project root (recommended for most projects)
skill-kit create-doc .claude
# Self-contained setup - documentation inside .claude directory
skill-kit create-doc .claude --location inside
# Update existing documentation
skill-kit create-doc .claude --force
# Create for different AI directory
skill-kit create-doc .ai --location inside
# Create for project in different location
skill-kit create-doc .claude --output /path/to/project
Complete Workflow with Documentation:
# 1. Initialize with specific profile
skill-kit init .claude --profile cleanarch
# 2. Create documentation
skill-kit create-doc .claude
# 3. Validate setup
skill-kit validate .claude
# 4. View what's installed
skill-kit list
Adding More Skills Later
# Add a specific skill
claude-kit add --skill dotnet-cleanarch-ddd-domain-create-aggregate
# Add multiple skills
claude-kit add --skill skill1 --skill skill2 --agent code-reviewer
Keeping Skills Updated
# Check what's different
claude-kit diff
# Update to latest (merge mode - keeps custom skills)
claude-kit update
# Force update everything
claude-kit update --overwrite
Sharing Custom Skills
# Export your customized .claude folder
claude-kit export --output my-team-skills.zip
# Team member imports it
claude-kit import --source my-team-skills.zip
Managing Documentation
# Create initial documentation
skill-kit create-doc .claude
# Update documentation after adding new skills
skill-kit add .claude --skill new-skill-name
skill-kit create-doc .claude --force
# Switch documentation location
skill-kit create-doc .claude --location inside --force
# Create documentation for multiple AI directories
skill-kit create-doc .claude
skill-kit create-doc .copilot
skill-kit create-doc .ai
Multi-Project Setup
# Setup for monorepo with multiple services
for service in api web worker; do
skill-kit init .claude --output ./services/$service --profile cleanarch
skill-kit create-doc .claude --output ./services/$service --location inside
done
# Setup for different AI tools in same project
skill-kit init .claude --profile cleanarch
skill-kit create-doc .claude
skill-kit init .copilot --profile vertslice
skill-kit create-doc .copilot
Troubleshooting
# Check tool health
claude-kit doctor
# Validate your .claude folder
claude-kit validate
# Search for a specific skill
claude-kit search "repository"
# Get detailed info about a skill
claude-kit info --skill dotnet-cleanarch-ddd-api-create-endpoint
Real-World Examples
Example 1: New Clean Architecture Project
# Setup
dotnet tool install --global Ascentic.SkillKit
cd my-new-project
# Initialize with Clean Architecture skills
skill-kit init .claude --profile cleanarch
# Create documentation at project root
skill-kit create-doc .claude
# Validate everything is correct
skill-kit validate .claude
# Result: Ready to use AI skills with documentation
Example 2: Existing Project - Add AI Capabilities
# Navigate to existing project
cd existing-project
# Add all skills and agents
skill-kit init .ai --profile all
# Create documentation inside .ai directory (keep root clean)
skill-kit create-doc .ai --location inside
# Check what was installed
skill-kit list
Example 3: Team Collaboration
# Team lead: Setup and export
skill-kit init .claude --profile cleanarch
skill-kit add .claude --skill custom-skill-1 --skill custom-skill-2
skill-kit create-doc .claude
skill-kit export .claude --output team-ai-setup.zip
# Team member: Import and use
skill-kit import .claude --source team-ai-setup.zip
# Documentation is already included in the export!
Example 4: Multiple Architecture Styles
# Setup different profiles for comparison
skill-kit init .cleanarch --profile cleanarch
skill-kit create-doc .cleanarch
skill-kit init .vertslice --profile vertslice
skill-kit create-doc .vertslice
skill-kit init .modmonolith --profile modmonolith
skill-kit create-doc .modmonolith
# Compare and choose the best fit for your project
Example 5: Microservices Architecture
# Setup each microservice with its own AI skills
services=("auth" "users" "payments" "notifications")
for service in "${services[@]}"; do
echo "Setting up $service..."
skill-kit init .claude --output ./services/$service --profile cleanarch
skill-kit create-doc .claude --output ./services/$service --location inside
done
# Each service now has self-contained AI documentation
Example 6: Continuous Updates
# Initial setup
skill-kit init .claude --profile cleanarch
skill-kit create-doc .claude
# Later: Check for updates
skill-kit diff .claude
# Update skills (keeps custom additions)
skill-kit update .claude
# Refresh documentation
skill-kit create-doc .claude --force
# Validate everything still works
skill-kit validate .claude
Update / Uninstall
# Update to latest version
dotnet tool update --global Ascentic.SkillKit
# Uninstall
dotnet tool uninstall --global Ascentic.SkillKit
Development Guide (Maintaining This Tool)
Prerequisites
- .NET 9 SDK
- PowerShell (Windows) or Bash (Mac/Linux)
Project Structure
Ascentic.SkillKit/
├── .claude/ ← Your actual skills & agents live here
│ ├── skills/
│ │ ├── dotnet-cleanarch-ddd-api-create-endpoint/
│ │ │ └── skill.md (+ any subdirs)
│ │ └── ...
│ └── agents/
│ ├── cleanarch-ddd-guardian/
│ │ └── agent.md
│ └── ...
├── src/Ascentic.SkillKit/
│ ├── Ascentic.SkillKit.csproj
│ ├── Program.cs
│ ├── Commands/
│ │ ├── InitCommand.cs
│ │ ├── ListCommand.cs
│ │ ├── UpdateCommand.cs
│ │ └── ... (all command files)
│ ├── Services/
│ │ ├── ScaffolderService.cs
│ │ ├── SkillRegistry.cs
│ │ └── ... (all service files)
│ └── Resources/
│ └── claude.zip ← Generated by pack-resources script
├── scripts/
│ ├── pack-resources.ps1 ← Windows
│ └── pack-resources.sh ← Mac/Linux
└── Ascentic.SkillKit.sln
Step 1 — Edit Your Skills/Agents
All content lives in .claude/ at the repo root. Edit files there freely.
If you add or remove a skill/agent folder, also update SkillRegistry.cs.
Step 2 — Pack Resources
# Windows
pwsh scripts\pack-resources.ps1
# Mac/Linux
./scripts/pack-resources.sh
This zips .claude/ → src/Ascentic.SkillKit/Resources/claude.zip
Step 3 — Build & Test Locally
dotnet build
dotnet pack src/Ascentic.SkillKit --configuration Release --output ./nupkg
dotnet tool uninstall --global Ascentic.SkillKit
dotnet tool install --global --add-source ./nupkg Ascentic.SkillKit
# Test commands
skill-kit init .claude --output /tmp/test-project
skill-kit list
skill-kit doctor
Step 4 — Publish to NuGet
Push a version tag — GitHub Actions handles the rest:
git tag v1.0.1
git push origin v1.0.1
Add NUGET_API_KEY to your GitHub repo secrets first.
License
MIT
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
This package has no dependencies.
v1.0.0 - Initial release with 12 commands:
- Core: init, list, update
- Management: add, remove
- Info: info, search, diff
- Validation: validate, doctor
- Import/Export: export, import