{"id":"49bb1b05-22a5-4f51-a3de-86ccaf898b4d","shortId":"G4fZ3a","kind":"skill","title":"703-technologies-fuzzing-testing","tagline":"Use when you need to add or review fuzz testing for Java APIs with CATS — including contract-driven negative testing, malformed payload validation, boundary input exploration, CI integration, reproducible failures, and local execution guidance. This should trigger for requests su","description":"# Java fuzz testing with CATS\n\nDesign and implement contract-driven fuzz testing for Java APIs using CATS to uncover edge cases and input-validation defects early.\n\n**What is covered in this Skill?**\n\n- CATS setup and baseline command usage for OpenAPI-driven fuzzing\n- Negative testing strategy for invalid payloads, missing fields, wrong types, and malformed values\n- Boundary testing for size, range, format, and enum constraints\n- CI integration patterns with actionable logs and reproducible failures\n- Local execution workflow for contributors before opening pull requests\n- Reporting and triage practices for fuzzing findings\n\n**Scope:** Focus on HTTP API fuzzing and contract validation with CATS. Use this skill to define practical, repeatable checks in both local and CI workflows.\n\n## Constraints\n\nBefore applying any fuzz testing changes, ensure the project compiles. If compilation fails, stop immediately. After implementation, regenerate skills and run verification.\n\n- **MANDATORY**: Run `./mvnw compile` or `mvn compile` before applying any change\n- **SAFETY**: If compilation fails, stop immediately and do not proceed\n- **MANDATORY**: Regenerate skills with `./mvnw clean install -pl skills-generator` after editing skill XML\n- **VERIFY**: Run `./mvnw clean verify` or `mvn clean verify` after applying improvements\n- **BEFORE APPLYING**: Read the reference for detailed examples, good/bad patterns, and constraints\n- **EDGE CASE**: If request scope is ambiguous, stop and ask a clarifying question before applying changes\n- **EDGE CASE**: If required inputs, files, or tooling are missing, report what is missing and ask whether to proceed with setup guidance\n\n## When to use this skill\n\n- Add fuzz testing to a Java project\n- Use CATS for API negative testing\n- Review CI quality gates for API contract robustness\n- Improve boundary and malformed input test coverage\n\n## Workflow\n\n1. **Read reference and assess project context**\n\nRead `references/703-technologies-fuzzing-testing.md` and inspect current API/context artifacts before proposing changes.\n\n2. **Gather scope and decide target improvements**\n\nIdentify requested outcomes, constraints, and the minimum safe set of changes to apply.\n\n3. **Apply technology-aligned changes**\n\nImplement or refactor artifacts following the reference patterns and project conventions.\n\n4. **Run verification and report results**\n\nExecute appropriate checks and summarize what changed, what was verified, and any follow-up actions.\n\n## Reference\n\nFor detailed guidance, examples, and constraints, see [references/703-technologies-fuzzing-testing.md](references/703-technologies-fuzzing-testing.md).","tags":["703","technologies","fuzzing","testing","cursor","rules","java","jabrena","agent-skills","ai-skills","claude","claude-code"],"capabilities":["skill","source-jabrena","skill-703-technologies-fuzzing-testing","topic-agent-skills","topic-ai-skills","topic-claude","topic-claude-code","topic-claude-code-skills","topic-claude-code-subagents","topic-claude-skills","topic-cursor-agent","topic-cursor-ai","topic-cursor-skills","topic-cursorai","topic-github-copilot"],"categories":["cursor-rules-java"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/jabrena/cursor-rules-java/703-technologies-fuzzing-testing","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add jabrena/cursor-rules-java","source_repo":"https://github.com/jabrena/cursor-rules-java","install_from":"skills.sh"}},"qualityScore":"0.631","qualityRationale":"deterministic score 0.63 from registry signals: · indexed on github topic:agent-skills · 362 github stars · SKILL.md body (2,659 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-04-26T12:53:39.688Z","embedding":null,"createdAt":"2026-04-18T22:02:31.880Z","updatedAt":"2026-04-26T12:53:39.688Z","lastSeenAt":"2026-04-26T12:53:39.688Z","tsv":"'/mvnw':189,212,225 '1':319 '2':336 '3':356 '4':373 '703':1 'action':118,394 'add':11,290 'align':360 'ambigu':253 'api':18,62,143,300,308 'api/context':331 'appli':166,195,233,236,261,355,357 'appropri':380 'artifact':332,365 'ask':256,278 'assess':323 'baselin':84 'boundari':30,105,312 'case':68,248,264 'cat':20,51,64,81,149,298 'chang':170,197,262,335,353,361,385 'check':157,381 'ci':33,114,162,304 'clarifi':258 'clean':213,226,230 'command':85 'compil':174,176,190,193,200 'constraint':113,164,246,346,401 'context':325 'contract':23,56,146,309 'contract-driven':22,55 'contributor':127 'convent':372 'cover':77 'coverag':317 'current':330 'decid':340 'defect':73 'defin':154 'design':52 'detail':241,397 'driven':24,57,90 'earli':74 'edg':67,247,263 'edit':220 'ensur':171 'enum':112 'exampl':242,399 'execut':39,124,379 'explor':32 'fail':177,201 'failur':36,122 'field':99 'file':268 'find':138 'focus':140 'follow':366,392 'follow-up':391 'format':110 'fuzz':4,14,48,58,91,137,144,168,291 'gate':306 'gather':337 'generat':218 'good/bad':243 'guidanc':40,284,398 'http':142 'identifi':343 'immedi':179,203 'implement':54,181,362 'improv':234,311,342 'includ':21 'input':31,71,267,315 'input-valid':70 'inspect':329 'instal':214 'integr':34,115 'invalid':96 'java':17,47,61,295 'local':38,123,160 'log':119 'malform':27,103,314 'mandatori':187,208 'minimum':349 'miss':98,272,276 'mvn':192,229 'need':9 'negat':25,92,301 'open':129 'openapi':89 'openapi-driven':88 'outcom':345 'pattern':116,244,369 'payload':28,97 'pl':215 'practic':135,155 'proceed':207,281 'project':173,296,324,371 'propos':334 'pull':130 'qualiti':305 'question':259 'rang':109 'read':237,320,326 'refactor':364 'refer':239,321,368,395 'references/703-technologies-fuzzing-testing.md':327,403,404 'regener':182,209 'repeat':156 'report':132,273,377 'reproduc':35,121 'request':45,131,250,344 'requir':266 'result':378 'review':13,303 'robust':310 'run':185,188,224,374 'safe':350 'safeti':198 'scope':139,251,338 'see':402 'set':351 'setup':82,283 'size':108 'skill':80,152,183,210,217,221,289 'skill-703-technologies-fuzzing-testing' 'skills-gener':216 'source-jabrena' 'stop':178,202,254 'strategi':94 'su':46 'summar':383 'target':341 'technolog':3,359 'technologies-fuzzing-test':2 'technology-align':358 'test':5,15,26,49,59,93,106,169,292,302,316 'tool':270 'topic-agent-skills' 'topic-ai-skills' 'topic-claude' 'topic-claude-code' 'topic-claude-code-skills' 'topic-claude-code-subagents' 'topic-claude-skills' 'topic-cursor-agent' 'topic-cursor-ai' 'topic-cursor-skills' 'topic-cursorai' 'topic-github-copilot' 'triag':134 'trigger':43 'type':101 'uncov':66 'usag':86 'use':6,63,150,287,297 'valid':29,72,147 'valu':104 'verif':186,375 'verifi':223,227,231,388 'whether':279 'workflow':125,163,318 'wrong':100 'xml':222","prices":[{"id":"91bdc8b9-b34f-4001-83e2-6deab0dfd95c","listingId":"49bb1b05-22a5-4f51-a3de-86ccaf898b4d","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"jabrena","category":"cursor-rules-java","install_from":"skills.sh"},"createdAt":"2026-04-18T22:02:31.880Z"}],"sources":[{"listingId":"49bb1b05-22a5-4f51-a3de-86ccaf898b4d","source":"github","sourceId":"jabrena/cursor-rules-java/703-technologies-fuzzing-testing","sourceUrl":"https://github.com/jabrena/cursor-rules-java/tree/main/skills/703-technologies-fuzzing-testing","isPrimary":false,"firstSeenAt":"2026-04-18T22:02:31.880Z","lastSeenAt":"2026-04-26T12:53:39.688Z"}],"details":{"listingId":"49bb1b05-22a5-4f51-a3de-86ccaf898b4d","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"jabrena","slug":"703-technologies-fuzzing-testing","github":{"repo":"jabrena/cursor-rules-java","stars":362,"topics":["agent-skills","ai-skills","claude","claude-code","claude-code-skills","claude-code-subagents","claude-skills","cursor-agent","cursor-ai","cursor-skills","cursorai","github-copilot","intellij-idea","java","prompting","system-prompts"],"license":"apache-2.0","html_url":"https://github.com/jabrena/cursor-rules-java","pushed_at":"2026-04-26T12:50:01Z","description":"A curated and opinionated collection of Skills and Agents to be used in modern SDLC workflows for Java Enterprise development with your favorite AI Agent harness.","skill_md_sha":"4cbc6d1afcf36cc1f4d0e5c57f3f76c2ff3652d4","skill_md_path":"skills/703-technologies-fuzzing-testing/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/jabrena/cursor-rules-java/tree/main/skills/703-technologies-fuzzing-testing"},"layout":"multi","source":"github","category":"cursor-rules-java","frontmatter":{"name":"703-technologies-fuzzing-testing","license":"Apache-2.0","description":"Use when you need to add or review fuzz testing for Java APIs with CATS — including contract-driven negative testing, malformed payload validation, boundary input exploration, CI integration, reproducible failures, and local execution guidance. This should trigger for requests such as Add fuzz testing to a Java project; Use CATS for API negative testing; Review CI quality gates for API contract robustness; Improve boundary and malformed input test coverage. Part of cursor-rules-java project"},"skills_sh_url":"https://skills.sh/jabrena/cursor-rules-java/703-technologies-fuzzing-testing"},"updatedAt":"2026-04-26T12:53:39.688Z"}}