Skip to content

Conversation

@wallstop
Copy link
Owner

@wallstop wallstop commented Jan 22, 2026

✓ Consolidate LLM Skills (first pass)
✓ Setup devcontainer

Copy link
Contributor

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 introduces an LLM-facing skills system and supporting tooling, while adding a devcontainer and tightening contributor workflows around those assets.

Changes:

  • Add a devcontainer definition and tool verification script to standardize local development environments.
  • Introduce validation and index-generation tooling for .llm/skills plus pre-commit/CI hooks, and extend EOL checks to JS files.
  • Add a large set of LLM “skill” documents and a shared AI agent guidelines context, plus minor test and documentation tweaks (e.g., CyclicBufferTests, markdownlint, Prettier version).

Reviewed changes

Copilot reviewed 97 out of 97 changed files in this pull request and generated 14 comments.

Show a summary per file
File Description
scripts/validate-skills.js.meta Adds Unity meta for the skills validation script asset.
scripts/hooks/pre-commit.meta Adds Unity meta for the new Git hook script asset.
scripts/hooks/pre-commit New pre-commit hook to regenerate .llm/skills/index.md when skills change; contains the directory-filtering logic for staged skill files.
scripts/hooks.meta Adds Unity meta for the scripts/hooks folder.
scripts/generate-skills-index.ps1.meta Adds Unity meta for the PowerShell index-generation wrapper.
scripts/generate-skills-index.ps1 PowerShell wrapper that delegates to generate-skills-index.js, including a --check mode; checks for node and passes through arguments.
scripts/generate-skills-index.js.meta Adds Unity meta for the JS index-generation script.
scripts/fix-eol.js Extends the EOL fixer to include .js, .cjs, .mjs so JS files get normalized line endings.
scripts/check-eol.js Extends the EOL checker to validate .js, .cjs, .mjs files as text.
Tests/Runtime/Core/CyclicBufferTests.cs Refactors two tests from [UnityTest] IEnumerator to plain [Test] void tests and simplifies buffer initialization; keeps test behavior but removes unnecessary coroutine usage.
CONTRIBUTING.md Updates the documented pinned Prettier CLI version from 3.6.2 to 3.8.0 for manual formatting.
CLAUDE.md.meta Adds Unity meta for the Claude configuration markdown file.
CLAUDE.md Adds a short pointer document directing Claude to the central AI Agent Guidelines.
AGENTS.md Replaces the embedded project guidelines with a pointer to .llm/context.md for AI agents.
.pre-commit-config.yaml Bumps Prettier hook version to 3.8.0 and adds local hooks to validate .llm/skills and ensure index.md is up to date on pre-commit/pre-push.
.markdownlint.jsonc Configures MD025 to allow frontmatter title plus a top-level heading; keeps other markdownlint rules intact.
.markdownlint.json Same MD025 configuration for environments using pure JSON markdownlint config.
.llm/skills/testing/test-failure-investigation.md New skill describing zero-flaky test policy and high-level test failure investigation principles (metadata references dxmessaging repo).
.llm/skills/testing/test-failure-investigation-root-causes.md Details common flaky test root causes and anti-patterns with examples for Unity/NUnit tests (dxmessaging source metadata).
.llm/skills/testing/test-failure-investigation-procedure.md Step-by-step test failure investigation procedure, including diagnostics and documentation patterns.
.llm/skills/testing/test-diagnostics-usage.md Skill on using diagnostic collectors and toggles in tests for better failure information.
.llm/skills/testing/test-diagnostics-patterns.md Documents toggleable diagnostics and “intentional edge case” markers in tests.
.llm/skills/testing/test-coverage-unity-anti-patterns.md Skill outlining Unity-specific test constraints and anti-patterns in coverage.
.llm/skills/testing/test-coverage-scenario-categories.md Defines coverage scenario categories (happy path, negative, edge, unexpected, “impossible”) with NUnit examples.
.llm/skills/testing/test-coverage-organization-assertions.md Guidelines for structuring test classes, naming tests, and writing expressive assertions.
.llm/skills/testing/test-coverage-data-driven.md Documents data-driven coverage strategies using TestCase/TestCaseSource.
.llm/skills/testing/test-categories-execution.md Explains how to execute tests by category in Unity Test Runner, CLI, and CI.
.llm/skills/testing/test-base-class-cleanup-usage.md Usage patterns for a common test base that tracks and cleans up Unity objects and disposables.
.llm/skills/testing/shared-test-fixtures.md Skill describing shared test fixtures with reference counting for expensive Unity resources.
.llm/skills/testing/shared-test-fixtures-reference-counting.md Detailed implementation of a reference-counted shared fixture utility.
.llm/skills/testing/shared-test-fixtures-generic-base.md Generic base pattern for shared fixtures, enabling reuse across fixture types.
.llm/skills/testing/data-driven-tests.md Overview of data-driven NUnit tests with TestCase/TestCaseSource and anti-duplication patterns.
.llm/skills/testing/data-driven-tests-usage.md Usage-focused guidance on naming, diagnostics, and SetName for parameterized tests.
.llm/skills/testing/comprehensive-test-coverage.md Top-level coverage requirements skill tying together multiple testing-related skills for dxmessaging.
.llm/skills/templates/skill-template.md Template skill file defining required frontmatter and structure for new skills.
.llm/skills/solid/try-pattern-apis.md Skill explaining Try-pattern API design (TryGet/TryParse-style) with performance rationale.
.llm/skills/solid/try-pattern-apis-variants.md Variants of Try-pattern APIs (dictionary-style, parse-style, Unity component-style).
.llm/skills/solid/try-pattern-apis-usage.md Usage patterns for Try-pattern APIs, including chaining and callback helpers.
.llm/skills/solid/iequatable-implementation-variants.md Skill on IEquatable variants (cached hash, nullable fields, reference comparisons).
.llm/skills/solid/iequatable-implementation-usage.md Usage examples of IEquatable in dictionaries and sets.
.llm/skills/solid/fluent-builder-pattern-usage-examples.md Examples of fluent builder usage and validation behaviors.
.llm/skills/solid/fluent-builder-pattern-templates.md Templates for fluent builder factories and generic object builders.
.llm/skills/solid/collection-extensions.md Overview of collection extension method design with performance documentation.
.llm/skills/solid/collection-extensions-type-specialization.md Describes type-specialized collection extension implementations for performance.
.llm/skills/solid/collection-extensions-shuffle.md Documents an in-place Fisher–Yates shuffle extension for lists.
.llm/skills/solid/collection-extensions-accessors.md Accessor helpers (TryGetFirst/TryGetLast/TryGetRandom/IsNullOrEmpty) for collections.
.llm/skills/performance/singleton-usage-examples.md Usage scenarios for runtime and ScriptableObject singleton patterns in Unity.
.llm/skills/performance/singleton-scriptableobject.md ScriptableObject-backed singleton pattern implementation skill.
.llm/skills/performance/singleton-runtime.md Runtime MonoBehaviour singleton implementation skill.
.llm/skills/performance/singleton-patterns.md Overview skill for runtime and ScriptableObject singleton patterns and tradeoffs.
.llm/skills/performance/singleton-autoload.md Describes an auto-load attribute and loader that eagerly instantiates singletons.
.llm/skills/performance/serializable-dictionary-usage-examples.md Examples of using a serializable dictionary in MonoBehaviours and ScriptableObjects.
.llm/skills/performance/serializable-dictionary-property-drawer.md Skill with a custom property drawer for serializable dictionaries.
.llm/skills/performance/readonly-struct-cached-hash-performance-notes.md Performance notes and benchmarks for cached-hash readonly structs.
.llm/skills/performance/object-pooling-variations.md Describes object pooling variations (pooled message base vs struct events).
.llm/skills/performance/object-pooling-usage-examples.md Concrete messaging-related object pooling usage examples.
.llm/skills/performance/object-pooling-anti-patterns.md Documents common object pooling mistakes and safer alternatives.
.llm/skills/performance/array-pooling-usage-examples.md Array pooling usage examples for network buffers, serialization, and image processing.
.llm/skills/performance/aggressive-inlining-performance-notes.md Performance notes for aggressive inlining, with benchmark guidance.
.llm/skills/performance/cache-eviction-policies.md High-level cache eviction policies skill (LRU/LFU/etc.) for performance.
.llm/skills/performance/cache-eviction-builder.md Skill documenting a struct-based cache builder configuration API.
.llm/skills/documentation/documentation-xml-docs.md XML documentation standards skill for public APIs.
.llm/skills/documentation/documentation-updates.md Skill describing when and how to update docs alongside code changes.
.llm/skills/documentation/documentation-update-workflow.md Step-by-step workflow and checklist for documentation updates.
.llm/skills/documentation/documentation-style-guide.md Style guide for writing concise, active-voice technical docs.
.llm/skills/documentation/documentation-code-samples.md Requirements and patterns for accurate, runnable code samples in docs.
.llm/skills/documentation/changelog-management.md Skill describing changelog structure and maintenance (Keep a Changelog, SemVer).
.llm/context.md Central AI agent guidelines document (project structure, coding style, testing, skills sizing, documentation/changelog rules).
.github/workflows/validate-skills.yml New GitHub Actions workflow to validate .llm/skills and ensure index.md stays in sync on PRs and pushes.
.github/copilot-instructions.md Short Copilot instruction file pointing agents to .llm/context.md.
.devcontainer/verify-tools.sh Script to verify the devcontainer has all expected CLI tools installed, with summarized pass/fail output.
.devcontainer/devcontainer.json Adds a devcontainer definition (Dockerfile-based) with core features, environment settings, and recommended VS Code extensions.
.devcontainer/.dockerignore Dockerignore for the devcontainer build context to exclude VCS, build artifacts, and other non-essential files.
.cursorrules Cursor configuration file pointing AI tools at .llm/context.md for guidelines.

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

Copy link
Contributor

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

Copilot reviewed 102 out of 103 changed files in this pull request and generated 1 comment.


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

Copy link
Contributor

Copilot AI commented Jan 23, 2026

@wallstop I've opened a new pull request, #128, to work on those changes. Once the pull request is ready, I'll request review from you.

…ks.py (#128)

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: wallstop <1045249+wallstop@users.noreply.github.com>
Copy link
Contributor

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

Copilot reviewed 102 out of 103 changed files in this pull request and generated 2 comments.


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

Copy link
Contributor

Copilot AI commented Jan 23, 2026

@wallstop I've opened a new pull request, #129, to work on those changes. Once the pull request is ready, I'll request review from you.

Copy link
Contributor

Copilot AI commented Jan 23, 2026

@wallstop I've opened a new pull request, #130, to work on those changes. Once the pull request is ready, I'll request review from you.

Copilot AI and others added 2 commits January 22, 2026 19:57
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: wallstop <1045249+wallstop@users.noreply.github.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: wallstop <1045249+wallstop@users.noreply.github.com>
Copy link
Contributor

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

Copilot reviewed 102 out of 103 changed files in this pull request and generated no new comments.


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

@wallstop wallstop merged commit c9cda70 into master Jan 23, 2026
25 checks passed
@wallstop wallstop deleted the dev/wallstop/llm-refactor branch January 23, 2026 04:05
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