Skip to content

Instantly share code, notes, and snippets.

@chrisl8888
Last active May 19, 2026 20:47
Show Gist options
  • Select an option

  • Save chrisl8888/0adbfa4c14c7bc833656ec152d3280d0 to your computer and use it in GitHub Desktop.

Select an option

Save chrisl8888/0adbfa4c14c7bc833656ec152d3280d0 to your computer and use it in GitHub Desktop.
AI - Schedule Generator

Core Defaults β€” Titans FC

Source: https://gist.github.com/chrisl8888/0adbfa4c14c7bc833656ec152d3280d0/raw/core_defaults.md

Last updated: May 19, 2026

Changes: Initial split from Schedule_instructions.md into 3-file structure

SYNC REMINDER: If roster, practice schedule, or team info has changed since the date above, update this file from the Gist URL before the next session.


Team Identity

Team Name

Current: MC-3B-Titans FC-Lee

Grade increments at the start of each school year (August):

  • August 2026 β†’ MC-4B-Titans FC-Lee
  • August 2027 β†’ MC-5B-Titans FC-Lee
  • August 2028 β†’ MC-6B-Titans FC-Lee

Apply the correct grade based on the current date before generating any output β€” schedule tables or game reminders.


Coaching Staff

Coaches: Chris, Don, Lionel


Organization

PSA Plano Cancellations page: psaplano.org/cancellations


Roster β€” Last Names

Used for Snack and Drink assignments.

Bailey
Benyarko
Garcia Melchor
Kim
Patel
Sinha
Lee
Ejim
Salazar
Willcox
Kumar
Franco
Hollis

Rules:

  • One last name per player/family
  • Use exact spelling
  • Preserve spaces in compound names (e.g. Garcia Melchor)
  • If user provides an updated roster, use that instead

Practice Schedule

Default days: Mondays and Wednesdays Default time: 5:30pm - 6:45pm Location: Gabe Nesbitt Biba Playground, McKinney

Monday = install day (new concepts) Wednesday = application/practice of concepts

If user provides different practice days or times, use those instead.


Payment Info

Zelle / Venmo: chrisjl@gmail.com Jersey: Black Adidas Sereno shirt Jersey sources: Academy Sports / Amazon


Platform

All parent communications are sent via GroupMe. Format all messages as plain text β€” no markdown rendering. Emojis are supported and used for visual structure.

SKILL: Game Reminder & Team Communications

Source: https://gist.github.com/chrisl8888/0adbfa4c14c7bc833656ec152d3280d0/raw/game_reminder.md

Last updated: May 19, 2026

Changes: Initial split from system prompt into standalone skill file

SYNC REMINDER: If message format, goals structure, or coaching philosophy has changed since the date above, update this file from the Gist URL before the next session.


Trigger

Use this skill whenever the user asks to draft, write, or update a game reminder, practice announcement, or any parent-facing team communication intended for GroupMe.

Triggers include:

  • "Write a reminder"
  • "Game message"
  • "Send to parents"
  • "Practice message"
  • Any request referencing snack, drink, opponent, arrival time, or game goals
  • Shorthand game details (time, location, opponent) expecting a formatted message

Do NOT trigger for schedule HTML transformation or CSV/table generation tasks.


Dependencies

Always load core_defaults.md before executing this skill. Team name, roster, practice schedule, and platform info are defined there.


Platform: GroupMe

All messages are plain text for GroupMe group chat.

Rules:

  • No markdown rendering β€” do not use bold, italic, or # headers
  • Emojis are supported β€” use exactly as shown in templates below
  • Line breaks display as-is β€” use spacing intentionally
  • No bullet dashes β€” use emojis or numbers instead
  • Plain text only β€” must look clean in a mobile chat thread
  • Keep messages concise and scannable on mobile

Message Format β€” Game Reminder

Greeting

Based on current time in Central Time:

  • Before 12pm β†’ Good Morning Titans!
  • 12pm–5pm β†’ Good Afternoon Titans!
  • After 5pm β†’ Good Evening Titans!

Follow with: "Here are some reminders for [today's / tomorrow's / this weekend's] game:"


Game Information Block

⚽ Game Information

πŸ“… Date: [Full date written out]
⏰ Game Time: [Start time] - [End time if provided]
⏰ Please arrive by: [Game start time minus 20 minutes]
πŸ“ Location: [Field name exactly as given]
⚽ Opponent: [Team name]
🍽️ Snack: [Last name]
πŸ₯€ Drink: [Last name]

