Loading...
Loading...
Submit a kid-facing English content PR to the football-english repo (zxkane/football-english). Use this whenever the user asks to "submit this week's quiz", "publish a weekly quiz", "submit a daily reading", "add today's reading", "publish a daily article", "open a daily PR", "open a quiz PR", or hands over essay paragraphs (with optional KET/PET points, vocabulary, audio, image, questions) and expects them to land in the kid-facing site. The repo publishes two kinds of content — weekly quizzes (essay + 3-20 graded questions, one per ISO week) and daily readings (essay + TTS audio + image + structured KET/PET points + optional 0-3 small questions, irregular cadence). This skill picks the right shape, writes the JSON, validates it, and opens the PR end-to-end. Trigger this skill even if the user doesn't use the words "quiz", "daily", or "PR" — any handover of essay paragraphs intended for this repo qualifies.
npx skill4agent add zxkane/football-english submit-contentCONTRIBUTING.mdcontent/schema.json| Kind | When | File | URL |
|---|---|---|---|
| weekly quiz | Once per ISO week. Essay + 3-20 graded questions. Tests the kid's reading comprehension. | | |
| daily reading | Irregular cadence (not strictly daily). Essay (120-220 words, 3-4 paragraphs) + TTS audio + image + structured KET/PET points + optional 0-3 small questions. Input-focused — listen, read, learn a point. | | |
references/weekly.mdreferences/daily.mdgit clone https://github.com/zxkane/football-english.git
cd football-english
npm installmainassets/npm run validate-contentscripts/open-pr.sh <kind> ...weekpublishedAt# 1. Identify the ISO week (e.g. 2026-W19) and its Sunday.
bash scripts/iso-sunday.sh 2026-W19 # → 2026-05-10
# 2. Branch.
git checkout -b quiz/2026-W19
# 3. Start the JSON from the template.
cp <skill-dir>/assets/quiz-template.json content/quizzes/2026-W19.json
# Then fill it in. See references/weekly.md for every field's
# constraint, the question-type table, the vocabulary translation rule,
# and the highlight/inline-image syntax.
# 4. Optionally drop assets:
# - audio: public/audio/2026-W19/<slug>.mp3 (≤ 5 MB)
# - image: public/images/2026-W19/<slug>.webp (≤ 1 MB)
# 5. Validate, then open the PR.
npm run validate-content
bash <skill-dir>/scripts/open-pr.sh quiz 2026-W19 "A Day at the Beach"quiz/<week>quiz: <week> <title>open-pr.shacceptableAnswersreferences/weekly.md<date>-<slug>.jsondateslugdateslug# 1. Pick the date (today, usually) and a slug. Slug is lowercase,
# digits, hyphens; 5-60 chars. The whole filename is date-slug.
DATE=2026-05-10
SLUG=mbappe-final-2018
# 2. Branch.
git checkout -b daily/${DATE}-${SLUG}
# 3. Start the JSON from the template.
cp <skill-dir>/assets/daily-template.json content/dailies/${DATE}-${SLUG}.json
# Then fill it in. See references/daily.md for every field's constraint,
# the ketPetPoints[] structure (point + explanation + exampleFromEssay
# + translations.zh), and the optional 0-3 questions block.
# 4. Drop assets — strongly recommended for daily readings since TTS
# audio + image are the main hook:
# - audio: public/audio/daily/<date>-<slug>/<slug>.mp3 (≤ 5 MB)
# - image: public/images/daily/<date>-<slug>/<file> (≤ 1 MB each)
# 5. Validate, then open the PR.
npm run validate-content
bash <skill-dir>/scripts/open-pr.sh daily ${DATE}-${SLUG} "Mbappé and the 2018 Final"daily/<date>-<slug>daily: <date> <title>open-pr.shdateslugketPetPoints[]questions[0..3]public/{audio,images}/daily/references/daily.md==phrase====…==<mark>paragraphs[]{text, image?}translations.zhessay.vocabularytranslations.zhmeaning| English | Good zh | Bad zh |
|---|---|---|
| | |
| | |
| | |
| Form | Use when | Constraint |
|---|---|---|
Local path under | Always, when you have the asset on hand | Path must equal what the kind requires (see workflows above); validator checks file exists; audio ≤ 5 MB; image ≤ 1 MB |
| Asset already lives elsewhere | Must be |
nullvocabularyopen-pr.shreferences/weekly.mdacceptableAnswersreferences/daily.mddateslugketPetPoints[]public/{audio,images}/daily/npm run validate-contentnpm installgh pr creategh auth loginskills/submit-content/
├── SKILL.md # this file (entry point + decision tree)
├── README.md # install instructions for skills.sh
├── assets/
│ ├── quiz-template.json # weekly-quiz scaffold
│ └── daily-template.json # daily-reading scaffold
├── scripts/
│ ├── iso-sunday.sh # YYYY-Www → Sunday date (weekly only)
│ └── open-pr.sh # parameterized: open-pr.sh <kind> ...
├── references/
│ ├── weekly.md # full weekly-quiz schema reference
│ └── daily.md # full daily-reading schema reference
└── evals/
└── evals.json # documented test prompts (no auto-runner)