Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/tomevault-io/skills-registry --skill gh-change-summary명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
SKILL.md 표시 중
SOC 직업 분류 기준
| name | gh-change-summary |
| description | >- Use when this capability is needed. |
Analyze pull request changes and generate a natural language summary organized by component. This skill categorizes file changes, identifies breaking changes, highlights documentation gaps, and flags security-relevant modifications.
$ARGUMENTS
You MUST consider the user input before proceeding (if not empty).
gh) must be installed and authenticatedIf $ARGUMENTS contains a PR number or URL, extract it.
Otherwise, attempt to detect from the current branch context:
# Get current branch name
BRANCH=$(git rev-parse --abbrev-ref HEAD 2>/dev/null)
# Try to find PR associated with current branch
gh pr list --head "$BRANCH" --json number --limit 1 --jq '.[0].number' 2>/dev/null
If no PR can be determined, prompt the user: "Please provide a PR number or URL (e.g., 123 or https://github.com/owner/repo/pull/123)".
Run the following command to get PR metadata and file list:
gh pr view <PR_NUMBER> --json body,title,files,commits --jq '.'
Parse the JSON output to extract:
For each file in the PR, categorize by component based on file path:
| Component | Path Pattern | Example |
|---|---|---|
| Backend API | backend/src/**, backend/requirements.txt, backend/Dockerfile | backend/src/api/routes/scan.py |
| Frontend | frontend/src/**, frontend/package.json, frontend/vite.config.ts | frontend/src/components/Dashboard.tsx |
| Hardware Agent | hardware-agent/src/**, hardware-agent/requirements.txt | hardware-agent/src/scanning/nmap_runner.py |
| Contracts & Schemas | contracts/** | contracts/api-spec.openapi.json, contracts/schemas/scan_result.schema.json |
| Infrastructure & CI | infra/, .github/workflows/, docker-compose.yml | infra/docker-compose.yml, .github/workflows/ci.yml |
| Documentation & ADR | docs/adr/**, docs/architecture/**, *.md (root or docs/) | docs/adr/ADR-003.md, README.md |
Store categorized files as a map:
{
"backend": [list of files],
"frontend": [list of files],
"hardware-agent": [list of files],
"contracts": [list of files],
"infra": [list of files],
"docs": [list of files]
}
Scan for breaking changes by pattern:
contracts/schemas/ or contracts/api-spec.openapi.json): Flag any additions or removalsbackend/src/migrations/ or Alembic patterns): Flag as potentially breakingbackend/src/api/routes/): Check if endpoint paths or parameters modified.env, env.example, or deployment configsdocker-compose.yml, .github/workflows/For each breaking change, extract the specific line diff and mark as BREAKING.
Check if code changes have corresponding documentation updates:
contracts/api-spec.openapi.json updateddocs/adr/ADR-*.md referenced or updatedhardware-agent/README.md updatedinfra/README.md or ADR-007 referencedFor each code change without corresponding doc update, flag as DOCS NEEDED.
Flag security-relevant modifications:
backend/src/ files containing "auth", "security", "password", "token", "credential"hardware-agent/src/scanning/infra/ deployment or TLS configurationMark these as SECURITY RELEVANCE.
Produce a markdown summary with the following structure:
# PR #<NUMBER>: <TITLE>
## Summary
<First 2-3 sentences from PR body, or description of changes>
## Files Changed
- **Total files**: X
- **Additions**: +Y lines
- **Deletions**: -Z lines
## Changes by Component
### Backend API (N files changed)
- `backend/src/api/routes/scan.py` (+45, -12) — Update scan endpoint parameters
- `backend/src/models/device.py` (+10, -5) — Add device properties
[... more files ...]
### Frontend (N files)
[...]
### Hardware Agent (N files)
[...]
### Contracts & Schemas (N files)
[...]
### Infrastructure & CI (N files)
[...]
### Documentation (N files)
[...]
## Breaking Changes ⚠️
If breaking changes detected:
- **Schema change**: `contracts/api-spec.openapi.json` — New required field `scan_type` in POST /scans
- **Database migration**: `backend/src/migrations/` — Removed `legacy_port_id` column from ports table
- **API change**: Endpoint `/api/v1/scan/{id}` parameters modified
Files with code changes but missing doc updates:
✗ changed →
✗ changed →
✓ updated ✓ matches backend changes
High-attention items:
— Authentication logic changed (5 files)
— Vulnerability detection logic changed
| Category | Level | Notes |
|----------|-------|-------|
| | [HIGH/MEDIUM/LOW] | [Breaking changes present / Minor changes / No impact] |
| | [HIGH/MEDIUM/LOW] | [X docs need update / All docs in sync] |
| | [HIGH/MEDIUM/LOW] | [Auth/crypto changes / Data validation / No security impact] |
| | [OK/WARNING] | [Fits v1 lab scope / Approaching v2 scope expansion] |
[ ] All breaking changes have accompanying migration docs
[ ] API changes reflected in
[ ] ADR references updated if architectural decision affected
[ ] Security-relevant code changes reviewed carefully
[ ] Documentation reflects new code behavior
[ ] No scope creep beyond v1 lab deployment assumptions
Output the markdown report to the user. If multiple components are affected:
If breaking changes exist, recommend updating PR description with migration guidance.
docs/architecture/ARCHITECTURE.md sections 2.1–2.6 for component responsibilitiescontracts/api-spec.openapi.json and schema files.cursor/rules/project-scope.mdc)User: "Can you summarize PR #42?"
Skill: [Fetches PR 42, analyzes 8 file changes across backend, frontend, and contracts]
Output: [Detailed markdown report showing component breakdown, breaking schema change, documentation gap, and risk assessment]
User: "Should I be worried about anything?"
Skill: "Yes — PR 42 has a breaking schema change to scan_result.schema.json (new required field)
and updates backend authentication logic. Make sure contracts and auth changes are both reviewed carefully.
Also, hardware-agent README is out of sync with the scanning logic updates."
gh CLIgh has access to repositorySource: Dmitri-IMT/dmitri — distributed by TomeVault.