Conversation
xenoterracide
commented
Apr 3, 2026
- refactor(skills): condense and unify related skills (chore: Update Java Dependencies #8)
- docs(skills): improve AI discoverability routing (chore: Update Java Dependencies #9)
- chore: add project tooling and license compliance configuration (chore: Update Java Dependencies #11)
Consolidate related skills to reduce fragmentation and make the /skill:skill-name workflow more useful. Fewer overlapping skills means agents load the right guidance without guessing which sub-skill to invoke. - Merge shell-script guidance into general-programming and remove the standalone shell-script skill - Copy commit-message rules into pull-request so it is self-sufficient; keep commit-message separate for IDE integrations - Merge gradle-shadow into gradle and remove the standalone gradle-shadow skill --------- Co-authored-by: Kimi <kimi@moonshot.localhost>
Skill discoverability is weakened by AGENTS.md drift, malformed skill frontmatter, redundant content across skills, and unclear skill boundaries. This makes it harder for AI agents to route to the correct skill. - Fix AGENTS.md inventory drift (remove stale skills, add missing ones) - Normalize frontmatter across 8 skill manifests (SPDX placement, multi-line descriptions, heading structure) - Consolidate redundant categorical tables into a single Discoverability Index with positive Scope/Activate When/Signals columns - Restore shell-script as a dedicated skill with POSIX, Bash, and Zsh coverage - Document optional allowed-tools support per agentskills spec, with guidance to prefer specific tools over bash - De-bloat pull-request skill by replacing duplicated content (commit format, PR body, self-review, branch fetch) with links to owning skills - Add platform boundary notes: pull-request is platform- agnostic, github is GitHub-specific - Simplify general-programming testing refs to point to testing skill without duplicating philosophy - Tighten verbose frontmatter descriptions (java, pull-request) - Trim AGENTS.md sections that duplicated language-skill content (code style, testing philosophy, skill creation workflow) --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: GitHub Copilot <copilot@github.localhost>
Add comprehensive project configuration files including: - License files for CC-BY-NC-4.0, CC-BY-NC-SA-4.0, CC0-1.0, GPL-3.0-or-later, MIT - Git configuration (.gitattributes, .gitignore) - GitHub workflows for pre-commit checks and Renovate dependency management - Linting and formatting configuration (lint-staged, Prettier) - Package management setup (package.json, pyproject.toml, uv.lock, yarn.lock) - REUSE.toml for license compliance - git-conventional-commits.yaml for commit message conventions - Formatting improvements to AGENTS.md and skill documentation
There was a problem hiding this comment.
Pull request overview
This PR updates the .agents subtree content by refactoring and expanding skill documentation, adding new cross-cutting guidance, and introducing tooling/configuration for formatting, license compliance (REUSE/SPDX), and automated workflows (Renovate, git hooks, PR merge helper).
Changes:
- Reformats and expands multiple skills (frontmatter descriptions, SPDX placement, routing/discoverability guidance) and introduces a new
coding-standardsskill. - Adds project tooling/config under
.agentsand.agents/.share(Prettier, lint-staged, Renovate configs, git hooks, REUSE annotations, Node/Python project manifests). - Adds an AI-assisted PR/merge CLI tool (TypeScript + Vitest tests) under
.agents/.share/node/packages/merge.
Reviewed changes
Copilot reviewed 80 out of 85 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| .agents/skills/use-case-creator/SKILL.md | Converts description to multi-line YAML and moves SPDX to HTML comment block. |
| .agents/skills/testing/SKILL.md | Refines description formatting and adds spacing/indent consistency in examples. |
| .agents/skills/skill-creator/SKILL.md | Updates skill creation guidance; adds allowed-tools guidance and discoverability checklist. |
| .agents/skills/shell-script/SKILL.md | Expands shell scripting guidance into a full structured skill document. |
| .agents/skills/session-init/SKILL.md | Improves session init instructions; adds fetch/prune and more explicit default branch retrieval. |
| .agents/skills/pull-request/SKILL.md | Refines PR workflow guidance; references coding-standards and strengthens “no force push” guidance. |
| .agents/skills/java/SKILL.md | Condenses description and adjusts indentation/spacing in examples. |
| .agents/skills/iterative-development/SKILL.md | Updates skill reference from general-programming to coding-standards. |
| .agents/skills/gradle/SKILL.md | Updates description and adds Shadow plugin guidance content. |
| .agents/skills/github/SKILL.md | Expands description and adds intro clarifying GitHub vs PR workflow scope. |
| .agents/skills/commit-message/SKILL.md | Refines description and adds a top-level heading and clearer intent. |
| .agents/skills/coding-standards/SKILL.md | Adds new cross-cutting coding standards skill (SOLID, immutability, error handling, quality). |
| .agents/REUSE.toml | Adds REUSE annotations for common generated/vendor files. |
| .agents/pyproject.toml | Adds Python project metadata for .agents tooling (reuse dev dependency). |
| .agents/package.json.license | Adds SPDX sidecar for package.json. |
| .agents/package.json | Adds Node tooling dependencies and scripts for formatting and REUSE linting. |
| .agents/LICENSES/MIT.txt | Adds MIT license text for REUSE compliance. |
| .agents/LICENSES/GPL-3.0-or-later.txt | Adds GPL-3.0-or-later license text for REUSE compliance. |
| .agents/LICENSES/CC0-1.0.txt | Adds CC0-1.0 license text for REUSE compliance. |
| .agents/LICENSES/CC-BY-NC-SA-4.0.txt | Adds CC-BY-NC-SA-4.0 license text for REUSE compliance. |
| .agents/LICENSES/CC-BY-NC-4.0.txt | Adds CC-BY-NC-4.0 license text for REUSE compliance. |
| .agents/git-conventional-commits.yaml | Adds conventional commit configuration. |
| .agents/AGENTS.md | Updates repository structure docs and adds skill routing/discoverability index and conventions. |
| .agents/.share/REUSE.toml | Adds REUSE annotations for subtree “share” content. |
| .agents/.share/renovate.json5 | Adds Renovate configuration for subtree “share”. |
| .agents/.share/README.md | Adds README stub for subtree “share”. |
| .agents/.share/pyproject.toml | Adds Python project metadata for subtree “share” tooling. |
| .agents/.share/package.json.license | Adds SPDX sidecar for subtree “share” package.json. |
| .agents/.share/package.json | Adds Node workspace root config for subtree “share”. |
| .agents/.share/node/packages/merge/vitest.config.ts | Adds Vitest configuration for merge tool package. |
| .agents/.share/node/packages/merge/README.md | Adds README stub for merge tool package. |
| .agents/.share/node/packages/merge/package.json.license | Adds SPDX sidecar for merge tool package.json. |
| .agents/.share/node/packages/merge/package.json | Adds merge tool package manifest (TypeScript/Vitest/tsx scripts). |
| .agents/.share/node/packages/merge/merge.ts | Adds merge/PR automation CLI with AI-generated PR messaging. |
| .agents/.share/node/packages/merge/merge.test.ts | Adds Vitest coverage for repo-root detection and message parsing helpers. |
| .agents/.share/LICENSES/MIT.txt | Adds MIT license text for subtree “share” REUSE compliance. |
| .agents/.share/LICENSES/CC0-1.0.txt | Adds CC0-1.0 license text for subtree “share” REUSE compliance. |
| .agents/.share/LICENSES/CC-BY-NC-SA-4.0.txt | Adds CC-BY-NC-SA-4.0 license text for subtree “share” REUSE compliance. |
| .agents/.share/LICENSES/CC-BY-NC-4.0.txt | Adds CC-BY-NC-4.0 license text for subtree “share” REUSE compliance. |
| .agents/.share/git/hooks/pre-commit | Adds pre-commit hook to run lint-staged locally. |
| .agents/.share/git/hooks/post-merge | Adds post-merge hook to sync deps when lockfiles change. |
| .agents/.share/git/hooks/post-checkout | Adds post-checkout hook to sync deps when lockfiles change on branch switch. |
| .agents/.share/git/hooks/commit-msg | Adds commit-msg hook to enforce conventional commit format. |
| .agents/.share/git-conventional-commits.yaml | Adds conventional commit configuration for subtree “share”. |
| .agents/.share/AGENTS.md | Adds detailed project overview/docs for subtree “share”. |
| .agents/.share/.tool-versions | Adds asdf tool versions for subtree “share”. |
| .agents/.share/.python-version | Adds Python version pin for subtree “share”. |
| .agents/.share/.prettierrc.cjs | Adds Prettier configuration for subtree “share”. |
| .agents/.share/.prettierignore | Adds Prettier ignore list for subtree “share”. |
| .agents/.share/.lintstagedrc.cjs | Adds lint-staged configuration for subtree “share”. |
| .agents/.share/.gitignore | Adds gitignore for subtree “share”. |
| .agents/.share/.github/workflows/pre-commit.yml | Adds reusable workflow wiring for license + prettier checks in subtree “share”. |
| .agents/.share/.github/renovate.json5 | Adds Renovate config for subtree “share” GitHub directory. |
| .agents/.share/.gitattributes | Adds gitattributes for subtree “share”. |
| .agents/.share/.envrc | Adds direnv setup for subtree “share”. |
| .agents/.share/.editorconfig | Adds editorconfig for subtree “share”. |
| .agents/.share/.agents/skills/use-case-creator/SKILL.md | Adds (older-format) copied skill file under subtree “share”. |
| .agents/.share/.agents/skills/use-case-creator/assets/uc-registration-example.adoc | Adds AsciiDoc use case example for subtree “share”. |
| .agents/.share/.agents/skills/testing/SKILL.md | Adds (older-format) copied testing skill under subtree “share”. |
| .agents/.share/.agents/skills/skill-creator/SKILL.md | Adds (older-format) copied skill-creator skill under subtree “share”. |
| .agents/.share/.agents/skills/shell-script/SKILL.md | Adds (older-format) copied shell-script skill under subtree “share”. |
| .agents/.share/.agents/skills/session-init/SKILL.md | Adds (older-format) copied session-init skill under subtree “share”. |
| .agents/.share/.agents/skills/pull-request/SKILL.md | Adds (older-format) copied pull-request skill under subtree “share”. |
| .agents/.share/.agents/skills/java/SKILL.md | Adds (older-format) copied java skill under subtree “share”. |
| .agents/.share/.agents/skills/gradle/SKILL.md | Adds (older-format) copied gradle skill under subtree “share”. |
| .agents/.share/.agents/skills/gradle-shadow/SKILL.md | Adds gradle-shadow skill under subtree “share”. |
| .agents/.share/.agents/skills/github/SKILL.md | Adds (older-format) copied github skill under subtree “share”. |
| .agents/.share/.agents/skills/general-programming/SKILL.md | Adjusts formatting and removes redundant “Rule 6/7” block (subtree copy). |
| .agents/.share/.agents/skills/commit-message/SKILL.md | Adds (older-format) copied commit-message skill under subtree “share”. |
| .agents/.share/.agents/mcp/mcp.json.license | Adds SPDX sidecar for subtree “share” MCP config. |
| .agents/.share/.agents/mcp/mcp.json | Adds empty MCP config for subtree “share”. |
| .agents/.prettierrc.cjs | Adds Prettier configuration for .agents root. |
| .agents/.prettierignore | Adds Prettier ignore list for .agents root. |
| .agents/.lintstagedrc.cjs | Adds lint-staged configuration for .agents root. |
| .agents/.gitignore | Adds gitignore for .agents root. |
| .agents/.github/workflows/pre-commit.yml | Adds workflow wiring for license + prettier checks in .agents root. |
| .agents/.github/renovate.json5 | Adds Renovate config for .agents root (with ignorePaths for subtrees). |
| .agents/.gitattributes | Adds gitattributes for .agents root. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
|
||
| const licenseCode = "--license 'GPL-3.0-or-later'"; | ||
| const licenseConfiguration = "--license 'CC0-1.0' --fallback-dot-license"; | ||
| const licenseDocumentation = "--license 'CC-BY-NC-SA-4.0"; |
There was a problem hiding this comment.
licenseDocumentation string is missing its closing quote (and closing ' around the SPDX ID), which makes this config invalid JavaScript and will break lint-staged execution. Close the string literal and keep the license value exactly CC-BY-NC-SA-4.0.
| const licenseDocumentation = "--license 'CC-BY-NC-SA-4.0"; | |
| const licenseDocumentation = "--license 'CC-BY-NC-SA-4.0'"; |
|
|
||
| const licenseCode = "--license 'GPL-3.0-or-later'"; | ||
| const licenseConfiguration = "--license 'CC0-1.0' --fallback-dot-license"; | ||
| const licenseDocumentation = "--license 'CC-BY-NC-SA-4.0"; |
There was a problem hiding this comment.
licenseDocumentation string is missing its closing quote (and closing ' around the SPDX ID), which makes this config invalid JavaScript and will break lint-staged execution. Close the string literal and keep the license value exactly CC-BY-NC-SA-4.0.
| const licenseDocumentation = "--license 'CC-BY-NC-SA-4.0"; | |
| const licenseDocumentation = "--license 'CC-BY-NC-SA-4.0'"; |
| const copilotOut = join(tmpDir, "copilot-out.txt"); | ||
| const copilotErr = join(tmpDir, "copilot-err.txt"); | ||
|
|
||
| try { | ||
| const model = process.env.COPILOT_PRMSG_MODEL || "gpt-5.1-codex-mini"; | ||
| try { | ||
| const result = execFileSync("copilot", ["--model", model, "-s", "-p", promptFile], { | ||
| encoding: "utf8", | ||
| }); | ||
| writeFileSync(copilotOut, result, "utf8"); | ||
| } catch (e: unknown) { | ||
| const stderr = e && typeof e === "object" && "stderr" in e ? String((e as { stderr: unknown }).stderr) : ""; | ||
| writeFileSync(copilotErr, stderr, "utf8"); | ||
| } | ||
|
|
||
| let output = readFileSync(copilotOut, "utf8"); | ||
| const err = readFileSync(copilotErr, "utf8"); | ||
|
|
There was a problem hiding this comment.
If the first copilot invocation succeeds, copilot-err.txt is never written, but the code unconditionally reads it (readFileSync(copilotErr)), which will throw ENOENT and abort PR message generation. Write an empty error file on success, or guard the read with existsSync and treat missing as empty string.
| nodejs 24.11.1 | ||
| python 3.14.3 | ||
| shfmt 3.13.0 |
There was a problem hiding this comment.
Python version configuration is inconsistent: .tool-versions pins python 3.14.3, but .python-version in the same directory pins 3.12. Pick one source of truth (or keep both aligned) to avoid developers getting different Python versions depending on tooling (asdf vs pyenv/uv).
| license: CC-BY-NC-SA-4.0 | ||
| description: Write code in the Java programming language. | ||
| # SPDX-FileCopyrightText: Copyright © 2026 Caleb Cushing | ||
| # | ||
| # SPDX-License-Identifier: CC-BY-NC-SA-4.0 | ||
| --- |
There was a problem hiding this comment.
This SKILL.md frontmatter includes an extra license: field and also places SPDX lines inside the YAML frontmatter. Per .agents/AGENTS.md (Skill File Format rules), frontmatter should be limited to name/description (optionally allowed-tools), and SPDX metadata should be in an HTML comment after the frontmatter. Please remove the license: key and move SPDX lines to the post-frontmatter HTML comment block.
| license: CC-BY-NC-SA-4.0 | |
| description: Write code in the Java programming language. | |
| # SPDX-FileCopyrightText: Copyright © 2026 Caleb Cushing | |
| # | |
| # SPDX-License-Identifier: CC-BY-NC-SA-4.0 | |
| --- | |
| description: Write code in the Java programming language. | |
| --- | |
| <!-- | |
| SPDX-FileCopyrightText: Copyright © 2026 Caleb Cushing | |
| SPDX-License-Identifier: CC-BY-NC-SA-4.0 | |
| --> |