一键导入
add-slash-command
새로운 슬래시 명령어를 추가하는 전체 워크플로우를 안내합니다. 명령어 파일 생성, 레지스트리 등록, 테스트 작성, CLAUDE.md 업데이트까지 포함합니다. "새 명령어 만들어줘", "슬래시 커맨드 추가", "/xxx 명령어 구현" 등의 요청에 사용하세요.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
새로운 슬래시 명령어를 추가하는 전체 워크플로우를 안내합니다. 명령어 파일 생성, 레지스트리 등록, 테스트 작성, CLAUDE.md 업데이트까지 포함합니다. "새 명령어 만들어줘", "슬래시 커맨드 추가", "/xxx 명령어 구현" 등의 요청에 사용하세요.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
E2E validation skill for the dhelix CLI AI coding assistant. Two test modes: (1) Project E2E — multi-turn tests creating real projects across 5+ tech stacks, validating builds, 80% coverage, and DHELIX.md compliance. (2) Conversation Quality — multi-turn tests verifying context retention, tool call coherence, error recovery, instruction adherence, progressive complexity, and contradiction handling. Use this skill when: running E2E tests for dhelix, validating coding ability across tech stacks, testing multi-turn conversation quality, verifying /init and DHELIX.md system, benchmarking dhelix against real-world project creation, or evaluating conversation quality after model/prompt changes.
Create, improve, and test dhelix skills through a structured interview and scaffold. Use when the user says things like 'make a skill', '스킬 만들어줘', 'turn this workflow into a reusable /command', 'add a slash command that does X', or when the user wants to refine an existing skill's triggering behavior. Benchmarked against Claude Code skill-creator v2.0.
개선 계획(improvement plan)으로부터 스프린트를 실행합니다. Claude Agent Teams를 사용하여 병렬 개발팀을 구성하고 파일 충돌 분석, 태스크 분배, worktree 격리 실행, 결과 검증, 머지/커밋까지 자동 오케스트레이션합니다. 사용자가 "스프린트 실행", "개선 계획 구현", "팀으로 개발", "병렬로 구현해줘", "revolution 실행", "Phase 1 시작", "v0.3 구현" 등을 요청할 때 사용하세요. docs/revolution/ 의 개선 문서, 마일스톤 문서, 또는 사용자가 지정하는 임의의 계획 문서를 입력으로 받습니다.
새로운 빌트인 도구를 추가하는 전체 워크플로우를 안내합니다. Zod 스키마 정의, 도구 구현, 레지스트리 등록, display 설정, 테스트 작성까지 포함합니다. "새 도구 추가", "tool 만들어줘", "빌트인 도구 구현" 등의 요청에 사용하세요.
DB Inc. 브랜드 디자인 시스템(DB제목 B/M/L 폰트, 네이비 블루 테마)을 적용하여 전문적인 PPTX 프레젠테이션을 생성합니다. PPT, 프레젠테이션, 발표자료, 제안서, PoC 문서, 보고서 등을 만들어달라는 요청에 사용하세요. "PPT 만들어줘", "발표자료 작성", "프레젠테이션 생성", "pptx 제안서" 등의 요청에도 반드시 사용하세요.
테스트 실패를 체계적으로 진단하고 수정합니다. 에러 메시지 분석, 관련 소스 추적, mock 설정 검증, 수정 적용까지의 워크플로우를 제공합니다. "테스트 실패", "test 깨졌어", "왜 테스트가 안 돼", "vitest 에러" 등의 상황에 사용하세요.
| name | add-slash-command |
| description | 새로운 슬래시 명령어를 추가하는 전체 워크플로우를 안내합니다. 명령어 파일 생성, 레지스트리 등록, 테스트 작성, CLAUDE.md 업데이트까지 포함합니다. "새 명령어 만들어줘", "슬래시 커맨드 추가", "/xxx 명령어 구현" 등의 요청에 사용하세요. |
| argument-hint | <command-name> [description] |
dhelix는 현재 41개의 슬래시 명령어를 가지고 있으며, 모든 명령어가 동일한 패턴을 따릅니다. 새 명령어를 추가할 때마다 3~4개 파일을 일관된 방식으로 수정해야 하는데, 이 패턴을 벗어나면 레지스트리 등록 누락, 테스트 미작성, 타입 불일치 등의 문제가 발생합니다. 이 스킬은 그 반복 작업을 정확하게 안내합니다.
| 파일 | 역할 |
|---|---|
src/commands/<name>.ts | 명령어 구현 (새 파일 생성) |
src/index.ts | import + 레지스트리 등록 |
test/unit/commands/<name>-command.test.ts | 단위 테스트 (새 파일 생성) |
CLAUDE.md | 명령어 수 업데이트 (선택) |
$ARGUMENTS에서 명령어 이름과 설명을 추출합니다.
AskUserQuestion으로 확인output-style, dual-model)grep -r "name:" src/commands/*.ts | grep '"<command-name>"'
src/commands/<name>.ts 파일을 생성합니다.
필수 패턴:
import { type CommandContext, type CommandResult, type SlashCommand } from "./registry.js";
// 필요한 유틸리티 import
export const <name>Command: SlashCommand = {
name: "<name>",
description: "<한줄 설명>",
usage: "/<name> [args]",
execute: async (args: string, context: CommandContext): Promise<CommandResult> => {
// 구현
return {
output: "결과 텍스트",
success: true,
};
},
};
체크리스트:
type import 사용 (값이 아닌 타입은 type 키워드)<name>Command 형식 (camelCase)execute 함수는 asyncCommandResult 인터페이스 준수.js 확장자 필수success: false 반환CommandResult 주요 플래그:
| 플래그 | 용도 | 사용 예시 |
|---|---|---|
shouldClear | 대화 내역 초기화 | /clear |
shouldInjectAsUserMessage | 출력을 LLM에 주입 | /commit, /review |
interactiveSelect | 선택 목록 표시 | /model, /resume |
newModel | 모델 변경 | /model |
refreshInstructions | DHELIX.md 재로드 | /config |
src/index.ts에서 다음 2곳을 수정합니다:
3a. Dynamic import 추가:
기존 명령어 import 블록(Promise.all 내부)에 추가합니다.
# import 위치 확인
grep -n "import.*commands/" src/index.ts | tail -5
해당 Promise.all 블록에 새 import를 추가:
import("./commands/<name>.js"),
destructuring에도 대응하는 항목 추가:
{ <name>Command },
3b. commands 배열에 추가:
# 배열 위치 확인
grep -n "Command," src/index.ts | tail -10
commands 배열에 <name>Command를 추가합니다.
test/unit/commands/<name>-command.test.ts 파일을 생성합니다.
필수 테스트 패턴:
import { describe, it, expect } from "vitest";
import { <name>Command } from "../../../src/commands/<name>.js";
const baseContext = {
workingDirectory: process.cwd(),
model: "test-model",
sessionId: "test-session",
emit: () => {},
};
describe("/<name> command", () => {
it("should have correct metadata", () => {
expect(<name>Command.name).toBe("<name>");
expect(<name>Command.description).toBeTypeOf("string");
expect(<name>Command.usage).toContain("/<name>");
expect(<name>Command.execute).toBeTypeOf("function");
});
it("should return success on valid input", async () => {
const result = await <name>Command.execute("valid-args", baseContext);
expect(result.success).toBe(true);
expect(result.output).toBeTypeOf("string");
});
it("should handle empty args", async () => {
const result = await <name>Command.execute("", baseContext);
// 빈 인자에 대한 적절한 동작 검증
expect(result).toBeDefined();
});
});
테스트 체크리스트:
baseContext에 필요한 필드만 포함 (최소 mock)# 타입 체크
npx tsc --noEmit
# 해당 테스트만 실행
npx vitest run test/unit/commands/<name>-command.test.ts
# 빌드 확인
npm run build
모든 검증이 통과하면 완료입니다.
src/index.ts의 Promise.all 내 import는 알파벳 순서가 아닌 기존 그룹핑 패턴을 따릅니다. 비슷한 카테고리의 명령어 근처에 추가하세요.shouldInjectAsUserMessage와 interactiveSelect는 동시 사용하지 마세요./agents 같은 서브에이전트 관련 명령어는 추가 의존성(client, strategy 등)이 필요하므로 이 패턴만으로는 부족합니다skills/command-bridge.ts를 통해 등록되는 스킬 명령어는 이 워크플로우 대신 스킬 시스템을 사용합니다/model, /resume을 참고하세요