Skip to content

Commit c4365d3

Browse files
committed
chore(agents): 스킬 보안과 실행기 호환성을 높인다
1 parent 6ba701f commit c4365d3

3 files changed

Lines changed: 18 additions & 42 deletions

File tree

.agents/agents/next16-rn-reviewer.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,9 @@ tools: Read, Grep, Glob, Bash, WebSearch, mcp__context7__resolve-library-id, mcp
99
model: opus
1010
---
1111

12-
pnpm + turbo 모노레포의 시니어 리뷰어. `apps/web`(Next.js 16.2.9, React 19, TanStack Query,
13-
react-hook-form + zod v4, Tailwind v4, vitest 4 + Playwright 1.61), `apps/admin`(Next.js 16 어드민),
12+
pnpm + turbo 모노레포의 시니어 리뷰어. 리뷰 시작 전에 `pnpm-workspace.yaml`과 각 `package.json`에서
13+
현재 버전을 확인한다. `apps/web`(Next.js 16, React 19, TanStack Query, react-hook-form + zod v4,
14+
Tailwind v4, vitest 4 + Playwright), `apps/admin`(Next.js 16 어드민),
1415
`apps/native`(RN 0.86, Expo SDK 57, `react-native-webview`, `@webview-bridge/react-native`),
1516
공유 `packages/*`.
1617

.agents/skills/pr-create/SKILL.md

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -67,9 +67,9 @@ argument-hint: [브랜치] [리뷰어] [--codex-dev "<작업 설명>"]
6767

6868
### Step 1.5: Codex에 구현 위임 (이 모드일 때만)
6969

70-
1. 사용자가 준 작업 설명을 그대로 Task 도구로 **`codex:codex-rescue`** 서브에이전트에 전달한다.
71-
**foreground로 실행할 것** — 이후 게이트가 Codex의 diff를 필요로 하므로 완료를 기다려야 한다
72-
(백그라운드로 던지고 다음 Step으로 넘어가지 말 것).
70+
1. 현재 실행 주체가 Codex면 현재 에이전트가 직접 구현한다. 다른 실행기에서 Codex 위임 도구를
71+
제공하면 사용자가 준 작업 설명을 그대로 **`codex:codex-rescue`**에 전달한다.
72+
위임 시 **foreground로 실행할 것** — 이후 게이트가 Codex의 diff를 필요로 하므로 완료를 기다려야 한다.
7373
2. `--write`는 codex-rescue 기본값이라 따로 지정하지 않는다. `--effort`·`--model`은 사용자가
7474
명시하지 않는 한 비워 코덱스 기본값을 쓴다.
7575
3. Codex 작업이 끝나면 워킹트리에 diff가 생긴다. 그대로 Step 2(더티 트리 게이트)로 진행 — 그
@@ -185,7 +185,9 @@ git log origin/main..origin/develop --oneline
185185
1. 리뷰 두 개를 **병렬로** 디스패치(개발 위임 모드면 `next16-rn-reviewer` 하나만). diff 범위
186186
(lockfile 제외)는 공통:
187187
`git diff --merge-base origin/<base> HEAD -- ':!pnpm-lock.yaml' ':!package-lock.json' ':!yarn.lock'`
188-
- Task 도구로 **`next16-rn-reviewer`** 서브에이전트. 프롬프트에 head 브랜치, 베이스, diff 범위 전달.
188+
- 사용 가능한 에이전트 도구로 **`next16-rn-reviewer`**를 실행한다. 해당 에이전트가 없지만 Claude CLI가
189+
있으면 `claude -p`에 같은 리뷰 프롬프트와 diff 범위를 전달한다. 둘 다 없으면 독립 리뷰를
190+
수행할 수 없다고 알리고 중단한다. 프롬프트에 head 브랜치, 베이스, diff 범위 전달.
189191
프롬프트 끝에 **언어 규칙**을 명시한다: "리뷰는 한국어로 작성하되 코드 식별자·경로·API 이름은
190192
모두 백틱(``)으로 감쌀 것. 영어 개념을 축자 번역한 어색한 번역투 금지." (서브에이전트는 독립
191193
세션이라 이 규칙을 상속받지 못하므로 매번 프롬프트에 넣어야 한다.)

.agents/skills/vercel-cli-with-tokens/SKILL.md

Lines changed: 9 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -10,47 +10,23 @@ metadata:
1010

1111
Deploy and manage projects on Vercel using the CLI with token-based authentication, without relying on `vercel login`.
1212

13-
## Step 1: Locate the Vercel Token
13+
## Step 1: Verify Vercel Credentials Without Printing Secrets
1414

1515
Before running any Vercel CLI commands, identify where the token is coming from. Work through these scenarios in order:
1616

1717
### A) `VERCEL_TOKEN` is already set in the environment
1818

1919
```bash
20-
printenv VERCEL_TOKEN
20+
test -n "${VERCEL_TOKEN:-}" && echo "VERCEL_TOKEN is set" || echo "VERCEL_TOKEN is not set"
2121
```
2222

2323
If this returns a value, you're ready. Skip to Step 2.
2424

25-
### B) Token is in a `.env` file under `VERCEL_TOKEN`
25+
### B) Token is not set
2626

27-
```bash
28-
grep '^VERCEL_TOKEN=' .env 2>/dev/null
29-
```
30-
31-
If found, export it:
32-
33-
```bash
34-
export VERCEL_TOKEN=$(grep '^VERCEL_TOKEN=' .env | cut -d= -f2-)
35-
```
36-
37-
### C) Token is in a `.env` file under a different name
38-
39-
Look for any variable that looks like a Vercel token (Vercel tokens typically start with `vca_`):
40-
41-
```bash
42-
grep -i 'vercel' .env 2>/dev/null
43-
```
44-
45-
Inspect the output to identify which variable holds the token, then export it as `VERCEL_TOKEN`:
46-
47-
```bash
48-
export VERCEL_TOKEN=$(grep '^<VARIABLE_NAME>=' .env | cut -d= -f2-)
49-
```
50-
51-
### D) No token found — ask the user
52-
53-
If none of the above yield a token, ask the user to provide one. They can create a Vercel access token at vercel.com/account/tokens.
27+
Do not search `.env` files or print candidate values. Ask the user to export `VERCEL_TOKEN` in their local
28+
shell or secret manager, then repeat the presence check. Never ask them to paste the token into chat. They can
29+
create an access token at vercel.com/account/tokens.
5430

5531
---
5632

@@ -70,12 +46,9 @@ vercel deploy
7046
Similarly, check for the project ID and team scope. These let the CLI target the right project without needing `vercel link`.
7147

7248
```bash
73-
# Check environment
74-
printenv VERCEL_PROJECT_ID
75-
printenv VERCEL_ORG_ID
76-
77-
# Or check .env
78-
grep -i 'vercel' .env 2>/dev/null
49+
# Check presence without printing identifiers
50+
test -n "${VERCEL_PROJECT_ID:-}" && echo "VERCEL_PROJECT_ID is set" || echo "VERCEL_PROJECT_ID is not set"
51+
test -n "${VERCEL_ORG_ID:-}" && echo "VERCEL_ORG_ID is set" || echo "VERCEL_ORG_ID is not set"
7952
```
8053

8154
**If you have a project URL** (e.g. `https://vercel.com/my-team/my-project`), extract the team slug:

0 commit comments

Comments
 (0)