本文へ移動
cccskills
無料GitHub で公開

lint-review

Run the read-only infra/lint PR reporter only when invoked by CI or explicitly requested; do not select it for the commit workflow's fix-and-respond review.

インストール方法を見る

含まれるファイル(1)

  • SKILL.md5.1 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Skill: Lint-catalog review on a PR

Run the infra/lint/ catalog review (./infra/pre-commit.py --review) over a pull request's branch diff and surface every finding — as file:line inline review comments where the finding's line is available, and as a single fallback comment for the rest.

Your contract

You are running the review and reporting its output. You are read-only except for posting comments: never edit, stage, commit, push, or "fix" anything, and never run a state-changing git/gh command. The review's own lane agents are already locked read-only.

Report the findings faithfully. The --review run (its lanes + composer) is the authority on what is a finding: post each surviving finding verbatim — one comment per finding. Do not drop, merge, reword the substance of, soften, re-judge, or invent findings. Silently losing a real finding is the one unforgivable error; so is fabricating one.

Steps

  1. Idempotency guard (only with --comment). Check whether this skill has already posted on this PR head: look for the marker <!-- marin-lint-review:<head SHA> --> in both issue comments (gh pr view <PR> --json comments) and inline review comments (gh api repos/{owner}/{repo}/pulls/<PR>/comments --paginate). If the marker is present, stop now — this PR head already has a lint pass and we do not want duplicate comments. Otherwise continue.

  2. Run the review. From the repo root:

    head_sha="$(git rev-parse HEAD)"
    MARIN_REVIEW_TRIGGER=ci \
      MARIN_REVIEW_PR_NUMBER=<PR> \
      MARIN_REVIEW_HEAD_SHA="$head_sha" \
      ./infra/pre-commit.py --review --agent-command='codex exec'
    

    The command writes its raw per-arm prompts/outputs and the combined findings under /tmp/marin-linter/<branch>/<timestamp>-<uniq>/ (path printed at the end); read it if a run looks wrong.

  3. Collect the findings. Each finding the command emits on stdout is one line in the canonical catalog format:

    <path>:<line>: ml-<code> (<confidence>) <message>
    

    e.g. lib/iris/src/iris/foo.py:42: ml-cruft-dead-branch (0.85) Unreachable else after early return.

  4. No findings vs. failed run. Distinguish two zero-finding cases:

    • Clean — the command exited 0 and printed Lint review: no findings. (or emitted no finding lines). Post nothing: the green job check is the "lint pass clean" signal, and a second "all clear" comment would only duplicate the high-level review. State "Lint review: no findings." to the terminal and stop.
    • Failed to run — the command exited non-zero or printed that every lane failed / the agent was not found / the merge-base could not be resolved. Do not report this as clean. State plainly in your final output that the lint review could not run and why; post no comments. (A broken run is a job-log signal, not a PR comment.)

    (Without --comment: just print the findings, if any, to the terminal and stop here regardless.)

  5. Post inline comments. With --comment and findings present, for each finding post one inline review comment on the head commit, using the GitHub tools available in your session, at the finding's path and line, with a body of exactly this shape:

    🤖 `ml-<code>` · confidence <confidence>
    
    <message>
    
    <!-- marin-lint-review:<head SHA> -->
    

    The <message> is copied verbatim from the finding. Post one comment per finding; never post two comments for the same finding.

  6. Handle un-anchorable findings. GitHub rejects an inline comment on a line that is not part of the PR diff. A finding can land on such a line — e.g. the holistic meta lane anchors on context outside the added hunks. When a post fails for that reason, do not abort: record that finding and keep going through the rest.

  7. Fallback summary. After attempting every inline comment, if any findings could not be placed inline, post one issue comment with gh pr comment <PR> so none are dropped. Format:

    🤖 Lint review:
    
    These infra/lint findings anchor on lines not in the PR diff, so they could not
    be attached inline.
    
    - <path>:<line>: ml-<code> (<confidence>) <message>
    - ...
    
    <!-- marin-lint-review:<head SHA> -->
    

    List every un-anchorable finding verbatim. If every finding was placed inline, do not post this comment.

Notes

  • Use the gh CLI for GitHub; do not web-fetch.
  • The review reads the branch diff against the merge base with origin/main, covering committed and uncommitted work. CI checks out the PR head and fetches origin/main before invoking you, so the merge base resolves.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Run an explicitly requested Zephyr control/treatment benchmark on the same pre-normalized sample and compare Finelog stage metrics.

日本語の概要は準備中です。原文の説明を表示しています。

marin-community/marin3,9462026年10月13日 更新

Register a named Hugging Face dataset for Marin by inspecting its schema and adding the appropriate experiments/datasets module.

日本語の概要は準備中です。原文の説明を表示しています。

marin-community/marin3,9462026年10月13日 更新

add-grant

無料

Implement a fully specified request for a GCP IAM resource grant or Cloud Run IAP viewer in marin-iac.

日本語の概要は準備中です。原文の説明を表示しています。

marin-community/marin3,9462026年10月13日 更新

Add or change a named Pallas/Mosaic kernel, including its reference implementation, correctness tests, wrapper, or requested tuning.

日本語の概要は準備中です。原文の説明を表示しています。

marin-community/marin3,9462026年10月13日 更新

Archive explicitly named legacy experiment files by publishing a dated tag and canonical issue breadcrumbs.

日本語の概要は準備中です。原文の説明を表示しています。

marin-community/marin3,9462026年10月13日 更新

Launch or continuously monitor a specified Zephyr pipeline on Iris only when asked to babysit it; restart only after explicit approval.

日本語の概要は準備中です。原文の説明を表示しています。

marin-community/marin3,9462026年10月13日 更新

marin-community のスキルをすべて見る

このスキルの問題を報告する