소스 정보
- 저장소
- gautam-achieveai/ClaudePlugins
- 최근 소스 활동
- 2026년 7월 9일 07:23
- 감지된 SKILL.md 언어
- 영어
- 스타
- 3
- 포크
- 0
설치 방법
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
소스 파일 검토
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
메뉴
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/gautam-achieveai/ClaudePlugins --skill update-pr-tracking명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
SKILL.md 표시 중
SOC 직업 분류 기준
| name | update-pr-tracking |
| description | Internal helper. Load only when explicitly named by another skill or agent. |
| user-invocable | true |
| disable-model-invocation | false |
| allowed-tools | Read, Write, Edit, Bash, Glob |
Persist review results to local tracking files so future reviews know what was already reviewed and when. This skill is the single source of truth for all tracking file operations — other skills use it rather than writing tracking files directly.
For full schema details, load reference/tracking-schema.md.
The calling skill passes these values as $ARGUMENTS or context:
| Field | Required | Source |
|---|---|---|
prNumber | Yes | PR number from the provider |
title | Yes | PR title |
sourceBranch | Yes | Without refs/heads/ prefix |
targetBranch | Yes | Without refs/heads/ prefix |
author | Yes | PR author (GitHub author.login; ADO createdBy.displayName) |
createdAt | Yes | PR creation date from the provider |
lastKnownPushAt | Yes | Latest push timestamp (GitHub head-commit date; ADO lastMergeSourceCommit.committer.date) |
verdict | Yes | APPROVE, APPROVE_WITH_COMMENTS, REQUEST_CHANGES, or null (if error) |
status | Yes | completed or error |
reviewType | Yes | initial or re-review |
sourceCommitId | No | HEAD commit hash of source branch |
findings | No | { critical, high, medium, low } counts |
commentsSummary | No | Array of top findings (one-line each) |
blockerCount | No | Number of [BLOCKER]-tagged findings |
errorReason | No | Error description if status is error |
Determine the storage path at the target repo root (current working directory, not the plugin repo):
if [ -d ".claude" ]; then
STORAGE_PATH=".claude/.pull-requests"
elif [ -d ".copilot" ]; then
STORAGE_PATH=".copilot/.pull-requests"
else
STORAGE_PATH="scratchpad/pull-requests"
fi
Create $STORAGE_PATH and $STORAGE_PATH/reviews/ if they don't exist.
Resolve the provider and repo coordinates from git remote -v (see
provider-resolution.md):
github.com): provider = "github", repository = <repo>,
project = <owner>, orgUrl = https://github.com/<owner>.dev.azure.com / visualstudio.com): provider = "ado",
repository = <repo>, project = <project>, orgUrl = https://<org>.visualstudio.com/.tracking.jsonRead $STORAGE_PATH/tracking.json.
If not found (first run) — initialize:
{
"version": 1,
"provider": "<github | ado>",
"repository": "<repo>",
"project": "<project | owner>",
"orgUrl": "<org/owner URL>",
"lastRunAt": null,
"pullRequests": {}
}
If found — validate:
repository matches the detected repoproject matches the detected project/ownerIf mismatch → rename to tracking.json.bak, reinitialize, warn user.
If corrupt (invalid JSON) → rename to tracking.json.bak, reinitialize, warn user.
tracking.jsonUpdate (or create) the entry keyed by PR number:
{
"prNumber": <number>,
"title": "<title>",
"sourceBranch": "<source>",
"targetBranch": "<target>",
"author": "<author>",
"status": "active",
"lastKnownPushAt": "<from input>",
"lastReviewedAt": "<current UTC time>",
"lastReviewVerdict": "<verdict from input>",
"lastReviewStatus": "<status from input>",
"reviewCount": <previous + 1, or 1 if new>,
"createdAt": "<from input>"
}
Do NOT update lastRunAt — that field is owned by the
code-reviewer:review-pending-prs batch orchestrator.
Write tracking.json.
reviews/pr-<number>.jsonIf the file doesn't exist, create it:
{
"prNumber": <number>,
"title": "<title>",
"author": "<author>",
"reviews": []
}
Append a new entry to the reviews array:
{
"reviewedAt": "<current UTC time>",
"reviewType": "<from input>",
"verdict": "<from input>",
"status": "<from input>",
"sourceCommitId": "<from input, or null>",
"findings": { "critical": 0, "high": 0, "medium": 0, "low": 0 },
"commentsSummary": [],
"blockerCount": 0
}
Populate findings, commentsSummary, and blockerCount from input if
provided. If status is error, set commentsSummary to
["Review failed: <errorReason>"].
Write the file.
Return a brief confirmation to the calling skill:
Tracking is best-effort. If any write fails, warn the calling skill but do NOT fail the review. The review itself (posted to the PR) is the primary output — tracking is supplementary.
| Scenario | Action |
|---|---|
| Storage path doesn't exist | Create it |
tracking.json corrupt | Rename to .bak, reinitialize, warn |
tracking.json repo mismatch | Rename to .bak, reinitialize, warn |
reviews/ directory missing | Create it |
| Write fails | Warn, return error status to caller |