Skip to content

V0.1.0/init skills#1

Merged
gimlichael merged 57 commits intomainfrom
v0.1.0/init-skills
Mar 15, 2026
Merged

V0.1.0/init skills#1
gimlichael merged 57 commits intomainfrom
v0.1.0/init-skills

Conversation

@gimlichael
Copy link
Copy Markdown
Member

This pull request introduces comprehensive repository guidelines for AI agent skill development, adds clear instructions for contributors, and establishes licensing for the project. The changes aim to standardize skill structure, improve sync practices, enforce best practices, and clarify legal terms.

Repository and agent skill guidelines:

  • Added AGENTS.md with detailed repository-level rules for AI agents, covering eval isolation, git identity, skill creation, third-party skill handling, sync requirements, directory structure, template handling, dynamic defaults, commit discipline, README sync, user input UX, and conventions from Anthropic's skill authoring guide.

Contributor instructions and skill structure:

  • Added CONTRIBUTING.md with guidance on skill structure, naming, description writing, evals, dynamic defaults, and submission checklist to help contributors create and maintain high-quality skills.

Legal and licensing:

  • Added LICENSE file specifying the MIT License for the project, granting broad rights to use, modify, and distribute the software.

gimlichael and others added 30 commits March 10, 2026 22:42
Add auto-approval mode (yolo/auto), pre-commit classification step,
mixed-scope guard, docs separation rule, rename vs removal distinction,
and commit-message validation. Workflow expanded from 5 to 6 steps.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
aicia-bot and others added 20 commits March 14, 2026 18:46
The commit body is now documented as an optional paragraph after the
subject line, separated by a blank line. Adds guidance on when to include
it, how to format it (wrap at 72 chars), and updated examples showing
both subject-only and subject+body styles.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Step 2 now separates environment/config from test logic as distinct
categories. Step 3 adds semantic intent splitting rules: files with
different rationales get separate commits even when only two files
changed. Adds commit body guidance for config, test assertion, and
refactor commits.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Commit body is now included by default on every commit, explaining the
why behind the change. Agents no longer judge what is 'obvious' — the
body is always written unless suppressed with 'no-body' keyword.

