Skip to content

Commit 391300e

Browse files
committed
- Rename custom agent prompts to follow naming convention of repo
- Add 'agent' and 'name' frontmatter to custom agent prompts - Update pathing of custom agent artifacts
1 parent 405db02 commit 391300e

23 files changed

Lines changed: 769 additions & 9 deletions

agents/o2p-dbmigration-expert.agent.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ Relative to `{SOLUTION_ROOT}`:
2424

2525
## Task Map
2626

27-
Subagent prompts live under `.github/skills/o2p-dbmigration/prompts/`:
27+
Subagent prompts live under `skills/o2p-dbmigration/prompts/`:
2828

2929
- **createMasterMigrationPlan**: discover all projects in the solution, assess Oracle migration eligibility, detect prior progress from earlier sessions, and produce a persistent master tracking plan; outputs `{SOLUTION_ROOT}/.github/o2p-dbmigration/Reports/Master Migration Plan.md`. **Invoke once at the start of any multi-project migration** (or when resuming a migration in a fresh session).
3030
- **planIntegrationTesting**: create integration testing plan; output `{SOLUTION_ROOT}/.github/o2p-dbmigration/Reports/Integration Testing Plan.md`.
@@ -94,7 +94,7 @@ All testing subagents receive a `TARGET_PROJECT` parameter in their handoff payl
9494
- **LOOP: RETRY** — <90% pass or critical failures → creates bug reports → fix → re-run
9595
- **BLOCKED** — Infrastructure issues → halts and requests user intervention
9696

97-
For the full flow diagram, decision logic, and loop control rules, read `.github/skills/o2p-dbmigration/references/closed-loop-testing-workflow.md` and follow it throughout the test validation cycle.
97+
For the full flow diagram, decision logic, and loop control rules, read `skills/o2p-dbmigration/references/closed-loop-testing-workflow.md` and follow it throughout the test validation cycle.
9898

9999
## Handoff Payload Format
100100

@@ -152,4 +152,4 @@ Use the master plan file as the authoritative source for project status. The inl
152152
## User Help and Support
153153

154154
- Provide Oracle and Postgres DDL scripts under `{SOLUTION_ROOT}/.github/o2p-dbmigration/DDL/` so subagents have necessary context.
155-
- The `o2p-dbmigration` skill (under `.github/skills/o2p-dbmigration/`) provides validation checklists, reference insights for Oracle→Postgres migration patterns, and all subagent prompt files.
155+
- The `o2p-dbmigration` skill (under `skills/o2p-dbmigration/`) provides validation checklists, reference insights for Oracle→Postgres migration patterns, and all subagent prompt files.

