awesome-ai-prompts
Build
License: MIT
Stars
AI 코딩 에이전트를 사용하는 모든 개발자를 위한 복사 붙여넣기 AI 프롬프트 모음입니다. 대부분의 프롬프트 목록과 달리, 이것들은 일회성 해킹(one-off hacks)이 아닙니다. 검증하는, 추측하지 않는 체계적인 시니어 엔지니어 워크플로우이며, 코드를 수정하기 전에 읽고, 작고 확정된 단계로 진행하며, 테스트를 가드레일(guardrails)로 사용합니다. 이것을 Claude, ChatGPT, Copilot, Cursor, opencode 또는 다른 에이전트에 붙여넣기만 하면 작동을 시작합니다.
대부분의 목록형 에이전트는 기꺼이 해결책을 _환각(hallucinate)_할 것입니다. 이 프롬프트들은 그것을 막도록 구축되었습니다: 모든 프롬프트는 작업 완료를 선언하기 전에 증거, 리포지토리 자체 도구(tooling), 그리고 검증 가능한 결과를 요구합니다.
★ GitHub에서 별표 추가하기
Asking an AI coding agent to "explain this repo to me" and getting a shrug. Then a prompt from this repo is copied and pasted into opencode, which reads the code and reports every claim with file:line evidence
첫 채팅은 준비 단계입니다. 나머지는 prompt-in-action.mp4에서 가져온 실제 opencode 실행 내용이며, 일부 구간이 빠르게 재생되었습니다. openvidstudio로 제작되었습니다.
Contributors
별표(Starring)는 인사말이고, 병합된 PR은 악수와 같습니다. 모든 병합된 프롬프트 PR은 작성자를 CONTRIBUTORS.md에 자동 추가합니다. 위의 아바타들은 이 목록을 만들어 온 사람들입니다.
영상 형태로 원하시나요? MP4 다운로드하기.
왜 이것들이 다른가요 {#quality-standards}
- 도구 비의존적 (Tool-agnostic) - Claude, ChatGPT, Copilot, Cursor, opencode 등 프롬프트를 읽는 모든 것과 작동합니다. 특정 공급업체에 묶여 있지 않습니다.
- 검증 우선 (Verification-first) - “추측하지 말고; 명령을 실행하고 증명하세요.” 프롬프트의 전체 임무는 에이전트가 정직하게 행동하도록 유지하는 것입니다.
- 두 가지 형식 - 간단한 작업을 위한 집중적인 원페이지(one-pagers)와, 크고 위험한 작업에 필요한 엄격한 제약 조건 및 필수 검증을 갖춘 다중 섹션 [spec] 프롬프트가 있습니다. Spec 프롬프트는 인덱스에서 연한 파란색 배지로 표시되어 한눈에 알아볼 수 있습니다.
- 자체 포함적 (Self-contained) - 필요한 모든 것이 하나의 복사/붙여넣기 블록 안에 들어있습니다.
빠른 시작
- 아래 카테고리에서 하나를 둘러보고 프롬프트를 선택합니다.
- 해당
*-prompt.md 파일을 열고, --- 구분선 뒤의 모든 내용을 복사합니다.
- 이 내용을 작업과 함께 AI 코딩 에이전트에 붙여넣으면 나머지는 알아서 처리합니다.
그게 전부입니다. 모양은 다음과 같습니다 (feature-implementation-prompt.md에서 가져옴):
You are implementing a feature in this repository. Work end-to-end ...
1. Understand - Read the code this touches. Ask questions if ambiguous.
2. Plan - State your plan before writing code. Do not start until agreed.
...
에이전트가 나머지를 처리합니다: 코드 읽기, 계획 수립, 테스트 및 모든 단계에서 스스로 책임을 지는 것까지입니다.
동기화 유지하기
새로운 프롬프트가 올라올 때 알림을 받으려면 이 리포지토리를 스타(Star)하세요. 추가되는 내용은 변경 로그 (CHANGELOG.md)의 [Unreleased] 섹션에 들어가고, 태그가 지정된 릴리스로 배포되므로, 스타는 목록이 늘어났다는 것을 알려주는 방법일 뿐입니다.
git clone https://github.com/shauryagangrade/awesome-ai-prompts.git
cd awesome-ai-prompts && git pull
이미 GitHub CLI가 인증되어 있다면, gh repo clone shauryagangrade/awesome-ai-prompts를 한 단계로 동일하게 수행합니다.
기여하기
기여 환영합니다. 이 카탈로그는 의도적으로 작고 체계적으로 유지되므로, 가장 가치 있는 도움은 중복에 가까운 프롬프트 더미를 추가하는 것이 아니라 적절한 위치에 좋은 프롬프트를 하나 추가하는 것입니다. 대부분의 기여는 새로운 프롬프트이며, 깨진 링크 수정, 오래된 카운트 수정, 또는 지침이 더 이상 유효하지 않은 프롬프트 수정 역시 환영합니다. AI 지원 기여도 환영합니다. 단, (에이전트가 아닌) 본인이 결과물을 검토하고, 확인 작업을 수행하며, 어떤 주장도 검증 없이 받아들이지 않아야 합니다. 전체 규칙은 CONTRIBUTING.md에 있으며, 아래 섹션은 동일한 워크플로우를 독립적으로 담고 있습니다.
기여할 수 있는 것들
- 아직 다루어지지 않은 카테고리 폴더의 새로운 프롬프트 (기본값)
- 기존 프롬프트 수정: 더 명확한 지침, 더 이상 유효하지 않은 규칙, 저장소 컨벤션에서 벗어난 구조
- 저장소 위생 관리: 깨진 상대 링크, 오래된
## [Unreleased] 변경 로그, 불일치하는 Contents 카운트
- 무언가 잘못되었거나 누락된 경우의 버그 보고서 또는 기능 요청
새로운 기여자들은 good first issue 레이블을 스캔하는 것부터 시작해야 합니다. 원시 파일 외에도, 여기에 있는 모든 프롬프트는 재사용할 수 있는 워크플로우이기도 하므로, 이슈들은 종종 새로운 프롬프트를 요청하는데, 이것이 본인의 작업이 사용되는 것을 가장 빠르게 확인할 수 있는 방법입니다.
AI 에이전트와 함께 시작하기
Contributing to this repo 카테고리의 네 가지 프롬프트는 아래의 모든 규칙을 인코딩합니다. 이 중 하나를 본인의 에이전트에 붙여넣으면, 체크리스트를 외울 필요 없이 아이디어부터 병합 가능한 풀 리퀘스트(pull request)까지 작업을 처리해 줍니다:
10분 안에 PR을 만들고 싶으신가요? good first issue를 선택한 다음, 이슈 번호와 함께 resolve-open-issue-prompt.md를 모든 에이전트(agent)에 붙여넣으세요. 이 프롬프트는 컨벤션을 읽고, --- 구분선 아래에서 초안을 작성하며, 인덱스와 변경 로그를 동기화하고, 모든 게이트를 통과시키는 전체 파이프라인을 자체적으로 실행합니다. 따라서 PR은 첫 번째 시도만으로 병합 가능하게 나옵니다. 외부 PR의 경우 48시간 이내에 관리자(maintainer) 응답을 받게 됩니다.
직접 수동으로 진행하고 싶다면, 아래 단계들이 동일한 워크플로우입니다.
새로운 프롬프트 추가하기, 단계별로
- 상황 파악하기(Read the room) - CONTRIBUTING.md, .github/PROMPT_TEMPLATE.md 그리고 사용하려는 카테고리의 기존 프롬프트 2~3개를 읽어보세요. 정확한 구조를 파악하는 것이 중요합니다: H1 제목, 짧은 복사-붙여넣기 사용 설명,
--- 구분선, 그리고 프롬프트 본문 순서입니다.
- 아이디어가 새로운지 확인하기(Confirm the idea is new) - 카탈로그와 README에서 가장 유사한 기존 프롬프트를 검색하고, 자신의 프롬프트가 어떻게 다른지 설명하세요. 기존 프롬프트를 복제하는 기여는 반려됩니다. 빈틈을 채우는 것이지, 단순한 복제가 아닙니다.
- 포크 및 브랜치(Fork and branch) - 레포지토리를 포크하고, 클론한 다음,
git checkout -b docs/add-my-prompt와 같이 기본 브랜치에서 기능 브랜치를 생성하세요.
- 파일 작성하기(Write the file) - 파일 이름은
kebab-case-action-prompt.md로 지정하고, 일치하는 카테고리 폴더에 배치하세요 (절대 레포지토리 루트가 아닙니다). 구조는 다음과 같습니다:
# 재사용 가능한 프롬프트: <간단한 액션 제목>
여기에 붙여넣을 내용이 무엇인지 설명하는 한두 줄.
...
스타일 규칙: 도구에 구애받지 않기(tool-agnostic, Claude, ChatGPT, Copilot, Cursor, opencode 등); 자체 포함적(self-contained, 사용자가 붙여넣는 모든 내용은 구분선 아래에 위치해야 합니다); ASCII 하이픈만 사용 - 파일 어디에도 em 대시를 사용하지 마세요.
- 인덱스 동기화(Sync the index) - 일치하는 README 카테고리 섹션에 한 줄 항목을 추가합니다. 형식은
<이름>.md 링크 뒤에 하이픈(-)과 마침표로 끝나는 짧은 설명입니다. Contents 목록에서 해당 카테고리의 개수를 늘립니다. 같은 한 줄 항목을 해당 폴더 자체의 README.md(모든 카테고리 폴더가 하나씩 가짐)에도 추가합니다. 만약 프롬프트가 크고 위험한 작업을 수행한다면, 그 항목에 보라색 [spec] 배지(<img src="https://raw.githubusercontent.com/shauryagangrade/awesome-ai-prompts/HEAD/docs/media/spec-badge.svg" alt="spec" style="vertical-align:-3px">)를 표시하고, 카테고리 Contents 줄의 spec-count 배지를 늘립니다.
- 변경 로그 항목 추가(Add a changelog entry) - CHANGELOG.md 파일의
## [Unreleased] 아래에 파일을 백틱(```)으로 지정하고, 하이픈(-), 그리고 짧은 설명 순서로 한 줄을 추가합니다.
- 게이트 로컬에서 실행(Run the gates locally) - 푸시하기 전에 세 가지 모두 통과해야 합니다:
bash scripts/check-links.sh
bash scripts/check-consistency.sh
npx --yes [email protected] <changed-files>
엠 대시(em-dash) 검사도 깨끗해야 합니다:
EM="$(python3 -c 'print(—)')"
git grep -I -l "$EM"
출력이 비어 있다는 것은 엠 대시가 없다는 의미입니다. 실제로 실행하여 출력을 확인하세요. 단순히
하나의 워크플로우는 main 브랜치에 푸시되거나 모든 풀 리퀘스트(pull request)에서 실행되며, 다음 작업들로 병렬 분할됩니다: markdownlint + prettier, 문서 구조 및 em-dash 검사, README/CHANGELOG 일관성, 오타 + editorconfig, shellcheck + ruff, actionlint + zizmor, gitleaks 비밀 스캔, cffconvert 유효성 검사, 단위 테스트(unit tests), 그리고 새로 추가된 외부 링크에 대한 PR 전용 검사. 전체 게이트 목록과 정확한 명령어는 CONTRIBUTING.md를 참조하세요.
Commit checklist 워크플로우는 별도로 PR 제목이 Conventional Commits 형식을 따르는지 강제합니다.
CI는 로컬에서 실행하는 것과 동일한 스크립트를 실행하므로, 로컬에서 성공하면 CI에서도 성공함을 의미합니다.
인쇄 가능한 원페이지 카탈로그
워크숍, 인쇄 또는 전체 코퍼스(corpus)를 한 페이지에서 탐색하기 위해 website/index.html을 여세요. 모든 프롬프트마다 링크된 미니 목차(mini-TOC)와 각 카드에 원클릭 복사 버튼이 있습니다. 동일한 빌드는 전체 awesome-ai-prompts.vercel.app 사이트를 website/ 폴더에 생성하며, 이 폴더는 배포되는 모든 것을 담고 있습니다:
website/index.html - 전체 카탈로그로, 사이트 루트에서 제공됩니다.
website/category/<cat>.html - 각 카테고리별 인덱스 페이지로, /category/<cat>에 위치합니다.
website/prompt/<cat>/<slug>.html - 프롬프트당 한 페이지로, /prompt/<cat>/<slug>에 위치하며, 소개와 전체 프롬프트 블록이 복사 버튼 뒤에 있습니다.
website/sitemap.xml, website/robots.txt, 그리고 website/llms.txt - 크롤러 및 에이전트 진입점입니다 (llms.txt는 llmstxt.org 컨벤션에 따른 카탈로그의 마크다운 인덱스).
모든 페이지에는 고유한 제목, 메타 설명(meta description), 표준 URL(canonical URL), Open Graph 및 Twitter 카드 태그, 그리고 JSON-LD 구조화 데이터가 포함됩니다. 카탈로그 변경 후 전체 사이트를 재생성하려면 다음을 실행하세요:
python3 scripts/build-all.py
모든 페이지는 정적 호스트가 직접 제공할 수 있도록 커밋됩니다 - 리포지토리의 vercel.json은 깔끔한 공개 URL을 website/ 내 파일로 재작성합니다. CI(Continuous Integration)는 python3 scripts/build-all.py --check를 실행하며, 빌더가 비결정적(non-deterministic)이 되거나 커밋된 페이지 중 어느 것이든 동기화에서 벗어나면 실패합니다.
가이드라인
- PR(Pull Request)당 하나의 논리적인 변경만 수행하세요: 프롬프트 하나, 수정 사항 하나, 또는 이름 변경 하나. 검토는 검토 가능하게 유지되고 되돌리기(revert)는 간단하게 유지됩니다.
- 실행해 보고 출력을 확인하지 않은 상태에서 테스트가 통과했다고 절대 주장하지 마세요. 이 프롬프트들은 단언된 작업이 아닌 검증된 작업을 기반으로 구축되었습니다.
- 변경 사항을 최소한으로 유지하세요: 관련 없는 문구 편집, 포맷팅 변화(formatting churn), 또는 의존성 증가를 기여에 섞지 마세요.
- 규칙이 모호하면 추측하는 대신 이슈나 PR에서 질문하세요.
- 질문과 토론은 GitHub Discussions에서 이루어집니다.
목차
연한 파란색 배지로 태그된 프롬프트들은 위에 설명된 무거운(heavyweight) [spec] 프롬프트들입니다.