用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/pnils08/GodWorld --skill pre-flight命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
Close a GodWorld external-lane session (Grok) cleanly: inventory work, land authorized commits if needed, rewrite only NEXT[grok] in SESSION_CONTEXT.md, commit that handoff path-specifically, report git stack / push status. Use when the user says session end, close session, handoff, wrap up, done for now, or runs /session-end. Not the Claude Code session-end skill (no PIN bump, no ROLLOUT sweep, no sessionEndMechanical.js).
Deputy Mayor Brenda Okoro's office. Generates operational statements on West Oakland Stabilization Fund, Community Development, and Economic Development (Osei-portfolio coverage). Carries Mayor's-office operational reality — not political framing.
Oakland Police Chief Rafael Montez. Generates public safety statements, OARI implementation responses, and crime data communications. Professional, measured, data-driven.
正在显示 SKILL.md
基于 SOC 职业分类
| name | pre-flight |
| description | Verify manual inputs are ready before running a cycle. Sports feed, intakes, initiative tracker, coverage ratings. |
| version | 1.2 |
| updated | "2026-05-30T00:00:00.000Z" |
| tags | ["engine-sheet","active"] |
| effort | low |
| disable-model-invocation | true |
Checks that manual inputs are ready before the engine runs. The engine won't fail without these — it will produce a cycle with silent gaps.
node scripts/preflightInputCheck.js # auto-derive target cycle from SESSION_CONTEXT
node scripts/preflightInputCheck.js --cycle=96 # explicit target
The script (ES-7 / G-PF1) is the deterministic check — it loads env via require('../lib/env'), reads the sheets, classifies every Initiative_Tracker row by §Placeholder Convention, and prints the §Output report. Run it; review the output. The step descriptions below document what it checks so you can read the verdict — they are not a manual procedure to re-derive each cycle.
Exit codes: 0 READY (or warnings only) · 1 NOT READY (missing required sports cols OR partial-real initiative rows) · 2 argument/data error. Fail the gate on a non-zero exit.
Real output (C95):
PRE-FLIGHT: Cycle 95
========================================
Target derivation: --cycle=95 (explicit)
[x] Sports Feed: 5 entries, all required + recommended columns populated
[ ] Citizen Intake: NOT WIRED
[ ] Business Intake: NOT WIRED
[ ] Storyline Intake: NOT WIRED
[x] Initiative Tracker: 6 real / 1 placeholder / 0 bloat
INFO placeholder INIT-004 — reserved slot, no validation required
[x] Coverage Ratings: C94 — 3 rows (0 unprocessed, ready for engine intake)
========================================
READY
Gap fixes baked into the script vs the pre-S246 manual flow: env-loader (G-PF2), 3-class initiative output (G-PF3), cycle auto-derivation (G-PF4), Processed-enum semantics (G-PF5), canonical InitiativeID keying (G-PF6).
Read Oakland_Sports_Feed for the target cycle number.
Required columns (entry is invisible without these): Cycle, SeasonType, EventType, TeamsUsed
Recommended columns (texture is thin without these): NamesUsed, Team Record, FanSentiment, PlayerMood
Flag missing required as NOT READY. Flag missing recommended as WARNING.
NOT WIRED. Placeholder for when citizen intake from editions feeds back to the engine.
NOT WIRED. Placeholder for when business intake from editions feeds back to the engine.
NOT WIRED. Placeholder for when storyline intake from editions feeds back to the engine.
Read Initiative_Tracker for all rows. Check only:
Enum policing REMOVED (S230 G-RC3, governance.14 T9): pre-S230 the skill enforced a hardcoded enum list (announced / vote-scheduled / visioning / design-phase / etc.) that drifted every cycle as the engine added new phase values (C94 saw 4 phases missing from the skill's list: design-development-active, legislation-filed, pilot_evaluation, vote-ready). Phase value validation now belongs to engine-side applyTrackerUpdates.js — pre-flight's role is empty/required-field checks, not value-set policing. Mike S230 ruling: drop enum entirely; trust engine writer validation.
Flag malformed rows (missing required fields) as NOT READY per §Placeholder Convention.
Initiative_Tracker rows fall into three classes. Pre-flight treats each differently:
| Class | Detection | Severity | Action |
|---|---|---|---|
| Placeholder | InitiativeID populated, all other fields empty (slot reserved for upcoming initiative) | INFO | Skip, don't block. Log "placeholder row INIT-NNN — reserved slot, no validation required." |
| Partial-real | InitiativeID + Name + some fields populated, BUT missing one or more engine-critical (Status, ImplementationPhase, PolicyDomain, AffectedNeighborhoods) | HIGH (NOT READY) | Block pre-flight pass. List the missing fields per row. Operator decides: complete the row or remove. |
| Real | InitiativeID + Name + (Status OR Phase) + at least PolicyDomain or AffectedNeighborhoods | passes | No action. |
| Sheet bloat | Fully empty rows past the last real row | INFO | Ignore. (Common when sheet was extended for future capacity.) |
Decision tree (apply in order; first match wins):
Why this convention exists: pre-S230 pre-flight treated placeholder rows identically to malformed mid-life data and false-flagged every cycle. C94 INIT-004 (placeholder, only InitiativeID populated, persisted across many cycles without engine complaint) demonstrated the gap. The convention preserves operator visibility (placeholders logged as INFO) without blocking on intentional reserved slots.
Read Edition_Coverage_Ratings for previous cycle.
Processed cell lowercases to 'true' — matches the write-side check in phase02-world/applyEditionCoverageEffects.js.Flag missing as WARNING — engine runs without media feedback.
Canonical output shape is shown under §Run above (real C95 verdict). The Initiative Tracker line carries the §Placeholder Convention 3-class breakdown — <real> real / <placeholder> placeholder / <bloat> bloat with per-row INFO/partial-real detail — not a flat "all valid" (G-PF3). Verdict line is READY / NOT READY matching the exit code.
Service account via lib/sheets.js. Env loaded via require('../lib/env') (sources ~/.config/godworld/.env, NOT a project-root .env — that file doesn't exist). Spreadsheet ID = GODWORLD_SHEET_ID. The canonical script already does this load; only relevant if you read sheets by hand. (G-PF2)