{ "skill_name": "sdlc", "evals": [ { "id": 1, "prompt": "I want to build a URL shortener service. Users paste a long URL and get a short one back. Help me go through the full SDLC.", "expected_output": "Four artifacts: requirements.md with functional requirements (shorten URL, redirect, track clicks), NFRs (latency, availability), and out-of-scope items; design.md with architecture diagram, data model (URL entity with short_code, original_url, created_at, click_count), ADRs; tasks.md with milestones and estimated tasks linked to FRs; impl-plan.md with ordered sprint plan and acceptance criteria per task.", "assertions": [ "requirements.md is created with at least 3 functional requirements", "requirements.md includes non-functional requirements (e.g. latency or availability)", "requirements.md includes an out-of-scope section", "design.md includes a PlantUML component or architecture diagram", "design.md includes a data model with at least a URL/link entity", "design.md includes at least 2 ADRs", "tasks.md groups work into at least 2 milestones", "tasks.md includes effort estimates for each task", "tasks.md identifies task dependencies", "impl-plan.md includes acceptance criteria for at least 2 tasks", "impl-plan.md includes a setup checklist" ] }, { "id": 2, "prompt": "帮我设计一个团队任务管理系统,支持创建任务、分配给成员、设置截止日期、评论。技术栈用 React + Node.js + PostgreSQL。", "expected_output": "Four artifacts in Chinese or bilingual: requirements.md capturing task CRUD, assignment, deadlines, comments as FRs; design.md with React/Node.js/PostgreSQL architecture, data model (Task, User, Comment entities), ADRs for tech choices; tasks.md with milestones (backend API, frontend, integration), estimates, dependencies; impl-plan.md with sprint plan, acceptance criteria, and implementation notes referencing the chosen stack.", "assertions": [ "requirements.md lists functional requirements including task creation, assignment, deadlines, and comments", "design.md references React, Node.js, and PostgreSQL in the architecture", "design.md includes a PlantUML diagram", "design.md includes a data model with Task, User, and Comment entities", "tasks.md separates backend and frontend work into distinct milestones or groups", "tasks.md includes effort estimates", "impl-plan.md includes acceptance criteria per task", "Response language matches the user's input language (Chinese or bilingual)" ] }, { "id": 3, "prompt": "I need to add a notification system to our existing e-commerce platform. Users should get email and in-app notifications for order status changes. We use Python/Django backend and React frontend. Keep it simple — we're a small team of 3.", "expected_output": "Four artifacts scoped to the notification feature (not a full platform rebuild): requirements.md with FRs for email/in-app notifications on order events, NFRs for delivery reliability, constraints noting small team and existing Django/React stack; design.md showing notification service integration with existing platform, data model for Notification entity, ADRs (e.g. use Celery for async, use existing email provider); tasks.md with realistic estimates for a 3-person team, parallelizable tasks identified; impl-plan.md with concrete Django/React implementation notes.", "assertions": [ "requirements.md scopes the work to notifications only (not a full platform rewrite)", "requirements.md captures the small team size as a constraint", "design.md references Django and React in the architecture", "design.md includes a Notification data model", "design.md addresses async delivery (e.g. Celery, queue, or similar)", "tasks.md estimates are realistic for a small team (no single task > 2 days without breakdown)", "tasks.md identifies at least one set of parallelizable tasks", "impl-plan.md includes Django-specific implementation notes (e.g. signals, Celery tasks, or similar)" ] }, { "id": 4, "prompt": "Design a real-time collaborative document editor like Google Docs. Multiple users edit the same document simultaneously.", "expected_output": "Four artifacts acknowledging the high complexity: requirements.md with FRs (real-time sync, conflict resolution, presence indicators, history), NFRs (latency < 100ms, consistency), and explicit out-of-scope items to keep scope manageable; design.md with architecture covering WebSocket/CRDT/OT choice as a key ADR, component diagram showing client, server, and sync layer, risks table noting operational complexity; tasks.md with phased milestones (basic editor → real-time sync → conflict resolution → polish), critical path flagged; impl-plan.md with concrete first steps and setup checklist.", "assertions": [ "requirements.md includes real-time sync and conflict resolution as functional requirements", "requirements.md includes latency as a non-functional requirement", "requirements.md includes explicit out-of-scope items to bound the problem", "design.md includes an ADR addressing conflict resolution strategy (CRDT, OT, or similar)", "design.md includes a PlantUML architecture diagram showing WebSocket or real-time communication", "design.md includes a risks table", "tasks.md phases work so real-time sync is not in the first milestone", "tasks.md flags the critical path", "impl-plan.md identifies the day-1 starting task" ] } ] }