Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 25 additions & 0 deletions .github/skills/find-package-skill/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
---
name: find-package-skill
description: '**UTILITY SKILL** — Must be consulted before making any changes to packages under sdk/. Provides package-specific domain knowledge that prevents common mistakes. WHEN: add feature to package; fix bug in package; modify package code; regenerate from typespec; change client library.'
---

# Find Package Skill

Before modifying any SDK package in this monorepo, check this registry to see
if a package-specific skill exists. Package skills contain tribal knowledge
(architecture, data flows, type mappings, pitfalls) that prevents common mistakes.

Always check this registry before modifying any SDK package — even if you think
you already know the package well.

## How to Use

1. Find the package you're modifying in the table below.
2. Read the SKILL.md at the listed path using the Read tool. Then read all files under the `references/` directory next to it for additional context.
3. If the package isn't listed, no package-specific skill exists yet — proceed normally.

## Package Skills

| Package | Path |
| -------------------------- | ------------------------------------------------------------------------------------------------- |
| `azure-search-documents` | `sdk/search/azure-search-documents/.github/skills/search-documents/SKILL.md` |
Comment on lines +23 to +25

Copilot AI Apr 14, 2026

Copy link

Choose a reason for hiding this comment

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

The markdown table has an extra leading pipe per row (|| ...), which renders as an unintended empty first column on GitHub. Use a single leading pipe (| ...) for proper two-column table rendering.

Copilot uses AI. Check for mistakes.
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
---
name: search-documents

Copilot AI Apr 14, 2026

Copy link

Choose a reason for hiding this comment

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

The skill name (search-documents) doesn’t match the package name used in the registry (azure-search-documents). If any tooling or conventions rely on name/package alignment, this mismatch can cause confusion or lookup issues. Consider renaming the skill name to azure-search-documents, or explicitly document the naming convention (e.g., skill names are short aliases) in the registry.

Suggested change
name: search-documents
name: azure-search-documents

Copilot uses AI. Check for mistakes.
description: 'Post-regeneration customization guide for azure-search-documents SDK. After running tsp-client update, consult this skill to re-apply search-specific customizations and produce a production-ready SDK. WHEN: regenerate search SDK; search tsp-client update; fix search customization errors; search API version update; search SDK release; update search service version.'
---

# azure-search-documents — Package Skill

<!-- TODO: Domain experts should fill in the sections below with tribal knowledge
specific to this package. -->

## Common Pitfalls

<!-- TODO: List the most dangerous mistakes an agent can make with this package.
Put these BEFORE the workflow — agents read them first. -->

## Architecture

<!-- TODO: High-level layout. Where does generated code live? What's hand-authored?
How do they interact? Document the customizations/ directory and SearchCustomizations.java. -->

### Source Layout

<!-- TODO: Show the directory tree. Mark files as GENERATED vs hand-written. -->

### Generated vs Custom Code

<!-- TODO: Explain the @Generated annotation. Methods WITH @Generated are auto-updated
by the generator. Methods WITHOUT @Generated in generated files are hand-written
convenience wrappers that need manual updates after regeneration. -->

## Regeneration Workflow

<!-- TODO: The exact commands to regenerate. What breaks after regeneration?
What needs manual fixup? Include gated phases. -->

## Key Files

<!-- TODO: The files an agent should read before making changes, and what each one does.
Include tsp-location.yaml, SearchCustomizations.java, pom.xml, CHANGELOG.md. -->

## Service Version Management

<!-- TODO: How SearchServiceVersion enum works. How includeOldApiVersions() customization
adds backward-compat versions. Deduplication guard needed. -->

## Post-Regeneration Customizations

<!-- TODO: Document each customization method in SearchCustomizations.java:
- hideGeneratedSearchApis
- addSearchAudienceScopeHandling
- includeOldApiVersions
- removeGetApis
- hideWithResponseBinaryDataApis (the most fragile one) -->

## Testing Notes

<!-- TODO: How to run tests, recorded test setup with assets.json,
environment requirements for live tests. -->

## References

| File | Contents |
|------|----------|
| [references/architecture.md](references/architecture.md) | Source layout, package map, dependencies |
| [references/customizations.md](references/customizations.md) | JavaParser AST patterns, per-customization update guidance |
Comment on lines +62 to +65

Copilot AI Apr 14, 2026

Copy link

Choose a reason for hiding this comment

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

Same table formatting issue here: the extra leading pipe (||) will introduce an empty first column and mis-render the intended 2-column table. Use a single leading pipe (|) for each row/separator.

Copilot uses AI. Check for mistakes.
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# azure-search-documents SDK Architecture

<!-- TODO: Document the full source layout, generated vs custom split,
package map, service version rules, and dependency information. -->
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# azure-search-documents — Customization Guide

<!-- TODO: Document JavaParser AST patterns, SearchCustomizations.java methods,
per-customization update guidance, and common customization patterns. -->