Borrowing it
Nothing to install: this file belongs to kangraemin/ai-bouncer. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/kangraemin/ai-bouncer/main/.agents/skills/dev-bounce/SKILL.mdgit clone --depth 1 https://github.com/kangraemin/ai-bouncerWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/kangraemin/ai-bouncer/dev-bounce)<a href="https://agentmods.dev/skills/kangraemin/ai-bouncer/dev-bounce"><img src="https://agentmods.dev/badge/skills/kangraemin/ai-bouncer/dev-bounce/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/kangraemin/ai-bouncer/dev-bounce"><img src="https://agentmods.dev/badge/skills/kangraemin/ai-bouncer/dev-bounce.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00138 | $0.01511 |
| Opus 5.5 | $0.00055 | $0.00604 |
| Sonnet 5.5 | $0.00028 | $0.00302 |
| Haiku 4.5 | $0.00014 | $0.00151 |
Grade A, and why
dev-bounce scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 104 lines — stays where its author put it; the contents beside it link to each section on GitHub.
dev-bounce
작업을 레포 설정(workflow.yaml)에 적힌 모드의 단계 순서대로 진행한다.
단계마다 할 일(prompt)은 엔진이 주입하고, 통과 조건(run)은 엔진이 실행해 판정한다.
마지막 단계까지 통과하기 전에는 멈출 수 없다.
이 문서에는 시작 절차만 있다. 시작한 뒤에는 주입되는 지시를 따른다.
Step 1 — 상태 확인
bouncer scan
STATE MINE <경로> <모드> <단계> 이 세션이 이어서 할 작업
STATE NONE 없음
PICK <방식> 모드를 고르는 방식 (ask / auto)
WORKFLOW <모드> <설명> 모드 선택지
CHOICE <모드> <단계> <id> <방식> <이름> 시작할 때 골라야 할 항목 (방식 ask / auto)
ERROR <메시지> 설정 문제 — 사용자에게 그대로 알린다
MINE이면 이미 진행 중이다. 출력 맨 끝에 붙은 현재 단계 지시를 따라 이어서 한다.NONE이면 Step 2로 간다.bouncer: command not found가 나오면 이 컴퓨터에 설치되지 않은 것이다. 사용자에게 알리고 평소대로 작업한다.
Step 2 — 개발 작업인지 판별
- 질문·설명·코드 읽기면 스킬을 쓰지 않고 답한다.
- 무엇을 고칠지 불명확하면 AskUserQuestion으로 구체화한다.
- 개발 요청이면 Step 3으로 간다.
Step 3 — 모드와 항목 정하기
- 모드를 정한다. 방식은
PICK줄에 있다.ask면WORKFLOW줄로 AskUserQuestion을 만들어 사용자에게 묻는다. 모드는 사용자가 고른다.auto면 요청 내용을 보고 직접 고른다. 무엇을 왜 골랐는지 한 줄로 알린다.
- 고른 모드의
CHOICE줄을 단계별로 묶어 처리한다.- 방식이
ask면 반드시 사용자에게 묻는다(AskUserQuestion, multiSelect). 선택지가 4개를 넘으면 질문을 나눈다. - 방식이
auto면 요청 내용을 보고 직접 고른다. 무엇을 왜 골랐는지 한 줄로 알린다. CHOICE가 없으면 건너뛴다.
- 방식이
AskUserQuestion을 쓸 수 없는 세션(서브에이전트, claude -p)이면 추측해서 진행하지 않는다.
선택지를 텍스트로 제시하고 답을 기다린다.
Step 4 — 시작
bouncer start <모드> "<slug>" --pick <단계>=<id>,<id> [--pick <단계>=…]
- slug는 영문 소문자와 하이픈으로 쓴다(예:
payment-bug). - 고르는 단계는 전부
--pick으로 적어야 한다. 하나도 고르지 않은 단계는--pick <단계>=로 적고, 그 단계는 건너뛴다. - 출력에 첫 단계의 지시가 나온다. 그대로 따른다.
Step 5 — 이후
- 끝내려 하면 엔진이 그 단계의 run을 돌린다.
- 실패하면 출력을 보여 주며 계속하게 한다. 원인을 고친다.
- 통과하면 다음 단계로 넘어가며 다음 지시를 준다.
- 마지막 단계까지 통과하면 끝이다.
- 단계는 스스로 넘길 수 없다. 상태·설정 파일 편집은 막힌다.
- 같은 실패가 반복되면 같은 수정을 되풀이하지 말고 다른 원인을 찾는다.
- 연속으로 여러 번 막히면 엔진이 사용자에게 판단을 넘기라고 안내한다.
- 작업을 접을 때는
bouncer cancel을 쓴다.
명령
| 명령 | 용도 |
|---|---|
bouncer scan |
상태(이어서 할 작업이면 현재 단계 지시)·모드·고를 항목 |
bouncer start <모드> <slug> --pick … |
작업 시작 |
bouncer cancel |
작업 취소 |
bouncer check |
workflow.yaml 검사 |
bouncer record <이름> <명령> |
검사를 직접 돌리고 결과를 남긴다 (prompt가 시키면 이걸로 돌린다) |
bouncer passed <이름> |
run용: 그 결과가 최신이고 통과했는지 (아니면 exit 2) |
bouncer init [--defaults|--decline] |
레포에 켜기(빈 설정) / 기본값 써 넣기 / 켜지 않기 |
bouncer setup |
레포 설정을 사용자와 대화로 정한다 — 출력된 안내대로 묻고 yaml 을 쓴다 |
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 4d ago Changed 53e4d7e3ac26
- 5d ago Changed · -111 lines · -22 tokens per session 65b355cbe2bf
- 7d ago Changed 3acd917e5e43
- 24d ago Changed · -5 lines 8a51f9bf2d1d
- 27d ago Changed · -763 lines · +53 tokens per session f2cb97a19cb2
- 1mo ago First seen · 983 lines · 107 tokens per session scan A ee63a8ff1035
dev-bounce is a skill published in the GitHub repository kangraemin/ai-bouncer (3 stars, last pushed 4d ago), licensed MIT. It adds 138 tokens to every session and 1,511 once invoked, about $0.0006 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
issue-triage
3-phase issue backlog management with audit, deep analysis, and validated triage actions. Use when triaging GitHub issues, sorting bug reports, cleaning up stale tickets, or detecting duplicate issues. Args: 'all' to analyze all, issue numbers to focus (e.g. '42 57'), 'en'/'fr' for language, no arg = audit only.
review-pr
Perform a comprehensive code review of a pull request.
scaffold
Interactive coach that asks 4-5 questions to determine whether you need an agent, command, skill, hook, or rule, then generates a ready-to-use template. Usage: /scaffold (no arguments needed, starts the coaching session).
security-audit
Comprehensive security audit with scored posture assessment.
guide-recap
Transform CHANGELOG entries into social content (LinkedIn, Twitter/X, Newsletter, Slack) in FR + EN. Use after releases or weekly to generate release notes, announcements, social media posts, or recap summaries from guide updates.
release-notes-generator
Generate release notes in 3 formats (CHANGELOG.md, PR body, Slack announcement) from git commits. Automatically categorizes changes and converts technical language to user-friendly messaging. Use for releases, changelogs, version notes, what's new summaries, or ship announcements.