[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CDDK15J1NDB2CC92J397X3":3,"skill-same:01M6CDDK15J1NDB2CC92J397X3":114},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":28,"publishedAt":47,"linkOnly":48,"markdownContent":49,"markdownBody":50,"frontMatter":51,"refName":61,"commitSha":62,"skillDirectory":63,"forksCount":64,"repositoryHtmlUrl":65,"repositoryHomepageUrl":6,"ownerHtmlUrl":66,"ownerBlogUrl":67,"ownerDescription":68,"updatedAt":69,"install":70,"resources":83},"01M6CDDK15J1NDB2CC92J397X3","validating-database-integrity",null,"Use when you need to ensure database integrity through comprehensive data validation.\nThis skill validates data types, ranges, formats, referential integrity, and business rules.\nTrigger with phrases like \"validate database data\", \"implement data validation rules\",\n\"enforce data integrity constraints\", or \"validate data formats\".","BbgnsurfTech\u002Fclaude-skills-collection","BbgnsurfTech","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F59598605?v=4","01M6C5ZT4G3G4QPQB64QDVW438","Bbgnsurf Technologies","01M6C5ZT8JN4VWSZZH3DD8J4EG",29,"MIT","https:\u002F\u002Fgithub.com\u002FBbgnsurfTech\u002Fclaude-skills-collection\u002Fblob\u002Fmain\u002Fplugins\u002Fclaude-code-plugins-plus\u002Fplugins\u002Fdatabase\u002Fdata-validation-engine\u002Fskills\u002Fdata-validation-engine\u002FSKILL.md",[18,23],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000010","后端与接口","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000033","数据分析师","PROFESSION","适用职业",[29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],"Validating Database Integrity","database","integrity","Bash","use","business","edit","write","read","grep","Rules","implement","constraints","data","validate data","mysql","validation","validate","2026-11-10 10:12:30",false,"---\nname: validating-database-integrity\ndescription: |\n  Use when you need to ensure database integrity through comprehensive data validation.\n  This skill validates data types, ranges, formats, referential integrity, and business rules.\n  Trigger with phrases like \"validate database data\", \"implement data validation rules\",\n  \"enforce data integrity constraints\", or \"validate data formats\".\nallowed-tools:\n  - Read\n  - Write\n  - Edit\n  - Grep\n  - Glob\n  - Bash(psql:*, mysql:*)\nversion: 1.0.0\nlicense: MIT\n---\n\n## Prerequisites\n\nBefore using this skill, ensure:\n- Database connection credentials are available\n- Appropriate database permissions for schema modifications\n- Backup of production databases before applying constraints\n- Understanding of existing data that may violate new constraints\n- Access to database documentation for column specifications\n\n## Instructions\n\n### Step 1: Analyze Validation Requirements\n1. Review database schema and identify columns requiring validation\n2. Determine validation types needed (data type, range, format, referential)\n3. Document existing data patterns that may conflict with new rules\n4. Prioritize validation rules by business criticality\n\n### Step 2: Define Validation Rules\n1. Create validation rule definitions for each column\n2. Specify data types, constraints, and acceptable ranges\n3. Define regular expressions for format validation\n4. Map foreign key relationships for referential integrity\n5. Document business rule logic for complex validations\n\n### Step 3: Implement Database Constraints\n1. Generate SQL constraints for data type validation\n2. Add CHECK constraints for range and format validation\n3. Create foreign key constraints for referential integrity\n4. Implement triggers for complex business rule validation\n5. Test constraints with valid and invalid sample data\n\n### Step 4: Validate Existing Data\n1. Query existing data to identify constraint violations\n2. Generate reports of data that would fail new constraints\n3. Create data cleanup scripts to fix violations\n4. Execute cleanup scripts in staging environment first\n5. Re-validate cleaned data before applying constraints\n\n### Step 5: Apply Validation Rules\n1. Apply constraints to staging database first\n2. Monitor for any application errors or failures\n3. Validate that legitimate operations still function\n4. Apply constraints to production database during maintenance window\n5. Monitor database logs for constraint violation attempts\n\n## Output\n\nThis skill produces:\n\n**Database Constraints**: SQL DDL statements with CHECK, FOREIGN KEY, and NOT NULL constraints\n\n**Validation Reports**: Analysis of existing data showing constraint violations with counts and examples\n\n**Data Cleanup Scripts**: SQL UPDATE\u002FDELETE statements to fix existing data that violates new constraints\n\n**Test Results**: Documentation of constraint testing with valid\u002Finvalid data samples and outcomes\n\n**Implementation Log**: Timestamped record of constraint application with success\u002Ffailure status\n\n## Error Handling\n\n**Constraint Violation Errors**:\n- Review existing data that violates the constraint\n- Create data cleanup scripts to fix violations\n- Re-run constraint application after cleanup\n- Document exceptions that require manual review\n\n**Permission Errors**:\n- Verify database user has ALTER TABLE privileges\n- Request elevated permissions from database administrator\n- Use separate admin connection for schema changes\n- Document permission requirements for future deployments\n\n**Circular Dependency Errors**:\n- Map all foreign key relationships before implementation\n- Apply constraints in dependency order (referenced tables first)\n- Use ALTER TABLE ADD CONSTRAINT for deferred constraint creation\n- Consider disabling foreign key checks temporarily during bulk operations\n\n**Performance Degradation**:\n- Analyze constraint checking overhead with EXPLAIN ANALYZE\n- Add appropriate indexes to support constraint validation\n- Consider batch validation for large data updates\n- Monitor query performance after constraint implementation\n\n## Resources\n\n**Database-Specific Constraint Syntax**:\n- PostgreSQL: `{baseDir}\u002Fdocs\u002Fpostgresql-constraints.md`\n- MySQL: `{baseDir}\u002Fdocs\u002Fmysql-constraints.md`\n- SQL Server: `{baseDir}\u002Fdocs\u002Fsqlserver-constraints.md`\n\n**Validation Rule Templates**: `{baseDir}\u002Ftemplates\u002Fvalidation-rules\u002F`\n- Email format validation\n- Phone number validation\n- Date range validation\n- Numeric range validation\n- Custom business rules\n\n**Testing Guidelines**: `{baseDir}\u002Fdocs\u002Fvalidation-testing.md`\n**Constraint Performance Analysis**: `{baseDir}\u002Fdocs\u002Fconstraint-performance.md`\n**Data Cleanup Procedures**: `{baseDir}\u002Fdocs\u002Fdata-cleanup-procedures.md`","## Prerequisites\n\nBefore using this skill, ensure:\n- Database connection credentials are available\n- Appropriate database permissions for schema modifications\n- Backup of production databases before applying constraints\n- Understanding of existing data that may violate new constraints\n- Access to database documentation for column specifications\n\n## Instructions\n\n### Step 1: Analyze Validation Requirements\n1. Review database schema and identify columns requiring validation\n2. Determine validation types needed (data type, range, format, referential)\n3. Document existing data patterns that may conflict with new rules\n4. Prioritize validation rules by business criticality\n\n### Step 2: Define Validation Rules\n1. Create validation rule definitions for each column\n2. Specify data types, constraints, and acceptable ranges\n3. Define regular expressions for format validation\n4. Map foreign key relationships for referential integrity\n5. Document business rule logic for complex validations\n\n### Step 3: Implement Database Constraints\n1. Generate SQL constraints for data type validation\n2. Add CHECK constraints for range and format validation\n3. Create foreign key constraints for referential integrity\n4. Implement triggers for complex business rule validation\n5. Test constraints with valid and invalid sample data\n\n### Step 4: Validate Existing Data\n1. Query existing data to identify constraint violations\n2. Generate reports of data that would fail new constraints\n3. Create data cleanup scripts to fix violations\n4. Execute cleanup scripts in staging environment first\n5. Re-validate cleaned data before applying constraints\n\n### Step 5: Apply Validation Rules\n1. Apply constraints to staging database first\n2. Monitor for any application errors or failures\n3. Validate that legitimate operations still function\n4. Apply constraints to production database during maintenance window\n5. Monitor database logs for constraint violation attempts\n\n## Output\n\nThis skill produces:\n\n**Database Constraints**: SQL DDL statements with CHECK, FOREIGN KEY, and NOT NULL constraints\n\n**Validation Reports**: Analysis of existing data showing constraint violations with counts and examples\n\n**Data Cleanup Scripts**: SQL UPDATE\u002FDELETE statements to fix existing data that violates new constraints\n\n**Test Results**: Documentation of constraint testing with valid\u002Finvalid data samples and outcomes\n\n**Implementation Log**: Timestamped record of constraint application with success\u002Ffailure status\n\n## Error Handling\n\n**Constraint Violation Errors**:\n- Review existing data that violates the constraint\n- Create data cleanup scripts to fix violations\n- Re-run constraint application after cleanup\n- Document exceptions that require manual review\n\n**Permission Errors**:\n- Verify database user has ALTER TABLE privileges\n- Request elevated permissions from database administrator\n- Use separate admin connection for schema changes\n- Document permission requirements for future deployments\n\n**Circular Dependency Errors**:\n- Map all foreign key relationships before implementation\n- Apply constraints in dependency order (referenced tables first)\n- Use ALTER TABLE ADD CONSTRAINT for deferred constraint creation\n- Consider disabling foreign key checks temporarily during bulk operations\n\n**Performance Degradation**:\n- Analyze constraint checking overhead with EXPLAIN ANALYZE\n- Add appropriate indexes to support constraint validation\n- Consider batch validation for large data updates\n- Monitor query performance after constraint implementation\n\n## Resources\n\n**Database-Specific Constraint Syntax**:\n- PostgreSQL: `{baseDir}\u002Fdocs\u002Fpostgresql-constraints.md`\n- MySQL: `{baseDir}\u002Fdocs\u002Fmysql-constraints.md`\n- SQL Server: `{baseDir}\u002Fdocs\u002Fsqlserver-constraints.md`\n\n**Validation Rule Templates**: `{baseDir}\u002Ftemplates\u002Fvalidation-rules\u002F`\n- Email format validation\n- Phone number validation\n- Date range validation\n- Numeric range validation\n- Custom business rules\n\n**Testing Guidelines**: `{baseDir}\u002Fdocs\u002Fvalidation-testing.md`\n**Constraint Performance Analysis**: `{baseDir}\u002Fdocs\u002Fconstraint-performance.md`\n**Data Cleanup Procedures**: `{baseDir}\u002Fdocs\u002Fdata-cleanup-procedures.md`",{"name":5,"license":15,"version":52,"description":53,"allowed-tools":54},"1.0.0","Use when you need to ensure database integrity through comprehensive data validation.\nThis skill validates data types, ranges, formats, referential integrity, and business rules.\nTrigger with phrases like \"validate database data\", \"implement data validation rules\",\n\"enforce data integrity constraints\", or \"validate data formats\".\n",[55,56,57,58,59,60],"Read","Write","Edit","Grep","Glob","Bash(psql:*, mysql:*)","main","01d3fafeca1133f841956b8b90b939fee92d71e7","plugins\u002Fclaude-code-plugins-plus\u002Fplugins\u002Fdatabase\u002Fdata-validation-engine\u002Fskills\u002Fdata-validation-engine",9,"https:\u002F\u002Fgithub.com\u002FBbgnsurfTech\u002Fclaude-skills-collection","https:\u002F\u002Fgithub.com\u002FBbgnsurfTech","www.bbgnsurf.com","An ICT solutions provider and software development company","2025-12-18 20:19:58",{"source":8,"skillName":5,"commands":71,"prompt":81,"zipAvailable":82},[72,75,78],{"tool":73,"command":74},"npx","npx skills add BbgnsurfTech\u002Fclaude-skills-collection --skill validating-database-integrity",{"tool":76,"command":77},"bunx","bunx skills add BbgnsurfTech\u002Fclaude-skills-collection --skill validating-database-integrity",{"tool":79,"command":80},"pnpm","pnpm dlx skills add BbgnsurfTech\u002Fclaude-skills-collection --skill validating-database-integrity","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FBbgnsurfTech\u002Fclaude-skills-collection\u002Fblob\u002Fmain\u002Fplugins\u002Fclaude-code-plugins-plus\u002Fplugins\u002Fdatabase\u002Fdata-validation-engine\u002Fskills\u002Fdata-validation-engine\u002FSKILL.md",true,[84,90,96,102,106,110],{"path":85,"resourceType":86,"resourceTypeDesc":87,"sizeBytes":88,"sourceHtmlUrl":89},"assets\u002FREADME.md","ASSET","资产文件",483,"https:\u002F\u002Fgithub.com\u002FBbgnsurfTech\u002Fclaude-skills-collection\u002Fblob\u002Fmain\u002Fplugins\u002Fclaude-code-plugins-plus\u002Fplugins\u002Fdatabase\u002Fdata-validation-engine\u002Fskills\u002Fdata-validation-engine\u002Fassets\u002FREADME.md",{"path":91,"resourceType":92,"resourceTypeDesc":93,"sizeBytes":94,"sourceHtmlUrl":95},"references\u002FREADME.md","REFERENCE","参考文档",475,"https:\u002F\u002Fgithub.com\u002FBbgnsurfTech\u002Fclaude-skills-collection\u002Fblob\u002Fmain\u002Fplugins\u002Fclaude-code-plugins-plus\u002Fplugins\u002Fdatabase\u002Fdata-validation-engine\u002Fskills\u002Fdata-validation-engine\u002Freferences\u002FREADME.md",{"path":97,"resourceType":98,"resourceTypeDesc":99,"sizeBytes":100,"sourceHtmlUrl":101},"scripts\u002Fconfigure_validation_rules.py","SCRIPT","脚本",14886,"https:\u002F\u002Fgithub.com\u002FBbgnsurfTech\u002Fclaude-skills-collection\u002Fblob\u002Fmain\u002Fplugins\u002Fclaude-code-plugins-plus\u002Fplugins\u002Fdatabase\u002Fdata-validation-engine\u002Fskills\u002Fdata-validation-engine\u002Fscripts\u002Fconfigure_validation_rules.py",{"path":103,"resourceType":98,"resourceTypeDesc":99,"sizeBytes":104,"sourceHtmlUrl":105},"scripts\u002Fgenerate_validation_report.py",14623,"https:\u002F\u002Fgithub.com\u002FBbgnsurfTech\u002Fclaude-skills-collection\u002Fblob\u002Fmain\u002Fplugins\u002Fclaude-code-plugins-plus\u002Fplugins\u002Fdatabase\u002Fdata-validation-engine\u002Fskills\u002Fdata-validation-engine\u002Fscripts\u002Fgenerate_validation_report.py",{"path":107,"resourceType":98,"resourceTypeDesc":99,"sizeBytes":108,"sourceHtmlUrl":109},"scripts\u002FREADME.md",514,"https:\u002F\u002Fgithub.com\u002FBbgnsurfTech\u002Fclaude-skills-collection\u002Fblob\u002Fmain\u002Fplugins\u002Fclaude-code-plugins-plus\u002Fplugins\u002Fdatabase\u002Fdata-validation-engine\u002Fskills\u002Fdata-validation-engine\u002Fscripts\u002FREADME.md",{"path":111,"resourceType":98,"resourceTypeDesc":99,"sizeBytes":112,"sourceHtmlUrl":113},"scripts\u002Fvalidate_data.py",14750,"https:\u002F\u002Fgithub.com\u002FBbgnsurfTech\u002Fclaude-skills-collection\u002Fblob\u002Fmain\u002Fplugins\u002Fclaude-code-plugins-plus\u002Fplugins\u002Fdatabase\u002Fdata-validation-engine\u002Fskills\u002Fdata-validation-engine\u002Fscripts\u002Fvalidate_data.py",[115,133,152,171,184,197],{"skillNo":116,"name":117,"nameZh":6,"description":118,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":119,"categories":120,"keywords":124,"publishedAt":47},"01M6CDVX5RHG36WP2Z7X8WAYYA","testing-visual-regression","Detect visual changes in UI components using screenshot comparison.\nUse when detecting unintended UI changes or pixel differences.\nTrigger with phrases like \"test visual changes\", \"compare screenshots\", or \"detect UI regressions\".","https:\u002F\u002Fgithub.com\u002FBbgnsurfTech\u002Fclaude-skills-collection\u002Fblob\u002Fmain\u002Fplugins\u002Fclaude-code-plugins-plus\u002Fplugins\u002Ftesting\u002Fvisual-regression-tester\u002Fskills\u002Fvisual-regression-tester\u002FSKILL.md",[121],{"categoryNo":122,"categoryName":123,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量",[125,126,127,35,38,37,36,33,128,129,130,131,132,32],"testing visual regression","testing","regression","components","test","screenshots","screenshot","ui",{"skillNo":134,"name":135,"nameZh":6,"description":136,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":137,"categories":138,"keywords":140,"publishedAt":47},"01M6CDVT4S54EMAPZ231KSP2XQ","generating-unit-tests","Automatically generate comprehensive unit tests from source code covering happy paths, edge cases, and error conditions.\nUse when creating test coverage for functions, classes, or modules.\nTrigger with phrases like \"generate unit tests\", \"create tests for\", or \"add test coverage\".","https:\u002F\u002Fgithub.com\u002FBbgnsurfTech\u002Fclaude-skills-collection\u002Fblob\u002Fmain\u002Fplugins\u002Fclaude-code-plugins-plus\u002Fplugins\u002Ftesting\u002Funit-test-generator\u002Fskills\u002Funit-test-generator\u002FSKILL.md",[139],{"categoryNo":122,"categoryName":123,"taxonomyType":21,"taxonomyTypeDesc":22},[141,142,143,144,145,129,35,146,147,148,33,149,150,36,37,38,32,151],"unit tests","Generating Unit Tests","generate","create","add test","functions","modules","test coverage","coverage","code","edge",{"skillNo":153,"name":154,"nameZh":6,"description":155,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":156,"categories":157,"keywords":162,"publishedAt":47},"01M6CDVPQKGQ450Q50ZC84FPMR","generating-test-reports","Generate comprehensive test reports with metrics, coverage, and visualizations.\nUse when performing specialized testing.\nTrigger with phrases like \"generate test report\", \"create test documentation\", or \"show test metrics\".","https:\u002F\u002Fgithub.com\u002FBbgnsurfTech\u002Fclaude-skills-collection\u002Fblob\u002Fmain\u002Fplugins\u002Fclaude-code-plugins-plus\u002Fplugins\u002Ftesting\u002Ftest-report-generator\u002Fskills\u002Ftest-report-generator\u002FSKILL.md",[158,159],{"categoryNo":122,"categoryName":123,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":160,"categoryName":161,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000034","行政与办公人员",[129,163,164,165,166,33,149,35,167,36,37,168,32,169,143,144,170,126,38],"reports","Generating Test Reports","test report","specialized","report","visualizations","metrics","documentation",{"skillNo":172,"name":173,"nameZh":6,"description":174,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":175,"categories":176,"keywords":178,"publishedAt":47},"01M6CDVK97VFZ53CEYEGQ4QFZ6","orchestrating-test-execution","Coordinate parallel test execution across multiple environments and frameworks.\nUse when performing specialized testing.\nTrigger with phrases like \"orchestrate tests\", \"run parallel tests\", or \"coordinate test execution\".","https:\u002F\u002Fgithub.com\u002FBbgnsurfTech\u002Fclaude-skills-collection\u002Fblob\u002Fmain\u002Fplugins\u002Fclaude-code-plugins-plus\u002Fplugins\u002Ftesting\u002Ftest-orchestrator\u002Fskills\u002Ftest-orchestrator\u002FSKILL.md",[177],{"categoryNo":122,"categoryName":123,"taxonomyType":21,"taxonomyTypeDesc":22},[179,180,129,37,33,35,36,166,38,181,32,182,183,126],"orchestrating test execution","execution","parallel","orchestrate","run",{"skillNo":185,"name":186,"nameZh":6,"description":187,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":188,"categories":189,"keywords":191,"publishedAt":47},"01M6CDVFTCBQ65TGB1YJCZB90G","managing-test-environments","Provision and manage isolated test environments with configuration and data.\nUse when performing specialized testing.\nTrigger with phrases like \"manage test environment\", \"provision test env\", or \"setup test infrastructure\".","https:\u002F\u002Fgithub.com\u002FBbgnsurfTech\u002Fclaude-skills-collection\u002Fblob\u002Fmain\u002Fplugins\u002Fclaude-code-plugins-plus\u002Fplugins\u002Ftesting\u002Ftest-environment-manager\u002Fskills\u002Ftest-environment-manager\u002FSKILL.md",[190],{"categoryNo":122,"categoryName":123,"taxonomyType":21,"taxonomyTypeDesc":22},[192,129,35,36,37,166,38,32,42,193,194,126,195,196,33],"Managing Test Environments","infrastructure","setup","environment","manage",{"skillNo":198,"name":199,"nameZh":6,"description":200,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":201,"categories":202,"keywords":204,"publishedAt":47},"01M6CDVD0NPFXVEQGT9CMF02H0","generating-test-doubles","Generate mocks, stubs, spies, and fakes for dependency isolation.\nUse when creating mocks, stubs, or test isolation fixtures.\nTrigger with phrases like \"generate mocks\", \"create test doubles\", or \"setup stubs\".","https:\u002F\u002Fgithub.com\u002FBbgnsurfTech\u002Fclaude-skills-collection\u002Fblob\u002Fmain\u002Fplugins\u002Fclaude-code-plugins-plus\u002Fplugins\u002Ftesting\u002Ftest-doubles-generator\u002Fskills\u002Ftest-doubles-generator\u002FSKILL.md",[203],{"categoryNo":122,"categoryName":123,"taxonomyType":21,"taxonomyTypeDesc":22},[129,205,206,33,35,36,37,38,32,143,144,194],"Generating Test Doubles","dependency"]