X에서 화제가 된 스킬 'i-have-adhd'를 사용하니 AI 답변이 '결론 → 번호별 절차 → 다음 단계'로 바뀌었습니다
요약
X에서 화제가 된 Agent Skill 'i-have-adhd'는 AI가 복잡한 문제에 대한 답변을 '결론 → 번호별 절차 → 다음 단계'의 실용적인 형태로 정리해주는 스킬입니다. 이 스킬은 단순히 요약하는 것을 넘어, 즉시 행동으로 옮길 수 있는 구체적이고 순서화된 가이드를 제공하여 AI 활용도를 높였습니다.
핵심 포인트
- AI 답변을 '결론-절차-다음 단계'로 구조화합니다.
- 추상적인 조언 대신 구체적인 시간과 행동 계획을 제시합니다.
- 복잡한 문제 해결 과정에 실질적인 실행 가이드를 제공합니다.
X의 이 게시물에서 i-have-adhd라는 Agent Skill을 알게 되었습니다.
이름 자체에 임팩트가 강합니다. 상당히 유머러스한 느낌입니다.
i-have-adhd는 AI 답변을 결론, 번호별 절차, 다음 단계 순서로 정리하는 스킬입니다. 이름만 보면 일회성 농담 같지만, 실제로 사용해보니 매우 실용적이었습니다.
요즘 누가 남의 스킬을 소개하는 사람이 된 것 같은...
i-have-adhd는 AI 답변을 즉시 행동으로 옮기기 쉬운 형태로 정리해주는 Agent Skill입니다.
공식 SKILL.md에는 10가지 규칙이 있습니다. 주요 내용은 다음과 같습니다:
- 다음 행동을 가장 먼저 작성할 것
- 여러 작업에 번호를 매길 것
- '조금'이 아니라 '15분'처럼 시간을 구체화할 것
- 본론과 관계없는 이야기를 늘어놓지 말 것
- 마지막을 하나의 구체적인 행동으로 끝낼 것
단순히 답변을 짧게 만드는 스킬이 아닙니다. 처음에 무엇을 할지, 어떤 순서로 진행할지, 지금은 무엇을 미뤄둘지까지 답변에 담아줍니다.
제가 매번 되물어보던 '결국 뭘 해야 하죠?'를 처음부터 AI가 답하게 하는 스킬입니다.
실무와 가까운 내용으로 Next.js와 FastAPI로 만든 사내 툴의 500 에러를 가정했습니다.
2026년 10월 14일에 Claude CLI 2.1.299에서 Sonnet을 사용해 실행했습니다. effort는 low입니다. 평소 설정이 섞이지 않도록 --safe-mode를 지정하고, 스킬이 적용된 실행만 i-have-adhd의 SKILL.md를 읽게 했습니다.
같은 프롬프트를 새로운 세션에서 한 번씩 실행했습니다.
Next.js와 FastAPI로 만든 사내 툴에서,
사용자 목록을 열면 500 에러가 납니다.
오늘 17시까지 고치고 싶습니다.
...
우선은 i-have-adhd를 사용하지 않고 생성된 답변입니다.
작업 디렉터리(/private/tmp/adhd-baseline)가 비어있어 코드를 찾을 수 없었습니다. 리포지토리의 위치를 알려주시겠어요? 코드 보기 전이라도 증상만으로 원인은 거의 좁혀졌습니다.
가능한 원인
response_model=list[UserSummary]로 변경했지만, 엔드포인트가 반환하는 객체(ORM의 User 등)에 department_name이 없다는 것이 전형적입니다. FastAPI는 응답을 UserSummary로 검증하기 때문에, department_name이 발견되지 않아 ResponseValidationError → 500 에러가 발생합니다.
확인 포인트
UserSummary정의에서department_name: str가 필수인지 - 목록 API가 반환하는 데이터에department_name이 포함되는지 (예:user.department.name과 같은 관계를 통해 값을 채워 넣지 않았는지) -department가 NULL인 사용자가 없는지 (있을 경우,str그대로는 검증 에러가 됩니다)
수정 방향성
- 목록 쿼리에서 부서를 JOIN /
selectinload하여,UserSummary(..., department_name=u.department.name if u.department else None)처럼 명시적으로 구성할 것 - 부서 없음도 허용한다면department_name: str | None = None으로 변경 - 프론트가
department_name을 사용한다면, 타입 정의(TypeScript 측)도 함께 업데이트
README・CI에 대하여
둘 다 오늘 17시 수정이 완료된 후에, 별도의 작업으로 처리하는 것이 좋습니다. 500 에러를 먼저 고치고, 그 후에 개선안(README 업데이트, CI의 캐싱/병렬화 등)을 제시하겠습니다. 리포지토리 경로 또는 해당 라우터・스키마의 코드를 공유해 주시면 구체적으로 수정하겠습니다.
잘 보이는 답변입니다. Claude답습니다.
다만, '확인 포인트'가 3가지, '수정 방향성'도 3가지 있습니다. 내용은 맞지만, 처음에 무엇을 볼지는 스스로 선택해야 합니다.
다음은 같은 프롬프트에 i-have-adhd만 추가한 답변입니다.
이 디렉터리에는 AGENTS.md
아무것도 없고, 앱 코드를 찾을 수 없습니다. 코드가 있는 장소를 알려주세요. 그때까지는 로그에서 원인을 추정하여 절차를 보여드리겠습니다.
먼저 할 일: 목록 API의 루트 함수와 UserSummary
을 열고, department_name
의 출처를 확인합니다. grep -rn "UserSummary\|department_name" backend/
원인 추정: response_model=UserSummary는 department_name
을 필수로 합니다. 하지만 반환하는 객체에 그 값이 없습니다. 가장 흔한 경우는 다음 3가지입니다.
User모델에department_name이 없고,department.name에서 만드는 처리가 없는 경우 - 부서가 미설정된 사용자가 있어None이 되고,str타입의 필수 항목을 통과하지 못하는 경우- 쿼리가
department를 가져오지 않은 경우 (join /selectinload가 없음)
수정 방법 (각 5~15분):
- 부서가 비어 있는 사용자를 허용한다면,
UserSummary를department_name: str | None = None으로 변경합니다. User에서 값을 만드는 경우, 목록 쿼리에selectinload(User.department)를 추가합니다. 그 위에department_name을 반환하는 처리를 넣습니다.@computed_field @property def department_name(self) -> str | None: return self.department.name if self.department else None- 값 만드는 처리가 아직 없는 경우, 루트 측에서
UserSummary(..., department_name=u.department.name if u.department else None)와 같이 구성합니다.
확인: 수정 후 목록 API를 curl로 테스트하여 200이 반환되는지 확인합니다.
README와 CI는 나중으로 미룹니다. 17시까지는 500 에러에만 집중해 주세요. 해결되면 별건으로 처리하겠습니다.
다음 단계 (2분): 위의 grep 결과를 그리고 목록 API의 루트 함수를 붙여주세요. 원인을 특정하여 수정안을 제시하겠습니다.
두 가지를 나란히 놓으면, 차이가 난 곳은 여기입니다.
| 보는 곳 | 사용 전 | i-have-adhd 사용 후 |
|---|---|---|
| 서두 | 코드가 없음을 전달 | 먼저 열 위치 지정 |
| ... | grep 결과와 루트 함수로 한정 |
사용 전에도 원인과 수정 방향은 알 수 있습니다. 다만, 확인 포인트와 수정안이 각각 3가지씩 있어 어디부터 볼지는 스스로 결정해야 합니다.
i-have-adhd 사용 후에는, 먼저 열 위치뿐만 아니라 실행할 grep 명령어까지 나왔습니다. 마지막도
이름만 보면 상당히 재미있어 보입니다. 하지만 AI의 긴 답변을 읽은 후 '결국 뭘 해야 할까? 절차를 알려줘'라고 되물어 본 경험이 있는 사람에게는 매우 실용적이었습니다.
답변 자체가 짧아지는 것보다, 첫 번째 행동, 절차, 소요 시간, 그리고 뒤로 미룰 수 있는 것이 결정된다는 점. 이 차이가 큽니다.
다음으로 AI에 질문할 때는 i-have-adhd를 붙여서 던져보겠습니다.
이렇게 하면 '결국 뭘 해야 할까?'라고 되물어 볼 필요가 없을 것 같습니다.
-
ayghri/i-have-adhd (GitHub)
-
i-have-adhd 설치 절차 (GitHub)
-
i-have-adhd를 알게 된 게시글 (X)
-
Reddit에서 화제가 된 Claude Code 플러그인 'i-have-adhd'를 사용해봤다 (Qiita)
-
Claude Code의 새로운 출력 스타일 'Concise'로, Claude가 결과 우선의 유능한 파트너가 되었다... Claude Code의 답변을 짧게 하고, 먼저 결과를 받도록 설정한 이야기
-
너무 공손했던 Claude Code를 원시인에게 사용하니, 토큰 사용량이 3할 줄었다... 출력 말투를 크게 바꾸면 가독성과 토큰 양이 어떻게 변하는지 비교해 본 이야기
-
새로운 일본어 교정 스킬 'yomiyasu'가 유행하고 있어서, Claude로 일본어 교정 스킬 3가지를 비교해 봤다... 동일한 입력을 사용해서 Agent Skill별 출력 차이를 비교해 본 이야기
마지막으로 안내 말씀드립니다만, e-dee-a에서는 함께 일할 엔지니어를 모집하고 있습니다.
자세한 내용은 채용 정보 페이지를 확인해주세요.
여러분들의 지원을 기다리겠습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기