Supports per-request ('no-body') and session-level ('enable no-body
mode') activation, following the same pattern as yolo/auto.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Update git-visual-commits description to mention commit body default,
no-body opt-out, and semantic intent splitting. Update repository
structure to reflect Anthropic conventions (FORMS.md, assets/, scripts/,
references/). Fix template-driven bullet to reference assets/ folder.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
tmi (too much information) is a fun shorthand for suppressing commit
bodies. Works everywhere no-body works: per-request ('commit this tmi'),
session-level ('enable tmi mode'), and combined ('yolo tmi').

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add mandatory README Sync rule to AGENTS.md: after any skill change,
always check if README.md needs updating. Also add missing tmi keyword
to the commit body bullet in README.md.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Agents were writing vanilla Program.cs from scratch instead of using
the bootstrapper asset templates. Added critical notice at the top of
SKILL.md and rewrote Step 4.4 to explicitly mandate copying from
assets/app/ templates — never generating Program.cs freehand.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Clarify that the skill produces a solution scaffold, not application
logic. Add explicit 'when to use' and 'when NOT to use' guidance so
agents don't invoke the full scaffold for thin placeholder backends.
Prevents overfitting when a user wants a minimal BFF but triggers the
skill by mentioning 'web api'.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Generate .snk files using pure .NET RSACryptoServiceProvider — no Visual
Studio Developer PowerShell or sn.exe required. Defaults to 1024-bit RSA
(matching sn.exe), with 2048 and 4096 as options. Single-confirm UX:
compute all defaults from git repo root, show summary, proceed.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Require skill-creator (Anthropic) for all skill creation, modification,
and eval runs. Strengthen README Sync from a passive reminder to a hard
gate — a new skill without a README entry is incomplete work.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add skill to Available Skills table, install example, and Why section
explaining the pain point (sn.exe requires VS Developer PowerShell) and
how pure .NET crypto solves it.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Foreign artifact referencing non-existent project paths from a
previous dotnet-solution-setup skill that no longer exists.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Document that repo-managed skills must stay mirrored across the repo,
~/.claude/skills, and ~/.agents/skills. This makes the global
agent install part of the standard workflow and turns sync into a
submission checklist item for future changes.
Capture the maintainer email directly from git defaults so new package
metadata and signing conditions are filled consistently. Also make the
post-scaffold strong-name step explicit by chaining to the signing
skill and expected repo-root .snk path.
Document the repo-wide preference for dynamic defaults so skills
derive time-sensitive values from reliable sources instead of
hardcoding them. Also refresh the root README so the published
skill guidance matches the current scaffold behavior.
Lower the setup cognitive load for dotnet-new-lib-slnx by
clarifying inferred project naming, repository and project URL
handling, framework presets, and the NuGet dependency resolution
policy. Keep the skill instructions aligned with the newer dynamic
form behavior.
Align the generated library skeleton with the updated skill
contract. Use clearer metadata placeholders, generate test runner
config from selected TFMs, resolve package versions per package,
and watch the repo root for centralized NuGet updates.
Capture the streamlined prompts, dynamic defaults, benchmark layout, and hidden asset copy rules for the library scaffold. Keep the repo docs and generated guidance aligned with the current skill behavior.
Reshape the library scaffold around tuning benchmark projects, a tooling benchmark runner, and current benchmark packages. Keep runner-specific behavior in the runner template so shared build props stay focused on truly shared settings.
Clarify that the dotnet-new scaffolds reflect proven Codebelt conventions rather than speculative starters. Tighten the encoding guidance as well so generating agents preserve UTF-8 deliberately and check for mojibake before finishing.
@gimlichael gimlichael self-assigned this Mar 15, 2026
Copilot AI review requested due to automatic review settings March 15, 2026 05:01
@qodo-code-review
Copy link
Copy Markdown

Review Summary by Qodo

Initialize agentic skills repository with git workflow, .NET scaffolding, and comprehensive authoring guidelines

✨ Enhancement 📝 Documentation

Grey Divider

Walkthroughs

Description
  * Introduces comprehensive AI agent skill development framework with repository-level guidelines
  (AGENTS.md) covering eval isolation, git identity management, skill creation standards, and
  authoring conventions
  * Adds git-visual-commits skill implementing gitmoji and conventional commit workflow with three
  identity modes (AI-authored, human-authored, collaborative) and flexible approval/body options
  * Introduces .NET library solution scaffolding skill (dotnet-new-lib-slnx) with dynamic NuGet
  versioning, UTF-8 encoding preservation, and centralized MSBuild configuration
  * Introduces .NET application solution scaffolding skill (dotnet-new-app-slnx) for Console, Web
  API, and Worker services with mandatory Codebelt.Bootstrapper framework integration
  * Establishes unified testing and documentation standards across .NET projects including xUnit v3
  patterns, BenchmarkDotNet benchmarks, and XML documentation guidelines
  * Documents five available skills in README.md with installation instructions and scoping options
  across multiple locations
  * Provides comprehensive skill authoring reference with file structure, progressive disclosure
  patterns, YAML frontmatter, and testing checklists
Diagram
flowchart LR
  A["Repository Guidelines<br/>AGENTS.md"] --> B["Git Commit Skill<br/>git-visual-commits"]
  A --> C[".NET Library Skill<br/>dotnet-new-lib-slnx"]
  A --> D[".NET App Skill<br/>dotnet-new-app-slnx"]
  C --> E["MSBuild Config<br/>Directory.Build.props"]
  C --> F["Testing Standards<br/>copilot-instructions.md"]
  D --> G["Worker Template<br/>worker.csproj"]
  D --> F
  B --> H["README.md<br/>Skills Catalog"]
  C --> H
  D --> H
Loading

Grey Divider

File Changes

1. skills/git-visual-commits/SKILL.md ✨ Enhancement +475/-0

Comprehensive git commit workflow with gitmoji and identity modes

• Introduces comprehensive git commit workflow skill with emoji-first (gitmoji) and conventional
 prefix conventions
• Supports three identity modes: git bot commit (AI-authored), git commit (human-authored), and
 git our commit (collaborative with authorship analysis)
• Defines six-step commit workflow: review changes, classify by semantic intent, group logically,
 present plan, stage and commit, verify
• Includes auto-approval mode (yolo/auto keywords) and no-body mode (no-body/tmi keywords)
 for flexible user preferences

skills/git-visual-commits/SKILL.md


2. skills/dotnet-new-lib-slnx/references/library.md 📝 Documentation +361/-0

NuGet library scaffolding reference with encoding and versioning guidance

• Provides detailed reference guide for NuGet library solution scaffolding with folder structure and
 template file mapping
• Documents text encoding requirements (UTF-8 preservation) and shared NuGet package version policy
 with dynamic resolution from NuGet.org
• Specifies target framework defaults (newest LTS), test environment generation with Docker image
 validation, and multi-project guidance
• Defines project naming conventions, benchmark runner architecture (tuning projects + tooling
 host), and project reference patterns

skills/dotnet-new-lib-slnx/references/library.md


3. skills/dotnet-new-lib-slnx/assets/shared/.github/copilot-instructions.md 📝 Documentation +336/-0

Testing and documentation standards for .NET projects

• Establishes unit test guidelines with Test base class inheritance, xUnit v3 patterns, and
 namespace matching rules (no .Tests suffix in namespace)
• Documents performance test (benchmark) structure using BenchmarkDotNet with namespace and class
 naming conventions
• Provides XML documentation standards for public/protected members with examples and consistent
 phrasing guidance

skills/dotnet-new-lib-slnx/assets/shared/.github/copilot-instructions.md


View more (69)
4. skills/dotnet-new-app-slnx/assets/shared/.github/copilot-instructions.md 📝 Documentation +336/-0

Testing and documentation standards for .NET projects

• Establishes unit test guidelines with Test base class inheritance, xUnit v3 patterns, and
 namespace matching rules (no .Tests suffix in namespace)
• Documents performance test (benchmark) structure using BenchmarkDotNet with namespace and class
 naming conventions
• Provides XML documentation standards for public/protected members with examples and consistent
 phrasing guidance

skills/dotnet-new-app-slnx/assets/shared/.github/copilot-instructions.md


5. skills/dotnet-new-lib-slnx/SKILL.md ✨ Enhancement +178/-0

.NET library solution scaffolding skill with dynamic versioning

• Defines workflow for scaffolding .NET NuGet library solutions following codebeltnet conventions
• Specifies seven-step process: parameter collection via FORMS.md, variant guide loading, dynamic
 dependency resolution from NuGet.org, placeholder substitution, file generation with UTF-8
 preservation, post-generation checklist, and strong-name key generation
• Documents substitution map with 18 placeholders including solution name, namespaces, repository
 metadata, target frameworks, and benchmark runner configuration

skills/dotnet-new-lib-slnx/SKILL.md


6. AGENTS.md 📝 Documentation +247/-0

Agent guidelines and skill authoring standards

• Establishes repository-level guidelines for AI agents including eval isolation, git identity
 management, and skill creation/modification rules
• Defines skill directory structure, template file handling, and preference for dynamic defaults
 over hardcoded values
• Documents commit discipline, README sync requirements, user input UX patterns with FORMS.md
 structure, and references Anthropic skill authoring conventions
• Provides comprehensive skill authoring reference covering file structure, progressive disclosure
 (three levels), YAML frontmatter, description field best practices, and testing checklist

AGENTS.md


7. README.md 📝 Documentation +145/-0

Repository overview and available skills catalog

• Introduces agentic skills repository with overview of what skills are and installation
 instructions via npx skillsadd
• Documents five available skills: git-visual-commits, dotnet-new-lib-slnx,
 dotnet-new-app-slnx, trunk-first-repo, and dotnet-strong-name-signing with detailed
 descriptions and use cases
• Explains skill scoping options across different locations (~/.agents/skills/,
 ~/.claude/skills/, .claude/skills/, .github/skills/) and repository structure

README.md


8. skills/dotnet-new-lib-slnx/assets/library/Directory.Build.props ⚙️ Configuration changes +110/-0

Centralized MSBuild configuration for library projects

• Defines centralized MSBuild properties for .NET library solutions with project type detection
 (source, test, benchmark, tooling)
• Configures strong-name signing, NuGet packaging metadata, documentation generation, and code
 analysis settings
• Specifies conditional package references for test projects (xUnit v3, coverlet) and benchmark
 projects (BenchmarkDotNet)
• Includes CI build determinism settings and framework-specific configurations

skills/dotnet-new-lib-slnx/assets/library/Directory.Build.props


9. skills/dotnet-new-app-slnx/SKILL.md ✨ Enhancement +85/-0

.NET application solution scaffolding skill

• Defines workflow for scaffolding .NET standalone application solutions (Console, Web API, Worker)
 following codebeltnet conventions
• Specifies five-step process: parameter collection, variant guide loading, placeholder
 substitution, file generation from templates, and post-generation checklist
• Emphasizes mandatory use of Codebelt.Bootstrapper.* framework and template-based generation to
 ensure consistent bootstrapper wiring

skills/dotnet-new-app-slnx/SKILL.md


10. skills/dotnet-new-app-slnx/assets/app/worker.csproj ⚙️ Configuration changes +15/-0

Worker service project template

• Provides project file template for .NET Worker service with Codebelt.Bootstrapper.Worker package
 reference
• Enables nullable reference types and implicit usings, configures user secrets ID and Docker target
 OS
• Includes minimal package dependencies for worker host pattern

skills/dotnet-new-app-slnx/assets/app/worker.csproj


11. CONTRIBUTING.md Additional files +96/-0

...

CONTRIBUTING.md


12. LICENSE Additional files +21/-0

...

LICENSE


13. skills/dotnet-new-app-slnx/FORMS.md Additional files +44/-0

...

skills/dotnet-new-app-slnx/FORMS.md


14. skills/dotnet-new-app-slnx/assets/app/.github/workflows/ci-pipeline.yml Additional files +34/-0

...

skills/dotnet-new-app-slnx/assets/app/.github/workflows/ci-pipeline.yml


15. skills/dotnet-new-app-slnx/assets/app/Directory.Build.props Additional files +49/-0

...

skills/dotnet-new-app-slnx/assets/app/Directory.Build.props


16. skills/dotnet-new-app-slnx/assets/app/console.csproj Additional files +13/-0

...

skills/dotnet-new-app-slnx/assets/app/console.csproj


17. skills/dotnet-new-app-slnx/assets/app/console/Program.minimal.cs Additional files +15/-0

...

skills/dotnet-new-app-slnx/assets/app/console/Program.minimal.cs


18. skills/dotnet-new-app-slnx/assets/app/console/Program.startup.cs Additional files +12/-0

...

skills/dotnet-new-app-slnx/assets/app/console/Program.startup.cs


19. skills/dotnet-new-app-slnx/assets/app/console/Startup.cs Additional files +16/-0

...

skills/dotnet-new-app-slnx/assets/app/console/Startup.cs


20. skills/dotnet-new-app-slnx/assets/app/test.csproj Additional files +11/-0

...

skills/dotnet-new-app-slnx/assets/app/test.csproj


21. skills/dotnet-new-app-slnx/assets/app/web.csproj Additional files +13/-0

...

skills/dotnet-new-app-slnx/assets/app/web.csproj


22. skills/dotnet-new-app-slnx/assets/app/web/Program.minimal.cs Additional files +12/-0

...

skills/dotnet-new-app-slnx/assets/app/web/Program.minimal.cs


23. skills/dotnet-new-app-slnx/assets/app/web/Program.startup.cs Additional files +12/-0

...

skills/dotnet-new-app-slnx/assets/app/web/Program.startup.cs


24. skills/dotnet-new-app-slnx/assets/app/web/Startup.cs Additional files +17/-0

...

skills/dotnet-new-app-slnx/assets/app/web/Startup.cs


25. skills/dotnet-new-app-slnx/assets/app/worker/Program.minimal.cs Additional files +12/-0

...

skills/dotnet-new-app-slnx/assets/app/worker/Program.minimal.cs


26. skills/dotnet-new-app-slnx/assets/app/worker/Program.startup.cs Additional files +12/-0

...

skills/dotnet-new-app-slnx/assets/app/worker/Program.startup.cs


27. skills/dotnet-new-app-slnx/assets/app/worker/Startup.cs Additional files +13/-0

...

skills/dotnet-new-app-slnx/assets/app/worker/Startup.cs


28. skills/dotnet-new-app-slnx/assets/shared/.editorconfig Additional files +88/-0

...

skills/dotnet-new-app-slnx/assets/shared/.editorconfig


29. skills/dotnet-new-app-slnx/assets/shared/.gitattributes Additional files +4/-0

...

skills/dotnet-new-app-slnx/assets/shared/.gitattributes


30. skills/dotnet-new-app-slnx/assets/shared/.github/CODE_OF_CONDUCT.md Additional files +83/-0

...

skills/dotnet-new-app-slnx/assets/shared/.github/CODE_OF_CONDUCT.md


31. skills/dotnet-new-app-slnx/assets/shared/.github/CONTRIBUTING.md Additional files +31/-0

...

skills/dotnet-new-app-slnx/assets/shared/.github/CONTRIBUTING.md


32. skills/dotnet-new-app-slnx/assets/shared/.github/dependabot.yml Additional files +14/-0

...

skills/dotnet-new-app-slnx/assets/shared/.github/dependabot.yml


33. skills/dotnet-new-app-slnx/assets/shared/.github/workflows/ci-pipeline.yml Additional files +124/-0

...

skills/dotnet-new-app-slnx/assets/shared/.github/workflows/ci-pipeline.yml


34. skills/dotnet-new-app-slnx/assets/shared/AGENTS.md Additional files +43/-0

...

skills/dotnet-new-app-slnx/assets/shared/AGENTS.md


35. skills/dotnet-new-app-slnx/assets/shared/CHANGELOG.md Additional files +11/-0

...

skills/dotnet-new-app-slnx/assets/shared/CHANGELOG.md


36. skills/dotnet-new-app-slnx/assets/shared/Directory.Build.targets Additional files +20/-0

...

skills/dotnet-new-app-slnx/assets/shared/Directory.Build.targets


37. skills/dotnet-new-app-slnx/assets/shared/Directory.Packages.props Additional files +20/-0

...

skills/dotnet-new-app-slnx/assets/shared/Directory.Packages.props


38. skills/dotnet-new-app-slnx/assets/shared/README.md Additional files +24/-0

...

skills/dotnet-new-app-slnx/assets/shared/README.md


39. skills/dotnet-new-app-slnx/assets/shared/testenvironments.json Additional files +15/-0

...

skills/dotnet-new-app-slnx/assets/shared/testenvironments.json


40. skills/dotnet-new-app-slnx/references/app.md Additional files +89/-0

...

skills/dotnet-new-app-slnx/references/app.md


41. skills/dotnet-new-lib-slnx/FORMS.md Additional files +104/-0

...

skills/dotnet-new-lib-slnx/FORMS.md


42. skills/dotnet-new-lib-slnx/assets/library/.docfx/BuildDocfxImage.ps1 Additional files +4/-0

...

skills/dotnet-new-lib-slnx/assets/library/.docfx/BuildDocfxImage.ps1


43. skills/dotnet-new-lib-slnx/assets/library/.docfx/Dockerfile.docfx Additional files +17/-0

...

skills/dotnet-new-lib-slnx/assets/library/.docfx/Dockerfile.docfx


44. skills/dotnet-new-lib-slnx/assets/library/.docfx/PublishDocfxImage.ps1 Additional files +3/-0

...

skills/dotnet-new-lib-slnx/assets/library/.docfx/PublishDocfxImage.ps1


45. skills/dotnet-new-lib-slnx/assets/library/.docfx/docfx.json Additional files +76/-0

...

skills/dotnet-new-lib-slnx/assets/library/.docfx/docfx.json


46. skills/dotnet-new-lib-slnx/assets/library/.docfx/filterConfig.yml Additional files +4/-0

...

skills/dotnet-new-lib-slnx/assets/library/.docfx/filterConfig.yml


47. skills/dotnet-new-lib-slnx/assets/library/.docfx/toc.yml Additional files +2/-0

...

skills/dotnet-new-lib-slnx/assets/library/.docfx/toc.yml


48. skills/dotnet-new-lib-slnx/assets/library/PackageReleaseNotes.txt Additional files +5/-0

...

skills/dotnet-new-lib-slnx/assets/library/PackageReleaseNotes.txt


49. skills/dotnet-new-lib-slnx/assets/library/benchmark-program.cs Additional files +26/-0

...

skills/dotnet-new-lib-slnx/assets/library/benchmark-program.cs


50. skills/dotnet-new-lib-slnx/assets/library/benchmark-runner.csproj Additional files +15/-0

...

skills/dotnet-new-lib-slnx/assets/library/benchmark-runner.csproj


51. skills/dotnet-new-lib-slnx/assets/library/benchmark.csproj Additional files +11/-0

...

skills/dotnet-new-lib-slnx/assets/library/benchmark.csproj


52. skills/dotnet-new-lib-slnx/assets/library/nuget-readme.md Additional files +17/-0

...

skills/dotnet-new-lib-slnx/assets/library/nuget-readme.md


53. skills/dotnet-new-lib-slnx/assets/library/source.csproj Additional files +12/-0

...

skills/dotnet-new-lib-slnx/assets/library/source.csproj


54. skills/dotnet-new-lib-slnx/assets/library/test.csproj Additional files +11/-0

...

skills/dotnet-new-lib-slnx/assets/library/test.csproj


55. skills/dotnet-new-lib-slnx/assets/shared/.editorconfig Additional files +88/-0

...

skills/dotnet-new-lib-slnx/assets/shared/.editorconfig


56. skills/dotnet-new-lib-slnx/assets/shared/.gitattributes Additional files +4/-0

...

skills/dotnet-new-lib-slnx/assets/shared/.gitattributes


57. skills/dotnet-new-lib-slnx/assets/shared/.github/CODE_OF_CONDUCT.md Additional files +83/-0

...

skills/dotnet-new-lib-slnx/assets/shared/.github/CODE_OF_CONDUCT.md


58. skills/dotnet-new-lib-slnx/assets/shared/.github/CONTRIBUTING.md Additional files +33/-0

...

skills/dotnet-new-lib-slnx/assets/shared/.github/CONTRIBUTING.md


59. skills/dotnet-new-lib-slnx/assets/shared/.github/codecov.yml Additional files +2/-0

...

skills/dotnet-new-lib-slnx/assets/shared/.github/codecov.yml


60. skills/dotnet-new-lib-slnx/assets/shared/.github/dependabot.yml Additional files +10/-0

...

skills/dotnet-new-lib-slnx/assets/shared/.github/dependabot.yml


61. skills/dotnet-new-lib-slnx/assets/shared/.github/workflows/ci-pipeline.yml Additional files +124/-0

...

skills/dotnet-new-lib-slnx/assets/shared/.github/workflows/ci-pipeline.yml


62. skills/dotnet-new-lib-slnx/assets/shared/AGENTS.md Additional files +51/-0

...

skills/dotnet-new-lib-slnx/assets/shared/AGENTS.md


63. skills/dotnet-new-lib-slnx/assets/shared/CHANGELOG.md Additional files +11/-0

...

skills/dotnet-new-lib-slnx/assets/shared/CHANGELOG.md


64. skills/dotnet-new-lib-slnx/assets/shared/Directory.Build.targets Additional files +20/-0

...

skills/dotnet-new-lib-slnx/assets/shared/Directory.Build.targets


65. skills/dotnet-new-lib-slnx/assets/shared/Directory.Packages.props Additional files +19/-0

...

skills/dotnet-new-lib-slnx/assets/shared/Directory.Packages.props


66. skills/dotnet-new-lib-slnx/assets/shared/LICENSE Additional files +21/-0

...

skills/dotnet-new-lib-slnx/assets/shared/LICENSE


67. skills/dotnet-new-lib-slnx/assets/shared/README.md Additional files +38/-0

...

skills/dotnet-new-lib-slnx/assets/shared/README.md


68. skills/dotnet-new-lib-slnx/assets/shared/testenvironments.json Additional files +10/-0

...

skills/dotnet-new-lib-slnx/assets/shared/testenvironments.json


69. skills/dotnet-strong-name-signing/FORMS.md Additional files +33/-0

...

skills/dotnet-strong-name-signing/FORMS.md


70. skills/dotnet-strong-name-signing/SKILL.md Additional files +95/-0

...

skills/dotnet-strong-name-signing/SKILL.md


71. skills/trunk-first-repo/FORMS.md Additional files +36/-0

...

skills/trunk-first-repo/FORMS.md


72. skills/trunk-first-repo/SKILL.md Additional files +112/-0

...

skills/trunk-first-repo/SKILL.md


Grey Divider

Qodo Logo

@qodo-code-review
Copy link
Copy Markdown

qodo-code-review bot commented Mar 15, 2026

Code Review by Qodo

🐞 Bugs (6) 📘 Rule violations (0) 📎 Requirement gaps (0)

Grey Divider


Action required

1. Missing Worker implementation 🐞 Bug ✓ Correctness
Description
The Worker app templates call AddHostedService<Worker>() but no Worker type is provided or generated
by the skill instructions, so scaffolded Worker projects will not compile.
Code

skills/dotnet-new-app-slnx/assets/app/worker/Startup.cs[R9-12]

+    public override void ConfigureServices(IServiceCollection services)
+    {
+        services.AddHostedService<Worker>();
+    }
Evidence
The worker Startup/Program templates reference an unqualified Worker type, and the skill's
generation steps only copy templates (Program/Startup/csproj) without any step to create Worker.cs,
leaving the symbol unresolved in generated projects.

skills/dotnet-new-app-slnx/assets/app/worker/Startup.cs[1-13]
skills/dotnet-new-app-slnx/assets/app/worker/Program.minimal.cs[1-12]
skills/dotnet-new-app-slnx/SKILL.md[59-66]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
Worker scaffolds generated from `dotnet-new-app-slnx` will not compile because templates reference `Worker` but no `Worker` implementation is provided nor is its generation described.

## Issue Context
`assets/app/worker/Startup.cs` and `Program.minimal.cs` both register `AddHostedService&lt;Worker&gt;()`. The skill’s Step 4 only copies csproj/Program/Startup/test templates.

## Fix Focus Areas
- skills/dotnet-new-app-slnx/assets/app/worker/Startup.cs[9-12]
- skills/dotnet-new-app-slnx/assets/app/worker/Program.minimal.cs[5-10]
- skills/dotnet-new-app-slnx/SKILL.md[59-66]

## Suggested change
1. Add `skills/dotnet-new-app-slnx/assets/app/worker/Worker.cs` (simple `BackgroundService` loop with cancellation support) in namespace `{ROOT_NAMESPACE}.{AppType}`.
2. Update `references/app.md` and `SKILL.md` to include copying `Worker.cs` for worker projects (both Startup and Minimal patterns).

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


2. Unresolved {LATEST} placeholders 🐞 Bug ✓ Correctness
Description
The app template’s Directory.Packages.props sets every PackageVersion to "{LATEST}", but the skill’s
substitution map does not define how to resolve it, leading to generated repos with
invalid/unresolved package versions and restore failures.
Code

skills/dotnet-new-app-slnx/assets/shared/Directory.Packages.props[R6-18]

+    <PackageVersion Include="Codebelt.Extensions.Xunit.App" Version="{LATEST}" />
+    <PackageVersion Include="Microsoft.NET.Test.Sdk" Version="{LATEST}" />
+    <PackageVersion Include="MinVer" Version="{LATEST}" />
+    <PackageVersion Include="coverlet.collector" Version="{LATEST}" />
+    <PackageVersion Include="coverlet.msbuild" Version="{LATEST}" />
+    <PackageVersion Include="xunit.v3" Version="{LATEST}" />
+    <PackageVersion Include="xunit.v3.runner.console" Version="{LATEST}" />
+    <PackageVersion Include="xunit.runner.visualstudio" Version="{LATEST}" />
+    <PackageVersion Include="BenchmarkDotNet" Version="{LATEST}" />
+    <PackageVersion Include="Codebelt.Bootstrapper.Console" Version="{LATEST}" />
+    <PackageVersion Include="Codebelt.Bootstrapper.Web" Version="{LATEST}" />
+    <PackageVersion Include="Codebelt.Bootstrapper.Worker" Version="{LATEST}" />
+    <PackageVersion Include="Codebelt.SharedKernel" Version="{LATEST}" />
Evidence
The app template uses a single generic version placeholder across all packages, while the app skill
only substitutes solution/name/framework placeholders and provides no step to resolve package
versions. The lib template demonstrates the intended pattern: per-package placeholders explicitly
meant to be resolved at generation time.

skills/dotnet-new-app-slnx/assets/shared/Directory.Packages.props[1-19]
skills/dotnet-new-app-slnx/SKILL.md[35-45]
skills/dotnet-new-lib-slnx/assets/shared/Directory.Packages.props[5-18]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
`dotnet-new-app-slnx` produces a `Directory.Packages.props` where all package versions are `{LATEST}` with no documented resolution step, resulting in unresolved placeholders and broken restores.

## Issue Context
`SKILL.md` Step 3 only defines `{SOLUTION_NAME}`, `{ROOT_NAMESPACE}`, `{REPO_SLUG}`, `{TARGET_FRAMEWORK}` substitutions.

## Fix Focus Areas
- skills/dotnet-new-app-slnx/assets/shared/Directory.Packages.props[6-18]
- skills/dotnet-new-app-slnx/SKILL.md[35-45]
- skills/dotnet-new-lib-slnx/assets/shared/Directory.Packages.props[5-18]

## Suggested change
1. Replace `{LATEST}` with per-package placeholders (e.g., `{MINVER_VERSION}`, `{XUNIT_V3_VERSION}`, `{CODEBELT_BOOTSTRAPPER_WEB_VERSION}`, etc.).
2. Add an explicit Step (mirroring the lib skill) describing how to resolve each placeholder to the latest stable NuGet.org version at generation time.
3. Update the app post-generation checklist to assert there are no unresolved `*_VERSION` placeholders.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools



Remediation recommended

3. Dependabot root not scanned 🐞 Bug ⛯ Reliability
Description
The app scaffold’s Dependabot config scans /src and /test for NuGet, but central package versions
are defined in the root Directory.Packages.props, so Dependabot may not update dependency versions.
Code

skills/dotnet-new-app-slnx/assets/shared/.github/dependabot.yml[R3-10]

+  - package-ecosystem: "nuget"
+    directory: "/src"
+    schedule:
+      interval: "weekly"
+  - package-ecosystem: "nuget"
+    directory: "/test"
+    schedule:
+      interval: "weekly"
Evidence
The app template uses central package management (Directory.Packages.props at repo root), but its
Dependabot config does not include the root directory for NuGet. The lib template includes
directory: "/", indicating root scanning is the intended pattern for this layout.

skills/dotnet-new-app-slnx/assets/shared/.github/dependabot.yml[1-14]
skills/dotnet-new-app-slnx/assets/shared/Directory.Packages.props[1-5]
skills/dotnet-new-lib-slnx/assets/shared/.github/dependabot.yml[1-6]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
Dependabot will likely miss central package updates because it is not configured to scan the repo root where `Directory.Packages.props` lives.

## Issue Context
The app scaffold uses central package management but Dependabot’s NuGet updates only target `/src` and `/test`.

## Fix Focus Areas
- skills/dotnet-new-app-slnx/assets/shared/.github/dependabot.yml[1-14]
- skills/dotnet-new-app-slnx/assets/shared/Directory.Packages.props[1-5]

## Suggested change
Replace the two NuGet entries with a single one:
- package-ecosystem: &quot;nuget&quot;
 directory: &quot;/&quot;
 schedule:
   interval: &quot;weekly&quot;
(keep the GitHub Actions entry as-is).

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


4. DocFX TFM hardcoded 🐞 Bug ✓ Correctness
Description
DocFX metadata generation is pinned to net10.0, but the library scaffold’s TargetFrameworks are
generated from {TARGET_FRAMEWORKS}, so DocFX builds can fail when net10.0 isn’t among the selected
TFMs.
Code

skills/dotnet-new-lib-slnx/assets/library/.docfx/docfx.json[R13-17]

+      "filter": "filterConfig.yml",
+      "properties": {
+        "TargetFramework": "net10.0"
+      }
+    }
Evidence
The DocFX configuration explicitly sets TargetFramework to net10.0, while the generated projects’
target frameworks are a placeholder-driven list that may differ, creating a mismatch that can break
metadata generation.

skills/dotnet-new-lib-slnx/assets/library/.docfx/docfx.json[12-17]
skills/dotnet-new-lib-slnx/assets/library/Directory.Build.props[18-21]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
DocFX metadata is configured to build against `net10.0` regardless of what TFMs the scaffolded projects actually target.

## Issue Context
Library TFMs are generated via `{TARGET_FRAMEWORKS}`; DocFX uses a fixed `TargetFramework`.

## Fix Focus Areas
- skills/dotnet-new-lib-slnx/assets/library/.docfx/docfx.json[12-17]
- skills/dotnet-new-lib-slnx/assets/library/Directory.Build.props[18-21]

## Suggested change
1. Replace `net10.0` with a placeholder like `{DOCFX_TARGET_FRAMEWORK}`.
2. Update `skills/dotnet-new-lib-slnx/SKILL.md` to compute/populate `{DOCFX_TARGET_FRAMEWORK}` (e.g., highest selected non-preview TFM) when generating the repo.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


5. Inherited secrets in CI 🐞 Bug ⛨ Security
Description
The shared CI workflow calls reusable workflows via mutable tags (e.g. @v3) and passes all secrets
via secrets: inherit, increasing supply-chain blast radius if the called workflow changes or is
compromised.
Code

skills/dotnet-new-app-slnx/assets/shared/.github/workflows/ci-pipeline.yml[R87-103]