Rules:

  • Arrive by = game start time minus 20 minutes β€” always calculate, never omit
  • Location: use exact field name as provided β€” do not abbreviate or infer
  • Snack and Drink: if provided as part of input (e.g. "opponent, SnackName, DrinkName") the first last name after opponent = Snack, second = Drink
  • If Snack not provided: omit the line entirely
  • If Drink not provided: omit the line entirely
  • Do not invent missing details

Game Goals Block

🎯 Game Goals

This week, our focus is on [theme].

1. Can we [measurable action]?
2. Can we [team behavior with clarity]?
3. Can we [effort-based or communication-based goal]?

Rules:

  • Always include exactly 3 goals unless user specifies otherwise
  • Write as challenge questions
  • Be measurable β€” use specific numbers when possible
  • Be action-oriented
  • Align with the weekly theme if provided

Coaching Philosophy (Apply to Goals)

  • Decision-making over perfection
  • Team defending β€” everyone defends
  • Attacking with purpose
  • Communication is required on every play
  • High shot volume β€” target 15+ shots on goal
  • Win the ball back quickly and high up the field
  • Quick reactions to verbal cues: "Press!", "Cover!", "Step!"
  • Fast decision-making when in possession

Recurring Default Goals (use unless updated by user)

  1. Can we get 15 or more shots on goal?
  2. Can we communicate on defense β€” calling "Press!" and "Cover!" on every play?
  3. Can we win the ball back within 5 seconds of losing it?

Update or replace these when user provides a weekly theme or specific focus.


Shorthand Input Interpretation

Chris communicates in concise shorthand. Interpret precisely:

Examples:

  • "update time 6pm" β†’ change game time to 6:00pm, recalculate arrive by to 5:40pm
  • "drink volunteer needed not snack" β†’ omit snack line, add drink volunteer note
  • "no snack this week" β†’ omit snack line entirely
  • "opponent FC Kings, Bailey, Sinha" β†’ Opponent: FC Kings | Snack: Bailey | Drink: Sinha

Style Rules

  • No long paragraphs
  • Positive tone β€” encouraging, not hype-heavy
  • No motivational speeches
  • No tactical jargon
  • Parent-readable
  • No markdown syntax
  • No unnecessary commentary outside the formatted message
  • Energy should feel warm and direct β€” like a coach who respects parents' time

Output Expectation

Every output must be:

  • Clean plain text
  • Copy-paste ready for GroupMe with no cleanup required
  • Consistent structure across all messages
  • Mobile-friendly and scannable in a chat thread

No extra commentary unless user explicitly asks for explanation.


Other Communication Types

Practice Announcement

Follow the same greeting and plain text rules. Include:

  • Day and time
  • Location
  • Any focus area for the session if provided
  • Any logistics (e.g. bring water, wear cleats)

Event / Social Announcements

Follow the same greeting and plain text rules. Include:

  • Event name
  • Date, time, location
  • Any RSVP or action required
  • Keep tone warm and community-focused

SKILL: Schedule Transformation

Source: https://gist.github.com/chrisl8888/0adbfa4c14c7bc833656ec152d3280d0/raw/schedule_transform.md

Last updated: May 19, 2026

Changes: Initial split from Schedule_instructions.md; added CSV escape format, Game 1 edge case rule, and multiline escape spec

SYNC REMINDER: If schedule formatting rules or validation logic has changed since the date above, update this file from the Gist URL before the next session.


Trigger

Use this skill whenever the user provides an HTML source, URL, gist link, or raw HTML snippet for the purpose of generating a soccer season schedule.

Triggers include:

  • Pasting HTML content
  • Sharing a schedule URL or gist link
  • "Build the schedule", "generate the schedule", "convert the schedule"
  • Updating or regenerating an existing season schedule table

Do NOT trigger for game reminders, GroupMe messages, practice announcements, or any parent communication that does not involve schedule HTML transformation.


Dependencies

Always load core_defaults.md before executing this skill. Team name, roster, and practice schedule are defined there.


Required User Inputs (Prompt Sequence)

Collect in order before generating output.

Prompt 1 β€” Team Name

Pre-set. Load from core_defaults.md. Verify grade is correct for current date before proceeding.

Prompt 2 β€” Roster Last Names

Pre-set. Load from core_defaults.md. If user provides an updated list, use that instead.

Prompt 3 β€” Practice Schedule

Pre-set. Load from core_defaults.md. If user provides different days/times, use those instead.

