홈 / Skills / 개발 생산성 / Grill Me (끝까지 질문)
개발 생산성

Grill Me (끝까지 질문)

Matt PocockMITSkill 언어: 영어
라이선스 확인됨스크립트 없음낮은 위험
실행 예시실제 실행 · claude-sonnet-5-5 · 2026년 10월
/grill-me I'm planning to add user login to my small web app (a recipe-sharing site, about 200 users). My plan: email + password, and let people stay logged in. Please grill me on it.
Skill: grilling

I'm starting from the root of the design tree. These questions don't depend on each other. Session mechanics, password storage and the threat model will hang off your answers.

I haven't looked at your codebase. If you tell me the stack, or point me at the repo, I'll check the facts myself and won't ask you for them.

❓ Q1 - Build or delegate?: Do you want to implement email and password auth yourself (hashing, sessions, reset flow)? The alternative is a hosted or library-backed option such as your framework's built-in auth, Auth0, Clerk, Supabase Auth or Firebase Auth. At 200 users, the cost of getting a custom implementation subtly wrong usually outweighs the cost of adopting a library.

➡️ Use your framework's mature auth library or a hosted provider. Don't hand-roll crypto or session handling. Email and password stays as the user-facing method.


❓ Q2 - What does login actually protect?: What can a logged-in user do that an anonymous visitor can't? Examples are posting recipes, editing or deleting only their own recipes, commenting, favoriting, or private recipes. Are there roles, such as an admin or moderator who can remove other people's content?

➡️ Anyone can browse. Login is required to create, and users can edit or delete only their own recipes. Add a single admin flag for moderation, and nothing more elaborate.


❓ Q3 - Existing data and users: Does the site already have content or "users" in some form, such as a name field or anonymous submissions? If so, how do existing recipes get attached to the new accounts?

➡️ Treat existing recipes as unowned. Let the admin assign them manually, or let an author claim one by email.


❓ Q4 - Email verification: Do you require users to confirm their email address before they can post?

➡️ Yes. Send a verification link, and allow browsing but not posting until it's confirmed. This stops typo'd addresses, which would lock people out of reset, and it stops spam signups.


❓ Q5 - Password reset: This is where "email and password" plans most often fail. Do you have a way to send transactional email reliably, such as Postmark, SES or Resend, with SPF/DKIM set up so messages don't land in spam? Will reset links be single-use and short-lived, around 1 hour?

➡️ Yes. Use a transactional email provider. Reset tokens are random, stored hashed, single-use and expire in 1 hour. Resetting a password also invalidates all existing sessions.


❓ Q6 - "Stay logged in" semantics: What does that mean to you? One option is a long-lived session cookie (say 30 days) that is HttpOnly, Secure and SameSite=Lax, backed by a server-side session you can revoke. The other is a stateless JWT. Should it be a "remember me" checkbox or the default behavior?

➡️ Use a server-side session with an opaque ID in an HttpOnly, Secure, SameSite=Lax cookie. Make it a 30-day sliding expiry as the default, because this is a low-risk site. Skip JWTs, since you can't revoke them easily and you gain nothing at this scale.


❓ Q7 - Abuse and brute force: Do you want rate limiting on login, signup and reset endpoints? For example, throttle per IP and per account, and add a CAPTCHA only if abuse actually shows up. Do you also want to reject known-breached or very weak passwords?

➡️ Yes to throttling on all three endpoints, with generic error messages ("invalid email or password") so accounts can't be enumerated. Set a minimum length of 10 and check against a breached-password list. Don't impose composition rules. Add a CAPTCHA only if abuse appears.


Once you've answered, the next round will cover password hashing and storage, CSRF, HTTPS and deployment, account deletion and data handling, and testing. Which of those apply will depend on what you pick for Q1.

How it was tried: I installed grill-me together with the grilling skill it calls, in a clean temporary folder, and invoked it as a slash command with a made-up plan (email and password login for a small recipe site). Only Skill and Read tools were allowed. This shows the first round of questions only; a real session continues once you answer them.

하는 일

grilling Skill로 들어가는 짧은 진입점입니다. 구현에 들어가기 전에 계획이나 설계를 집요한 인터뷰로 검증합니다. 실제 질문은 Matt Pocock의 grilling이 하고, 이 Skill은 그것을 호출만 합니다.

동작 방식

  1. 직접 호출합니다(모델이 스스로 실행하지 않도록 표시되어 있습니다).
  2. 유일한 지시는 에이전트가 grilling을 호출하게 하는 것입니다.
  3. 이어서 grilling이 계획이나 설계에 대해 질문합니다.

적합한 상황

코드를 쓰기 전에 파고들어 검증하고 싶은 계획과 설계. grilling Skill도 함께 설치해야 합니다.

참고 사항 및 위험

낮은 위험: 순수 지침: 에이전트가 `grilling` Skill을 호출하게 하는 한 줄뿐입니다. 스크립트, 네트워크 접근, 파일 쓰기가 없습니다. `grilling`이 설치되어 있어야 하며 수동 호출 전용(`disable-model-invocation`)으로 표시되어 있습니다. `grilling`을 함께 설치해 한 번 시험했으며 첫 질문 라운드만 확인했습니다.

SKILL.md 원본패키지에 파일 3개