docs/README.skills.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ Skills differ from other primitives by supporting bundled assets (scripts, code
5555
| [microsoft-skill-creator](../skills/microsoft-skill-creator/SKILL.md) | Create agent skills for Microsoft technologies using Learn MCP tools. Use when users want to create a skill that teaches agents about any Microsoft technology, library, framework, or service (Azure, .NET, M365, VS Code, Bicep, etc.). Investigates topics deeply, then generates a hybrid skill storing essential knowledge locally while enabling dynamic deeper investigation. | `references/skill-templates.md` |
5656
| [nano-banana-pro-openrouter](../skills/nano-banana-pro-openrouter/SKILL.md) | Generate or edit images via OpenRouter with the Gemini 3 Pro Image model. Use for prompt-only image generation, image edits, and multi-image compositing; supports 1K/2K/4K output. | `assets/SYSTEM_TEMPLATE`<br />`scripts/generate_image.py` |
5757
| [nuget-manager](../skills/nuget-manager/SKILL.md) | Manage NuGet packages in .NET projects/solutions. Use this skill when adding, removing, or updating NuGet package versions. It enforces using `dotnet` CLI for package management and provides strict procedures for direct file edits only when updating versions. | None |
58-
| [o2p-dbmigration](../skills/o2p-dbmigration/SKILL.md) | Validates PostgreSQL migration artifacts and integration tests, making sure every reference insight is surfaced before agent workflows sign off. Use when proving migration or integration testing work and confirming the repository references/insights are obeyed. | `prompts/createBugReports.prompt.md`<br />`prompts/createIntegrationTests.prompt.md`<br />`prompts/createMasterMigrationPlan.prompt.md`<br />`prompts/generateApplicationMigrationReport.prompt.md`<br />`prompts/migrateApplicationCodebase.prompt.md`<br />`prompts/migrateStoredProcedure.prompt.md`<br />`prompts/planIntegrationTesting.prompt.md`<br />`prompts/runIntegrationTests.prompt.md`<br />`prompts/scaffoldTestProject.prompt.md`<br />`prompts/validateTestResults.prompt.md`<br />`references/REFERENCE.md`<br />`references/closed-loop-testing-workflow.md`<br />`references/empty-strings-handling.md`<br />`references/no-data-found-exceptions.md`<br />`references/oracle-parentheses-from-clause.md`<br />`references/oracle-to-postgres-sorting.md`<br />`references/oracle-to-postgres-to-char-numeric.md`<br />`references/oracle-to-postgres-type-coercion.md`<br />`references/postgres-concurrent-transactions.md`<br />`references/postgres-refcursor-handling.md` |
58+
| [o2p-dbmigration](../skills/o2p-dbmigration/SKILL.md) | Validates PostgreSQL migration artifacts and integration tests, making sure every reference insight is surfaced before agent workflows sign off. Use when proving migration or integration testing work and confirming the repository references/insights are obeyed. | `prompts/create-bug-reports.prompt.md`<br />`prompts/create-integration-tests.prompt.md`<br />`prompts/create-master-migration-plan.prompt.md`<br />`prompts/generate-application-migration-report.prompt.md`<br />`prompts/migrate-application-codebase.prompt.md`<br />`prompts/migrate-stored-procedure.prompt.md`<br />`prompts/plan-integration-testing.prompt.md`<br />`prompts/run-integration-tests.prompt.md`<br />`prompts/scaffold-test-project.prompt.md`<br />`prompts/validate-test-results.prompt.md`<br />`references/REFERENCE.md`<br />`references/closed-loop-testing-workflow.md`<br />`references/empty-strings-handling.md`<br />`references/no-data-found-exceptions.md`<br />`references/oracle-parentheses-from-clause.md`<br />`references/oracle-to-postgres-sorting.md`<br />`references/oracle-to-postgres-to-char-numeric.md`<br />`references/oracle-to-postgres-type-coercion.md`<br />`references/postgres-concurrent-transactions.md`<br />`references/postgres-refcursor-handling.md` |
5959
| [pdftk-server](../skills/pdftk-server/SKILL.md) | Skill for using the command-line tool pdftk (PDFtk Server) for working with PDF files. Use when asked to merge PDFs, split PDFs, rotate pages, encrypt or decrypt PDFs, fill PDF forms, apply watermarks, stamp overlays, extract metadata, burst documents into pages, repair corrupted PDFs, attach or extract files, or perform any PDF manipulation from the command line. | `references/download.md`<br />`references/pdftk-cli-examples.md`<br />`references/pdftk-man-page.md`<br />`references/pdftk-server-license.md`<br />`references/third-party-materials.md` |
6060
| [penpot-uiux-design](../skills/penpot-uiux-design/SKILL.md) | Comprehensive guide for creating professional UI/UX designs in Penpot using MCP tools. Use this skill when: (1) Creating new UI/UX designs for web, mobile, or desktop applications, (2) Building design systems with components and tokens, (3) Designing dashboards, forms, navigation, or landing pages, (4) Applying accessibility standards and best practices, (5) Following platform guidelines (iOS, Android, Material Design), (6) Reviewing or improving existing Penpot designs for usability. Triggers: "design a UI", "create interface", "build layout", "design dashboard", "create form", "design landing page", "make it accessible", "design system", "component library". | `references/accessibility.md`<br />`references/component-patterns.md`<br />`references/platform-guidelines.md`<br />`references/setup-troubleshooting.md` |
6161
| [plantuml-ascii](../skills/plantuml-ascii/SKILL.md) | Generate ASCII art diagrams using PlantUML text mode. Use when user asks to create ASCII diagrams, text-based diagrams, terminal-friendly diagrams, or mentions plantuml ascii, text diagram, ascii art diagram. Supports: Converting PlantUML diagrams to ASCII art, Creating sequence diagrams, class diagrams, flowcharts in ASCII format, Generating Unicode-enhanced ASCII art with -utxt flag | None |

plugins/o2p-dbmigration/README.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,8 +70,11 @@ The agent expects and creates the following structure in your solution:
7070
└── o2p-dbmigration/
7171
├── Reports/
7272
│ ├── Master Migration Plan.md
73-
│ ├── Bug Reports/
74-
│ └── Migration Reports/
73+
│ ├── Integration Testing Plan.md
74+
│ ├── Validation Report.md
75+
│ ├── Application Migration Report.md
76+
│ ├── BUG_REPORT_*.md
77+
│ └── TestResults/
7578
├── DDL/
7679
│ ├── Oracle/ # Oracle DDL scripts (pre-migration)
7780
│ └── Postgres/ # PostgreSQL DDL scripts (post-migration)
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
---
2+
name: create-bug-reports
3+
agent: 'agent'
4+
description: 'Create clear, user-friendly bug reports for Oracle-to-Postgres application migration issues.'
5+
model: Claude Haiku 4.5 (copilot)
6+
tools: [vscode/askQuestions, read, edit, search]
7+
---
8+
# Create Bug Reports for Oracle to Postgres Migration
9+
10+
Generate a concise, easy-to-understand bug report for the defect discovered while validating the application migration from Oracle to Postgres. This prompt targets a **single project** identified by `TARGET_PROJECT`.
11+
12+
## Expected Inputs (from router handoff payload)
13+
14+
| Key | Required | Description |
15+
|---|---|---|
16+
| `SOLUTION_ROOT` | Yes | Resolved workspace root path. |
17+
| `TARGET_PROJECT` | Yes | Absolute path to the single application project whose failures are being reported (e.g., `C:/Source/MyApp/MIUS.API.Postgres`). |
18+
19+
INSTRUCTIONS:
20+
- Treat Oracle as the source of truth; capture expected Oracle behavior versus observed Postgres behavior.
21+
- Keep wording user-friendly: plain language, short sentences, and clear next actions.
22+
- Document when client code changes were made or are being proposed; emphasize that changes should be avoided unless required for correct behavior.
23+
- Always include: summary, impacted feature/flow, severity, environment (Oracle/Postgres, build, branch), prerequisites/seed data, exact repro steps, expected vs actual results, scope of impact, and workaround (if any).
24+
- Attach supporting evidence: minimal SQL excerpts, logs, and screenshots; avoid sensitive data and keep snippets reproducible.
25+
- Note data-specific factors (collation, null handling, sequence values, time zones) that might differ between Oracle and Postgres.
26+
- Recommend a validation step after fixes (re-run repro on both DBs, compare row/column outputs, and check error handling parity).
27+
28+
OUTPUT LOCATION:
29+
- Save each bug report under `{SOLUTION_ROOT}/.github/o2p-dbmigration/Reports/` using a clear, human-readable filename (e.g., `Bug - {area} - {short-title}.md`).
30+
31+
OUTPUT INSTRUCTIONS:
32+
Bug Report Output Definition (Template)
33+
• Filename format: .github/o2p-dbmigration/Reports/BUG_REPORT_<DescriptiveSlug>.md
34+
• Status line: Status: [✅ RESOLVED | ⛔ UNRESOLVED | ⏳ IN PROGRESS]
35+
• Component: <High-level component/endpoint and key method(s)>
36+
• Test(s): <Related automated test names>
37+
• Severity: <Low | Medium | High | Critical>
38+
39+
Sections (markdown headings):
40+
1. # Bug Report: <Title> — concise, specific.
41+
2. **Status:** <status>
42+
**Component:** <controller/method>
43+
**Test:** <test(s)>
44+
**Severity:** <level>
45+
3. ---
46+
4. ## Problem — observable incorrect behavior and expected vs actual.
47+
5. ## Scenario — ordered steps to reproduce.
48+
6. ## Root Cause — minimal, concrete technical cause.
49+
7. ## Solution — changes made or required (be explicit about data access/tracking flags).
50+
8. ## Validation — bullet list of passing tests or manual checks.
51+
9. ## Files Modified — bullet list with relative paths and short purpose.
52+
10. ## Notes / Next Steps — follow-ups, environment caveats, or risks.
53+
54+
Style rules:
55+
• Keep wording concise and factual.
56+
• Use present or past tense consistently.
57+
• Prefer bullets/numbered lists for steps and validation.
58+
• Call out data layer nuances (tracking, padding, constraints) explicitly.
59+
• Keep to existing runtime/language versions; avoid speculative fixes.
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
---
2+
name: create-integration-tests
3+
agent: 'agent'
4+
description: 'Create integration test cases for code artifacts identified by the user in context of an application database migration from Oracle to Postgres. Assumes the test project already exists (scaffolded by scaffoldTestProject).'
5+
model: Claude Sonnet 4.6 (copilot)
6+
tools: [vscode/askQuestions, execute, read, edit, search, todo]
7+
---
8+
# Create Integration Test Cases for Database Migration Validation
9+
10+
Create integration test cases for the class/method provided by the user. The test project infrastructure (project file, base test class, transaction management, seed manager) has already been scaffolded by `scaffoldTestProject` — do not recreate it. This prompt targets a **single project** identified by `TARGET_PROJECT`.
11+
12+
## Expected Inputs (from router handoff payload)
13+
14+
| Key | Required | Description |
15+
|---|---|---|
16+
| `SOLUTION_ROOT` | Yes | Resolved workspace root path. |
17+
| `TARGET_PROJECT` | Yes | Absolute path to the single application project whose code artifacts are under test (e.g., `C:/Source/MyApp/MIUS.API.Postgres`). |
18+
19+
PREREQUISITES:
20+
- The test project must already exist and compile. If it does not, stop and report this to the router.
21+
- Read the existing base test class and seed manager conventions before writing any tests so that new test classes follow established patterns.
22+
23+
GENERAL INSTRUCTIONS:
24+
- Treat Oracle as the golden behavior source.
25+
- **Scope all test creation to `TARGET_PROJECT` only.** Only generate tests for the data access artifacts within that project; do not create tests for other projects in the solution.
26+
- Ensure that the tests are able to validate the behavior of the data access layer, whether running against Oracle or Postgres databases.
27+
- Focus on capturing expected outputs, side-effects, and error handling to ensure consistency across both database systems.
28+
- Keep assertions DB-agnostic: assert logical outputs (rows, columns, counts, error types) not platform-specific messages.
29+
- Ensure assertions are deterministic by seeding test data as required.
30+
- Only create integration tests and seed data against Oracle. Once complete, user will copy files to Postgres test project and modify connection strings.
31+
32+
INSTRUCTIONS FOR TEST CASE CREATION:
33+
- Inherit from the base test class established by the scaffolded project to get transaction create/rollback behavior automatically.
34+
- Ensure tests are deterministic by asserting for specific values where possible.
35+
- Avoid testing against coding paths that do not exist or asserting behavior that cannot occur.
36+
- Avoid redundancy in test assertions across tests that target the same method.
37+
- Do not use assertions that pass when a value is null or empty, you must assert against specific expected values (eg assert for null xor assert for empty).
38+
- Plan for a second review of the created tests to ensure assertions against non-null values are deterministic against the seeded data.
39+
40+
LOOP ITERATION BEHAVIOR:
41+
- On **first invocation**: generate the full set of test cases and seed data based on the integration testing plan.
42+
- On **iteration 2+** (when `LOOP_CONTEXT` is provided): focus only on modifying or adding test cases to address the `failed_tests` listed in the loop context. Do not rewrite passing tests. Consult any bug reports referenced in `PRIOR_ARTIFACTS`.
43+
44+
INSTRUCTIONS FOR SEED DATA:
45+
- Follow the seed file location and naming conventions established by the scaffolded project.
46+
- Do not commit seed data because tests are isolated within transactions and rolled back after each test.
47+
- Ensure that changes to seed data do not conflict with other tests.
48+
- Ensure seed data is loaded and verified before running tests.
49+
- Priority should be given to reusing existing seed files.
50+
- Avoid truncate table statements because we want to keep existing database data intact.

0 commit comments

Comments
 (0)