Skip to content

tests(skills E2E): drive checks from skills/ as the source of truth#717

Merged
peter-leonov-ch merged 4 commits into
mainfrom
copilot/check-e2e-tests-for-skills
May 9, 2026
Merged

tests(skills E2E): drive checks from skills/ as the source of truth#717
peter-leonov-ch merged 4 commits into
mainfrom
copilot/check-e2e-tests-for-skills

Conversation

Copilot AI commented May 9, 2026

Copy link
Copy Markdown
Contributor

Summary

Address unresolved review comments from #714 on tests/e2e/skills/check.js: the hardcoded skill list and single-skill symlink assertion let a missing/misdeclared skill (or wrong path) slip through. Make the repo-root skills/ directory the source of truth and verify the full agents.skills manifest.

  • packages/client-node/package.json — add clickhouse-js-node-coding to agents.skills so both shipped skills are discoverable. (Also landed independently on main via docs(AGENTS.md): refresh based on last 4 weeks of PRs #714 and reconciled during the merge.)
  • tests/e2e/skills/check.js — discover skills from skills/ (subdirs containing SKILL.md) and assert, for the installed @clickhouse/client tarball:
    • agents.skills declares exactly that set (sorted-name deepStrictEqual — catches both missing and stale entries).
    • Each declared entry has path === ./skills/<name>, the path resolves inside the installed package, and contains SKILL.md.
    • Each declared skill is symlinked under .claude/skills/ by skills-npm and the symlink target contains SKILL.md (no longer hardcoded to clickhouse-js-node-troubleshooting).
    • @clickhouse/client-web still ships no skills/ dir.
  • Descriptive error if skills/ is missing; npm-* link list is re-read inside each check to avoid stale snapshots.
  • Merged latest main and resolved a conflict in tests/e2e/skills/check.js by keeping this PR's source-of-truth-driven implementation over the simpler hardcoded nodeSkills array introduced by docs(AGENTS.md): refresh based on last 4 weeks of PRs #714.

Checklist

  • Unit and integration tests covering the common scenarios were added

Copilot AI and others added 2 commits May 9, 2026 20:12
…g skill to manifest

Agent-Logs-Url: https://github.com/ClickHouse/clickhouse-js/sessions/760e6c33-bd92-406b-bac0-e4e1aa20a31d

Co-authored-by: peter-leonov-ch <209667683+peter-leonov-ch@users.noreply.github.com>
…er check

Agent-Logs-Url: https://github.com/ClickHouse/clickhouse-js/sessions/760e6c33-bd92-406b-bac0-e4e1aa20a31d

Co-authored-by: peter-leonov-ch <209667683+peter-leonov-ch@users.noreply.github.com>
@CLAassistant

CLAassistant commented May 9, 2026

Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.
1 out of 3 committers have signed the CLA.

✅ peter-leonov-ch
❌ Copilot
❌ copilot


copilot seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.
You have signed the CLA already but the status is still pending? Let us recheck it.

@peter-leonov-ch

Copy link
Copy Markdown
Collaborator

@copilot resolve the merge conflicts in this pull request

…ts-for-skills

# Conflicts:
#	tests/e2e/skills/check.js

Co-authored-by: peter-leonov-ch <209667683+peter-leonov-ch@users.noreply.github.com>

Copilot AI commented May 9, 2026

Copy link
Copy Markdown
Contributor Author

@copilot resolve the merge conflicts in this pull request

Resolved in 346e342. The only conflict was in tests/e2e/skills/check.js — kept this PR's source-of-truth-driven version (discovers skills from skills/ and validates path/symlinks for each declared entry) over the hardcoded nodeSkills list that landed on main via #714. The agents.skills change to packages/client-node/package.json had already merged via #714, so it auto-merged cleanly.

@codecov

codecov Bot commented May 9, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@peter-leonov-ch peter-leonov-ch marked this pull request as ready for review May 9, 2026 20:26
@peter-leonov-ch peter-leonov-ch requested a review from mshustov as a code owner May 9, 2026 20:26
Copilot AI review requested due to automatic review settings May 9, 2026 20:26

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Improves the Skills E2E packaging check to treat the repo-root skills/ directory as the source of truth, and validates that the installed @clickhouse/client package’s agents.skills manifest and skills-npm symlinks match what’s in skills/.

Changes:

  • Discover expected skills by scanning skills/ for subdirectories containing SKILL.md.
  • Assert @clickhouse/client’s agents.skills matches that discovered set and each entry resolves to an installed skill containing SKILL.md.
  • Generalize the skills-npm symlink checks to validate symlinks for every declared skill (instead of a single hardcoded skill), and keep @clickhouse/client-web skill-free.

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

Comment thread tests/e2e/skills/check.js
Comment thread tests/e2e/skills/check.js
@peter-leonov-ch peter-leonov-ch merged commit e9f3604 into main May 9, 2026
61 checks passed
@peter-leonov-ch peter-leonov-ch deleted the copilot/check-e2e-tests-for-skills branch May 9, 2026 21:40
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.

4 participants