+  sonarcloud:
+    name: call-sonarcloud
+    needs: [build, test_linux, test_windows]
+    uses: codebeltnet/jobs-sonarcloud/.github/workflows/default.yml@v3
+    with:
+      organization: {SONARCLOUD_ORG}
+      projectKey: {SONARCLOUD_KEY}
+      version: ${{ needs.build.outputs.version }}
+    secrets: inherit
+
+  codecov:
+    name: call-codecov
+    needs: [build, test_linux, test_windows]
+    uses: codebeltnet/jobs-codecov/.github/workflows/default.yml@v1
+    with:
+      repository: {REPO_OWNER}/{REPO_SLUG}
+    secrets: inherit
Evidence
The workflow uses tag-based references for reusable workflows and inherits all secrets into those
workflows. This pattern is explicitly visible in the template and is a recognized GitHub Actions
hardening concern (pinning and least-privilege secrets).

skills/dotnet-new-app-slnx/assets/shared/.github/workflows/ci-pipeline.yml[26-35]
skills/dotnet-new-app-slnx/assets/shared/.github/workflows/ci-pipeline.yml[87-103]
Best Practice: GitHub Actions Security Hardening

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
The CI template increases supply-chain and secret-exfiltration risk by using mutable tags for reusable workflows and `secrets: inherit`.

## Issue Context
This is a template intended to be copied into new repos; hardening here prevents propagating insecure patterns.

## Fix Focus Areas
- skills/dotnet-new-app-slnx/assets/shared/.github/workflows/ci-pipeline.yml[26-36]
- skills/dotnet-new-app-slnx/assets/shared/.github/workflows/ci-pipeline.yml[87-124]

## Suggested change
1. Replace `@v3`/`@v2`/`@v1` with pinned commit SHAs (or document/enforce protected tags).
2. Replace `secrets: inherit` with explicit `secrets:` blocks listing only required secrets for each called workflow.
3. Consider adding comments in the template explaining the pinning/secret rationale to keep future edits aligned.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools



Advisory comments

6. Pinned Docker runner tag 🐞 Bug ⛯ Reliability
Description
The app test environments template hardcodes a specific ubuntu-testrunner image tag including patch
versions, which is likely to drift and can break Docker-based test execution when the tag becomes
outdated or unavailable.
Code

skills/dotnet-new-app-slnx/assets/shared/testenvironments.json[R9-13]

+        {
+            "name": "Docker-Ubuntu",
+            "type": "docker",
+            "dockerImage": "codebeltnet/ubuntu-testrunner:net8.0.418-9.0.311-10.0.103"
+        }
Evidence
The template contains a fixed dockerImage tag with multiple SDK patch versions. This contradicts the
repo guidance to prefer dynamic defaults for time-sensitive values and increases long-term
maintenance burden.

