Skip to content
Back to skills

Test

ASecurity

Run tests and auto-fix failures. Detects the test framework, executes tests, and iterates on fixes until all pass.

  • 3 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 19, 2026
ai-agentspythonrustgobashnode

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned October 19, 2026

npx -y skills add This-HW/hiway-kit --skill test --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Test?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Test
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/this-hw-test-hiway-kit/badge)](https://www.skillsdirectory.com/skills/this-hw-test-hiway-kit)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: test
description: Run tests and auto-fix failures. Detects the test framework, executes tests, and iterates on fixes until all pass.
---

# 테스트 실행

호출되면 바로 파이프라인을 시작한다. 단계가 바뀔 때 한 줄로 진행을 알린다.

대상: $ARGUMENTS

---

## 파이프라인 구조

```
테스트 실행 (Bash) → 결과 판독 (이 세션, 러너 요약 줄·종료코드)
                          │ 실패가 있으면
                          ▼
                    fix-bugs 위임 → 수정 반영 확인 → 재실행
                    (전부 통과 · 또는 아래 상한에서 중단)
```

---

## 1단계: 프로젝트 타입 감지 및 테스트 실행

프로젝트에 맞는 테스트 명령 실행:

```bash
# Python 프로젝트
pytest $ARGUMENTS -v --tb=short

# Node.js 프로젝트
npm test $ARGUMENTS

# Go 프로젝트
go test $ARGUMENTS ./...

# Rust 프로젝트
cargo test $ARGUMENTS
```

---

## 위임 수단이 없는 하네스 — 강등 경로

아래 `subagent_type:` 블록은 운송 수단일 뿐이고, 불변식은 블록의 `prompt:` 계약(검사 항목·출력
형식·완료 선언)이다. 쓸 수 있는 수단을 호스트에 확인하고 위에서부터 한 칸씩 내려간다:
**① 네이티브 서브에이전트**(블록 그대로) → **② 호스트의 다른 격리 위임 수단**(에이전트 정의
본문 `<플러그인 루트>/agents/<이름>.md` 를 **요약 없이** 넘기고 뒤에 `prompt:` 를
붙인다 — 플러그인 루트 탐색은 `skills/plan-task/references/task-tools-fallback.md` §A. 회신 요약이 아니라 계약
산출물로 판정한다) → **③ 이 세션에서 같은 계약을 직접 수행.** 수단이 없다고 단계를 건너뛰거나
하지 않은 위임을 했다고 보고하지 않는다. ③은 격리가 없다 — 판정을 요약으로 대체하지 말고 테스트 러너의 실제 마지막 줄을 그대로 인용한다(종료코드를 파이프로 죽이지 말 것).

## 2단계: 결과 검증

러너의 요약 줄과 종료 코드를 직접 읽어 통과/실패/스킵 수를 확정한다(별도 에이전트 불필요).
실패가 있으면 실패 출력을 그대로 3단계로 넘긴다 — 원인 분석은 fix-bugs 가 한다.

---

## 3단계: 실패 시 버그 수정

실패가 있으면 fix-bugs 에이전트로 수정한다. **`fix-bugs` 는 `isolation: worktree` 라 수정이 격리 트리에
남는다** — 이 세션의 트리에서 재실행하면 옛 코드를 검증한다. 그래서 위임 뒤에 **수정을 이 세션에
반영**(에이전트가 돌려준 diff/브랜치를 적용·병합)한 다음에만 재실행한다. 반영 방법은 호스트와
`rules/parallel-worktree.md` 의 반환·통합 절을 따른다. 반영하지 못했으면 "수정 미반영 — 재실행 불가"로
보고하고 멈춘다(재실행 결과를 수정 효과로 읽지 않는다).

```
Task tool 사용:
subagent_type: fix-bugs
model: sonnet
prompt: |
  다음 테스트 실패를 수정해주세요:
  [실패한 테스트 출력]

  각 실패에 대해:
  1. 실패한 테스트명
  2. 에러 메시지
  3. 예상 vs 실제 값
  4. 코드 수정
```

---

### 재시도 상한 [건너뛰기 금지]

"전부 통과할 때까지"는 **무한 루프**다. 수정→반영→재실행을 **최대 3회**까지만 돌리고, 아래 중 하나면
그 자리에서 멈춰 현재 상태(남은 실패·시도한 수정·마지막 러너 출력)를 사용자에게 보고한다:

- 3회째 재실행에서도 실패가 남았다
- **무진전 2회** — 연속 두 번의 재실행에서 실패한 테스트 집합이 줄지 않았다(같거나 늘었다)
- 같은 테스트가 같은 메시지로 반복 실패한다(원인을 못 건드리고 있다는 신호다)

(`rules/loop-engineering.md` 의 안티-런어웨이 가드와 같은 취지다.)

---

## 출력 형식

### 테스트 결과

| 항목      | 결과 |
| --------- | ---- |
| 총 테스트 | N개  |
| 통과      | N개  |
| 실패      | N개  |
| 스킵      | N개  |

### 실패 상세 (있으면)

[테스트별 원인과 수정 방안]

### 수정 결과 (실패 시)

[fix-bugs 에이전트 적용 결과]

Files in this skill

  • SKILL.md4.1 KB
  • agents/openai.yaml271 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.