Skip to content

Add agent instructions, Jacques the sous-chef persona and engineering skills - #39

Merged
stphnwlsh merged 5 commits into
mainfrom
feature/agents-and-skills
Nov 3, 2026
Merged

stphnwlsh merged 5 commits into
mainfrom
feature/agents-and-skills

Conversation

@stphnwlsh

@stphnwlsh stphnwlsh commented Nov 2, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Brings the agent setup over from Minimal API, so any coding agent works here the way we do.

  • AGENTS.md, a one-line CLAUDE.md and Jacques, our sous-chef persona (.agents/agents/jacques.md). These match Minimal API except for the Web API rows.
  • 37 skills in .agents/skills:
    • 25 shared skills, identical to Minimal API except for the name.
    • 5 Web API skills: expose-a-use-case (a controller action), api-conventions, json-serialization (both sets of JSON options), openapi-and-scalar and presentation-integration-tests.
    • 7 repository and maintainer skills, which aren't included in the template package.
  • The template package ships AGENTS.md, CLAUDE.md, Jacques and the 30 engineering skills. I installed a packed template, and the generated solution builds and passes its tests.
  • CONTRIBUTING gets the "Working with an AI agent" section, and the PR template gets the skills checkbox.

A few presentation changes so the skills describe the code as it is:

  • A new Presentation.Tests.Unit project, so every template has the same four test projects. The tests that called our classes directly moved into it from the integration tests: the exception handler, the authentication settings, the bearer security transformer and the JSON options. NSubstitute moved with them.
  • One UseApiDefaults() sets the JSON options. The controllers, the HTTP JSON options and the integration tests all use it, so the settings are no longer copied twice. IgnoreCycles is gone. A new test checks that a number sent as a string gets a 400.
  • Controllers take ISender through the constructor instead of pulling it from HttpContext.RequestServices. The version action now returns Ok(...) like the others.
  • Serilog is registered with AddSerilog. The version properties are now AssemblyVersion and AssemblyInformationalVersion.

The docs site's file trees pick up the new test project in LeanMeanCleanApps/leanmeancleanapps.github.io#10.

Copies AGENTS.md, CLAUDE.md, the Sous persona and the shared and repository skills from CleanMinimalApi, and adds the Web API presentation skills: expose-a-use-case, api-conventions, json-serialization, openapi-and-scalar and presentation-integration-tests.

Brings the presentation layer in line with the skills: one UseApiDefaults for both sets of JSON options and the tests (no IgnoreCycles), AddSerilog with AssemblyVersion properties, and ISender injected through the controller constructors.
@github-actions github-actions Bot added enhancement New feature or request build labels Nov 2, 2026
@stphnwlsh stphnwlsh self-assigned this Nov 2, 2026
@github-actions

github-actions Bot commented Nov 2, 2026 •

Copy link
Copy Markdown
Contributor

Build Pipeline

✅ Ready to merge. Every stage passed.

Stage Result Details
Build 🟢 Passed Version 2026.11.03.139-pr-39 · Template package 187 KB
Test 🟢 Passed 218 passed · 0 failed · 0 skipped · Template installs, builds and passes its tests
Coverage 🟢 Passed 100% (577 of 577 lines) · Needs 95%
Static Analysis 🟢 Passed No open CodeQL alerts
Dependency Review 🟢 Passed 0 vulnerable packages · 0 licence problems
Container Scan 🟢 Passed Image starts and answers · No open Trivy alerts

Commit b5529a5 · Full run

@stphnwlsh stphnwlsh changed the title Add agent instructions, the Sous persona and engineering skills Add agent instructions, Jacques the sous-chef persona and engineering skills Nov 3, 2026
@stphnwlsh
stphnwlsh merged commit 92e9afa into main Nov 3, 2026
13 checks passed
@stphnwlsh
stphnwlsh deleted the feature/agents-and-skills branch November 3, 2026 18:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

build enhancement New feature or request

Development

Successfully merging this pull request may close these issues.

1 participant