From smart-dev
SQL Server database development specialist. Use when creating tables, stored procedures, migrations, or troubleshooting SQL Server/Docker issues. Reads project tech-stack directory conventions if present; falls back to generic SQL Server patterns (UNIQUEIDENTIFIER PKs, CreatedOn/ModifiedOn with GETUTCDATE(), no FK constraints, WITH(NOLOCK), SARG optimization, stored proc naming {Product}_{Module}_{Function}_{Date}).
npx claudepluginhub coolwuu/smart-dev-plugin --plugin smart-devThis skill uses the workspace's default tool permissions.
This skill provides specialized guidance for Microsoft SQL Server database development across projects. Enforce project-wide database conventions (read from project config when available), manage SQL Server Database Project structure, and provide troubleshooting support for common SQL Server and Docker issues.
Implements Playwright E2E testing patterns: Page Object Model, test organization, configuration, reporters, artifacts, and CI/CD integration for stable suites.
Guides Next.js 16+ Turbopack for faster dev via incremental bundling, FS caching, and HMR; covers webpack comparison, bundle analysis, and production builds.
Discovers and evaluates Laravel packages via LaraPlugins.io MCP. Searches by keyword/feature, filters by health score, Laravel/PHP compatibility; fetches details, metrics, and version history.
This skill provides specialized guidance for Microsoft SQL Server database development across projects. Enforce project-wide database conventions (read from project config when available), manage SQL Server Database Project structure, and provide troubleshooting support for common SQL Server and Docker issues.
Note: Naming conventions (stored procedure prefix, project name placeholder
{Product}) come from the project'stech-stack directoryconfig. When no project config exists, the generic{Product}placeholder is used throughout and the skill applies the fallback conventions inreferences/conventions.md.
Activate this skill when:
.sql files in SQL Server Database projectsProject conventions take precedence. Before applying conventions below, check if the project has
tech-stack directory. If a SQL/database conventions file exists there (e.g.mssql.md), read it first — it is the authoritative source and overrides any generic guidance in this skill.If
tech-stack directorydoes not exist: apply the generic conventions below and note that project-specific rules are unavailable.
All database objects must follow project-wide conventions documented in the project's tech-stack directory conventions file (see references/conventions.md for generic fallback). Critical requirements:
CreatedOn DATETIME2 NOT NULL DEFAULT GETUTCDATE() and ModifiedOn DATETIME2 NOT NULL DEFAULT GETUTCDATE()CreatedOn/ModifiedOn (NEVER CreatedDate/CreatedAt/UpdatedAt)GETUTCDATE() (UTC; NEVER GETDATE() which is timezone-dependent)Id UNIQUEIDENTIFIER NOT NULL DEFAULT NEWID() PRIMARY KEY (per ADR-012)DATETIME2 for timestamps, NVARCHAR for strings, BIT for booleans, DECIMAL(18,2) for moneyIs, FK columns end with Id[dbo].[{Product}_{Module}_{Function}_{YYYY.MM.DD}] (e.g., {Product}_Auth_UserLogin_2025.11.22)WITH(NOLOCK) to prevent read locksEnsure all database objects are properly organized and included in builds. See references/folder-structure.md for details.
File Organization (example layout):
{Project}.Database/dbo/Tables/{TableName}.sql{Project}.Database/dbo/Stored Procedures/{ProcName}.sql{Project}.Database/dbo/Views/{ViewName}.sql{Project}.Database/Scripts/Post-Deployment/{###_Description}.sqlCritical Build Step: After creating any .sql file, ALWAYS update {Project}.Database.sqlproj:
<ItemGroup>
<Build Include="dbo\Tables\YourTable.sql" />
<Build Include="dbo\Stored Procedures\uspYourProc.sql" />
<PostDeploy Include="Scripts\Post-Deployment\001_SeedData.sql" />
</ItemGroup>
Verification Steps:
.sql file in the correct folder<Build Include="..." /> entry to .sqlprojdotnet build {Project}.Database/{Project}.Database.sqlproj to validate.dacpac is generated in bin/Debug/Templates are provided in the assets/ folder to ensure consistency:
assets/table-template.sql: Standard table structure with required audit columnsassets/stored-proc-template.sql: Stored procedure with error handlingassets/migration-template.sql: Idempotent migration script patternCopy and customize these templates rather than creating from scratch.
Provide solutions for common issues documented in references/troubleshooting.md:
.sqlproj, circular dependencies, syntax errorsreferences/conventions.md for current standardsassets/table-template.sql as starting point{TableName} and add specific columns{Project}.Database/dbo/Tables/{TableName}.sql<Build Include="dbo\Tables\{TableName}.sql" /> to .sqlprojdotnet build {Project}.Database/{Project}.Database.sqlproj.dacpac builds without errorsassets/stored-proc-template.sql{Project}.Database/dbo/Stored Procedures/usp{ProcName}.sql<Build Include="dbo\Stored Procedures\usp{ProcName}.sql" /> to .sqlprojassets/migration-template.sqlIF NOT EXISTS checks)###_DescriptiveName.sql (e.g., 001_CreateUsersTable.sql){Project}.Database/Scripts/Post-Deployment/<PostDeploy Include="Scripts\Post-Deployment\###_Name.sql" /> to .sqlproj.sql file is in {Project}.Database/dbo/Tables/{Project}.Database.sqlproj<Build Include="..." /> existsdotnet build {Project}.Database/{Project}.Database.sqlproj.dacpac was deployed to target databaseSELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'YourTable'docker logs <container-name>ACCEPT_EULA=Y is setdocker exec -it <container> /opt/mssql-tools18/bin/sqlcmd -S localhost -U sa -P YourPassword -Creferences/troubleshooting.md for detailed solutionsdotnet build after making changesreferences/conventions.md: Generic database conventions (MUST READ when no project-specific tech-stack file exists)references/folder-structure.md: Database project organization and build integrationreferences/troubleshooting.md: Common issues and solutions for SQL Server and Dockerassets/table-template.sql: Standard table templateassets/stored-proc-template.sql: Stored procedure templateassets/migration-template.sql: Migration script template[dbo].[{Product}_{Module}_{Function}_{YYYY.MM.DD}]Is prefix for booleans, Id suffix for foreign keys