skills/dotnet-new-app-slnx/assets/shared/testenvironments.json[9-13]
AGENTS.md[86-93]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
The app scaffold’s Docker test runner image tag is hardcoded to specific SDK patch versions, which will drift.

## Issue Context
Repo guidelines prefer dynamic defaults for time-sensitive values.

## Fix Focus Areas
- skills/dotnet-new-app-slnx/assets/shared/testenvironments.json[9-13]
- AGENTS.md[86-93]

## Suggested change
1. Replace the hardcoded `dockerImage` value with a placeholder (e.g., `{UBUNTU_TESTRUNNER_TAG}`) and document how to compute it.
2. Alternatively, use a stable tag convention (e.g., `codebeltnet/ubuntu-testrunner:10`) if that exists for your runner images.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

ⓘ The new review experience is currently in Beta. Learn more

Grey Divider

Qodo Logo

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: dd45fc32a8

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
</PropertyGroup>
<ItemGroup>
<PackageVersion Include="Codebelt.Extensions.Xunit.App" Version="{LATEST}" />
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Resolve {LATEST} placeholders before emitting package versions

Directory.Packages.props uses {LATEST} for every PackageVersion, but {LATEST} is not a valid NuGet version and causes restore/build failure in generated repos. In this app skill, Step 3 only defines substitutions for {SOLUTION_NAME}, {ROOT_NAMESPACE}, {REPO_SLUG}, and {TARGET_FRAMEWORK}, so these tokens are never resolved during scaffolding.

Useful? React with 👍 / 👎.

