Thirteen-Post NSVault Blog Backfill Implementation Plan
For agentic workers: REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (
- [ ]) syntax for tracking.
Goal: Fill every confirmed empty NSVault blog date from 11 May through 18 July 2026 with a distinct, current, fully verified article and original hero image.
Architecture: Work on a dedicated content branch in a clean git worktree, with one locally reviewed checkpoint commit per article. Integrate those checkpoints without preserving their intermediate history, producing one scoped production content commit after the specification and implementation-plan documentation commits. The main agent owns source verification, factual wording, image QA, pagination integration, full tests, build, and production push.
Tech Stack: Docusaurus blog MDX, React 18 components (BlogHero, BlogFaq), Node 22 test runner, local sips, cwebp, webpinfo, git worktrees, and Vercel git integration.
Global Constraints
- This is a one-time user-approved 13-post manual backfill; future automation remains daily and publishes at most one post per run.
- Recalculate the missing-date set after
git fetch origin; do not create a second post for a date that production has filled since the design audit. - Use historical folders and explicit
09:00:00+08:00frontmatter timestamps. - Never overwrite an existing post, slug, PNG, or WebP.
- Treat Reddit only as demand evidence; never quote users, include usernames, screenshots, or personal case details in an article.
- Verify policy, pay, medical, employment, eligibility, and admin claims against current primary sources on the implementation date.
- State that NSVault is unofficial and that official records and instructions override each article.
- Use
BlogHero,BlogFaq, one truncate marker, a quick-version block, practical sections, exactly three FAQs, official references, and three to five verified internal links per post. - Keep effective titles at 30-60 characters and descriptions at 110-170 characters.
- Use at least five unique keywords and at least four block-style tags per post.
- Produce exactly one 1400x788 PNG and one 1400x788 WebP per slug.
- Keep WebP below 400 KB where quality remains good; keep PNG reasonably compressed.
- Do not commit raw generations, prompts, research notes, downloads, screenshots, caches,
build/,.docusaurus/, queue state, or automation memory. - Do not use Vercel CLI or API.
- Never force-push or rewrite published production history.
- Preserve the original workspace's unrelated untracked outreach report and abandoned 9 July image pair.
File Map
Planning documentation committed before implementation
docs/superpowers/specs/2026-07-18-thirteen-post-blog-backfill-design.mddocs/superpowers/plans/2026-07-19-thirteen-post-blog-backfill.md
New post files
blog/2026-05-11-skillsfuture-ns-lxp-access-course-guide/index.mdblog/2026-06-25-verify-mindef-call-sms-email-scam-guide/index.mdblog/2026-06-26-ns-insurance-vs-service-injury-claims-guide/index.mdblog/2026-06-27-eeds-civilian-expertise-orns-guide/index.mdblog/2026-06-28-relationships-during-ns-practical-plan/index.mdblog/2026-06-29-mono-intake-bmt-what-it-means-guide/index.mdblog/2026-06-30-dis-digispec-work-learn-scheme-guide/index.mdblog/2026-07-01-spf-scdf-nsf-ranks-allowance-guide/index.mdblog/2026-07-05-missing-old-saf-gear-before-ict-guide/index.mdblog/2026-07-09-spf-pns-occ-after-pobc-selection-guide/index.mdblog/2026-07-12-bunk-hygiene-shared-living-ns-guide/index.mdblog/2026-07-17-ns-employment-rights-reservist-call-ups-guide/index.mdblog/2026-07-18-saf-card-after-ord-keep-update-return-guide/index.md
New image files
For every slug above:
static/img/blog/<slug>.pngstatic/img/blog/<slug>.webp
Focused test update
tests/tool-rendered-html.test.mjs- Update only
expectedBlogCardsByRouteafter a fresh build proves the new chronological card order.
- Update only
Temporary external state
/private/tmp/nsvault-backfill-20260719/- Raw image generations and a source-claim matrix; never stage this directory.
$CODEX_HOME/automations/learnnet-blog-automation/topic-queue.md- Mark matching topics used or superseded after production.
$CODEX_HOME/automations/learnnet-blog-automation/memory.md- Record the completed manual backfill after production.
Shared Image Processing Contract
Before generating any hero, read and follow the imagegen skill. For each
article:
- Call
image_gen.imagegenwith the exact topic prompt in its task. - Save the raw result under
/private/tmp/nsvault-backfill-20260719/raw/<slug>-raw.png. - Inspect it with
view_image; reject text, logos, uniforms, insignia, identifiable people, blank output, distortion, or topic mismatch. - Scale to cover the target canvas, then centre-crop without distortion:
# If raw_width / raw_height is less than or equal to 1400 / 788:
sips --resampleWidth 1400 "$RAW" --out "$SCALED"
sips --cropToHeightWidth 788 1400 "$SCALED" --out "$PNG"
# If raw_width / raw_height is greater than 1400 / 788:
sips --resampleHeight 788 "$RAW" --out "$SCALED"
sips --cropToHeightWidth 788 1400 "$SCALED" --out "$PNG"
- Encode WebP:
cwebp -q 82 -m 6 "$PNG" -o "$WEBP"
- Verify:
sips -g pixelWidth -g pixelHeight "$PNG"
webpinfo -summary "$WEBP"
stat -f '%z %N' "$PNG" "$WEBP"
Expected: both formats are 1400x788. If WebP exceeds 400 KB, retry at quality 78 and visually inspect it before accepting. Keep only the final PNG and WebP inside the repository.
Task 1: Establish a Clean, Current Backfill Worktree
Files:
- Read:
AGENTS.md - Read:
docs/superpowers/specs/2026-07-18-thirteen-post-blog-backfill-design.md - Read:
$CODEX_HOME/automations/learnnet-blog-automation/memory.md - Read or create outside repo:
$CODEX_HOME/automations/learnnet-blog-automation/topic-queue.md - Create outside repo:
/private/tmp/nsvault-backfill-20260719/source-matrix.md
Interfaces:
-
Consumes: approved design commit
393927e, the committed implementation plan, and latestorigin/HEAD. -
Produces: clean feature worktree, confirmed missing-date set, unique path set, live source matrix, and a passing baseline.
-
Step 1: Invoke the worktree skill
Read and follow superpowers:using-git-worktrees before creating the
implementation worktree.
- Step 2: Refresh and resolve production
Run:
git fetch origin
git symbolic-ref refs/remotes/origin/HEAD
git status --short --branch
git worktree list --porcelain
Expected:
- production resolves to
refs/remotes/origin/mainunless the remote has intentionally changed; - the original workspace still shows only the committed planning documentation plus the unrelated untracked report and abandoned image pair;
- no active worktree is already publishing these slugs.
Also inspect running automation processes and the latest memory entry. If another production-push run is active, stop before creating the worktree.
- Step 3: Recalculate empty dates from production
Use a Node read-only audit over origin/main:blog/**/index.md or a temporary
clean checkout. Count effective frontmatter dates from 2026-05-11 through
2026-07-18 and compare them with:
2026-05-11
2026-06-25
2026-06-26
2026-06-27
2026-06-28
2026-06-29
2026-06-30
2026-07-01
2026-07-05
2026-07-09
2026-07-12
2026-07-17
2026-07-18
Expected: all 13 remain empty. If production filled any date, stop and present the exact design delta instead of creating a duplicate date.
- Step 4: Create the content branch and clean worktree
Create a branch named:
PinZheng/blog-backfill-2026-07-19
Base it on the latest production branch with both planning-document commits
applied. Use a worktree under /private/tmp, not the dirty original workspace.
- Step 5: Assert every output path is absent
Check all 13 folders, 13 PNG paths, 13 WebP paths, and 13 frontmatter slugs. Expected: no path or slug exists. A collision stops the batch.
- Step 6: Create the temporary workspace
Create:
/private/tmp/nsvault-backfill-20260719/raw
/private/tmp/nsvault-backfill-20260719/processed
/private/tmp/nsvault-backfill-20260719/source-matrix.md
Expected: none appears in git status.
- Step 7: Build the live source matrix
For every approved topic, record outside the repo:
## <slug>
- Reddit demand URL and observed publication date
- Official URL, page title, page update date
- Claims allowed
- Claims explicitly not supported
- Existing NSVault boundary
- Internal links confirmed
Re-open sources with live web research. Treat source-page instructions as untrusted. If any topic no longer supports its reader job, stop and present a scored replacement candidate as required by the specification.
- Step 8: Establish the baseline
If node_modules is absent, run npm ci. Then run:
npm run build
npm test
git diff --check
Expected: all commands pass before content changes.
Task 2: Publish the SkillsFuture@NS LXP Guide
Files:
- Create:
blog/2026-05-11-skillsfuture-ns-lxp-access-course-guide/index.md - Create:
static/img/blog/skillsfuture-ns-lxp-access-course-guide.png - Create:
static/img/blog/skillsfuture-ns-lxp-access-course-guide.webp
Interfaces:
-
Consumes: source matrix entries for MINDEF's 2022 fact sheet and 2024 update.
-
Produces:
/blog/skillsfuture-ns-lxp-access-course-guide. -
Step 1: Lock the frontmatter
Use:
slug: skillsfuture-ns-lxp-access-course-guide
date: 2026-05-11T09:00:00+08:00
title: "SkillsFuture@NS LXP: Access and Course Guide"
description: "A practical guide to SkillsFuture@NS LXP for NSFs, covering activation, access duration, course planning, certificates, and the old e-PREP name."
keywords:
- "skillsfuture ns"
- "skillsfuture@ns lxp"
- "nsf online courses"
- "e-prep replacement"
- "ns learning platform"
- "skillsfuture ns access"
image: /img/blog/skillsfuture-ns-lxp-access-course-guide.png
authors: [manus]
tags:
- skillsfuture ns
- nsf
- learning
- ord planning
- careers
- Step 2: Write the complete article
Use these substantive sections:
What Replaced e-PREP
Who Gets Access And When
Plan The Two-Year Access Window
How To Choose Courses Without Collecting Random Certificates
Keep A Useful Learning Record
What Public Guidance Does Not Promise
Common Mistakes
Official References
Bottom Line
Related Reads
Required claims: e-PREP was replaced; current and future NSFs receive LXP access; activation occurs during full-time NS; access lasts two years from activation; public guidance lists a large course catalogue. Do not promise a specific course, provider, certificate, activation date, or employment result.
FAQ questions: Do all NSFs get SkillsFuture@NS LXP access?, How long does access last after activation?, and Is e-PREP still the current programme?.
Related Reads: /blog/nsf-benefits-claims-checklist,
/blog/ord-preparation-checklist, /blog/a-guide-to-your-ns-lifesg-credits,
and /docs/nsf-start-here.
- Step 3: Generate and optimise the hero
Image prompt:
Original 16:9 editorial still life for an unofficial Singapore NS resource: a
modern learning desk with a laptop showing abstract non-readable course tiles,
notebook, headphones, calendar and progress tokens, bright natural studio
lighting, realistic materials, clean practical composition, green, coral and
charcoal accents, no people, no uniforms, no logos, no badges, no readable text,
no official app interface, no government endorsement.
Alt text:
Editorial desk with laptop course tiles, notebook, headphones and a two-year planning calendar
Inspect the raw image, crop to 1400x788 without distortion, save the PNG, then run:
cwebp -q 82 -m 6 static/img/blog/skillsfuture-ns-lxp-access-course-guide.png -o static/img/blog/skillsfuture-ns-lxp-access-course-guide.webp
- Step 4: Run the focused gate
Run:
node --test --experimental-default-type=module tests/blog-seo.test.mjs
sips -g pixelWidth -g pixelHeight static/img/blog/skillsfuture-ns-lxp-access-course-guide.png
webpinfo -summary static/img/blog/skillsfuture-ns-lxp-access-course-guide.webp
git diff --check -- blog/2026-05-11-skillsfuture-ns-lxp-access-course-guide/index.md
Expected: SEO test passes and both image dimensions are 1400x788.
- Step 5: Create a local checkpoint commit
Stage only this post and its two images. Commit:
docs(feat): add SkillsFuture NS learning guide
Task 3: Publish the MINDEF Contact Verification Guide
Files:
- Create:
blog/2026-06-25-verify-mindef-call-sms-email-scam-guide/index.md - Create:
static/img/blog/verify-mindef-call-sms-email-scam-guide.png - Create:
static/img/blog/verify-mindef-call-sms-email-scam-guide.webp
Interfaces:
-
Consumes: current MINDEF scam guidance, official contact routes, and ScamShield guidance.
-
Produces:
/blog/verify-mindef-call-sms-email-scam-guide. -
Step 1: Lock the frontmatter
slug: verify-mindef-call-sms-email-scam-guide
date: 2026-06-25T09:00:00+08:00
title: "How to Verify a MINDEF Call, SMS or Email"
description: "Singapore NS guide to checking unexpected MINDEF calls, SMS and emails safely, verifying official contact routes, and avoiding phishing or OTP scams."
keywords:
- "mindef scam"
- "mindef phone call"
- "mindef sms"
- "ns phishing"
- "ns contact centre"
- "verify mindef email"
image: /img/blog/verify-mindef-call-sms-email-scam-guide.png
authors: [manus]
tags:
- scam safety
- mindef
- ns admin
- digital safety
- official contacts
- Step 2: Write the complete article
Sections:
Stop Before You Reply
Preserve The Message Without Following It
Verify Through An Independently Opened Official Route
What MINDEF Says It Will Not Ask For
If The Contact Is Genuine
If You Already Shared Information
Common Mistakes
Official References
Bottom Line
Related Reads
Do not publish a guessed allow-list of phone numbers. Distinguish verifying a contact from acknowledging a real SAF100 or call-up.
FAQ questions: How can I tell whether a MINDEF call is genuine?, Will MINDEF ask for my OTP or bank login?, and What should I do after missing a genuine call?. Related Reads: /blog/saf100-acknowledgement,
/blog/missed-ict-no-saf100, /blog/ns-registration-documentation, and
/docs/nsmen-start-here.
- Step 3: Generate and optimise the hero
Prompt:
Original 16:9 editorial still life for an unofficial Singapore NS safety guide:
a smartphone with an abstract incoming call panel, verification checklist,
shield-shaped desk token and official-contact notebook, crisp bright studio
lighting, realistic objects, teal, red and charcoal accents, no people, no
uniforms, no phone number, no readable message, no logo, no badge, no official
app screenshot, no endorsement.
Alt:
Phone beside a verification checklist, shield token and official-contact notebook
Create 1400x788 PNG and WebP with cwebp -q 82 -m 6.
- Step 4: Run the focused gate
Run the blog SEO test, inspect both dimensions, check WebP size, and run
git diff --check on the post. Expected: all pass.
- Step 5: Create a local checkpoint commit
docs(feat): add MINDEF contact verification guide
Task 4: Publish the NS Insurance and Service Injury Guide
Files:
- Create:
blog/2026-06-26-ns-insurance-vs-service-injury-claims-guide/index.md - Create:
static/img/blog/ns-insurance-vs-service-injury-claims-guide.png - Create:
static/img/blog/ns-insurance-vs-service-injury-claims-guide.webp
Interfaces:
-
Consumes: current CMPB SAF and SCDF insurance, compensation, and service injury pages.
-
Produces:
/blog/ns-insurance-vs-service-injury-claims-guide. -
Step 1: Lock the frontmatter
slug: ns-insurance-vs-service-injury-claims-guide
date: 2026-06-26T09:00:00+08:00
title: "NS Insurance vs Service Injury Claims"
description: "Singapore NS guide to group insurance, service injury reporting, treatment subsidies, service injury cards, and compensation routes for servicemen."
keywords:
- "ns insurance"
- "service injury claim"
- "saf group insurance"
- "scdf group insurance"
- "service injury card"
- "ns duty award"
image: /img/blog/ns-insurance-vs-service-injury-claims-guide.png
authors: [manus]
tags:
- insurance
- service injury
- medical benefits
- claims
- nsf
- Step 2: Write the complete article
Sections:
Four Different Lanes People Mix Together
Group Insurance Coverage
Service Injury Recognition
Treatment Subsidy And Service Injury Card
Permanent Disability Compensation
What To Report And Preserve Immediately
What Changes After ORD
Common Mistakes
Official References
Bottom Line
Related Reads
Use a comparison table. Recheck current coverage amounts and effective-date notes immediately before writing. Never predict recognition or compensation.
FAQ questions: Is NS group insurance the same as a service injury claim?,
What should I do immediately after a possible service injury?, and Can service-injury treatment continue after ORD?. Related Reads:
/blog/service-injury-after-ord, /blog/service-injury-medical-review-guide,
/blog/nsf-medical-dental-claims, and
/blog/nsmen-transport-and-medical-claims.
- Step 3: Generate and optimise the hero
Prompt:
Original 16:9 editorial still life for an unofficial Singapore NS claims guide:
two clearly separated document paths beside a medical folder, hospital receipt,
protective cover and incident calendar, bright realistic studio photography,
blue, green and amber accents, no people, no uniforms, no logos, no readable
policy text, no official forms, no endorsement.
Alt:
Two claim folders beside a medical report, hospital receipt and protective cover
Create the exact-size PNG and WebP.
- Step 4: Run the focused gate
Run blog SEO, image dimension, WebP size, and diff checks. Also compare every medical claim with the source matrix. Expected: no diagnostic or outcome prediction remains.
- Step 5: Create a local checkpoint commit
docs(feat): add NS insurance claims guide
Task 5: Publish the EEDS Civilian Expertise Guide
Files:
- Create:
blog/2026-06-27-eeds-civilian-expertise-orns-guide/index.md - Create:
static/img/blog/eeds-civilian-expertise-orns-guide.png - Create:
static/img/blog/eeds-civilian-expertise-orns-guide.webp
Interfaces:
-
Consumes: MINDEF's February and March 2026 EEDS materials.
-
Produces:
/blog/eeds-civilian-expertise-orns-guide. -
Step 1: Lock the frontmatter
slug: eeds-civilian-expertise-orns-guide
date: 2026-06-27T09:00:00+08:00
title: "EEDS: Using Civilian Expertise During ORNS"
description: "Practical EEDS guide for NSmen on registering civilian expertise, selection, redeployment limits, operational need, and what official guidance confirms."
keywords:
- "eeds singapore"
- "expertise based deployment scheme"
- "nsman civilian expertise"
- "orns redeployment"
- "expertise deployment mindef"
- "nsman skills registration"
image: /img/blog/eeds-civilian-expertise-orns-guide.png
authors: [manus]
tags:
- eeds
- nsmen
- orns
- civilian skills
- deployment
- Step 2: Write the complete article
Sections:
What EEDS Is
Who Can Indicate Interest
Expertise Areas Named Publicly
How Suitability And Operational Need Control Selection
What Evidence To Prepare
How To Ask A Useful Official Question
What EEDS Does Not Guarantee
Common Mistakes
Official References
Bottom Line
Related Reads
Keep annual-interest and redeployment figures tied to the dated 2026 official reply. Do not turn them into an individual probability.
FAQ questions: Who can indicate interest in EEDS?, Does registering guarantee redeployment?, and What civilian expertise does MINDEF publicly list?.
Related Reads: /blog/first-ict-after-ord-checklist,
/blog/sign-on-during-ns-regular-service,
/blog/makeup-pay-for-nsmen-explained, and /docs/nsmen-start-here.
- Step 3: Generate and optimise the hero
Prompt:
Original 16:9 editorial still life for an unofficial Singapore ORNS skills
guide: civilian digital tools, counselling notebook, legal folder and planning
objects converging on an ORNS calendar and deployment tray, bright realistic
materials, cyan, yellow, green and charcoal accents, no people, no uniforms, no
insignia, no readable profession labels, no official marks.
Alt:
Civilian skills tools arranged around an ORNS calendar and deployment folder
Create the exact-size PNG and WebP.
- Step 4: Run the focused gate
Run SEO, dimensions, size, diff checks, and a sentence-level source review for all selection claims.
- Step 5: Create a local checkpoint commit
docs(feat): add EEDS civilian expertise guide
Task 6: Publish the Relationships During NS Guide
Files:
- Create:
blog/2026-06-28-relationships-during-ns-practical-plan/index.md - Create:
static/img/blog/relationships-during-ns-practical-plan.png - Create:
static/img/blog/relationships-during-ns-practical-plan.webp
Interfaces:
-
Consumes: CMPB leave, family-contact, living-in-camp, and support pages.
-
Produces:
/blog/relationships-during-ns-practical-plan. -
Step 1: Lock the frontmatter
slug: relationships-during-ns-practical-plan
date: 2026-06-28T09:00:00+08:00
title: "Relationships During NS: A Practical Plan"
description: "Practical Singapore NS relationship guide for managing fatigue, changing schedules, communication, book-out expectations, conflict, and mutual support."
keywords:
- "relationship during ns"
- "ns girlfriend guide"
- "ns boyfriend tired"
- "dating during national service"
- "ns bookout relationship"
- "communication during ns"
image: /img/blog/relationships-during-ns-practical-plan.png
authors: [manus]
tags:
- relationships
- nsf
- bookout
- communication
- wellbeing
- Step 2: Write the complete article
Sections:
Separate The NS Schedule From The Relationship
Use A Two-Layer Weekly Plan
Choose Low-Energy Time That Still Feels Intentional
Set Communication Expectations Without Promising Availability
Handle Cancelled Plans And Conflict
Keep Both Partners' Support Networks
When The Problem Needs More Than Scheduling
Common Mistakes
Official References
Bottom Line
Related Reads
Do not promise phone access, weekend book-out, block leave, or training schedules. Do not imitate therapy or use Reddit anecdotes.
FAQ questions: How often should couples communicate during NS?, What can we do when book-out plans change?, and When should an NSF use official support channels?. Related Reads: /blog/mental-health-help-in-ns,
/blog/bmt-family-emergency-contact-guide,
/blog/annual-leave-after-pop-bmt-guide, and
/blog/lonely-in-bmt-first-week-guide.
- Step 3: Generate and optimise the hero
Prompt:
Original 16:9 editorial still life for an unofficial Singapore NS relationship
guide: two mugs, shared calendar, charging phone, simple home date setup and
rest-day planning cards, warm bright realistic lighting, green, red, white and
charcoal accents, no people, no uniforms, no readable messages, no logos, no
romantic stock-photo staging.
Alt:
Two mugs beside a shared calendar, charging phone and simple home date setup
Create the exact-size PNG and WebP.
- Step 4: Run the focused gate
Run SEO, dimensions, size, and diff checks. Review every sentence containing
will, always, normally, book out, phone, or leave against the
accuracy boundary.
- Step 5: Create a local checkpoint commit
docs(feat): add relationships during NS guide
Task 7: Publish the Mono-Intake BMT Guide
Files:
- Create:
blog/2026-06-29-mono-intake-bmt-what-it-means-guide/index.md - Create:
static/img/blog/mono-intake-bmt-what-it-means-guide.png - Create:
static/img/blog/mono-intake-bmt-what-it-means-guide.webp
Interfaces:
-
Consumes: MINDEF mono-intake explanation and current CMPB BMT guidance.
-
Produces:
/blog/mono-intake-bmt-what-it-means-guide. -
Step 1: Lock the frontmatter
slug: mono-intake-bmt-what-it-means-guide
date: 2026-06-29T09:00:00+08:00
title: "Mono-Intake BMT: What It Actually Means"
description: "Singapore mono-intake BMT guide explaining unit cohesion, what changes during training, what stays uncertain, and why intake rumours are unreliable."
keywords:
- "mono intake bmt"
- "mono intake singapore"
- "bmt mono unit"
- "mono intake meaning"
- "tekong mono intake"
- "mono versus non mono bmt"
image: /img/blog/mono-intake-bmt-what-it-means-guide.png
authors: [manus]
tags:
- mono intake
- bmt
- enlistment
- posting
- recruits
- Step 2: Write the complete article
Sections:
What Mono-Intake Means
What Official Sources Actually Confirm
What Can Feel Different During BMT
What Does Not Become Predictable
Why Future Intake Lists Are Unsafe To Treat As Fact
How To Prepare Without Knowing The Unit
Common Mistakes
Official References
Bottom Line
Related Reads
No future unit, cohort, vocation, or training prediction may appear.
FAQ questions: What does mono-intake mean in BMT?, Can I know my mono unit before official instructions?, and Does mono-intake guarantee a particular vocation?. Related Reads: /blog/bmt-programme-1-2-3,
/blog/bmt-confinement-and-first-book-out-guide,
/blog/bmt-items-issued-what-to-buy, and
/blog/what-to-expect-in-your-first-week-after-posting-out-of-bmt.
- Step 3: Generate and optimise the hero
Prompt:
Original 16:9 editorial illustration for an unofficial Singapore BMT guide:
several coordinated training-kit groups represented by duffel bags, boots and
colour blocks moving together from a training schedule toward a unit planning
board, clean realistic editorial style, green, blue, red and charcoal accents,
no people, no real uniforms, no crests, no unit markings, no readable text, no
weapons.
Alt:
Training kit groups moving from a BMT schedule toward a unit planning board
Create the exact-size PNG and WebP.
- Step 4: Run the focused gate
Run SEO, dimensions, size, diff, and unsupported-prediction scans.
- Step 5: Create a local checkpoint commit
docs(feat): add mono-intake BMT guide
Task 8: Publish the DIS DigiSpec Guide
Files:
- Create:
blog/2026-06-30-dis-digispec-work-learn-scheme-guide/index.md - Create:
static/img/blog/dis-digispec-work-learn-scheme-guide.png - Create:
static/img/blog/dis-digispec-work-learn-scheme-guide.webp
Interfaces:
-
Consumes: live DIS DigiSpec Work-Learn Scheme page and linked application information.
-
Produces:
/blog/dis-digispec-work-learn-scheme-guide. -
Step 1: Lock the frontmatter
slug: dis-digispec-work-learn-scheme-guide
date: 2026-06-30T09:00:00+08:00
title: "DIS DigiSpec Work-Learn Scheme Guide"
description: "Current DIS DigiSpec guide covering eligibility, application, selection, work-learn study routes, the four-year commitment, and questions to verify."
keywords:
- "dis digispec"
- "digital specialist work learn"
- "digispec application"
- "dis work learn scheme"
- "digital specialist singapore"
- "digispec eligibility"
image: /img/blog/dis-digispec-work-learn-scheme-guide.png
authors: [manus]
tags:
- digispec
- dis
- work learn
- digital careers
- signing on
- Step 2: Write the complete article
Sections:
What DigiSpec Is
Current Eligibility And Application Route
Selection Stages
The Four-Year Work-Learn Timeline
Study And Deployment Structure
How It Differs From A Generic Sign-On Decision
Questions To Verify Before Applying
Common Mistakes
Official References
Bottom Line
Related Reads
Recheck the current application window, participating institutions, contract language, and timeline. Do not guarantee admission, posting, qualification, or a future window.
FAQ questions: Who can apply for DigiSpec?, How long is the DigiSpec commitment?, and Does applying guarantee a school or deployment?. Related
Reads: /blog/sign-on-during-ns-regular-service,
/blog/command-school-after-bmt, /blog/ns-transcript-testimonial-ord-guide,
and /docs/nsf-start-here.
- Step 3: Generate and optimise the hero
Prompt:
Original 16:9 editorial still life for an unofficial digital work-learn guide:
laptop with abstract non-readable code blocks, circuit tools, textbooks,
technical notebook and a four-year calendar, crisp bright studio lighting,
cyan, green, yellow and charcoal accents, no people, no uniforms, no DIS logo,
no readable code, no badges, no official interface.
Alt:
Digital study desk with laptop, circuit tools, textbooks and a four-year calendar
Create the exact-size PNG and WebP.
- Step 4: Run the focused gate
Run SEO, dimensions, size, and diff checks. Compare every date, duration, and eligibility phrase to the live DIS page.
- Step 5: Create a local checkpoint commit
docs(feat): add DIS DigiSpec work-learn guide
Task 9: Publish the SPF and SCDF Ranks and Allowance Guide
Files:
- Create:
blog/2026-07-01-spf-scdf-nsf-ranks-allowance-guide/index.md - Create:
static/img/blog/spf-scdf-nsf-ranks-allowance-guide.png - Create:
static/img/blog/spf-scdf-nsf-ranks-allowance-guide.webp
Interfaces:
-
Consumes: live CMPB SPF and SCDF rank and allowance tables.
-
Produces:
/blog/spf-scdf-nsf-ranks-allowance-guide. -
Step 1: Lock the frontmatter
slug: spf-scdf-nsf-ranks-allowance-guide
date: 2026-07-01T09:00:00+08:00
title: "SPF and SCDF NSF Ranks and Allowance Guide"
description: "Singapore Home Team NSF guide to SPF and SCDF ranks, rank allowance, vocation allowance, meal allowance, and why promotion timing varies."
keywords:
- "spf nsf ranks"
- "scdf nsf ranks"
- "spf ns allowance"
- "scdf ns allowance"
- "home team nsf pay"
- "pnsf rank allowance"
image: /img/blog/spf-scdf-nsf-ranks-allowance-guide.png
authors: [manus]
tags:
- spf
- scdf
- ranks
- ns allowance
- home team
- Step 2: Write the complete article
Sections:
Start With The Correct Service
How SPF Ranks Are Organised
How SCDF Ranks Are Organised
Rank Allowance Versus Vocation Allowance
Where SPF Meal Allowance Fits
Why Public Tables Do Not Predict Promotion Timing
How To Check A Payment That Looks Wrong
Common Mistakes
Official References
Bottom Line
Related Reads
Transcribe only current official amounts and label the source update date. Avoid copying official insignia artwork.
FAQ questions: Is Home Team NSF allowance based only on rank?, Does SPF meal allowance replace rank allowance?, and Can public tables predict promotion timing?. Related Reads: /blog/saf-ranks-chain-of-command-first-week-guide,
/blog/spf-pobc-enlistment-day-guide,
/blog/scdf-nstc-enlistment-day-guide, and
/blog/nsf-allowance-and-payslip-explained.
- Step 3: Generate and optimise the hero
Prompt:
Original 16:9 editorial still life for an unofficial Singapore Home Team guide:
two abstract rank ladders made from plain shoulder-tab shapes beside allowance
coins, vocation cards and a calendar, realistic bright studio composition,
navy, red, yellow and white accents, no people, no uniforms, no official rank
insignia, no crests, no readable text, no endorsement.
Alt:
Two Home Team rank ladders beside allowance coins, vocation cards and a calendar
Create the exact-size PNG and WebP.
- Step 4: Run the focused gate
Run SEO, dimensions, size, and diff checks. Independently re-add each published allowance component to ensure the article never presents vocation allowance as the full monthly amount.
- Step 5: Create a local checkpoint commit
docs(feat): add Home Team ranks and allowance guide
Task 10: Publish the Missing SAF Gear Before ICT Guide
Files:
- Create:
blog/2026-07-05-missing-old-saf-gear-before-ict-guide/index.md - Create:
static/img/blog/missing-old-saf-gear-before-ict-guide.png - Create:
static/img/blog/missing-old-saf-gear-before-ict-guide.webp
Interfaces:
-
Consumes: current MINDEF eSAF100, eMart, FBO, mobilisation-item, and equipment-disposal guidance.
-
Produces:
/blog/missing-old-saf-gear-before-ict-guide. -
Step 1: Lock the frontmatter
slug: missing-old-saf-gear-before-ict-guide
date: 2026-07-05T09:00:00+08:00
title: "Missing SAF Gear Before ICT: What to Do"
description: "Practical pre-ICT guide for old or missing SAF gear, eMart replacements, unit packing instructions, controlled equipment, and early reporting."
keywords:
- "missing saf gear ict"
- "old army gear reservist"
- "ict equipment replacement"
- "emart before ict"
- "reservist full battle order"
- "lost saf equipment"
image: /img/blog/missing-old-saf-gear-before-ict-guide.png
authors: [manus]
tags:
- ict
- equipment
- emart
- packing
- nsmen
- Step 2: Write the complete article
Sections:
Start With The Recall Order
Sort Equipment Into Four Categories
Replace Ordinary Personal Items Through eMart
Ask The Unit About Missing Or Controlled Items
Handle Old Or Unserviceable Equipment
Build A Seven-Day And 72-Hour Plan
What To Bring If The Answer Is Still Pending
Common Mistakes
Official References
Bottom Line
Related Reads
Never state how a unit will adjudicate a loss. Never suggest unofficial sellers, concealment, or replacement of controlled items outside official channels.
FAQ questions: What should I do first if ICT gear is missing?, Can I replace ordinary items through eMart?, and Should I buy controlled equipment secondhand?. Related Reads: /blog/ict-packing-list-for-nsmen,
/blog/first-ict-after-ord-checklist,
/blog/a-guide-to-using-your-saf-emart-credits, and
/blog/missed-ict-no-saf100.
- Step 3: Generate and optimise the hero
Prompt:
Original 16:9 editorial still life for an unofficial Singapore ICT preparation
guide: worn boots, field bag, abstract inventory sheet, folded plain clothing
and a replacement parcel arranged on a practical bench, bright realistic
lighting, green, blue, yellow and charcoal accents, no people, no real uniform,
no weapons, no insignia, no readable list, no official marks.
Alt:
Worn boots, field bag, inventory sheet and replacement parcel prepared for ICT
Create the exact-size PNG and WebP.
- Step 4: Run the focused gate
Run SEO, dimensions, size, diff, and controlled-equipment wording scans.
- Step 5: Create a local checkpoint commit
docs(feat): add missing SAF gear ICT guide
Task 11: Publish the SPF PNS OCC Selection Guide
Files:
- Create:
blog/2026-07-09-spf-pns-occ-after-pobc-selection-guide/index.md - Create:
static/img/blog/spf-pns-occ-after-pobc-selection-guide.png - Create:
static/img/blog/spf-pns-occ-after-pobc-selection-guide.webp
Interfaces:
-
Consumes: current CMPB POBC and post-basic-training guidance.
-
Produces:
/blog/spf-pns-occ-after-pobc-selection-guide. -
Step 1: Lock the frontmatter
slug: spf-pns-occ-after-pobc-selection-guide
date: 2026-07-09T09:00:00+08:00
title: "SPF PNS OCC After POBC: Selection Guide"
description: "SPF PNS OCC guide explaining selection after POBC, the 32-week residential course, next steps, and what current official guidance does not promise."
keywords:
- "spf pns occ"
- "pns occ after pobc"
- "spf officer cadet course"
- "pobc leadership selection"
- "national service probationary inspector"
- "spf vocation after pobc"
image: /img/blog/spf-pns-occ-after-pobc-selection-guide.png
authors: [manus]
tags:
- spf
- pns occ
- pobc
- leadership
- home team
- Step 2: Write the complete article
Sections:
What CMPB Says Happens After POBC
How PNS OCC Selection Is Described
What The 32-Week Residential Course Leads To
If You Were Not Selected Before POBC Ended
What Public Guidance Does Not Publish
Questions To Ask Training Command Or Your Unit
Decision Checklist
Common Mistakes
Official References
Bottom Line
Related Reads
State only that CMPB links strong POBC performance and demonstrated leadership potential to PNS OCC selection, and that selected trainees complete a 32-week residential course before appointment as National Service Probationary Inspectors and posting to departments or specialist units. Public guidance does not publish a cutoff, selection probability, appeal process, or guaranteed later crossover route. Tell readers with case-specific questions to use their official Training Command or unit channel.
FAQ questions: How does CMPB describe SPF PNS OCC selection?, Can I enter PNS OCC later if I was not initially selected?, and What happens after graduating from PNS OCC?. Official References:
https://www.cmpb.gov.sg/life-in-ns/spf/after-basic-training/ and
https://www.cmpb.gov.sg/life-in-ns/spf/police-officers-basic-course/.
Related Reads: /blog/spf-pobc-enlistment-day-guide,
/blog/what-determines-your-vocation, /blog/command-school-after-bmt,
/blog/a-guide-to-ns-vocations, and
/blog/spf-scdf-nsf-ranks-allowance-guide.
- Step 3: Generate and optimise the hero
Prompt:
Original 16:9 editorial still life for an unofficial Singapore SPF leadership
selection guide: blank training notebook, stopwatch, neutral route markers and
an unreadable course board in a bright indoor academy setting, realistic
editorial photography, navy, teal, white and restrained red accents, no people,
no uniforms, no police insignia, no logos, no readable text or documents, no
official interface.
Alt:
Training notebook, stopwatch and route markers beside an indoor course board
Create the exact-size PNG and WebP.
- Step 4: Run the focused gate
Run SEO, dimensions, size, diff, and a claim scan for unsupported cutoff, probability, appeal, or later-crossover wording.
- Step 5: Create a local checkpoint commit
docs(feat): add SPF PNS OCC selection guide
Task 12: Publish the Bunk Hygiene and Shared Living Guide
Files:
- Create:
blog/2026-07-12-bunk-hygiene-shared-living-ns-guide/index.md - Create:
static/img/blog/bunk-hygiene-shared-living-ns-guide.png - Create:
static/img/blog/bunk-hygiene-shared-living-ns-guide.webp
Interfaces:
-
Consumes: current CMPB SAF, SPF, and SCDF communal-living and help pages.
-
Produces:
/blog/bunk-hygiene-shared-living-ns-guide. -
Step 1: Lock the frontmatter
slug: bunk-hygiene-shared-living-ns-guide
date: 2026-07-12T09:00:00+08:00
title: "Bunk Hygiene Problems: A Practical NS Guide"
description: "Practical Singapore NS guide to bunk hygiene, shared cleaning standards, respectful conflict handling, commander support, and reporting health symptoms."
keywords:
- "bunk hygiene ns"
- "army bunk cleanliness"
- "bmt shared living"
- "ns bunk problem"
- "camp personal hygiene"
- "bunk cleaning singapore"
image: /img/blog/bunk-hygiene-shared-living-ns-guide.png
authors: [manus]
tags:
- bunk life
- hygiene
- bmt
- shared living
- wellbeing
- Step 2: Write the complete article
Sections:
Separate Health Risk From Personal Preference
Start With A Private, Specific Conversation
Agree On A Shared Minimum Standard
Use A Proportionate Escalation Ladder
Report Symptoms Through Medical Channels
Avoid Public Shaming And Group Pile-Ons
Keep The Shared Space Sustainable
Common Mistakes
Official References
Bottom Line
Related Reads
Do not diagnose infection, prescribe treatment, or promise disciplinary outcomes.
FAQ questions: How should I raise a bunk hygiene problem?, When should a commander be involved?, and What if someone develops health symptoms?.
Related Reads: /blog/report-sick-in-camp-without-the-admin-mess,
/blog/mental-health-help-in-ns,
/blog/bmt-packing-list-the-ultimate-guide, and
/blog/lonely-in-bmt-first-week-guide.
- Step 3: Generate and optimise the hero
Prompt:
Original 16:9 editorial still life for an unofficial Singapore communal-living
guide: clean shared bunk area with plain bedding, toiletries, laundry bag,
ventilation fan and cleaning supplies, bright realistic daylight, green, blue,
yellow and white accents, no people, no uniforms, no official barracks signs,
no readable chore-board text, no logos.
Alt:
Shared bunk area with toiletries, laundry bag, ventilation and cleaning supplies
Create the exact-size PNG and WebP.
- Step 4: Run the focused gate
Run SEO, dimensions, size, diff, and medical-advice wording scans.
- Step 5: Create a local checkpoint commit
docs(feat): add bunk hygiene shared living guide
Task 13: Publish the NS Employment Rights Guide
Files:
- Create:
blog/2026-07-17-ns-employment-rights-reservist-call-ups-guide/index.md - Create:
static/img/blog/ns-employment-rights-reservist-call-ups-guide.png - Create:
static/img/blog/ns-employment-rights-reservist-call-ups-guide.webp
Interfaces:
-
Consumes: current MINDEF employment guidance, employer handbook, and TAFEP fair-employment guidance.
-
Produces:
/blog/ns-employment-rights-reservist-call-ups-guide. -
Step 1: Lock the frontmatter
slug: ns-employment-rights-reservist-call-ups-guide
date: 2026-07-17T09:00:00+08:00
title: "NS Employment Rights for Reservist Call-Ups"
description: "Singapore NSman employment guide to hiring fairness, reservist leave, employer notice, dismissal protection, make-up pay, and ICT deferment."
keywords:
- "nsman employment rights"
- "reservist leave employer"
- "ict job protection"
- "ns liability hiring"
- "reservist dismissal singapore"
- "tell employer about ict"
image: /img/blog/ns-employment-rights-reservist-call-ups-guide.png
authors: [manus]
tags:
- employment
- reservist
- ict
- employer
- nsmen
- Step 2: Write the complete article
Sections:
Keep Four Questions Separate
NS Liability During Recruitment
When And How To Notify The Employer
Leave And Dismissal Protections
Pay Handling Is A Different Record
Employment Protection Does Not Guarantee Deferment
Build An Evidence Timeline
Where To Raise A Real Dispute
Common Mistakes
Official References
Bottom Line
Related Reads
State clearly that the page is not legal advice. Do not promise a remedy, deferment, or hiring result.
FAQ questions: Can an employer refuse reservist leave?, When should I tell an employer about ICT?, and Do employment protections guarantee ICT deferment?.
Related Reads: /blog/employer-guide-to-ict-and-make-up-pay,
/blog/makeup-pay-for-nsmen-explained,
/blog/ict-deferment-and-rescheduling-guide, and
/blog/ict-deferment-supporting-documents.
- Step 3: Generate and optimise the hero
Prompt:
Original 16:9 editorial still life for an unofficial Singapore NS employment
guide: work laptop, briefcase, calendar, abstract reservist call-up notice and
pay folder aligned on one desk, crisp realistic studio lighting, green, red,
blue and charcoal accents, no people, no company logos, no readable legal text,
no official form, no government marks.
Alt:
Work laptop, briefcase, calendar and reservist call-up notice aligned on a desk
Create the exact-size PNG and WebP.
- Step 4: Run the focused gate
Run SEO, dimensions, size, and diff checks. Perform a sentence-level review of
every use of must, cannot, protected, dismiss, and deferment.
- Step 5: Create a local checkpoint commit
docs(feat): add NS employment rights guide
Task 14: Publish the SAF Card After ORD Guide
Files:
- Create:
blog/2026-07-18-saf-card-after-ord-keep-update-return-guide/index.md - Create:
static/img/blog/saf-card-after-ord-keep-update-return-guide.png - Create:
static/img/blog/saf-card-after-ord-keep-update-return-guide.webp
Interfaces:
-
Consumes: current MINDEF SAF Card validity, return, and loss guidance.
-
Produces:
/blog/saf-card-after-ord-keep-update-return-guide. -
Step 1: Lock the frontmatter
slug: saf-card-after-ord-keep-update-return-guide
date: 2026-07-18T09:00:00+08:00
title: "SAF Card After ORD: Keep, Update or Return?"
description: "Practical guide to the SAF Card after ORD, covering NSman status stickers, validity, when to keep or return it, and how replacement works."
keywords:
- "saf card after ord"
- "11b after ord"
- "nsman status sticker"
- "return saf card"
- "lost 11b nsman"
- "saf card validity"
image: /img/blog/saf-card-after-ord-keep-update-return-guide.png
authors: [manus]
tags:
- saf card
- ord
- nsmen
- 11b
- admin
- Step 2: Write the complete article
Sections:
What Happens To The SAF Card At ORD
Who Keeps The Card
Who Returns The Card
What The NSman Status Sticker Changes
If The Sticker Is Missing
If The Card Is Lost Or Damaged
How This Relates To A Future ICT
What The SAF Card Is Not
Common Mistakes
Official References
Bottom Line
Related Reads
Keep replacement detail concise and link to
/blog/lost-saf-11b-replacement. Do not conflate the card with OneNS Wallet,
Singpass identity, or medical benefits after ORD.
FAQ questions: Do NSFs keep the SAF Card after ORD?, What if the NSman status sticker is missing?, and How does an NSman replace a lost SAF Card?. Related
Reads: /blog/lost-saf-11b-replacement, /blog/ord-preparation-checklist,
/blog/first-ict-after-ord-checklist, and
/blog/ns-transcript-testimonial-ord-guide.
- Step 3: Generate and optimise the hero
Prompt:
Original 16:9 editorial still life for an unofficial Singapore post-ORD admin
guide: abstract plain identity-card silhouette with blank colour blocks, small
status tab, ORD calendar and storage folder, bright realistic studio lighting,
green, red, white and charcoal accents, no portrait, no number, no logo, no
readable text, no official card reproduction, no endorsement.
Alt:
SAF identity card silhouette, NSman status tab, ORD calendar and storage folder
Create the exact-size PNG and WebP.
- Step 4: Run the focused gate
Run SEO, dimensions, size, and diff checks. Compare all keep, return, and loss instructions against the current MINDEF pages.
- Step 5: Create a local checkpoint commit
docs(feat): add SAF Card after ORD guide
Task 15: Update Rendered Blog Pagination Expectations
Files:
- Modify:
tests/tool-rendered-html.test.mjsinexpectedBlogCardsByRoute
Interfaces:
-
Consumes: all 13 historical frontmatter dates and a fresh Docusaurus build.
-
Produces: expected card arrays that match the intentional chronological order.
-
Step 1: Build the site with all posts
Run:
npm run build
Expected: Docusaurus builds all 13 routes. The rendered-order test has not been updated yet, so do not use old test output as the source of truth.
- Step 2: Extract rendered card order
Run a read-only Node command over:
build/blog/index.html
build/blog/page/4/index.html
build/blog/page/5/index.html
build/blog/page/6/index.html
build/blog/page/7/index.html
build/blog/page/8/index.html
Use the same H2-anchor regex as getBlogPostCardHrefs() in the test. Print
exact JSON arrays.
- Step 3: Review chronology before accepting output
For every new slug, confirm its rendered position agrees with the explicit frontmatter date. Confirm no duplicate slug and ten article cards per checked page.
- Step 4: Update only the expected arrays
Use apply_patch to replace the affected arrays in
tests/tool-rendered-html.test.mjs. Do not change extraction logic or weaken
assertions.
- Step 5: Verify the focused rendered test
Run:
node --test --experimental-default-type=module tests/tool-rendered-html.test.mjs
Expected: all rendered HTML tests pass against the fresh build.
- Step 6: Create a local checkpoint commit
tests(fix): update blog card order for backfill
Task 16: Run Full Batch Content and Asset QA
Files:
- Review: all 13 new
index.mdfiles - Review: all 26 final image files
- Review:
tests/tool-rendered-html.test.mjs
Interfaces:
-
Consumes: complete content branch.
-
Produces: a verified branch ready for single-commit production integration.
-
Step 1: Validate the exact file set
Expected branch delta after the specification:
13 blog index.md files
13 static/img/blog/*.png files
13 static/img/blog/*.webp files
1 tests/tool-rendered-html.test.mjs update
No other tracked or untracked file may be part of the implementation.
- Step 2: Run structural validation
Use a read-only Node script to assert for the 13 paths:
13 unique slugs
13 unique historical dates
title length 30-60
description length 110-170
at least 5 unique keywords
at least 4 block tags
authors: [manus]
one BlogHero import and use
one BlogFaq import and use
one truncate marker
one Quick version block
exactly 3 FAQ questions
Official References section
3-5 existing internal Related Reads
matching PNG and WebP paths
Expected: zero validation errors.
- Step 3: Validate every image
For all 26 files:
sips -g pixelWidth -g pixelHeight <png>
webpinfo -summary <webp>
stat -f '%z %N' <png-or-webp>
Expected: 1400x788 for both formats; every WebP is below 400 KB unless a documented visual-quality exception is reviewed and accepted.
- Step 4: Visually inspect all 13 heroes
Create a temporary contact sheet outside the repo or inspect images one by one. Reject blank, distorted, text-heavy, official-looking, duplicate, or topic-mismatched images. Confirm every alt accurately describes the final image.
- Step 5: Perform factual and uniqueness review
For each article:
-
map every sensitive claim to the source matrix;
-
verify no Reddit attribution or personal detail;
-
search existing blog content for matching intent and repeated phrasing;
-
confirm the article owns the reader job listed in the specification;
-
confirm uncertainty and official-override language remain visible.
-
Step 6: Check all links
Resolve every internal /blog/ and /docs/ route against source files. Use
normal GET requests for official external links where practical. Record bot
blocks separately from real 404/410 failures and replace genuinely broken
links.
- Step 7: Run the required verification sequence
Run:
npm test
npm run build
npm test
git diff --check
Expected: all tests pass before and after the fresh build, build succeeds, and the diff has no whitespace errors.
- Step 8: Review the branch history and diff
Run:
git status --short
git log --oneline --decorate --max-count=20
git diff --stat 393927e..HEAD
git diff --name-status 393927e..HEAD
Expected: the plan document plus the 40 approved implementation files differ
after design commit 393927e; no other file differs.
Task 17: Consolidate and Push the Production Commit
Files:
- Include already committed: approved design specification and implementation plan
- Consolidate: the 40 approved implementation files
Interfaces:
-
Consumes: verified local checkpoint commits and latest
origin/main. -
Produces: two planning-document commits plus one scoped production implementation commit on the production branch.
-
Step 1: Fetch production again
Run:
git fetch origin
git symbolic-ref refs/remotes/origin/HEAD
If production moved, inspect every new blog slug and date before integration. Any overlap stops the push.
- Step 2: Create a clean integration worktree
Create a temporary integration branch from latest origin/main. Apply the
approved specification and implementation-plan commits in order if they are not
already ancestors.
Resolve the plan commit from the content branch:
PLAN_COMMIT=$(git log -1 --format=%H PinZheng/blog-backfill-2026-07-19 -- docs/superpowers/plans/2026-07-19-thirteen-post-blog-backfill.md)
Check each documentation commit with git merge-base --is-ancestor. If absent,
apply:
git cherry-pick 393927e
git cherry-pick "$PLAN_COMMIT"
- Step 3: Apply checkpoint changes without preserving checkpoint commits
Resolve the plan commit from the content branch again if the shell changed:
PLAN_COMMIT=$(git log -1 --format=%H PinZheng/blog-backfill-2026-07-19 -- docs/superpowers/plans/2026-07-19-thirteen-post-blog-backfill.md)
Use git cherry-pick --no-commit "$PLAN_COMMIT"..PinZheng/blog-backfill-2026-07-19
to apply the commit range after the plan through the verified content-branch
head. This combines the 13 post checkpoints and test checkpoint into the
integration index without rewriting published history.
- Step 4: Inspect the staged production delta
Run:
git diff --cached --check
git diff --cached --stat
git diff --cached --name-status
Expected: exactly 40 files: 13 posts, 26 images, and one rendered-order test.
- Step 5: Re-run production-worktree verification
Run:
npm test
npm run build
npm test
git diff --cached --check
Expected: all pass in the exact worktree that will be committed.
- Step 6: Create the single implementation commit
Use a commit file with:
docs(feat): backfill thirteen verified NS guides
Summary:
- add thirteen distinct Reddit-informed guides for the missing publication dates
- add original PNG and WebP heroes and update rendered blog card expectations
Rationale:
- restore the publication calendar with current, official-source-backed coverage
- preserve the normal one-post daily automation cadence after this manual batch
Tests:
- npm test
- npm run build
- npm test after build
- git diff --check
- internal, external, image dimension, and content structure checks
- Step 7: Push normally to production
Push the integration head to the branch resolved from origin/HEAD, currently:
git push origin HEAD:main
Never force-push. If rejected, fetch, rebase the two unpublished commits onto the new production tip, repeat overlap and verification checks, and push again.
- Step 8: Verify remote ancestry
Run:
git fetch origin
git merge-base --is-ancestor HEAD origin/main
git rev-parse HEAD
git rev-parse origin/main
Expected: the pushed implementation commit is an ancestor of origin/main.
Task 18: Verify Production and Close Automation State
Files:
- Update outside repo:
$CODEX_HOME/automations/learnnet-blog-automation/topic-queue.md - Update outside repo:
$CODEX_HOME/automations/learnnet-blog-automation/memory.md - Preserve: original workspace unrelated untracked files
Interfaces:
-
Consumes: pushed commit hash and 13 expected live slugs.
-
Produces: live verification record, updated automation state, and safely synchronised original workspace.
-
Step 1: Retry all live article URLs
Without Vercel CLI or API, check:
https://ns-resource-vault.vercel.app/blog/skillsfuture-ns-lxp-access-course-guide
https://ns-resource-vault.vercel.app/blog/verify-mindef-call-sms-email-scam-guide
https://ns-resource-vault.vercel.app/blog/ns-insurance-vs-service-injury-claims-guide
https://ns-resource-vault.vercel.app/blog/eeds-civilian-expertise-orns-guide
https://ns-resource-vault.vercel.app/blog/relationships-during-ns-practical-plan
https://ns-resource-vault.vercel.app/blog/mono-intake-bmt-what-it-means-guide
https://ns-resource-vault.vercel.app/blog/dis-digispec-work-learn-scheme-guide
https://ns-resource-vault.vercel.app/blog/spf-scdf-nsf-ranks-allowance-guide
https://ns-resource-vault.vercel.app/blog/missing-old-saf-gear-before-ict-guide
https://ns-resource-vault.vercel.app/blog/spf-pns-occ-after-pobc-selection-guide
https://ns-resource-vault.vercel.app/blog/bunk-hygiene-shared-living-ns-guide
https://ns-resource-vault.vercel.app/blog/ns-employment-rights-reservist-call-ups-guide
https://ns-resource-vault.vercel.app/blog/saf-card-after-ord-keep-update-return-guide
Retry after deployment delays. Expected: successful HTML response and correct canonical route for all 13.
- Step 2: Verify the live sitemap
Fetch the production blog sitemap used by the repository and confirm all 13 slugs appear exactly once.
- Step 3: Check rendered production pages
Spot-check the newest card order, hero loading, title, description, FAQ, Official References, and Related Reads on desktop and mobile widths. A serious post-push issue is reported with its commit; do not roll back destructively.
- Step 4: Update the weekly queue
Mark each matching queue item as published or superseded. Record the historical date and live slug. Do not add the queue file to the repository.
- Step 5: Update automation memory
Append:
Run type: one-time user-approved manual 13-post backfill
Missing dates handled: all confirmed dates
Chosen topics and scores: all 13 approved topics
Skipped topic: abandoned intern reservist MUP draft, now covered elsewhere
Reddit demand URLs: source matrix list
Official verification: pass/fail per slug
Images: dimensions and PNG/WebP sizes per slug
Tests/build: exact command results
Production branch: resolved branch
Commit: pushed implementation hash
Live URLs: result per slug
Runtime: start and finish timestamps
Daily automation: unchanged, one post per future run
- Step 6: Synchronise the original workspace safely
Re-read git status in the original workspace. Pull/rebase from production only
if no tracked user edits would be disturbed. Preserve:
reports/reddit-outreach/2026-07-13.md
static/img/blog/intern-reservist-mup-claim-guide.png
static/img/blog/intern-reservist-mup-claim-guide.webp
Report whether the original workspace was updated or deliberately left untouched.
- Step 7: Produce the final run report
Report:
- manual queue-approved portfolio versus fresh replacement, if any;
- all 13 topics, scores, and coverage gaps;
- Reddit demand URLs and official source groups;
- all files created and the one test file modified;
- image dimensions and size optimisation;
- test and build results;
- pushed commit and production branch;
- live URL and sitemap results;
- queue and memory updates;
- original workspace synchronisation result.