Skip to content

V0.8.0/agent smith - #32

Merged
gimlichael merged 21 commits into
mainfrom
v0.8.0/agent-smith
Jul 20, 2026
Merged

V0.8.0/agent smith#32
gimlichael merged 21 commits into
mainfrom
v0.8.0/agent-smith

Conversation

@gimlichael

Copy link
Copy Markdown
Member

This pull request introduces the new agent-smith skill, a comprehensive software-craftsmanship advisor, and updates documentation and changelogs to reflect its addition. It also updates the description of the git-keep-a-changelog skill for greater accuracy and clarity, and adds compare links for changelog versions. The most important changes are summarized below:


New Skill: agent-smith

  • Introduced the agent-smith skill, providing rigorous, evidence-driven guidance for a wide range of engineering tasks including design, architecture, implementation, refactoring, code review, testing, benchmarking, security, CI/CD, and repository governance. The skill is technology-neutral at its core, adapts to repository conventions, and emphasizes honest, consistent completion gates.
  • Added detailed reference documentation, evaluation coverage, README installation instructions, a capability showcase, and a hero image asset for agent-smith. [1] [2] [3] [4]

Documentation and Changelog Updates

  • Updated the CHANGELOG.md to include agent-smith in the 0.8.0 release, with a detailed summary of its features and principles.
  • Improved the description of the git-keep-a-changelog skill in both the changelog and README for accuracy and to reflect workflow changes, including more precise handling of commit ranges and concrete releases. [1] [2]
  • Added an [Unreleased] compare link to the changelog for easier navigation between versions.

Add the agent-smith skill to the codebelt agentic repository. Includes SKILL.md with core workflow and auto-trigger modes, references/ with deep guidance (scope analysis, patterns, security, DevSecOps, CI/CD, documentation, repository governance), and evals/ for testing. Agent-smith applies rigorous software-craftsmanship standards across engineering tasks: design, architecture, implementation, refactoring, code review, public API analysis, testing, performance, security, CI/CD, delivery, and governance.
Add agent-smith to install commands, available skills table, and Why section. Includes the full skill description and motivation for using agent-smith: performing the work to standard rather than reviewing afterward, technology-neutral core, progressive disclosure, evidence-driven reporting, respects local conventions, scales without lowering standard, and honest completion gates.
Resolves critical issue where the skill could include already-released commits by replacing <base>^..HEAD caret notation with deterministic branch-derived scope. Adds bleed guard validation to ensure only branch-unique commits are included in the changelog, preventing duplication of already-released work.
Aligns validate-skill-templates.ps1 with the updated git-keep-a-changelog skill behavior and new deterministic release-scope validation requirements.
Documents the resolution of critical release-scope boundary handling issues and the introduction of deterministic branch-derived scope validation.
@gimlichael gimlichael self-assigned this Jul 18, 2026
@greptile-apps

greptile-apps Bot commented Jul 18, 2026

Copy link
Copy Markdown

Greptile Summary

This PR introduces the agent-smith skill — a technology-neutral software-craftsmanship advisor with progressive disclosure, 13 eval cases, a Roslyn multi-project artifact repair script, and 15 specialist reference documents. It also replaces the git-keep-a-changelog caret-notation scope approach with a deterministic resolve-release-scope.ps1 resolver and adds a deterministic commit-subject validator to git-visual-commits.

  • agent-smith skill: new SKILL.md with explicit .NET conformance lock, task-classification routing table, and completion criteria; repair script handles only the proven namespace-conversion artifact pattern and fails closed on all other shapes.
  • git-keep-a-changelog scope refactor: resolver script emits history_range / diff_range separation, SHA-pins boundaries, and bleed-guards via an exception; SKILL.md Step 3b and Step 4 are rewritten to consume resolver output directly rather than constructing ranges manually.
  • git-visual-commits subject validation: deterministic validate-commit-subject.ps1 enforcing emoji table membership, one ASCII space, lowercase start, and 70-character grapheme-cluster limit; CI validator content-checks the test file but does not execute it, unlike the agent-smith repair test which runs unconditionally.

Confidence Score: 5/5

Safe to merge. The changes are additive skill definitions, documentation, and PowerShell tooling with no runtime impact on production systems.

All three new scripts are well-scoped, fail-closed PowerShell utilities with no network access or shell-injection risk. The findings are documentation and testing-consistency observations that do not affect the correctness of the scripts themselves.

scripts/validate-skill-templates.ps1 — the new git-visual-commits block content-checks test-commit-subject.ps1 but never executes it, which is inconsistent with how the agent-smith repair test is handled in the same PR.

Important Files Changed

Filename Overview
skills/agent-smith/SKILL.md New skill entry point: well-structured progressive disclosure, technology-neutral core, clear .NET conformance lock at the top, reference routing table, and explicit completion criteria. Within the 500-line limit.
skills/agent-smith/evals/evals.json 13 eval cases covering proportional implementation, benchmark mode, API review, CI/CD, TypeScript non-.NET scope, out-of-scope creative writing, and seven EditorConfig/Roslyn remediation scenarios with specific expectation lists.
skills/agent-smith/scripts/repair-roslyn-multiproject-artifacts.ps1 Deterministic Roslyn merge-artifact repair: detects whole-document namespace-conversion pattern, validates prefix coherence before apply, preserves BOM encoding, exits 2 on unsafe artifacts, and fails closed on any unrecognized pattern.
skills/git-keep-a-changelog/scripts/resolve-release-scope.ps1 New deterministic branch-scope resolver: discovers default base via upstream tracking, pins SHAs, emits history_range/diff_range separation, and bleed-guards via throw. The base_history_bleed field in the output is always $false (bleed causes a throw, not a flag), making the SKILL.md check redundant.
skills/git-visual-commits/scripts/validate-commit-subject.ps1 Deterministic commit-subject validator enforcing emoji table membership, single ASCII space, lowercase first character, opt-in conventional prefix, and 70-char grapheme-cluster limit. Contains an undocumented hardcoded 🎭 approval bypass with no associated test case.
skills/git-visual-commits/scripts/test-commit-subject.ps1 10 test cases covering valid subjects, the reported screenshot regression, double-space separator, overlong subject, forbidden prefix, and invalid prefix in combo mode. Never executed by the CI validator — only its content is needle-checked.
scripts/validate-skill-templates.ps1 Adds three validation blocks: agent-smith EditorConfig/Roslyn coverage (executes repair test unconditionally), git-visual-commits subject lock (content-checks only, does not execute test-commit-subject.ps1), and git-keep-a-changelog scope-resolver checks (executes resolver test locally only). Inconsistent execution strategy between the three new blocks.
skills/git-keep-a-changelog/SKILL.md Refactored scope resolution from manual caret-notation to the bundled resolver script; adds yolo committed-history isolation rule, release isolation checkpoint as non-negotiable #2, and rewrites Step 1/3b/4 to use emitted ranges directly.
CHANGELOG.md 0.8.0 summary updated to include agent-smith alongside dotnet-benchmark; added agent-smith Added/Changed/Fixed bullets; added Unreleased compare link footer.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[User invokes /agent-smith task] --> B{Classify task modes}
    B -->|.NET EditorConfig| C[Load dotnet.md + dotnet-editorconfig-conformance.md]
    B -->|Architecture / API / etc.| D[Load relevant reference docs]
    C --> E{Prior mutating formatter pass?}
    E -->|Yes - Unmerged artifacts| F[repair-roslyn-multiproject-artifacts.ps1 check mode]
    F -->|all recoverable| G[Run with -Apply]
    F -->|unsafe artifact| H[Fail closed - report blocker]
    E -->|No| I[dotnet format --severity info --verify-no-changes]
    I --> J{Clean?}
    J -->|No| K[Deliberate source edits]
    K --> I
    J -->|Yes| L[Build + tests]

    M[User invokes git-keep-a-changelog] --> N[resolve-release-scope.ps1]
    N -->|bleed detected| O[Throw - stop]
    N -->|clean JSON| P[history_range for commits]
    N --> Q[diff_range for manifest diffs]
    P --> R[Write CHANGELOG.md]
    Q --> R

    S[User commits via git-visual-commits] --> T[Read SKILL.md EOF]
    T --> U[validate-commit-subject.ps1 pre-plan]
    U -->|fail| V[Halt and report]
    U -->|pass| W[Stage + commit]
    W --> X[validate-commit-subject.ps1 pre-git]
    X -->|fail| V
    X -->|pass| Y[git bot commit]
Loading
%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%%
flowchart TD
    A[User invokes /agent-smith task] --> B{Classify task modes}
    B -->|.NET EditorConfig| C[Load dotnet.md + dotnet-editorconfig-conformance.md]
    B -->|Architecture / API / etc.| D[Load relevant reference docs]
    C --> E{Prior mutating formatter pass?}
    E -->|Yes - Unmerged artifacts| F[repair-roslyn-multiproject-artifacts.ps1 check mode]
    F -->|all recoverable| G[Run with -Apply]
    F -->|unsafe artifact| H[Fail closed - report blocker]
    E -->|No| I[dotnet format --severity info --verify-no-changes]
    I --> J{Clean?}
    J -->|No| K[Deliberate source edits]
    K --> I
    J -->|Yes| L[Build + tests]

    M[User invokes git-keep-a-changelog] --> N[resolve-release-scope.ps1]
    N -->|bleed detected| O[Throw - stop]
    N -->|clean JSON| P[history_range for commits]
    N --> Q[diff_range for manifest diffs]
    P --> R[Write CHANGELOG.md]
    Q --> R

    S[User commits via git-visual-commits] --> T[Read SKILL.md EOF]
    T --> U[validate-commit-subject.ps1 pre-plan]
    U -->|fail| V[Halt and report]
    U -->|pass| W[Stage + commit]
    W --> X[validate-commit-subject.ps1 pre-git]
    X -->|fail| V
    X -->|pass| Y[git bot commit]
Loading

Reviews (4): Last reviewed commit: "💬 update README for agent-smith Roslyn ..." | Re-trigger Greptile

Comment thread CHANGELOG.md
Comment thread CHANGELOG.md Outdated
Comment thread scripts/validate-skill-templates.ps1
Comment thread skills/git-keep-a-changelog/scripts/resolve-release-scope.ps1
aicia-bot added 13 commits July 18, 2026 20:53
Condense the release preamble to focus on core capabilities, clarify Added/Changed sections with deterministic resolver and bleed-guard details, introduce Fixed section for the critical git-keep-a-changelog scope bug, and ensure all 0.8.0 additions are accurately represented.
The skill now enforces a full EOF read of SKILL.md before any Git command, and validates every commit subject through a bundled deterministic PowerShell validator before displaying the plan and again before passing to Git. This prevents unapproved emoji, wrong spacing, uppercase description beginnings, and subjects over 70 characters from ever being shown or committed.
Introduces validate-commit-subject.ps1, a PowerShell script that rejects unapproved emoji, wrong separator spacing, uppercase description beginnings, and subjects longer than 70 characters. Also adds test-commit-subject.ps1 to verify the validator works correctly. The validator is called by the skill before plan display and immediately before Git.
Enhanced scripts/validate-skill-templates.ps1 to verify that git-visual-commits includes the new subject validation infrastructure: the bundled validate-commit-subject.ps1 script, test-commit-subject.ps1 tests, and all required SKILL.md sections that document the full-skill-read and subject-validation locks.
Updated README.md to describe git-visual-commits' new deterministic subject validation gating, including the full-skill-read requirement, the bundled PowerShell validator, and the rejection criteria (unapproved emoji, wrong spacing, uppercase beginnings, length violations). Also updated the skill table entry to highlight these deterministic enforcement mechanisms.
Expand agent-smith to handle explicit EditorConfig, code-style, and named-diagnostic remediation work. Introduces a new mode that performs read-only dotnet format discovery, makes deliberate source edits, validates against scoped conformance goals (not full repository policy), requires affected builds and tests, and maintains de-duplication across multi-target projects. Includes new references/dotnet-editorconfig-conformance.md guidance for the scoped diagnostic remediation workflow.
Add three test cases covering the new EditorConfig conformance mode: a basic negative test confirming out-of-scope requests do not trigger the mode, and two targeted-remediation scenarios for IDE0055 and multi-diagnostic (IDE0005 + CA1822) cases with path and severity scoping. Tests validate discovery/verification command construction, requirement for deliberate source edits (never mutating dotnet format), result reporting, and build/test validation gates.
Update agent-smith skill description in README to reflect new EditorConfig conformance mode for targeted IDE/CA diagnostic remediation. Add safe-multi-target-conformance principle clarifying that de-duplication, deterministic discovery, deliberate edits, conflict scans, and build/test gates are required before claiming compliance success. Update principle about evidence over confidence to reference the new artifact scanning requirement.
Harden EditorConfig conformance mode with deterministic recovery for multi-project formatter artifacts. Introduce critical lock requiring both --severity info and --verify-no-changes throughout discovery and verification. Add repair-roslyn-multiproject-artifacts.ps1 with deterministic detection of whole-document-namespace-conversion pattern, fail-closed design on unrecognized candidates, all-or-nothing directory repair at preflight, and fixture-backed tests covering encoding, idempotence, localized artifacts, and partial-write prevention. Update evals to include multi-target conformance and Roslyn artifact recovery scenarios.
Enhance repo-level validation to cover the new Roslyn multi-project artifact recovery implementation. Add checks verifying --severity info and --verify-no-changes requirements in SKILL.md, recovery script signature and pattern detection, comprehensive eval coverage for multi-target and recovery scenarios, and fixture-backed repair tests for encoding, idempotence, and unsafe-artifact handling.
Document deterministic Roslyn multi-project artifact recovery script and EditorConfig conformance hardening. Highlight critical --severity info and --verify-no-changes requirements for informational workflows, introduction of fail-closed recovery pattern detection, and comprehensive recovery validation infrastructure.
Reflect new EditorConfig conformance recovery capabilities in agent-smith skill description. Highlight deterministic multi-target artifact recovery, fail-closed safety gates, critical --severity info and --verify-no-changes locks, and comprehensive validation infrastructure that prevents unsafe formatter behaviors during targeted diagnostic remediation.
@gimlichael
gimlichael merged commit 665abc6 into main Jul 20, 2026
1 check passed
@gimlichael
gimlichael deleted the v0.8.0/agent-smith branch July 20, 2026 20:48
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.

2 participants