static Task Main(string[] args)
{
var builder = CreateHostBuilder(args);
builder.Services.AddHostedService<Worker>();
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Provide Worker template before registering hosted service

The generated Worker app registers AddHostedService<Worker>(), but this commit does not provide any Worker class template in the app asset set, so scaffolding a Worker project yields a compile error (Worker type not found) before the user adds logic. Either include a default Worker.cs template or remove this registration from the starter scaffold.

Useful? React with 👍 / 👎.

### Running

```bash
dotnet run --project src/{ROOT_NAMESPACE}.{SOLUTION_NAME}.App
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Correct README run command for generated app layout

The quick-start command points to src/{ROOT_NAMESPACE}.{SOLUTION_NAME}.App, but this skill generates app projects under src/{NS}.{AppType} (Console/Web/Worker). Following the README command in a newly scaffolded repo will fail because that project path does not exist.

Useful? React with 👍 / 👎.

Comment on lines +9 to +12
public override void ConfigureServices(IServiceCollection services)
{
services.AddHostedService<Worker>();
}
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Action required

1. Missing worker implementation 🐞 Bug ✓ Correctness

The Worker app templates call AddHostedService<Worker>() but no Worker type is provided or generated
by the skill instructions, so scaffolded Worker projects will not compile.
Agent Prompt
## Issue description
Worker scaffolds generated from `dotnet-new-app-slnx` will not compile because templates reference `Worker` but no `Worker` implementation is provided nor is its generation described.

## Issue Context
`assets/app/worker/Startup.cs` and `Program.minimal.cs` both register `AddHostedService<Worker>()`. The skill’s Step 4 only copies csproj/Program/Startup/test templates.

## Fix Focus Areas
- skills/dotnet-new-app-slnx/assets/app/worker/Startup.cs[9-12]
- skills/dotnet-new-app-slnx/assets/app/worker/Program.minimal.cs[5-10]
- skills/dotnet-new-app-slnx/SKILL.md[59-66]

## Suggested change
1. Add `skills/dotnet-new-app-slnx/assets/app/worker/Worker.cs` (simple `BackgroundService` loop with cancellation support) in namespace `{ROOT_NAMESPACE}.{AppType}`.
2. Update `references/app.md` and `SKILL.md` to include copying `Worker.cs` for worker projects (both Startup and Minimal patterns).

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

Comment on lines +6 to +18
<PackageVersion Include="Codebelt.Extensions.Xunit.App" Version="{LATEST}" />
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="{LATEST}" />
<PackageVersion Include="MinVer" Version="{LATEST}" />
<PackageVersion Include="coverlet.collector" Version="{LATEST}" />
<PackageVersion Include="coverlet.msbuild" Version="{LATEST}" />
<PackageVersion Include="xunit.v3" Version="{LATEST}" />
<PackageVersion Include="xunit.v3.runner.console" Version="{LATEST}" />
<PackageVersion Include="xunit.runner.visualstudio" Version="{LATEST}" />
<PackageVersion Include="BenchmarkDotNet" Version="{LATEST}" />
<PackageVersion Include="Codebelt.Bootstrapper.Console" Version="{LATEST}" />
<PackageVersion Include="Codebelt.Bootstrapper.Web" Version="{LATEST}" />
<PackageVersion Include="Codebelt.Bootstrapper.Worker" Version="{LATEST}" />
<PackageVersion Include="Codebelt.SharedKernel" Version="{LATEST}" />
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Action required

2. Unresolved {latest} placeholders 🐞 Bug ✓ Correctness

The app template’s Directory.Packages.props sets every PackageVersion to "{LATEST}", but the skill’s
substitution map does not define how to resolve it, leading to generated repos with
invalid/unresolved package versions and restore failures.
Agent Prompt
## Issue description
`dotnet-new-app-slnx` produces a `Directory.Packages.props` where all package versions are `{LATEST}` with no documented resolution step, resulting in unresolved placeholders and broken restores.

## Issue Context
`SKILL.md` Step 3 only defines `{SOLUTION_NAME}`, `{ROOT_NAMESPACE}`, `{REPO_SLUG}`, `{TARGET_FRAMEWORK}` substitutions.

## Fix Focus Areas
- skills/dotnet-new-app-slnx/assets/shared/Directory.Packages.props[6-18]
- skills/dotnet-new-app-slnx/SKILL.md[35-45]
- skills/dotnet-new-lib-slnx/assets/shared/Directory.Packages.props[5-18]

## Suggested change
1. Replace `{LATEST}` with per-package placeholders (e.g., `{MINVER_VERSION}`, `{XUNIT_V3_VERSION}`, `{CODEBELT_BOOTSTRAPPER_WEB_VERSION}`, etc.).
2. Add an explicit Step (mirroring the lib skill) describing how to resolve each placeholder to the latest stable NuGet.org version at generation time.
3. Update the app post-generation checklist to assert there are no unresolved `*_VERSION` placeholders.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR bootstraps the repository as an “agentic skills” collection by adding initial skills (git workflow + .NET scaffolds), shared scaffold assets, and repo-wide governance docs (agent guidelines, contributing, license, ignore rules).

Changes:

  • Added multiple new skills under skills/ (git workflows, strong-name key generation, .NET library/app scaffolding) including their forms, references, and scaffold assets.
  • Added repo governance docs (AGENTS.md, CONTRIBUTING.md, LICENSE) and a top-level README.md describing install/usage.
  • Added a root .gitignore for local eval/workspace artifacts.

Reviewed changes

Copilot reviewed 74 out of 75 changed files in this pull request and generated 23 comments.

Show a summary per file
File Description
skills/trunk-first-repo/SKILL.md New skill: initializes a repo with trunk-first PR workflow.
skills/trunk-first-repo/FORMS.md Parameter collection form for trunk-first repo init.
skills/git-visual-commits/SKILL.md New skill: commit workflow rules (gitmoji-first, attribution modes).
skills/dotnet-strong-name-signing/SKILL.md New skill: generate .snk without sn.exe.
skills/dotnet-strong-name-signing/FORMS.md Form for strong-name key generation parameters.
skills/dotnet-new-lib-slnx/SKILL.md New skill: scaffold .NET NuGet library solution (Codebelt conventions).
skills/dotnet-new-lib-slnx/FORMS.md Form defining parameters for library scaffolding.
skills/dotnet-new-lib-slnx/references/library.md Detailed library scaffold reference/spec.
skills/dotnet-new-lib-slnx/assets/shared/testenvironments.json Shared library scaffold template (test environments).
skills/dotnet-new-lib-slnx/assets/shared/README.md Shared library scaffold README template.
skills/dotnet-new-lib-slnx/assets/shared/LICENSE Shared library scaffold MIT license template.
skills/dotnet-new-lib-slnx/assets/shared/Directory.Packages.props Shared library scaffold central package versions (placeholders).
skills/dotnet-new-lib-slnx/assets/shared/Directory.Build.targets Shared build targets for library scaffold.
skills/dotnet-new-lib-slnx/assets/shared/CHANGELOG.md Shared changelog template.
skills/dotnet-new-lib-slnx/assets/shared/AGENTS.md Shared agent instructions template for generated library repos.
skills/dotnet-new-lib-slnx/assets/shared/.gitignore Shared gitignore template for generated library repos.
skills/dotnet-new-lib-slnx/assets/shared/.gitattributes Shared gitattributes template for generated library repos.
skills/dotnet-new-lib-slnx/assets/shared/.editorconfig Shared editorconfig template for generated library repos.
skills/dotnet-new-lib-slnx/assets/shared/.github/workflows/ci-pipeline.yml Shared CI workflow template for library scaffold.
skills/dotnet-new-lib-slnx/assets/shared/.github/dependabot.yml Dependabot template for library scaffold.
skills/dotnet-new-lib-slnx/assets/shared/.github/copilot-instructions.md Copilot instructions template for generated library repos.
skills/dotnet-new-lib-slnx/assets/shared/.github/codecov.yml Codecov config template.
skills/dotnet-new-lib-slnx/assets/shared/.github/CONTRIBUTING.md Repo contributing template for generated library repos.
skills/dotnet-new-lib-slnx/assets/shared/.github/CODE_OF_CONDUCT.md Code of conduct template for generated library repos.
skills/dotnet-new-lib-slnx/assets/library/source.csproj Library source project template.
skills/dotnet-new-lib-slnx/assets/library/test.csproj Library test project template.
skills/dotnet-new-lib-slnx/assets/library/benchmark.csproj Benchmark project template.
skills/dotnet-new-lib-slnx/assets/library/benchmark-runner.csproj Benchmark runner project template.
skills/dotnet-new-lib-slnx/assets/library/benchmark-program.cs Benchmark runner Program.cs template.
skills/dotnet-new-lib-slnx/assets/library/nuget-readme.md NuGet package README template.
skills/dotnet-new-lib-slnx/assets/library/PackageReleaseNotes.txt Release notes template.
skills/dotnet-new-lib-slnx/assets/library/Directory.Build.props Library scaffold build props template.
skills/dotnet-new-lib-slnx/assets/library/.docfx/toc.yml DocFX TOC template.
skills/dotnet-new-lib-slnx/assets/library/.docfx/filterConfig.yml DocFX filter config template.
skills/dotnet-new-lib-slnx/assets/library/.docfx/docfx.json DocFX configuration template.
skills/dotnet-new-lib-slnx/assets/library/.docfx/PublishDocfxImage.ps1 Script template for publishing DocFX image.
skills/dotnet-new-lib-slnx/assets/library/.docfx/Dockerfile.docfx Dockerfile template for DocFX site.
skills/dotnet-new-lib-slnx/assets/library/.docfx/BuildDocfxImage.ps1 Script template for building DocFX image.
skills/dotnet-new-app-slnx/SKILL.md New skill: scaffold .NET standalone app solution.
skills/dotnet-new-app-slnx/FORMS.md Form defining parameters for app scaffolding.
skills/dotnet-new-app-slnx/references/app.md Detailed app scaffold reference/spec.
skills/dotnet-new-app-slnx/assets/shared/testenvironments.json Shared app scaffold test environments template.
skills/dotnet-new-app-slnx/assets/shared/README.md Shared app scaffold README template.
skills/dotnet-new-app-slnx/assets/shared/Directory.Packages.props Shared app scaffold central package versions template.
skills/dotnet-new-app-slnx/assets/shared/Directory.Build.targets Shared app scaffold build targets template.
skills/dotnet-new-app-slnx/assets/shared/CHANGELOG.md Shared changelog template for app scaffold.
skills/dotnet-new-app-slnx/assets/shared/AGENTS.md Shared agent instructions template for generated app repos.
skills/dotnet-new-app-slnx/assets/shared/.gitignore Shared gitignore template for generated app repos.
skills/dotnet-new-app-slnx/assets/shared/.gitattributes Shared gitattributes template for generated app repos.
skills/dotnet-new-app-slnx/assets/shared/.editorconfig Shared editorconfig template for generated app repos.
skills/dotnet-new-app-slnx/assets/shared/.github/workflows/ci-pipeline.yml Shared CI workflow template for app scaffold.
skills/dotnet-new-app-slnx/assets/shared/.github/dependabot.yml Dependabot template for app scaffold.
skills/dotnet-new-app-slnx/assets/shared/.github/copilot-instructions.md Copilot instructions template for generated app repos.
skills/dotnet-new-app-slnx/assets/shared/.github/CONTRIBUTING.md Repo contributing template for generated app repos.
skills/dotnet-new-app-slnx/assets/shared/.github/CODE_OF_CONDUCT.md Code of conduct template for generated app repos.
skills/dotnet-new-app-slnx/assets/app/Directory.Build.props App scaffold build props template.
skills/dotnet-new-app-slnx/assets/app/.github/workflows/ci-pipeline.yml App-specific CI workflow template override.
skills/dotnet-new-app-slnx/assets/app/console.csproj Console app project template.
skills/dotnet-new-app-slnx/assets/app/web.csproj Web API project template.
skills/dotnet-new-app-slnx/assets/app/worker.csproj Worker service project template.
skills/dotnet-new-app-slnx/assets/app/test.csproj Functional test project template.
skills/dotnet-new-app-slnx/assets/app/console/Startup.cs Console Startup template (classic hosting).
skills/dotnet-new-app-slnx/assets/app/console/Program.startup.cs Console Program template (classic hosting).
skills/dotnet-new-app-slnx/assets/app/console/Program.minimal.cs Console Program template (minimal hosting).
skills/dotnet-new-app-slnx/assets/app/web/Startup.cs Web Startup template (classic hosting).
skills/dotnet-new-app-slnx/assets/app/web/Program.startup.cs Web Program template (classic hosting).
skills/dotnet-new-app-slnx/assets/app/web/Program.minimal.cs Web Program template (minimal hosting).
skills/dotnet-new-app-slnx/assets/app/worker/Startup.cs Worker Startup template (classic hosting).
skills/dotnet-new-app-slnx/assets/app/worker/Program.startup.cs Worker Program template (classic hosting).
skills/dotnet-new-app-slnx/assets/app/worker/Program.minimal.cs Worker Program template (minimal hosting).
README.md Top-level repository README describing skills and install/use.
LICENSE MIT license for this repository.
CONTRIBUTING.md Contribution guidelines for adding/updating skills.
AGENTS.md Repository-level AI agent guidelines and conventions.
.gitignore Root ignore patterns for local workspaces/eval artifacts.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

| `{SOLUTION_NAME}` | Solution name (e.g. `PaymentService`) |
| `{ROOT_NAMESPACE}` | Root namespace prefix (e.g. `Acme`) |
| `{REPO_SLUG}` | Derived from solution name (lowercased, e.g. `PaymentService` → `paymentservice`) |
| `{TARGET_FRAMEWORK}` | e.g. `net10.0` (single target) |
Comment on lines +6 to +8
<PackageVersion Include="Codebelt.Extensions.Xunit.App" Version="{LATEST}" />
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="{LATEST}" />
<PackageVersion Include="MinVer" Version="{LATEST}" />
Comment on lines +63 to +66
| `{AUTHOR_EMAIL}` | Author email |
| `{COMPANY_OR_PERSON}` | Company name or individual publisher name for copyright/NuGet metadata |
| `{COPYRIGHT_YEAR}` | Copyright year (e.g. `2026`) |
| `{PACKAGE_PROJECT_URL}` | Public package website or docs URL shown as `Project website` on NuGet |
Comment on lines +7 to +9
<ItemGroup>
<ProjectReference Include="..\..\tuning\**\*.csproj"/>
</ItemGroup>
Comment on lines +16 to +20
### Installation

```bash
dotnet add package {ROOT_NAMESPACE}
```
Comment on lines +6 to +10
"files": [
"{ROOT_NAMESPACE}/**.csproj"
],
"src": "../src"
}
Comment on lines +31 to +35
## Test Conventions

- Test project names must end with `Tests` (e.g. `{ROOT_NAMESPACE}.Tests`)
- Test classes should inherit from the appropriate base class in `Codebelt.Extensions.Xunit`
- Use `Microsoft.Testing.Platform` as the test runner (`UseMicrosoftTestingPlatformRunner=true`)
Comment on lines +26 to +29
### Step 1: Collect Parameters

Read `FORMS.md` and collect all parameters by presenting each field to the user one at a time using the agent's native input mechanism. Follow the presentation rules defined in the form. Do not proceed to Step 2 until all required fields are collected and the user confirms the summary.

Comment on lines +41 to +43
Where:
- `{KEY_SIZE}` — RSA key size from parameters (default: 4096)
- `{OUTPUT_PATH}` — full path combining `{OUTPUT_DIR}` and `{KEY_NAME}.snk`
Comment on lines +4 to +8
<RootNamespace>{ROOT_NAMESPACE}</RootNamespace>
</PropertyGroup>

<ItemGroup>
<ProjectReference Include="..\..\src\{ROOT_NAMESPACE}\{ROOT_NAMESPACE}.csproj" />
@gimlichael gimlichael merged commit e3e838a into main Mar 15, 2026
4 checks passed
@gimlichael gimlichael deleted the v0.1.0/init-skills branch March 15, 2026 05:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants