Skip to content

Chore(project): AI 에이전트 스킬 시스템 셋업 (#334) - #335

Open
jjangminii wants to merge 3 commits into
developfrom
chore/#334/skill-md-add
Open

Chore(project): AI 에이전트 스킬 시스템 셋업 (#334)#335
jjangminii wants to merge 3 commits into
developfrom
chore/#334/skill-md-add

Conversation

@jjangminii

@jjangminii jjangminii commented Aug 5, 2026

Copy link
Copy Markdown
Collaborator

📌 Related Issues

📄 Tasks

  • AGENTS.md 라우터 추가 (트리거 → 스킬 매핑 표만 포함)
  • docs/conventions/: 브랜치, 커밋, 병합 규칙 / 코딩·네이밍 컨벤션 / 폴더 구조·기술 스택 원문화
  • docs/setup/figma-mcp.md, docs/design/tokens.md 추가
  • .agents/skills/: git(branch, commit, pr), code(component, page), figma(to-code, to-figma), meta(orchestrate, manage) 스킬 추가

⭐ PR Point (To Reviewer)

  • 규칙 원문은 docs/에만 두고, SKILL.md와 AGENTS.md는 경로만 참조하도록 구성했습니다.
  • 상태를 변경하는 스킬(브랜치/커밋/PR 생성, 피그마 동기화 등)에는 Phase1(계획+승인)/Phase2(실행) 게이트를 넣었습니다.

Summary by CodeRabbit

  • 새로운 기능

    • 컴포넌트, 페이지, 브랜치, 커밋, PR, Figma 작업을 위한 단계별 작업 가이드가 추가되었습니다.
    • 복합 작업을 순차적으로 계획하고 승인받아 실행하는 절차가 마련되었습니다.
  • 문서

    • 프로젝트 구조, 코딩·브랜치·커밋·병합 규칙을 문서화했습니다.
    • 디자인 토큰 및 Figma 연동 설정 가이드를 추가했습니다.
    • 에이전트 작업 방식과 관련 참고 문서를 정리했습니다.

@jjangminii jjangminii linked an issue Aug 5, 2026 that may be closed by this pull request
@vercel

vercel Bot commented Aug 5, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
pinback-client-client Ready Ready Preview Aug 5, 2026 8:29am
pinback-client-landing Ready Ready Preview Aug 5, 2026 8:29am

@github-actions github-actions Bot added the chore 기타 작업 label Aug 5, 2026
@coderabbitai

coderabbitai Bot commented Aug 5, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@jjangminii, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 48 minutes

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: dc32d964-7647-4e4c-908f-93f9f1d39027

📥 Commits

Reviewing files that changed from the base of the PR and between fded6ee and 17a327d.

📒 Files selected for processing (4)
  • .agents/skills/git/commit/SKILL.md
  • .agents/skills/git/issue/SKILL.md
  • .agents/skills/git/pr/SKILL.md
  • AGENTS.md

Walkthrough

에이전트용 중앙 가이드와 요청 유형별 SKILL.md를 추가했다. 코드, Git, Figma, 메타 작업의 승인 기반 절차를 문서화했다. 아키텍처, 컴포넌트, 브랜치, 커밋, 병합, 디자인 토큰, Figma MCP 설정 문서도 함께 추가했다.

Changes

에이전트 작업 체계 문서화

Layer / File(s) Summary
진입 가이드와 공통 규칙
AGENTS.md, docs/conventions/architecture.md, docs/conventions/component.md, docs/conventions/branch.md, docs/conventions/commit.md, docs/conventions/merge.md, docs/design/tokens.md, docs/setup/figma-mcp.md
중앙 진입 가이드를 추가했다. 요청 트리거별 스킬 매핑과 선행 읽기 규칙을 정의했다. 아키텍처, 컴포넌트 작성, 브랜치명, 커밋 메시지, 병합 규칙, 디자인 토큰, Figma MCP 설정 절차를 문서화했다.
코드 및 Figma 실행 스킬
.agents/skills/code/component/SKILL.md, .agents/skills/code/page/SKILL.md, .agents/skills/figma/to-code/SKILL.md, .agents/skills/figma/to-figma/SKILL.md
컴포넌트 생성, 페이지 생성, Figma 디자인의 코드 구현, 코드의 Figma 반영 절차를 추가했다. 각 스킬은 트리거, 참조 문서, 사전 계획, 사용자 승인, 승인 후 실행과 결과 보고 단계를 정의한다.
브랜치·커밋·PR 스킬
.agents/skills/git/branch/SKILL.md, .agents/skills/git/commit/SKILL.md, .agents/skills/git/pr/SKILL.md
브랜치 생성, 커밋, PR 생성 스킬을 추가했다. 각 스킬은 Git 규칙 참조, 계획 확인, 사용자 승인 대기, 승인 후 명시적 실행 절차를 정의한다.
스킬 관리와 오케스트레이션
.agents/skills/meta/manage/SKILL.md, .agents/skills/meta/orchestrate/SKILL.md
스킬의 생성·수정·폐기 절차와 복수 스킬의 순차 실행 절차를 추가했다. AGENTS.md 매핑 동기화와 실패 시 중단·보고 규칙도 포함한다.

Estimated code review effort: 3 (Moderate) | ~25 minutes

Poem

토끼는 문서를 톡톡 쌓았어요.
스킬 길잡이도 가지런히 놓았어요.
브랜치에서 PR까지 콩콩 정리하고,
Figma와 코드도 나란히 묶었지요.
이제 풀잎 같은 규칙을 따라,
작업 흐름이 깔끔히 뛰어요.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed 제목은 AI 에이전트 스킬 시스템 설정이라는 변경의 핵심 내용을 명확하게 요약합니다.
Description check ✅ Passed 관련 이슈, 작업 내용, 리뷰 포인트를 포함해 템플릿의 주요 필수 항목을 충족합니다.
Linked Issues check ✅ Passed PR은 이슈 #334의 목표인 AI 에이전트용 SKILL.md 파일 추가를 충족합니다.
Out of Scope Changes check ✅ Passed 변경 사항은 AI 에이전트 스킬 시스템 설정과 관련 문서화라는 PR 목표 범위에 포함됩니다.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/#334/skill-md-add

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

github-actions Bot commented Aug 5, 2026

Copy link
Copy Markdown

✅ Storybook chromatic 배포 확인:
🐿️ storybook

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 10

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.agents/skills/git/commit/SKILL.md:
- Line 16: Update the change-review instruction in SKILL.md to use a command
that includes both staged and unstaged changes, such as git diff HEAD, or
explicitly combine git diff with git diff --cached; retain the existing git
status and recent git log checks.

In @.agents/skills/meta/orchestrate/SKILL.md:
- Around line 17-24: Update the orchestrate workflow so Phase 1 reads every
chained skill’s SKILL.md before generating the Phase 2 plan and requesting
approval. Preserve the existing Phase 3 sequential execution and each skill’s
own Phase 1 approval gate, while ensuring the plan reflects the procedures
actually read.

In `@AGENTS.md`:
- Around line 10-15: 작업 요청 절차에 트리거가 없는 경우의 fallback을 추가하세요. 트리거 표와 `SKILL.md` 선행
읽기 규칙을 유지하면서, 일치하는 항목이 없으면 요청 유형을 확인해 적절한 스킬(코드 리뷰의 경우 `code/review`)로 연결하거나 해당
스킬을 추가하고, 이를 적용해 절차 없이 중단되지 않도록 하세요.

In `@docs/conventions/architecture.md`:
- Around line 8-34: Update the architecture directory-tree fenced code block to
include the text language identifier, preserving the existing tree content and
formatting.

In `@docs/conventions/branch.md`:
- Around line 18-22: Update the branch creation command in the branch convention
documentation to use the `{타입}` placeholder instead of hardcoding `feat`, while
preserving the existing `#{이슈번호}/{기능명}` format.

In `@docs/conventions/commit.md`:
- Around line 15-20: Clarify the commit convention by separating commit types
from breaking and hotfix modifiers: distinguish `setting` from `chore` with
non-overlapping selection criteria, and represent `!HOTFIX` and `!BREAKING
CHANGE` as modifiers rather than types. Update the corresponding syntax and
selection guidance in the git/commit skill to match the revised convention.

In `@docs/conventions/component.md`:
- Around line 38-44: 문서의 processUser 및 checkIsUser 예시를 function 키워드 대신 화살표 함수
문법으로 변경하고, 상단의 function 금지 규칙은 그대로 유지하세요.

In `@docs/conventions/merge.md`:
- Line 7: Update the approval requirement in merge.md to match the policy
defined by the git/pr skill, requiring at least two approvals before merging.
Ensure both documents consistently state the same merge approval policy.
- Line 6: Update the merge convention step and the related branch workflow in
SKILL.md to first switch to the develop branch, then run git pull --ff-only
origin develop, and only afterward create or switch to the working branch. Keep
both documents’ ordering consistent and remove the instruction to pull develop
directly from the current working branch.

In `@docs/setup/figma-mcp.md`:
- Around line 31-32: Update the Figma MCP configuration in the documented setup
example to run a verified, pinned installation artifact instead of resolving
figma-developer-mcp through npx with -y. Use an exact approved package version
and enforce integrity verification for the artifact, while preserving the
existing MCP launch configuration.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 0a4274d1-1941-40f7-a28d-f7fcd76dff14

📥 Commits

Reviewing files that changed from the base of the PR and between 3fab06a and fded6ee.

📒 Files selected for processing (17)
  • .agents/skills/code/component/SKILL.md
  • .agents/skills/code/page/SKILL.md
  • .agents/skills/figma/to-code/SKILL.md
  • .agents/skills/figma/to-figma/SKILL.md
  • .agents/skills/git/branch/SKILL.md
  • .agents/skills/git/commit/SKILL.md
  • .agents/skills/git/pr/SKILL.md
  • .agents/skills/meta/manage/SKILL.md
  • .agents/skills/meta/orchestrate/SKILL.md
  • AGENTS.md
  • docs/conventions/architecture.md
  • docs/conventions/branch.md
  • docs/conventions/commit.md
  • docs/conventions/component.md
  • docs/conventions/merge.md
  • docs/design/tokens.md
  • docs/setup/figma-mcp.md

Comment thread .agents/skills/git/commit/SKILL.md Outdated

## Phase 1 — 계획 확인

1. `git status`, `git diff`(staged+unstaged), 최근 `git log`를 확인해 변경 내용을 파악한다.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

staged 변경을 포함하도록 diff 확인 명령을 수정하세요.

git diff는 unstaged 변경만 표시합니다. 문서의 요구사항은 staged와 unstaged 변경을 모두 확인하는 것입니다. git diff HEAD 또는 git diffgit diff --cached를 함께 사용하세요. 현재 명령으로는 일부 변경이 계획과 커밋 범위에서 누락될 수 있습니다.

🧰 Tools
🪛 SkillSpector (2.5.1)

[error] 18: [PE3] Credential Access: Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Remediation: Remove references to credential paths. Use environment variables or secrets managers. For docs, use placeholder paths (e.g., /path/to/config). Never load .env or token files in production code paths.

(Privilege Escalation (PE3))

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.agents/skills/git/commit/SKILL.md at line 16, Update the change-review
instruction in SKILL.md to use a command that includes both staged and unstaged
changes, such as git diff HEAD, or explicitly combine git diff with git diff
--cached; retain the existing git status and recent git log checks.

Comment on lines +17 to +24
## Phase 2 — 계획 출력 및 승인

도출된 스킬 체인과 각 스킬에서 수행할 작업을 요약해 출력하고, 사용자 승인을 기다린다.

## Phase 3 — 순차 실행

1. 각 스킬의 SKILL.md를 순서대로 Read하고 그 Phase를 그대로 따른다.
2. 각 스킬은 자신의 Phase 1(계획+승인)을 그대로 유지한다 — orchestrate 단계의 승인이 개별 스킬의 승인 게이트를 대체하지 않는다.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

계획 승인 전에 체인의 모든 SKILL.md를 읽으세요.

AGENTS.md는 작업 전에 해당 SKILL.md를 먼저 Read하도록 요구합니다. 그러나 이 파일은 Phase 2에서 계획과 승인을 먼저 출력하고, Phase 3에서야 개별 스킬을 Read합니다. 이 순서에서는 실제 Phase 절차를 확인하지 않은 계획이 승인될 수 있습니다. Phase 1에서 체인의 모든 SKILL.md를 Read한 뒤 계획을 작성하세요.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.agents/skills/meta/orchestrate/SKILL.md around lines 17 - 24, Update the
orchestrate workflow so Phase 1 reads every chained skill’s SKILL.md before
generating the Phase 2 plan and requesting approval. Preserve the existing Phase
3 sequential execution and each skill’s own Phase 1 approval gate, while
ensuring the plan reflects the procedures actually read.

Comment thread AGENTS.md
Comment on lines +10 to +15
작업 요청을 받으면 아래 순서를 반드시 지킨다:

1. 아래 트리거 표에서 요청에 해당하는 스킬을 찾는다.
2. **해당 SKILL.md 파일을 Read 도구로 먼저 읽는다. 읽기 전에 어떤 작업도 시작하지 않는다.**
3. 스킬 파일의 Phase 순서를 그대로 따른다.
4. 트리거가 두 스킬 이상에 걸리면 `meta/orchestrate`로 위임한다.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

트리거가 없는 요청의 처리 규칙을 추가하세요.

현재 규칙은 모든 작업 요청에서 트리거를 찾아야 하지만, 트리거 표에는 코드 리뷰와 같은 요청이 없습니다. code/review 스킬을 추가하거나, 일치하는 트리거가 없을 때 작업 유형을 확인하는 fallback을 정의하세요. 현재 상태에서는 표에 없는 요청이 절차 없이 중단됩니다.

Also applies to: 27-56

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@AGENTS.md` around lines 10 - 15, 작업 요청 절차에 트리거가 없는 경우의 fallback을 추가하세요. 트리거
표와 `SKILL.md` 선행 읽기 규칙을 유지하면서, 일치하는 항목이 없으면 요청 유형을 확인해 적절한 스킬(코드 리뷰의 경우
`code/review`)로 연결하거나 해당 스킬을 추가하고, 이를 적용해 절차 없이 중단되지 않도록 하세요.

Comment on lines +8 to +34
```
Pinback Service
├─ apps
│ ├─ client
│ │ └─ src
│ │ ├─ shared // 공통으로 재사용하는 코드 위치
│ │ │ ├─ components
│ │ │ ├─ hooks
│ │ │ ├─ utils
│ │ │ ├─ types
│ │ │ └─ ETC
│ │ └─ pages
│ │ ├─ dashBoard
│ │ │ ├─ components
│ │ │ ├─ hooks
│ │ │ ├─ utils
│ │ │ ├─ types
│ │ │ └─ ETC
│ │ └─ detail
│ ├─ extension
│ └─ landing
├─ config // 모노레포 공통 config
│ ├─ eslint
│ └─ typescript
└─ packages // 모노레포 공통 packages (ex. design-system)
└─ design-system
```

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

코드 블록에 언어 식별자를 추가하세요.

이 블록은 언어 식별자가 없어 markdownlint MD040 경고가 발생합니다. 폴더 트리에는 text를 지정하세요.

🧰 Tools
🪛 markdownlint-cli2 (0.23.2)

[warning] 8-8: Fenced code blocks should have a language specified

(MD040, fenced-code-language)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/conventions/architecture.md` around lines 8 - 34, Update the
architecture directory-tree fenced code block to include the text language
identifier, preserving the existing tree content and formatting.

Source: Linters/SAST tools

Comment on lines +18 to +22
```bash
# 브랜치 생성 + 이동
# 🚨 develop에서 만들었는지 무조건 확인하기
$ git checkout -b feat/#{이슈번호}/{기능명}
```

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

브랜치 생성 명령에서 타입을 고정하지 마세요.

브랜치 형식은 {타입}/#{이슈번호}/{기능명}이지만 명령은 feat를 고정합니다. fix 또는 setting 작업에서 잘못된 브랜치 이름이 생성됩니다. 명령을 git checkout -b {타입}/#{이슈번호}/{기능명}으로 수정하세요.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/conventions/branch.md` around lines 18 - 22, Update the branch creation
command in the branch convention documentation to use the `{타입}` placeholder
instead of hardcoding `feat`, while preserving the existing `#{이슈번호}/{기능명}`
format.

Comment on lines +15 to +20
| `setting` | 패키지 설치, 개발 설정 |
| `feat` | 새로운 기능 추가 / 퍼블리싱 |
| `fix` | 버그 수정 |
| `api` | api 연결 로직 작성 |
| `refactor` | 프로덕션 코드 리팩토링, QA 반영 |
| `chore` | 빌드 테스트 업데이트, 패키지 매니저 설정 (프로덕션 코드 변경 X) |

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

커밋 타입과 변경 표기의 경계를 명확히 하세요.

settingchore가 모두 패키지 또는 개발 설정을 포함합니다. .agents/skills/git/commit/SKILL.md는 이 목록에서 하나의 타입을 선택하도록 하므로 선택 기준이 모호합니다.

!HOTFIX!BREAKING CHANGE는 타입처럼 정의되어 있지만 설명은 modifier에 가깝습니다. 특히 !BREAKING CHANGE{타입}: {메시지} 형식에 그대로 넣기 어렵습니다. 타입 목록과 breaking 또는 hotfix 표기를 분리하고, git/commit 스킬에도 동일한 문법을 적용하세요.

정리 예시
-| `!HOTFIX` | 코드 포맷 변경, 세미콜론 누락, 코드 수정이 없는 경우 |
-| `!BREAKING CHANGE` | 커다란 API 변경의 경우 |
+| `hotfix` | 긴급 버그 수정 |
+
+### 추가 표기
+
+- Breaking change는 `{타입}!: {메시지}` 형식으로 표시한다.

Also applies to: 27-28

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/conventions/commit.md` around lines 15 - 20, Clarify the commit
convention by separating commit types from breaking and hotfix modifiers:
distinguish `setting` from `chore` with non-overlapping selection criteria, and
represent `!HOTFIX` and `!BREAKING CHANGE` as modifiers rather than types.
Update the corresponding syntax and selection guidance in the git/commit skill
to match the revised convention.

Comment on lines +38 to +44
```jsx
// early return 패턴
function processUser(user) {
if (!user || !user.isActive) return; // 조건이 맞지 않으면 일찍 반환
// 나머지 처리 코드...
}
```

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

함수 예시를 규칙과 일치시키세요.

이 문서는 function 키워드를 금지하지만 두 예시는 function processUserfunction checkIsUser를 사용합니다. 예시를 화살표 함수로 변경하세요. function을 허용하려면 상단 규칙을 수정하세요.

As per coding guidelines: function 키워드를 금지하고 화살표 함수를 사용합니다.

Also applies to: 79-88

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/conventions/component.md` around lines 38 - 44, 문서의 processUser 및
checkIsUser 예시를 function 키워드 대신 화살표 함수 문법으로 변경하고, 상단의 function 금지 규칙은 그대로 유지하세요.

Source: Coding guidelines

Comment thread docs/conventions/merge.md
1. 메인 브랜치(`main`, `develop`)에서 직접 커밋하지 않는다.
2. 작업 브랜치(`feat` 등)에서만 커밋하고, 병합은 PR(Pull Request)을 통해서만 한다.
- 병합 방식은 `squash merge`를 사용한다.
3. 작업 전에는 항상 `git pull origin develop`으로 최신화한다.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

develop에서 최신화하는 순서를 명시하세요.

현재 브랜치에서 git pull origin develop을 실행하면 origin/develop이 작업 브랜치에 병합될 수 있습니다. .agents/skills/git/branch/SKILL.md는 먼저 develop으로 이동하도록 정의합니다.

develop으로 전환한 뒤 git pull --ff-only origin develop을 실행하고, 그 후 작업 브랜치를 생성하거나 전환하도록 두 문서의 순서를 통일하세요.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/conventions/merge.md` at line 6, Update the merge convention step and
the related branch workflow in SKILL.md to first switch to the develop branch,
then run git pull --ff-only origin develop, and only afterward create or switch
to the working branch. Keep both documents’ ordering consistent and remove the
instruction to pull develop directly from the current working branch.

Comment thread docs/conventions/merge.md
Comment thread docs/setup/figma-mcp.md
Comment on lines +31 to +32
"command": "npx",
"args": ["-y", "figma-developer-mcp"],

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔒 Security & Privacy | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== changed file context =="
if [ -f docs/setup/figma-mcp.md ]; then
  nl -ba docs/setup/figma-mcp.md | sed -n '1,80p'
else
  echo "docs/setup/figma-mcp.md not found"
fi

echo
echo "== related references =="
rg -n "figma-developer-mcp|npx -y|npx" docs .github README.md 2>/dev/null | head -100 || true

echo
echo "== possible lockfiles/package files =="
git ls-files | rg '(^|/)(package-lock\.json|npm-shrinkwrap\.json|pnpm-lock\.yaml|yarn\.lock|package\.json)$' || true

Repository: Pinback-Team/pinback-client

Length of output: 232


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== changed file context =="
if [ -f docs/setup/figma-mcp.md ]; then
  cat -n docs/setup/figma-mcp.md | sed -n '1,90p'
else
  echo "docs/setup/figma-mcp.md not found"
fi

echo
echo "== related references =="
grep -RInE "figma-developer-mcp|npx -y|\"command\": \"npx\"" docs .github README.md 2>/dev/null | head -100 || true

echo
echo "== package/lockfile candidates =="
git ls-files | grep -E '(^|/)(package-lock\.json|npm-shrinkwrap\.json|pnpm-lock\.yaml|yarn\.lock|package\.json)$' || true

Repository: Pinback-Team/pinback-client

Length of output: 1912


🌐 Web query:

npm npx install executable package npx without version installs latest documentation

💡 Result:

When using npx (which executes the npm exec command), the behavior regarding package versions depends on whether a version or tag is specified [1][2]. If you run npx without specifying a version (e.g., npx ), npm will typically attempt to fetch and use the latest version of that package from the registry if it is not already available locally in your project's dependencies or global installations [1][3]. However, there are important nuances to this behavior: 1. Local Priority: By design, npx first checks for the package in your local project's dependencies (node_modules/.bin) or global path [1][4]. If it finds an executable there, it will use that version rather than fetching a new one [3][5]. 2. Caching: Once a package is fetched by npx, it is stored in an npx-specific cache [6][7]. If you run the same command again, npx may use the cached version rather than checking the registry for a newer one, unless you force an update or provide a specific tag like @latest [6][7]. 3. Explicit Versions/Ranges: If you provide a version or a semver range (e.g., npx @1.0.0 or npx @^1.0.0), npx will attempt to satisfy that specific requirement [1][7]. If you want to ensure you are always using the newest available version of a package regardless of local or cached copies, explicitly appending @latest (e.g., npx @latest) is the most reliable way to force npx to fetch the latest version from the registry [8][6][7]. In summary, while npx aims to provide the latest version when no specifier is provided, local availability and internal caching can cause it to use older versions [6][7]. Using @latest explicitly bypasses ambiguity and ensures the most recent version is fetched [8][7].

Citations:


Security Misconfiguration (CWE-494): Download of Code Without Integrity Check

Reachability: External

MCP 패키지 실행을 고정한 설치 아티팩트로 바꾸세요.

docs/setup/figma-mcp.md"command": "npx", "args": ["-y", "figma-developer-mcp"]는 npx가 package.json/node_modules/.bin 또는 npm cache에 없으면 외부 npm 레지스트리에서 패키지를 해석해 실행합니다. -y는 설치 프롬프트만 생략하므로 버전 또는 무결성 검증을 대체하지 않습니다. 검증된 정확한 버전과 무결성 검증이 적용된 설치 아티팩트를 사용하세요.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/setup/figma-mcp.md` around lines 31 - 32, Update the Figma MCP
configuration in the documented setup example to run a verified, pinned
installation artifact instead of resolving figma-developer-mcp through npx with
-y. Use an exact approved package version and enforce integrity verification for
the artifact, while preserving the existing MCP launch configuration.

- .agents/skills/git/issue/SKILL.md (신규)
- .agents/skills/git/commit/SKILL.md (secret guard, atomic 분리 추가)
- .agents/skills/git/pr/SKILL.md (핵심 원칙, 사전 검증 추가)
- AGENTS.md (git/issue 트리거 추가)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

chore 기타 작업

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Chore] skill md파일 추가

1 participant