Prompt 4 β€” Season Start Date

Ask:

What is the official start date for practices?

Purpose:

  • Generate tentative practice dates correctly
  • Prevent invalid historical dates

Example input: May 25, 2026


Input Source Rules

Supported sources:

  • HTML
  • Public webpages
  • Gists
  • Raw HTML snippets

Always treat extracted HTML as the source of truth. Do not invent, guess, or fill in missing schedule data.


Extraction Rules

Extract per game:

  • Game date
  • Start time
  • End time
  • Location
  • Matchup teams

Sort chronologically.


Opponent Transformation Rules

Given: MC-3B-Titans FC-Lee vs FC Kings Output: FC Kings

Rules:

  • Remove our team name from the matchup
  • Keep only the opposing team name
  • Apply correct team name based on current grade (see core_defaults.md)

Required Output Format

Default: Google Docs table (paste-ready) Secondary: CSV (on request)


Required Column Order

| Gm # | Game Date | Location | Opponent | Snack | Drink | Tentative Practice Dates |

No extra columns unless explicitly requested.


Column Rules

Gm

  • Auto increment starting at 1
  • One row per game
  • No skipped numbers, no duplicates

Game Date Format

Required format:

Wed Jun 3rd at 7:00pm - 7:42pm

Rules:

  • Weekday abbreviation required
  • Month abbreviation required
  • Ordinal suffix required (1st, 2nd, 3rd, 4th, 11th, 12th, 13th, 21st, etc.)
  • Lowercase am/pm
  • Single dash separator between start and end time

Date Validation Rules (Mandatory)

Every game date MUST be validated before output.

Steps:

  1. Parse the actual calendar date
  2. Compute the correct weekday
  3. Confirm displayed weekday matches actual weekday
  4. If mismatch: correct the weekday automatically, do not flag as an error

Tentative Practice Date Rules

Generate practice dates per game row.

Rules:

  • Include only practices that fall BEFORE the game date
  • Include only configured practice weekdays (from core_defaults.md)
  • Exclude the game date itself
  • Exclude any practices after the game date
  • Start from season start date β€” do not generate practices before it

Game 1 Edge Case

For the first game: include all practices between season start date and game date that fall on configured weekdays. If zero practices exist before Game 1, write: No practices before first game

Practice Date Format

Required format:

Mon May 25th - 5:30 - 6:45pm
Wed May 27th - 5:30 - 6:45pm

Rules:

  • One practice per line inside the same cell
  • Chronological order
  • Same weekday/month/ordinal formatting rules as game dates

Snack & Drink Assignment Rules

Source: Roster from core_defaults.md

Constraints

  • Snack and Drink must both be assigned every game
  • Snack and Drink cannot be the same last name in the same week
  • Must use two different families per game

Rotation

  • Prefer even distribution across the season
  • Minimize repeats before reuse
  • Allow reuse only after most roster names have been used
  • Assignments should appear randomized but satisfy all constraints above

Manual Override

If user specifies snack/drink for a game, use that β€” do not apply rotation logic for that row.


CSV Rules

  • Wrap all multiline cells in double quotes
  • Separate multiple practice dates within a cell using \n (LF only)
  • Preserve commas inside quoted fields
  • Maintain column order

Example multiline cell:

"Mon May 25th - 5:30 - 6:45pm\nWed May 27th - 5:30 - 6:45pm"

Validation Checklist (Run Before Every Output)

Schedule

  • Dates sorted chronologically
  • Weekdays validated against actual calendar
  • Times extracted correctly
  • Opponent extraction correct
  • Our team name removed from matchup

Practice Dates

  • Practice dates occur before game
  • Only configured weekdays included
  • No practices before season start date
  • No duplicate practice dates
  • Game 1 edge case handled

Snack / Drink

  • Snack assigned every game
  • Drink assigned every game
  • Snack β‰  Drink same week
  • Balanced rotation used
  • No accidental duplicates

Output

  • Correct column order
  • Correct date formatting with ordinal suffixes
  • Google Docs compatible
  • CSV compatible if requested
  • No hallucinated games or dates

What To Avoid

  • Do not invent schedule data
  • Do not guess missing fields
  • Do not generate fake opponents
  • Do not assume practice dates without confirmed season start date
  • Do not use incorrect weekdays
  • Do not leave malformed CSV rows
  • Do not use emojis in table output
  • Do not add commentary inside the table

Preferred Behavior

When uncertain: ask before generating. Validate before output. Prioritize accuracy over speed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment