Skip to content

chore: add SynapseML local setup skill#2558

Merged
BrendanWalsh merged 2 commits into
masterfrom
chore/synapseml-local-setup-skill
May 5, 2026
Merged

chore: add SynapseML local setup skill#2558
BrendanWalsh merged 2 commits into
masterfrom
chore/synapseml-local-setup-skill

Conversation

@BrendanWalsh
Copy link
Copy Markdown
Collaborator

@BrendanWalsh BrendanWalsh commented May 5, 2026

Summary

Adds a project-scoped synapseml-local-setup agent skill under .github/skills/ so future Copilot agents can get SynapseML working locally without rediscovering the Java 21 and Scala 2.12 compiler bridge issue.

What changed

  • Added a setup skill with concise activation instructions.
  • Added synapseml-doctor.sh to inspect repo, Java, JDK 11, sbt, Scala, and Spark state.
  • Added synapseml-sbt.sh to run SBT with JDK 11 explicitly.
  • Added synapseml-smoke-test.sh for a safe local Spark smoke test.
  • Added check-live-service-tests.sh to flag suites that may touch live Azure resources.
  • Added troubleshooting notes for the Java 21 bad constant pool index: 0 failure.

Validation

  • git diff --check -- .github/skills/synapseml-local-setup
  • synapseml-doctor.sh --repo <repo> reported doctor_status=ok.
  • synapseml-sbt.sh --repo <repo> --dry-run -- cognitive/Test/compile selected JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64.
  • synapseml-smoke-test.sh --repo <repo> passed the filtered UDFTransformerSuite smoke test.
  • check-live-service-tests.sh flagged Azure Search tests as live_service_status=review_required.

## Summary
Add a project-scoped SynapseML agent skill that diagnoses local toolchain state, selects JDK 11 for SBT commands, runs a safe local Spark smoke test, and flags live-service tests before agents run them.

## Prompting Intent
The engineer asked the agent to create a skill that helps any future agent get SynapseML working locally after the PR 2556 review exposed a local Java 21 and Scala 2.12 compiler-bridge failure. The engineer also asked to create a PR for the skill addition before continuing the original external PR review.

## Linked Sources
- User request in current session: create a skill that will help any agent be able to get SynapseML working locally.
- Follow-up user request in current session: create a PR for that skill addition and continue using it to review PR 2556.
- Existing project-scoped skill convention: .agents/skills/code-review/SKILL.md.
- Local validation output: doctor_status=ok, JDK 11 dry-run selected JAVA_HOME, smoke test passed, Azure Search tests flagged review_required.

## Rationale
A project-scoped SynapseML skill keeps local setup guidance with the repository where future agents need it. The scripts use explicit parameters rather than session state, force JDK 11 for Scala 2.12 SBT commands, and include a live-service guard so agents do not accidentally create or delete Azure Search resources while validating changes.
Copilot AI review requested due to automatic review settings May 5, 2026 20:31
@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 5, 2026

Hey @BrendanWalsh 👋!
Thank you so much for contributing to our repository 🙌.
Someone from SynapseML Team will be reviewing this pull request soon.

We use semantic commit messages to streamline the release process.
Before your pull request can be merged, you should make sure your first commit and PR title start with a semantic prefix.
This helps us to create release messages and credit you for your hard work!

Examples of commit messages with semantic prefixes:

  • fix: Fix LightGBM crashes with empty partitions
  • feat: Make HTTP on Spark back-offs configurable
  • docs: Update Spark Serving usage
  • build: Add codecov support
  • perf: improve LightGBM memory usage
  • refactor: make python code generation rely on classes
  • style: Remove nulls from CNTKModel
  • test: Add test coverage for CNTKModel

To test your commit locally, please follow our guild on building from source.
Check out the developer guide for additional guidance on testing your change.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 5, 2026

Dependency Review

✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.

Scanned Files

None

## Summary
Move the SynapseML local setup skill from `.agents/skills/` to `.github/skills/` so it uses the documented Copilot project-skill discovery path.

## Prompting Intent
The engineer asked whether the `.agents` folder was correct and whether Copilot would pick it up. Investigation found that the local skill-authoring reference documents `.github/skills/<name>/` and `.claude/skills/<name>/` as project skill locations, so the open skill PR needed a path correction.

## Linked Sources
- User question in current session: is this .agent folder correct? will copilot pick this up?
- Skill-authoring reference: /home/brwals/.copilot/installed-plugins/copilot-toolkit-marketplace/common/skills/create-skill/references/REFERENCE.md
- Existing PR: #2558

## Rationale
The existing `.agents/skills/code-review` directory was only evidence of a repo-local convention, not evidence of Copilot discovery. Moving the new skill to `.github/skills/synapseml-local-setup/` keeps the same skill content while placing it in the documented project-skill path.
@BrendanWalsh BrendanWalsh merged commit 71e8e6d into master May 5, 2026
11 checks passed
@BrendanWalsh BrendanWalsh deleted the chore/synapseml-local-setup-skill branch May 5, 2026 22:37
BrendanWalsh added a commit to BrendanWalsh/SynapseML that referenced this pull request May 20, 2026
## Summary
Move the remaining SynapseML repo skill from `.agents/skills/` to `.github/skills/` so Copilot CLI can discover all repo-versioned skills from the documented project-skill path. Add README pointers under `.agents/` for tools or agents that inspect the older convention.

## Prompting Intent
The engineer asked to migrate everything to the correct Copilot CLI path and suggested keeping a generic agents pointer. The goal was to make existing skills discoverable by Copilot while avoiding future confusion about `.agents/skills`.

## Linked Sources
- User request in current session: migrate everything to the correct path for Copilot CLI and keep a generic agents pointer.
- Skill location reference: /home/brwals/.copilot/installed-plugins/copilot-toolkit-marketplace/common/skills/create-skill/references/REFERENCE.md
- Prior merged skill PR: microsoft#2558

## Rationale
`.github/skills/<name>/` is the documented Copilot CLI project-skill location. Keeping only README pointers under `.agents/` preserves a breadcrumb for other agent conventions without leaving duplicate or stale `SKILL.md` files in a path Copilot CLI may not load.
BrendanWalsh added a commit that referenced this pull request May 20, 2026
## Summary
Move the remaining SynapseML repo skill from `.agents/skills/` to `.github/skills/` so Copilot CLI can discover all repo-versioned skills from the documented project-skill path. Add README pointers under `.agents/` for tools or agents that inspect the older convention.

## Prompting Intent
The engineer asked to migrate everything to the correct Copilot CLI path and suggested keeping a generic agents pointer. The goal was to make existing skills discoverable by Copilot while avoiding future confusion about `.agents/skills`.

## Linked Sources
- User request in current session: migrate everything to the correct path for Copilot CLI and keep a generic agents pointer.
- Skill location reference: /home/brwals/.copilot/installed-plugins/copilot-toolkit-marketplace/common/skills/create-skill/references/REFERENCE.md
- Prior merged skill PR: #2558

## Rationale
`.github/skills/<name>/` is the documented Copilot CLI project-skill location. Keeping only README pointers under `.agents/` preserves a breadcrumb for other agent conventions without leaving duplicate or stale `SKILL.md` files in a path Copilot CLI may not load.
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.

1 participant