verification
Prove that a coding task is actually complete. Use this after meaningful code changes, when tests/builds fail or are skipped, before marking a plan or goal complete, and whenever acceptance depends on runtime, security, recovery, performance, or cross-module evidence.
git clone --depth 1 https://github.com/ageerle/ruoyi-ai /tmp/verification && cp -r /tmp/verification/ruoyi-modules/ruoyi-chat/src/main/resources/coding-harness/skills/verification ~/.claude/skills/verificationSKILL.md
# Verification Turn the task's acceptance criteria into trustworthy evidence. Verification is part of implementation, not a ceremonial final command. ## Build an evidence matrix For each requirement, identify: - the observable behavior or invariant; - the cheapest deterministic check that can falsify it; - the artifact that records the result (test report, exit code, diff, event ledger, benchmark, or trace); - gaps that require a broader integration test or human decision. Use existing repository commands and focused tests first. Add a regression test when the behavior was previously broken or the boundary is subtle. ## Derive semantic boundary cases Turn every normative sentence in the requirement and relevant repository contract into a falsifiable example before accepting a visible green test. - For parsers and serializers, preserve delimiter and escape provenance until structural tokenization is complete. Test adjacent escapes, escaped delimiters, whitespace normalization, malformed escapes, exact field counts, duplicates, empty values, and round trips where applicable. - For idempotent or batched mutations, validate both shape and semantic conflicts across the entire batch and against existing state before the first write. Test same-key/same-payload and same-key/different-payload behavior, serial and concurrent calls, and assert rejected operations leave state unchanged. - For state machines, test invalid transitions, retries, stale revisions, cancellation, and crash/restart windows rather than only the happy path. - For resource limits, test the exact boundary, one below, one above, and cumulative accounting after retry or restart. ## Interpret results correctly - A successful compile does not prove runtime behavior. - A test command that selects zero tests is not a pass. - A skipped environment-dependent security test must be identified and covered elsewhere when it matters. - Tool text beginning with an error, a non-zero exit, timeout, cancellation, incomplete assertion set, or missing artifact cannot count as success evidence. - Validate streamed/durable systems from committed state and replay, not only the live UI. - For concurrency and recovery, exercise the race/crash boundary rather than infer correctness from sequential code. ## Coding-agent completion gate Before completion, check at least: 1. the original requirement and all explicit feedback are addressed; 2. the authoritative plan has no incomplete required step; 3. relevant build/type/lint and focused tests passed and actually ran; 4. the final diff contains only intended changes and preserves user-owned work; 5. security, ownership, cancellation, and persistence invariants affected by the change have evidence; 6. remaining limitations are reported precisely. Record evidence with stable IDs or artifact hashes so it can survive compaction and restart. Only the Harness/verifier should close acceptance criteria; confident model prose is not evidence.
Use this skill whenever the user wants to create, read, edit, or manipulate Word documents (.docx files). Triggers include: any mention of 'Word doc', 'word document', '.docx', or requests to produce professional documents with formatting like tables of contents, headings, page numbers, or letterheads. Also use when extracting or reorganizing content from .docx files, inserting or replacing images in documents, performing find-and-replace in Word files, working with tracked changes or comments, or converting content into a polished Word document. If the user asks for a 'report', 'memo', 'letter', 'template', or similar deliverable as a Word or .docx file, use this skill. Do NOT use for PDFs, spreadsheets, Google Docs, or general coding tasks unrelated to document generation.
Comprehensive PDF manipulation toolkit for extracting text and tables, creating new PDFs, merging/splitting documents, and handling forms. When Claude needs to fill in a PDF form or programmatically process, generate, or analyze PDF documents at scale.
Comprehensive spreadsheet creation, editing, and analysis with support for formulas, formatting, data analysis, and visualization. When Claude needs to work with spreadsheets (.xlsx, .xlsm, .csv, .tsv, etc) for: (1) Creating new spreadsheets with formulas and formatting, (2) Reading or analyzing data, (3) Modify existing spreadsheets while preserving formulas, (4) Data analysis and visualization in spreadsheets, or (5) Recalculating formulas
Investigate an unfamiliar repository before changing it. Use this whenever a coding task spans multiple modules, asks for architecture or root-cause analysis, names behavior whose implementation location is unknown, or risks editing before enough evidence is gathered.
Execute behavior-preserving or intentionally scoped refactors safely. Use this for multi-file renames, component/service extraction, state-management changes, API migrations, concurrency refactors, or any request where unrelated user work and subtle contracts must be preserved.