{"kind":"Skill","metadata":{"namespace":"community","name":"creating-oracle-to-postgres-migration-bug-report","version":"0.1.0"},"spec":{"description":"Creates structured bug reports for defects found during Oracle-to-PostgreSQL migration. Use when documenting behavioral differences between Oracle and PostgreSQL as actionable bug reports with severity, root cause, and remediation steps.","files":{"SKILL.md":"---\nname: creating-oracle-to-postgres-migration-bug-report\ndescription: 'Creates structured bug reports for defects found during Oracle-to-PostgreSQL migration. Use when documenting behavioral differences between Oracle and PostgreSQL as actionable bug reports with severity, root cause, and remediation steps.'\n---\n\n# Creating Bug Reports for Oracle-to-PostgreSQL Migration\n\n## When to Use\n\n- Documenting a defect caused by behavioral differences between Oracle and PostgreSQL\n- Writing or reviewing a bug report for an Oracle-to-PostgreSQL migration project\n\n## Bug Report Format\n\nUse the template in [references/BUG-REPORT-TEMPLATE.md](references/BUG-REPORT-TEMPLATE.md). Each report must include:\n\n- **Status**: ✅ RESOLVED, ⛔ UNRESOLVED, or ⏳ IN PROGRESS\n- **Component**: Affected endpoint, repository, or stored procedure\n- **Test**: Related automated test names\n- **Severity**: Low / Medium / High / Critical — based on impact scope\n- **Problem**: Expected Oracle behavior vs. observed PostgreSQL behavior\n- **Scenario**: Ordered reproduction steps with seed data, operation, expected result, and actual result\n- **Root Cause**: The specific Oracle/PostgreSQL behavioral difference causing the defect\n- **Solution**: Changes made or required, with explicit file paths\n- **Validation**: Steps to confirm the fix on both databases\n\n## Oracle-to-PostgreSQL Guidance\n\n- **Oracle is the source of truth** — frame expected behavior from the Oracle baseline\n- Call out data layer nuances explicitly: empty string vs. NULL, type coercion strictness, collation, sequence values, time zones, padding, constraints\n- Client code changes should be avoided unless required for correct behavior; when proposed, document and justify them clearly\n\n## Writing Style\n\n- Plain language, short sentences, clear next actions\n- Present or past tense consistently\n- Bullets and numbered lists for steps and validations\n- Minimal SQL excerpts and logs as evidence; omit sensitive data and keep snippets reproducible\n- Stick to existing runtime/language versions; avoid speculative fixes\n\n## Filename Convention\n\nSave bug reports as `BUG_REPORT_\u003cDescriptiveSlug\u003e.md` where `\u003cDescriptiveSlug\u003e` is a short PascalCase identifier (e.g., `EmptyStringNullHandling`, `RefCursorUnwrapFailure`).\n","references/BUG-REPORT-TEMPLATE.md":"# Bug Report Template\n\nUse this template when creating bug reports for Oracle-to-PostgreSQL migration defects.\n\n## Filename Format\n\n```\nBUG_REPORT_\u003cDescriptiveSlug\u003e.md\n```\n\n## Template Structure\n\n```markdown\n# Bug Report: \u003cTitle\u003e\n\n**Status:** ✅ RESOLVED | ⛔ UNRESOLVED | ⏳ IN PROGRESS\n**Component:** \u003cHigh-level component/endpoint and key method(s)\u003e\n**Test:** \u003cRelated automated test names\u003e\n**Severity:** Low | Medium | High | Critical\n\n---\n\n## Problem\n\n\u003cObservable incorrect behavior. State expected behavior (Oracle baseline)\nversus actual behavior (PostgreSQL). Be specific and factual.\u003e\n\n## Scenario\n\n\u003cOrdered steps to reproduce the defect. Include:\n1. Prerequisites and seed data\n2. Exact operation or API call\n3. Expected result (Oracle)\n4. Actual result (PostgreSQL)\u003e\n\n## Root Cause\n\n\u003cMinimal, concrete technical cause. Reference the specific Oracle/PostgreSQL\nbehavioral difference (e.g., empty string vs NULL, type coercion strictness).\u003e\n\n## Solution\n\n\u003cChanges made or required. Be explicit about data access layer changes,\ntracking flags, and any client code modifications. Note whether changes\nare already applied or still needed.\u003e\n\n## Validation\n\n\u003cBullet list of passing tests or manual checks that confirm the fix:\n- Re-run reproduction steps on both Oracle and PostgreSQL\n- Compare row/column outputs\n- Check error handling parity\u003e\n\n## Files Modified\n\n\u003cBullet list with relative file paths and short purpose for each change:\n- `src/DataAccess/FooRepository.cs` — Added explicit NULL check for empty string parameter\u003e\n\n## Notes / Next Steps\n\n\u003cFollow-ups, environment caveats, risks, or dependencies on other fixes.\u003e\n```\n\n## Status Values\n\n| Status | Meaning |\n|--------|---------|\n| ✅ RESOLVED | Defect has been fixed and verified |\n| ⛔ UNRESOLVED | Defect has not been addressed yet |\n| ⏳ IN PROGRESS | Defect is being investigated or fix is underway |\n\n## Style Rules\n\n- Keep wording concise and factual\n- Use present or past tense consistently\n- Prefer bullets and numbered lists for steps and validation\n- Call out data layer nuances (tracking, padding, constraints) explicitly\n- Keep to existing runtime/language versions; avoid speculative fixes\n- Include minimal SQL excerpts and logs as evidence; omit sensitive data\n"},"import":{"commit_sha":"541b7819d8c3545c6df122491af4fa1eae415779","imported_at":"2026-05-18T20:05:35Z","license_text":"MIT License\n\nCopyright GitHub, Inc.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.","owner":"github","repo":"github/awesome-copilot","source_url":"https://github.com/github/awesome-copilot/tree/541b7819d8c3545c6df122491af4fa1eae415779/plugins/oracle-to-postgres-migration-expert/skills/creating-oracle-to-postgres-migration-bug-report"}},"content_hash":[171,145,225,92,37,249,60,144,193,25,157,107,128,58,175,60,78,74,110,249,79,78,186,44,18,126,210,120,142,34,52,124],"trust_level":"unsigned","yanked":false}
