[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M7BKXFKNJJS22MY1735GE58R":3,"skill-same:01M7BKXFKNJJS22MY1735GE58R":45},{"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":18,"publishedAt":19,"linkOnly":20,"markdownContent":21,"markdownBody":22,"frontMatter":23,"refName":24,"commitSha":25,"skillDirectory":26,"forksCount":27,"repositoryHtmlUrl":28,"repositoryHomepageUrl":6,"ownerHtmlUrl":29,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":30,"install":31,"resources":44},"01M7BKXFKNJJS22MY1735GE58R","maven-build-lifecycle",null,"Use when reproducing and repairing Maven CI build failures, especially legacy multi-module builds and Maven Invoker integration tests.","linyouxue\u002Fskill-repair-benchmark","linyouxue","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F216151464?v=4","01M7BJEVCXKD74KH6FG9CBVSQB","林宥学","01M7BJEVE02NP217V93BKZFC0J",0,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Flinyouxue\u002Fskill-repair-benchmark\u002Fblob\u002Fmain\u002Fcontrolled-skill-repair-experiments\u002Fresult\u002Fskillhone-gpt5.2-xhigh\u002Fcandidates\u002Fsingle-fix-build-google-auto-all\u002Fround-4\u002Fskills\u002Fmaven-build-lifecycle\u002FSKILL.md",[],[],"2026-11-15 14:19:17",false,"---\nname: maven-build-lifecycle\ndescription: Use when reproducing and repairing Maven CI build failures, especially legacy multi-module builds and Maven Invoker integration tests.\n---\n\n# Maven Build Lifecycle - CI Repair Workflow (Legacy + Multi-Module + Invoker ITs)\n\n## Build-repair artifact contract (required)\n\nThis benchmark expects **(a) a diagnosis note**, **(b) at least one patch file**, and **(c) the patch applied to the repository**.\n\nBefore finishing the task (treat these as *hard requirements*, not suggestions):\n\n1. **Write analysis + plan** to the **absolute path**:\n   - `\u002Fhome\u002Ftravis\u002Fbuild\u002Ffailed\u002Ffailed_reasons.txt`\n   - (Do not write a copy inside the repo; the checker looks for this exact path.)\n\n2. **Create at least one non-empty standard unified diff** at the **repo root**:\n   - Required file: `patch_1.diff` (and optionally `patch_2.diff`, …)\n   - The repository path is provided by the task, typically:\n     `\u002Fhome\u002Ftravis\u002Fbuild\u002Ffailed\u002F\u003Crepo>\u002F\u003Cid>`\n   - The expected location is:\n     `\u002Fhome\u002Ftravis\u002Fbuild\u002Ffailed\u002F\u003Crepo>\u002F\u003Cid>\u002Fpatch_1.diff`\n\n3. **Apply the patch(es)** so the *actual project files* (e.g., `pom.xml`, `src\u002F**`) are changed, not only the patch artifact.\n\n4. **Verify** with `git diff`\u002F`git status` and re-run the Maven build.\n\n**Do not hard-code** a repository name\u002Fid in commands. Always use the repository path given by the task.\n\nSuggested variables (copy\u002Fpaste and fill from the task prompt):\n\n```bash\nREPO_DIR=\u002Fhome\u002Ftravis\u002Fbuild\u002Ffailed\u002F\u003Crepo>\u002F\u003Cid>\nNOTE_FILE=\u002Fhome\u002Ftravis\u002Fbuild\u002Ffailed\u002Ffailed_reasons.txt\nPATCH_FILE=\"$REPO_DIR\u002Fpatch_1.diff\"\nmkdir -p \"$(dirname \"$NOTE_FILE\")\"\ntouch \"$NOTE_FILE\"\n```\n\nTip: create the note file early, keep it updated while you debug, and only generate `patch_1.diff` once you have a candidate fix.\n\n### Suggested patch workflow that matches the prompt\n\nThe prompt separates “write patch” and “apply patch”. A reliable way to satisfy that contract **without losing your work**:\n\n```bash\n# 0) Set this from the task instructions\nREPO_DIR=\u002Fhome\u002Ftravis\u002Fbuild\u002Ffailed\u002F\u003Crepo>\u002F\u003Cid>\nNOTE_FILE=\u002Fhome\u002Ftravis\u002Fbuild\u002Ffailed\u002Ffailed_reasons.txt\nPATCH_FILE=\"$REPO_DIR\u002Fpatch_1.diff\"\n\ncd \"$REPO_DIR\"\n\n# 1) Make edits in the working tree (never edit generated target\u002F** copies)\n\n# 2) Stage the intended changes (avoid accidentally staging the patch artifacts)\ngit add -A\n# If patch_*.diff already exists from a previous attempt, unstage it so it doesn't\n# recursively include itself:\ngit reset -- patch_*.diff 2>\u002Fdev\u002Fnull || true\n\n# 3) Export a non-empty patch artifact from the staged changes\n#    --binary preserves renames and binary files if any.\ngit diff --cached --binary > \"$PATCH_FILE\"\n\n# Guardrail: ensure the patch is not empty (many graders require this)\ntest -s \"$PATCH_FILE\"\n\n# 4) Sanity-check the patch applies cleanly\n#    IMPORTANT: patch_1.diff is intentionally UNSTAGED, so it won't affect this check.\ngit apply --check \"$PATCH_FILE\"\n\n# 5) Apply the patch to the repo only if you truly need strict step ordering\n#    (Usually you don't — your working tree already contains the edits.)\n# git reset --hard\n# git apply \"$PATCH_FILE\"\n```\n\nCommon gotcha: if you accidentally included `patch_1.diff` in the patch itself, the file can end up empty or enormous. The `git reset -- patch_*.diff` line prevents that.\n\nAnother gotcha: `git diff > patch_1.diff` will be empty if you already staged your changes and your working tree is clean. Prefer `git diff --cached` (staged changes) when generating the patch artifact.\n\n## Toolchain selection (Java + Maven)\n\nLegacy Maven builds are sensitive to toolchain drift. Establish the toolchain *before* making changes.\n\n1. **Prefer Maven Wrapper** when present (it pins the Maven version), but verify it actually runs:\n   - If `.\u002Fmvnw` exists, `chmod +x .\u002Fmvnw` and try `.\u002Fmvnw -version`.\n   - If the wrapper is missing `.mvn\u002Fwrapper\u002F**` files or fails to run, fall back to `mvn`.\n\n   Suggested snippet (reuse everywhere below):\n\n   ```bash\n   MVN=mvn\n   if [ -f .\u002Fmvnw ]; then\n     chmod +x .\u002Fmvnw 2>\u002Fdev\u002Fnull || true\n     if .\u002Fmvnw -version >\u002Fdev\u002Fnull 2>&1; then\n       MVN=.\u002Fmvnw\n     fi\n   fi\n   ```\n\n2. **Record versions** (useful for `failed_reasons.txt`):\n\n```bash\njava -version\n# Choose the correct Maven entrypoint (wrapper if it is usable)\nMVN=mvn\nif [ -f .\u002Fmvnw ]; then\n  chmod +x .\u002Fmvnw 2>\u002Fdev\u002Fnull || true\n  if .\u002Fmvnw -version >\u002Fdev\u002Fnull 2>&1; then\n    MVN=.\u002Fmvnw\n  fi\nfi\n$MVN -version\n```\n\n3. **Infer required Java version from the build**:\n   - Look for `maven-compiler-plugin`, `maven.compiler.release`, `maven.compiler.source\u002Ftarget`, or `\u003Cjava.version>`.\n   - Check for `maven-enforcer-plugin` rules enforcing Java\u002FMaven versions.\n\n4. **When the required Java level and environment disagree**:\n   - Prefer fixing the project configuration\u002Fcode to work with the available toolchain.\n   - Avoid assumptions like “install a new JDK” unless the environment explicitly supports it.\n\n## Failure reproduction: run the same thing CI runs\n\n1. **Find the CI entrypoint** (common locations):\n   - `.github\u002Fworkflows\u002F*.yml`, `.travis.yml`, `Jenkinsfile`, `pom.xml` profiles referenced by CI.\n\n2. **Re-run the matching Maven goals and flags**.\n\nRecommended baseline commands:\n\n```bash\n# Choose the correct Maven entrypoint (wrapper if it is usable)\nMVN=mvn\nif [ -f .\u002Fmvnw ]; then\n  chmod +x .\u002Fmvnw 2>\u002Fdev\u002Fnull || true\n  if .\u002Fmvnw -version >\u002Fdev\u002Fnull 2>&1; then\n    MVN=.\u002Fmvnw\n  fi\nfi\n\n# Fast feedback (build without executing tests):\n$MVN -B -e -DskipTests install\n\n# Full verification (unit + integration tests if configured):\n$MVN -B -e verify\n```\n\nNotes:\n- `-DskipTests` skips *execution* but still compiles tests; `-Dmaven.test.skip=true` skips compiling tests too.\n- If logs are too terse, add `-DtrimStackTrace=false` and\u002For rerun with `-X` after you have a minimal reproducer.\n\n3. **Capture a minimal, actionable diagnosis** in `\u002Fhome\u002Ftravis\u002Fbuild\u002Ffailed\u002Ffailed_reasons.txt`:\n   - the first failing module and goal (e.g., “Failed to execute goal … on project …”)\n   - the root error (exception message \u002F compilation error)\n   - the exact command to reproduce\n   - a small plan (what file(s) to change and why)\n\n## Efficient iteration in multi-module reactors\n\nLarge multi-module builds benefit from narrowing scope while iterating:\n\n```bash\n# Choose the correct Maven entrypoint (wrapper if it is usable)\nMVN=mvn\nif [ -f .\u002Fmvnw ]; then\n  chmod +x .\u002Fmvnw 2>\u002Fdev\u002Fnull || true\n  if .\u002Fmvnw -version >\u002Fdev\u002Fnull 2>&1; then\n    MVN=.\u002Fmvnw\n  fi\nfi\n\n# Build only one module (+ dependencies) by artifactId\n$MVN -pl :\u003CartifactId> -am -DskipTests install\n\n# Re-run a single test\n$MVN -Dtest=\u003CTestClassOrPattern> test\n```\n\nAlways return to the full CI command (`test`\u002F`verify`) before declaring the fix complete.\n\n## Maven Invoker \u002F nested integration-test projects (common pitfall)\n\nSome repositories run **integration tests by invoking Maven builds of nested sample projects** (often via `maven-invoker-plugin`). These projects commonly live under directories like:\n- `src\u002Fit\u002F**`, `src\u002Fit-projects\u002F**`, `it\u002F**`, or under `src\u002Ftest\u002Fresources\u002F**`\n\nKey conventions:\n\n1. **Generated copies are not the source of truth**\n   - Invoker-style tests frequently copy projects to `target\u002Fit\u002F**` (or similar) and run Maven there.\n   - **Never edit `target\u002F**`**. Edits will be overwritten on the next run.\n   - Always edit the original fixture sources under `src\u002Fit\u002F**` (or the configured directory).\n\n2. **Fixture POMs often use filtered placeholders**\n   - You may see placeholders like `@project.version@`, `${project.version}`, or `${revision}` in fixture `pom.xml` files.\n   - Preserve placeholders when possible; avoid replacing them with a one-off literal version.\n\n3. **Dependency resolution for nested projects**\n   - Nested builds typically resolve the “build under test” artifacts from the **local Maven repository**.\n   - If nested projects fail to resolve your project’s artifacts, ensure the main reactor has produced and installed them:\n\n```bash\n# Choose the correct Maven entrypoint (wrapper if it is usable)\nMVN=mvn\nif [ -f .\u002Fmvnw ]; then\n  chmod +x .\u002Fmvnw 2>\u002Fdev\u002Fnull || true\n  if .\u002Fmvnw -version >\u002Fdev\u002Fnull 2>&1; then\n    MVN=.\u002Fmvnw\n  fi\nfi\n\n# Typical two-step reproducer\n$MVN -DskipTests install\n$MVN verify\n```\n\n4. **Modification scope**\n   - Acceptable fixes may involve:\n     - parent POM \u002F plugin configuration that controls Invoker execution\n     - fixture project `pom.xml` \u002F `invoker.properties` \u002F scripts under `src\u002Fit\u002F**`\n   - Avoid fixes that depend on changing global state outside the repo (e.g., editing `~\u002F.m2\u002Fsettings.xml`).\n\n## Final verification checklist\n\nBefore finishing:\n\n- [ ] `\u002Fhome\u002Ftravis\u002Fbuild\u002Ffailed\u002Ffailed_reasons.txt` exists and explains root cause + plan.\n- [ ] `patch_1.diff` exists at `$REPO_DIR\u002Fpatch_1.diff` and is non-empty.\n- [ ] `git apply --check \"$REPO_DIR\u002Fpatch_1.diff\"` succeeds.\n- [ ] The patch is applied: `git status --porcelain` shows intended project file changes.\n- [ ] The full Maven command used by CI (`test` or `verify`) succeeds.\n","# Maven Build Lifecycle - CI Repair Workflow (Legacy + Multi-Module + Invoker ITs)\n\n## Build-repair artifact contract (required)\n\nThis benchmark expects **(a) a diagnosis note**, **(b) at least one patch file**, and **(c) the patch applied to the repository**.\n\nBefore finishing the task (treat these as *hard requirements*, not suggestions):\n\n1. **Write analysis + plan** to the **absolute path**:\n   - `\u002Fhome\u002Ftravis\u002Fbuild\u002Ffailed\u002Ffailed_reasons.txt`\n   - (Do not write a copy inside the repo; the checker looks for this exact path.)\n\n2. **Create at least one non-empty standard unified diff** at the **repo root**:\n   - Required file: `patch_1.diff` (and optionally `patch_2.diff`, …)\n   - The repository path is provided by the task, typically:\n     `\u002Fhome\u002Ftravis\u002Fbuild\u002Ffailed\u002F\u003Crepo>\u002F\u003Cid>`\n   - The expected location is:\n     `\u002Fhome\u002Ftravis\u002Fbuild\u002Ffailed\u002F\u003Crepo>\u002F\u003Cid>\u002Fpatch_1.diff`\n\n3. **Apply the patch(es)** so the *actual project files* (e.g., `pom.xml`, `src\u002F**`) are changed, not only the patch artifact.\n\n4. **Verify** with `git diff`\u002F`git status` and re-run the Maven build.\n\n**Do not hard-code** a repository name\u002Fid in commands. Always use the repository path given by the task.\n\nSuggested variables (copy\u002Fpaste and fill from the task prompt):\n\n```bash\nREPO_DIR=\u002Fhome\u002Ftravis\u002Fbuild\u002Ffailed\u002F\u003Crepo>\u002F\u003Cid>\nNOTE_FILE=\u002Fhome\u002Ftravis\u002Fbuild\u002Ffailed\u002Ffailed_reasons.txt\nPATCH_FILE=\"$REPO_DIR\u002Fpatch_1.diff\"\nmkdir -p \"$(dirname \"$NOTE_FILE\")\"\ntouch \"$NOTE_FILE\"\n```\n\nTip: create the note file early, keep it updated while you debug, and only generate `patch_1.diff` once you have a candidate fix.\n\n### Suggested patch workflow that matches the prompt\n\nThe prompt separates “write patch” and “apply patch”. A reliable way to satisfy that contract **without losing your work**:\n\n```bash\n# 0) Set this from the task instructions\nREPO_DIR=\u002Fhome\u002Ftravis\u002Fbuild\u002Ffailed\u002F\u003Crepo>\u002F\u003Cid>\nNOTE_FILE=\u002Fhome\u002Ftravis\u002Fbuild\u002Ffailed\u002Ffailed_reasons.txt\nPATCH_FILE=\"$REPO_DIR\u002Fpatch_1.diff\"\n\ncd \"$REPO_DIR\"\n\n# 1) Make edits in the working tree (never edit generated target\u002F** copies)\n\n# 2) Stage the intended changes (avoid accidentally staging the patch artifacts)\ngit add -A\n# If patch_*.diff already exists from a previous attempt, unstage it so it doesn't\n# recursively include itself:\ngit reset -- patch_*.diff 2>\u002Fdev\u002Fnull || true\n\n# 3) Export a non-empty patch artifact from the staged changes\n#    --binary preserves renames and binary files if any.\ngit diff --cached --binary > \"$PATCH_FILE\"\n\n# Guardrail: ensure the patch is not empty (many graders require this)\ntest -s \"$PATCH_FILE\"\n\n# 4) Sanity-check the patch applies cleanly\n#    IMPORTANT: patch_1.diff is intentionally UNSTAGED, so it won't affect this check.\ngit apply --check \"$PATCH_FILE\"\n\n# 5) Apply the patch to the repo only if you truly need strict step ordering\n#    (Usually you don't — your working tree already contains the edits.)\n# git reset --hard\n# git apply \"$PATCH_FILE\"\n```\n\nCommon gotcha: if you accidentally included `patch_1.diff` in the patch itself, the file can end up empty or enormous. The `git reset -- patch_*.diff` line prevents that.\n\nAnother gotcha: `git diff > patch_1.diff` will be empty if you already staged your changes and your working tree is clean. Prefer `git diff --cached` (staged changes) when generating the patch artifact.\n\n## Toolchain selection (Java + Maven)\n\nLegacy Maven builds are sensitive to toolchain drift. Establish the toolchain *before* making changes.\n\n1. **Prefer Maven Wrapper** when present (it pins the Maven version), but verify it actually runs:\n   - If `.\u002Fmvnw` exists, `chmod +x .\u002Fmvnw` and try `.\u002Fmvnw -version`.\n   - If the wrapper is missing `.mvn\u002Fwrapper\u002F**` files or fails to run, fall back to `mvn`.\n\n   Suggested snippet (reuse everywhere below):\n\n   ```bash\n   MVN=mvn\n   if [ -f .\u002Fmvnw ]; then\n     chmod +x .\u002Fmvnw 2>\u002Fdev\u002Fnull || true\n     if .\u002Fmvnw -version >\u002Fdev\u002Fnull 2>&1; then\n       MVN=.\u002Fmvnw\n     fi\n   fi\n   ```\n\n2. **Record versions** (useful for `failed_reasons.txt`):\n\n```bash\njava -version\n# Choose the correct Maven entrypoint (wrapper if it is usable)\nMVN=mvn\nif [ -f .\u002Fmvnw ]; then\n  chmod +x .\u002Fmvnw 2>\u002Fdev\u002Fnull || true\n  if .\u002Fmvnw -version >\u002Fdev\u002Fnull 2>&1; then\n    MVN=.\u002Fmvnw\n  fi\nfi\n$MVN -version\n```\n\n3. **Infer required Java version from the build**:\n   - Look for `maven-compiler-plugin`, `maven.compiler.release`, `maven.compiler.source\u002Ftarget`, or `\u003Cjava.version>`.\n   - Check for `maven-enforcer-plugin` rules enforcing Java\u002FMaven versions.\n\n4. **When the required Java level and environment disagree**:\n   - Prefer fixing the project configuration\u002Fcode to work with the available toolchain.\n   - Avoid assumptions like “install a new JDK” unless the environment explicitly supports it.\n\n## Failure reproduction: run the same thing CI runs\n\n1. **Find the CI entrypoint** (common locations):\n   - `.github\u002Fworkflows\u002F*.yml`, `.travis.yml`, `Jenkinsfile`, `pom.xml` profiles referenced by CI.\n\n2. **Re-run the matching Maven goals and flags**.\n\nRecommended baseline commands:\n\n```bash\n# Choose the correct Maven entrypoint (wrapper if it is usable)\nMVN=mvn\nif [ -f .\u002Fmvnw ]; then\n  chmod +x .\u002Fmvnw 2>\u002Fdev\u002Fnull || true\n  if .\u002Fmvnw -version >\u002Fdev\u002Fnull 2>&1; then\n    MVN=.\u002Fmvnw\n  fi\nfi\n\n# Fast feedback (build without executing tests):\n$MVN -B -e -DskipTests install\n\n# Full verification (unit + integration tests if configured):\n$MVN -B -e verify\n```\n\nNotes:\n- `-DskipTests` skips *execution* but still compiles tests; `-Dmaven.test.skip=true` skips compiling tests too.\n- If logs are too terse, add `-DtrimStackTrace=false` and\u002For rerun with `-X` after you have a minimal reproducer.\n\n3. **Capture a minimal, actionable diagnosis** in `\u002Fhome\u002Ftravis\u002Fbuild\u002Ffailed\u002Ffailed_reasons.txt`:\n   - the first failing module and goal (e.g., “Failed to execute goal … on project …”)\n   - the root error (exception message \u002F compilation error)\n   - the exact command to reproduce\n   - a small plan (what file(s) to change and why)\n\n## Efficient iteration in multi-module reactors\n\nLarge multi-module builds benefit from narrowing scope while iterating:\n\n```bash\n# Choose the correct Maven entrypoint (wrapper if it is usable)\nMVN=mvn\nif [ -f .\u002Fmvnw ]; then\n  chmod +x .\u002Fmvnw 2>\u002Fdev\u002Fnull || true\n  if .\u002Fmvnw -version >\u002Fdev\u002Fnull 2>&1; then\n    MVN=.\u002Fmvnw\n  fi\nfi\n\n# Build only one module (+ dependencies) by artifactId\n$MVN -pl :\u003CartifactId> -am -DskipTests install\n\n# Re-run a single test\n$MVN -Dtest=\u003CTestClassOrPattern> test\n```\n\nAlways return to the full CI command (`test`\u002F`verify`) before declaring the fix complete.\n\n## Maven Invoker \u002F nested integration-test projects (common pitfall)\n\nSome repositories run **integration tests by invoking Maven builds of nested sample projects** (often via `maven-invoker-plugin`). These projects commonly live under directories like:\n- `src\u002Fit\u002F**`, `src\u002Fit-projects\u002F**`, `it\u002F**`, or under `src\u002Ftest\u002Fresources\u002F**`\n\nKey conventions:\n\n1. **Generated copies are not the source of truth**\n   - Invoker-style tests frequently copy projects to `target\u002Fit\u002F**` (or similar) and run Maven there.\n   - **Never edit `target\u002F**`**. Edits will be overwritten on the next run.\n   - Always edit the original fixture sources under `src\u002Fit\u002F**` (or the configured directory).\n\n2. **Fixture POMs often use filtered placeholders**\n   - You may see placeholders like `@project.version@`, `${project.version}`, or `${revision}` in fixture `pom.xml` files.\n   - Preserve placeholders when possible; avoid replacing them with a one-off literal version.\n\n3. **Dependency resolution for nested projects**\n   - Nested builds typically resolve the “build under test” artifacts from the **local Maven repository**.\n   - If nested projects fail to resolve your project’s artifacts, ensure the main reactor has produced and installed them:\n\n```bash\n# Choose the correct Maven entrypoint (wrapper if it is usable)\nMVN=mvn\nif [ -f .\u002Fmvnw ]; then\n  chmod +x .\u002Fmvnw 2>\u002Fdev\u002Fnull || true\n  if .\u002Fmvnw -version >\u002Fdev\u002Fnull 2>&1; then\n    MVN=.\u002Fmvnw\n  fi\nfi\n\n# Typical two-step reproducer\n$MVN -DskipTests install\n$MVN verify\n```\n\n4. **Modification scope**\n   - Acceptable fixes may involve:\n     - parent POM \u002F plugin configuration that controls Invoker execution\n     - fixture project `pom.xml` \u002F `invoker.properties` \u002F scripts under `src\u002Fit\u002F**`\n   - Avoid fixes that depend on changing global state outside the repo (e.g., editing `~\u002F.m2\u002Fsettings.xml`).\n\n## Final verification checklist\n\nBefore finishing:\n\n- [ ] `\u002Fhome\u002Ftravis\u002Fbuild\u002Ffailed\u002Ffailed_reasons.txt` exists and explains root cause + plan.\n- [ ] `patch_1.diff` exists at `$REPO_DIR\u002Fpatch_1.diff` and is non-empty.\n- [ ] `git apply --check \"$REPO_DIR\u002Fpatch_1.diff\"` succeeds.\n- [ ] The patch is applied: `git status --porcelain` shows intended project file changes.\n- [ ] The full Maven command used by CI (`test` or `verify`) succeeds.\n",{"name":5,"description":7},"main","cdcb6d230f3b15c3c33f8a2bdd16439f43602cbe","controlled-skill-repair-experiments\u002Fresult\u002Fskillhone-gpt5.2-xhigh\u002Fcandidates\u002Fsingle-fix-build-google-auto-all\u002Fround-4\u002Fskills\u002Fmaven-build-lifecycle",1,"https:\u002F\u002Fgithub.com\u002Flinyouxue\u002Fskill-repair-benchmark","https:\u002F\u002Fgithub.com\u002Flinyouxue","2026-11-14 20:28:35",{"source":8,"skillName":5,"commands":32,"prompt":42,"zipAvailable":43},[33,36,39],{"tool":34,"command":35},"npx","npx skills add linyouxue\u002Fskill-repair-benchmark --skill maven-build-lifecycle",{"tool":37,"command":38},"bunx","bunx skills add linyouxue\u002Fskill-repair-benchmark --skill maven-build-lifecycle",{"tool":40,"command":41},"pnpm","pnpm dlx skills add linyouxue\u002Fskill-repair-benchmark --skill maven-build-lifecycle","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Flinyouxue\u002Fskill-repair-benchmark\u002Fblob\u002Fmain\u002Fcontrolled-skill-repair-experiments\u002Fresult\u002Fskillhone-gpt5.2-xhigh\u002Fcandidates\u002Fsingle-fix-build-google-auto-all\u002Fround-4\u002Fskills\u002Fmaven-build-lifecycle\u002FSKILL.md",true,[],[46,53,60,67,72,77],{"skillNo":47,"name":48,"nameZh":6,"description":49,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":50,"categories":51,"keywords":52,"publishedAt":19},"01M7E1HGVRY73NBJ022CJG13X6","video-frame-extraction","Extract frames from video files and save them as images using OpenCV","https:\u002F\u002Fgithub.com\u002Flinyouxue\u002Fskill-repair-benchmark\u002Fblob\u002Fmain\u002Fjpg-ocr-stat\u002Fresult\u002Fskilltta-claude4.7\u002Fgroup_03\u002Frun_03\u002Finputs\u002Fskills\u002Fvideo-frame-extraction\u002FSKILL.md",[],[],{"skillNo":54,"name":55,"nameZh":6,"description":56,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":57,"categories":58,"keywords":59,"publishedAt":19},"01M7E1HAG5R7CJ9C8NYJS771MB","openai-vision","Analyze images and multi-frame sequences using OpenAI GPT vision models","https:\u002F\u002Fgithub.com\u002Flinyouxue\u002Fskill-repair-benchmark\u002Fblob\u002Fmain\u002Fjpg-ocr-stat\u002Fresult\u002Fskilltta-claude4.7\u002Fgroup_03\u002Frun_03\u002Finputs\u002Fskills\u002Fopenai-vision\u002FSKILL.md",[],[],{"skillNo":61,"name":62,"nameZh":6,"description":63,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":64,"categories":65,"keywords":66,"publishedAt":19},"01M7E1H7DADKB6QBWKC2KQ63SZ","image-ocr","Extract text content from images using Tesseract OCR via Python, including structured field extraction from receipts and forms","https:\u002F\u002Fgithub.com\u002Flinyouxue\u002Fskill-repair-benchmark\u002Fblob\u002Fmain\u002Fjpg-ocr-stat\u002Fresult\u002Fskilltta-claude4.7\u002Fgroup_03\u002Frun_03\u002Finputs\u002Fskills\u002Fimage-ocr\u002FSKILL.md",[],[],{"skillNo":68,"name":48,"nameZh":6,"description":49,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":69,"categories":70,"keywords":71,"publishedAt":19},"01M7E1H0WBNT43TENGQY7AVZHD","https:\u002F\u002Fgithub.com\u002Flinyouxue\u002Fskill-repair-benchmark\u002Fblob\u002Fmain\u002Fjpg-ocr-stat\u002Fresult\u002Fskilltta-claude4.7\u002Fgroup_03\u002Frun_02\u002Finputs\u002Fskills\u002Fvideo-frame-extraction\u002FSKILL.md",[],[],{"skillNo":73,"name":55,"nameZh":6,"description":56,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":74,"categories":75,"keywords":76,"publishedAt":19},"01M7E1GTC7D4N4Q2EF03875J9E","https:\u002F\u002Fgithub.com\u002Flinyouxue\u002Fskill-repair-benchmark\u002Fblob\u002Fmain\u002Fjpg-ocr-stat\u002Fresult\u002Fskilltta-claude4.7\u002Fgroup_03\u002Frun_02\u002Finputs\u002Fskills\u002Fopenai-vision\u002FSKILL.md",[],[],{"skillNo":78,"name":62,"nameZh":6,"description":63,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":79,"categories":80,"keywords":81,"publishedAt":19},"01M7E1GQ92CWFMGH53KSSE4WER","https:\u002F\u002Fgithub.com\u002Flinyouxue\u002Fskill-repair-benchmark\u002Fblob\u002Fmain\u002Fjpg-ocr-stat\u002Fresult\u002Fskilltta-claude4.7\u002Fgroup_03\u002Frun_02\u002Finputs\u002Fskills\u002Fimage-ocr\u002FSKILL.md",[],[]]