Created comprehensive task breakdown with 32 tasks across 7 phases: Phase 3.1: Setup & Structure (T001-T004) - HTML5 skeleton and semantic structure - Metadata, favicon, and CSS framework - Foundation for all subsequent tasks Phase 3.2: Content Creation (T005-T011) - ASCII art for desktop and mobile versions - Bilingual event information (EN/CN) - Halloween decorations and activities - Footer content Phase 3.3: Styling & Visual Design (T012-T017) - Terminal color scheme (#000000, #00FF00, #FFBF00) - Monospace typography and layout - Blinking cursor animation (CSS @keyframes) - Responsive media queries (mobile/tablet/desktop) Phase 3.4: Countdown Functionality (T018-T022) - Countdown timer structure and JavaScript - GMT+8 timezone handling - State management (before/active/ended) - Edge case testing Phase 3.5: Accessibility & Compliance (T023-T025) - ARIA labels for screen readers - Language attributes for bilingual content - WCAG 2.1 AA verification (21:1 contrast) Phase 3.6: Testing & Validation (T026-T031) - HTML5 validation - Cross-browser testing (Chrome/Firefox/Safari/Edge) - Responsive design testing - Performance testing (< 50KB, < 1s load) - Accessibility testing (WAVE, contrast checker) - Full quickstart validation Phase 3.7: Polish & Documentation (T032) - Update README with deployment instructions - Version 1.0.0 release notes in CHANGELOG Task Organization: - 32 tasks total, dependency-ordered - Single-file constraint (all modify index.html) - Content preparation can be planned in parallel - Testing tasks can run concurrently - Clear dependencies and blocking relationships Key Constraints: - File size must be < 50KB - Load time must be < 1 second - WCAG 2.1 AA compliance required - Works on Chrome, Firefox, Safari, Edge - Responsive: 320px to 1920px+ Ready for: /implement command or manual execution 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
17 KiB
Tasks: McDonald's IT Halloween Event Page
Input: Design documents from /specs/001-mcdonald-s-it/
Prerequisites: plan.md ✅, research.md ✅, data-model.md ✅, contracts/ ✅, quickstart.md ✅
File to Create: index.html (single self-contained HTML file)
Execution Flow (main)
1. Load plan.md from feature directory ✅
→ Tech stack: HTML5, CSS3, JavaScript ES6+
→ Structure: Single self-contained HTML file
2. Load optional design documents ✅
→ data-model.md: 4 entities (Event, Countdown, VisualTheme, Content)
→ contracts/: page-content.schema.json
→ research.md: 10 technical decisions
→ quickstart.md: 10 test categories
3. Generate tasks by category ✅
→ Setup: HTML skeleton, structure
→ Content: ASCII art, bilingual text
→ Styling: CSS, responsive design
→ Functionality: Countdown timer
→ Accessibility: ARIA, WCAG compliance
→ Testing: Validation, performance
→ Polish: Documentation
4. Apply task rules ✅
→ Same file (index.html) = sequential for core structure
→ Different sections = can plan in parallel [P]
→ Tests before implementation (TDD principle)
5. Number tasks sequentially (T001-T032) ✅
6. Generate dependency graph ✅
7. Create parallel execution examples ✅
8. Validate task completeness ✅
→ Schema has validation? Yes
→ All entities covered? Yes
→ All test scenarios included? Yes
9. Return: SUCCESS (tasks ready for execution) ✅
Format: [ID] [P?] Description
- [P]: Can run in parallel (independent planning/preparation tasks)
- Include exact file paths in descriptions
- All implementation tasks modify
index.html
Path Conventions
- Single file project:
index.htmlat repository root - Specs directory:
/specs/001-mcdonald-s-it/ - Tests: Manual testing via
quickstart.md
Phase 3.1: Setup & Structure
-
T001 Create
index.htmlwith HTML5 doctype and basic structure- File:
index.html - Add:
<!DOCTYPE html>,<html lang="en">,<head>,<body> - Add viewport meta tag:
<meta name="viewport" content="width=device-width, initial-scale=1.0"> - Dependencies: None
- Blocks: All other tasks
- File:
-
T002 Add page metadata and favicon
- File:
index.html→<head>section - Add:
<title>2025 MITA Halloween</title> - Add:
<meta charset="UTF-8"> - Add: Meta description (see spec.md FR-035)
- Add: Data URI favicon with 🎃 emoji
- Dependencies: T001
- Reference:
research.mddecision #10
- File:
-
T003 Set up semantic HTML5 structure
- File:
index.html→<body>section - Add:
<header>,<main>,<section>for countdown, event info, activities, decorations - Add:
<footer>for "McDonald's IT Academy" - Add: Placeholder
<pre>tags for ASCII art - Dependencies: T001
- Reference:
research.mddecision #1
- File:
-
T004 Create CSS structure in
<style>tag- File:
index.html→<head>section - Add:
<style>tag with organized sections (base, typography, layout, responsive) - Add: CSS reset/normalize basics
- Dependencies: T001
- Reference:
research.mddecision #5
- File:
Phase 3.2: Content Creation
Note: These tasks can be prepared in parallel as content, then added to index.html sequentially
-
T005 [P] Design McDonald's ASCII art (desktop version)
- File:
index.html→<header>→<pre class="ascii-desktop"> - Create: McDonald's logo with Golden Arches M using ASCII characters
- Constraints: Monospace font compatible, centered, ~15-20 lines height
- Add: ARIA label "McDonald's Logo"
- Dependencies: T003
- Reference:
spec.mdFR-001,research.mddecision #2
- File:
-
T006 [P] Design McDonald's ASCII art (mobile version)
- File:
index.html→<header>→<pre class="ascii-mobile"> - Create: Simplified McDonald's logo for mobile (< 768px)
- Constraints: Legible on small screens, ~8-10 lines height
- Add: Same ARIA label
- Dependencies: T003
- Reference:
spec.mdFR-024,research.mddecision #3
- File:
-
T007 [P] Add "i'm lovin' IT" tagline with cursor
- File:
index.html→<header>→ after ASCII art - Add:
<p class="tagline" lang="en">i'm lovin' IT<span class="cursor">_</span></p> - Dependencies: T003
- Reference:
spec.mdFR-002
- File:
-
T008 [P] Create Halloween ASCII decorations
- File:
index.html→<section class="decorations"> - Add: Halloween-themed ASCII art (pumpkins, ghosts, bats) or emojis 🎃👻🦇
- Add: Multiple decorations in
<pre>tags - Dependencies: T003
- Reference:
spec.mdFR-006
- File:
-
T009 [P] Write bilingual event information content
- File:
index.html→<section class="event-info"> - Add: Date, time, location, organizer (English + Chinese alternating)
- Add:
lang="en"andlang="zh-CN"attributes on each<p> - Content from:
data-model.mdEvent entity - Dependencies: T003
- Reference:
spec.mdFR-008 to FR-016,research.mddecision #7
- File:
-
T010 [P] Add activities and notes content
- File:
index.html→<section class="activities"> - Add: Bilingual list of activities (Cosplay, Debugging Games, Lucky Draw)
- Add: Notes (costumes encouraged, food provided)
- Dependencies: T003
- Reference:
spec.mdFR-013, FR-014
- File:
-
T011 Add footer content
- File:
index.html→<footer> - Add: "McDonald's IT Academy" text
- Dependencies: T003
- Reference:
spec.mdFR-015
- File:
Phase 3.3: Styling & Visual Design
-
T012 Implement base color scheme and typography
- File:
index.html→<style>section - Add:
body { background: #000000; color: #00FF00; } - Add: Font stack:
font-family: "Courier New", Monaco, Consolas, Menlo, monospace; - Add: Accent color class:
.accent { color: #FFBF00; } - Dependencies: T004
- Reference:
spec.mdFR-003 to FR-005,data-model.mdVisualTheme
- File:
-
T013 Style ASCII art and tagline
- File:
index.html→<style>section - Add:
pre { text-align: center; line-height: 1.2; } - Add:
.tagline { text-align: center; font-size: 20px; } - Add: Default
.ascii-mobile { display: none; } - Dependencies: T012
- Reference:
research.mddecision #2, #3
- File:
-
T014 Create blinking cursor animation
- File:
index.html→<style>section - Add:
@keyframes blinkwith 50% opacity toggle - Add:
.cursor { animation: blink 1s step-end infinite; } - Add:
@media (prefers-reduced-motion: reduce)to disable for accessibility - Dependencies: T012
- Reference:
spec.mdFR-002,research.mddecision #8
- File:
-
T015 Implement responsive media queries
- File:
index.html→<style>section - Add:
@media (max-width: 767px)for mobile - Add: ASCII art switching (hide desktop, show mobile)
- Add: Font size adjustments for readability
- Add:
@media (min-width: 768px) and (max-width: 1023px)for tablet - Dependencies: T013
- Reference:
spec.mdFR-021 to FR-025,research.mddecision #3
- File:
-
T016 Style countdown timer display
- File:
index.html→<style>section - Add:
.countdown { text-align: center; font-size: 24px; color: #FFBF00; } - Add: Styling for days/hours/minutes/seconds layout
- Dependencies: T012
- Reference:
spec.mdFR-017
- File:
-
T017 Style event info and bilingual content
- File:
index.html→<style>section - Add:
.event-info p { text-align: center; margin: 0.5rem 0; } - Add: Language-specific styling if needed
- Dependencies: T012
- Reference:
spec.mdFR-012
- File:
Phase 3.4: Countdown Functionality
Critical: These tasks must be done sequentially (same JavaScript block)
-
T018 Create countdown HTML structure
- File:
index.html→<section class="countdown"> - Add: Container div with id
countdown-display - Add: Spans for days, hours, minutes, seconds
- Add: Noscript fallback:
<noscript>Enable JavaScript for live countdown</noscript> - Dependencies: T003
- Reference:
spec.mdFR-017 to FR-020
- File:
-
T019 Implement countdown JavaScript logic
- File:
index.html→<script>tag before</body> - Add: Target date calculation (Oct 31 2025 18:00 GMT+8 = 10:00 UTC)
- Add: Event end date (Oct 31 2025 21:00 GMT+8 = 13:00 UTC)
- Add:
updateCountdown()function to calculate time difference - Dependencies: T018
- Reference:
data-model.mdCountdown entity,research.mddecision #4
- File:
-
T020 Add countdown timezone handling
- File:
index.html→<script>section - Add: UTC to GMT+8 conversion logic
- Add: User timezone detection and calculation
- Ensure: Countdown shows correct time for users in any timezone
- Dependencies: T019
- Reference:
spec.mdFR-018, FR-020
- File:
-
T021 Implement countdown state management
- File:
index.html→<script>section - Add: Status check (before/active/ended)
- Add: Display "🎃 EVENT STARTING NOW! 🎃" when countdown reaches zero
- Add: Display "👻 EVENT COMPLETED - Thanks for joining! 👻" after event ends
- Add: Update display every 1000ms (1 second)
- Dependencies: T020
- Reference:
data-model.mdCountdown states,research.mdedge cases
- File:
-
T022 Test countdown edge cases
- File:
index.html→ verify in browser dev tools - Test: Set system time to just before event (should count down)
- Test: Set system time to event start (should show "EVENT STARTING NOW")
- Test: Set system time to after event (should show "EVENT COMPLETED")
- Test: Disable JavaScript (should show noscript message)
- Dependencies: T021
- Reference:
quickstart.mdEdge Case Testing
- File:
Phase 3.5: Accessibility & Compliance
-
T023 [P] Add ARIA labels for screen readers
- File:
index.html→ throughout document - Add:
aria-labelon ASCII art elements - Add:
roleattributes where appropriate - Add:
aria-live="polite"on countdown for screen reader updates - Dependencies: T003, T018
- Reference:
spec.mdFR-032
- File:
-
T024 [P] Add language attributes for bilingual content
- File:
index.html→ all bilingual elements - Verify:
lang="en"on English paragraphs - Verify:
lang="zh-CN"on Chinese paragraphs - Verify:
<html lang="en">as primary language - Dependencies: T009, T010
- Reference:
spec.mdFR-033,research.mddecision #7
- File:
-
T025 [P] Verify WCAG 2.1 AA compliance
- File:
index.html - Test: Contrast ratios (Green #00FF00 on black = 21:1, Amber #FFBF00 on black = 12:1)
- Test: Keyboard navigation (all interactive elements accessible)
- Test: Screen reader compatibility (test with VoiceOver/NVDA)
- Dependencies: T012, T023, T024
- Reference:
spec.mdFR-031, FR-034,research.mddecision #6
- File:
Phase 3.6: Testing & Validation
Note: Execute testing tasks after implementation is complete
-
T026 Run HTML5 validation
- Tool: https://validator.w3.org/
- Upload:
index.html - Fix: Any errors or critical warnings
- Target: Zero errors, clean validation
- Dependencies: All implementation tasks (T001-T025)
- Reference:
quickstart.mdsection 10
-
T027 Manual browser testing (all target browsers)
- Test in: Chrome, Firefox, Safari, Edge (latest versions)
- Verify: All features work consistently
- Check: Visual appearance, countdown functionality, responsiveness
- Fix: Any browser-specific issues
- Dependencies: All implementation tasks
- Reference:
quickstart.mdsection 8
-
T028 Responsive design testing
- Test: Desktop (1024px+), tablet (768-1023px), mobile (320-767px)
- Verify: ASCII art switches correctly
- Verify: No horizontal scroll on any size
- Verify: All content readable without zooming
- Use: Browser DevTools responsive mode
- Dependencies: T015, all content tasks
- Reference:
quickstart.mdsection 5,spec.mdFR-021 to FR-025
-
T029 Performance testing
- Check: File size (must be < 50KB)
ls -lh index.html - Check: Load time (must be < 1 second)
- Use: Browser DevTools Network tab
- Check: Animation performance (60fps for cursor blink)
- Use: Browser DevTools Performance tab
- Optimize: If any metrics fail
- Dependencies: All implementation tasks
- Reference:
quickstart.mdsection 7,spec.mdFR-026 to FR-030
- Check: File size (must be < 50KB)
-
T030 Accessibility testing
- Run: WAVE accessibility checker (https://wave.webaim.org/)
- Run: Contrast checker (verify 21:1 and 12:1 ratios)
- Test: Screen reader navigation
- Test: Keyboard-only navigation
- Fix: Any accessibility issues found
- Dependencies: T023, T024, T025
- Reference:
quickstart.mdsection 6,spec.mdFR-031 to FR-035
-
T031 Execute full quickstart validation
- Run: All tests in
quickstart.md - Complete: Quick Test (2 min) checklist
- Complete: Full Test Suite (15 min) checklist
- Complete: Edge Case Testing
- Document: Any issues found and fixes applied
- Dependencies: All implementation and testing tasks
- Reference:
quickstart.md(entire document)
- Run: All tests in
Phase 3.7: Polish & Documentation
- T032 Update project documentation
- File:
README.md - Add: Deployment instructions (how to host index.html)
- Add: Usage instructions (how to view the page)
- Add: Feature description and screenshots
- File:
CHANGELOG.md - Add: Version 1.0.0 release notes with all features
- Dependencies: T031 (validation complete)
- Reference:
plan.mdPhase 3+ Expected Deliverables
- File:
Dependencies Graph
T001 (HTML5 structure)
├─→ T002 (metadata) → All tasks
├─→ T003 (semantic HTML) → T005-T011, T018
└─→ T004 (CSS structure) → T012-T017
Content (T005-T011) [Can prepare in parallel, add sequentially]
└─→ Must follow T003
Styling (T012-T017)
T012 (base colors) → T013, T014, T016, T017
T013 (ASCII styling) → T015
T014 (cursor animation) [parallel with T013]
T015 (responsive) → requires T013
T016, T017 [parallel, depend on T012]
Countdown (T018-T022) [MUST be sequential - same JS block]
T018 → T019 → T020 → T021 → T022
Accessibility (T023-T025) [Can run in parallel]
T023, T024 [parallel]
T025 → requires T012, T023, T024
Testing (T026-T031) [After all implementation]
All require: T001-T025 complete
T026, T027, T028 [can run in parallel]
T029 → requires all implementation
T030 → requires T023, T024, T025
T031 → requires all testing tasks
Documentation (T032)
→ requires T031 (validation complete)
Parallel Execution Examples
Setup Phase (Can't parallelize - same file)
# Must run sequentially - all modify index.html
# T001 → T002 → T003 → T004
Content Preparation (Can plan in parallel, implement sequentially)
# Prepare content separately, then add to index.html
# T005: Draft desktop ASCII art
# T006: Draft mobile ASCII art
# T007: Draft tagline
# T008: Draft decorations
# T009: Draft bilingual content
# T010: Draft activities
# Then add all to index.html sequentially
Testing Phase (Can parallelize different checks)
# After implementation complete:
# Run these in parallel (different validation tools)
Task: "Run HTML5 validation at validator.w3.org"
Task: "Manual browser testing in Chrome, Firefox, Safari, Edge"
Task: "Responsive design testing with DevTools"
Notes
- Single file constraint: Most tasks modify
index.html, so true parallelization is limited - Content preparation: Can draft content separately, then integrate sequentially
- Testing: Multiple validation tasks can run in parallel using different tools
- TDD adaptation: For static page, "tests" are validation criteria from quickstart.md
- Commit strategy: Commit after each phase (Structure, Content, Styling, Countdown, Accessibility, Testing, Docs)
Validation Checklist
GATE: Verified during task generation
- All contracts have corresponding tests (Schema → T026 validation)
- All entities have coverage (Event → T009, Countdown → T018-T022, VisualTheme → T012-T017, Content → T009-T010)
- Testing comes after implementation (T026-T031 require T001-T025)
- Parallel tasks are truly independent (T023-T025 for accessibility, T026-T028 for different validations)
- Each task specifies exact file path (
index.htmlor specific tools) - No conflicting parallel tasks (content prep vs implementation separated)
Success Criteria
✅ All tasks complete when:
index.htmlexists and is functional- File size < 50KB ✅
- Load time < 1 second ✅
- HTML5 validation passes ✅
- WCAG 2.1 AA compliance verified ✅
- All browsers work (Chrome, Firefox, Safari, Edge) ✅
- Responsive on all devices ✅
- Countdown timer functions correctly ✅
- Documentation updated ✅
Ready for: Deployment and user testing
Total Tasks: 32 Estimated Time: 8-12 hours (including testing) Complexity: Medium (single file, but detailed requirements) Risk Areas: ASCII art legibility on mobile, countdown timezone accuracy, file size constraint