| name | publish-session |
| description | Publish the current working session for this repository. Use when: finishing a session and ready to commit and push changes; wanting to log session work to seed.md before committing; pushing new topics, articles, README updates, or instruction changes to GitHub. Concept-agnostic. Runs encode-seed → git status review → commit → push in one orchestrated flow. |
| argument-hint | Optional commit message override (e.g. "feat: add Sugar Act deep dive and Economics entries"). Leave blank to auto-generate from changed files. |
Publish Session
What This Skill Does
At the end of a working session, this skill:
0. Reads the Concept Definition in seed.md (for context in the commit message).
- Logs session work to
seed.md via the encode-seed prompt
- Reviews all staged/unstaged changes
- Generates a descriptive commit message (or uses the provided argument)
- Commits all changes
- Pushes to the
main branch on GitHub
Procedure
Step 1 — Log the Session
Run the encode-seed prompt to append a structured entry to the Evolution Log (section 8) of seed.md:
- Summarize what was researched, created, or updated this session
- Include file names and tool calls used
- Follow the existing entry format in the Evolution Log
- Do NOT touch seed.md sections 1–7 (those are regenerated by
sync-seed, not hand-edited)
If seed.md has already been updated this session, confirm with the user before appending a duplicate entry.
Step 2 — Review Changes
Run git status to list all modified, new, and deleted files. Group them by type:
| Change type | Files |
|---|
| Modified | e.g. README.md, seed.md |
| New (untracked) | e.g. arts/castle-of-otranto.md |
| Deleted | (list any) |
In interactive sessions: if unexpected files appear (e.g. files outside the repo's known structure), pause and ask the user to confirm before continuing.
In unattended / scheduled runs (invoked autonomously by the architect or grow pipeline): proceed without pausing. Log any unexpected files in the output so the user can review them after the fact.
Step 3 — Stage Changes
Run:
git add -A
Stage all changes. Do not use --force or bypass .gitignore.
Step 4 — Generate Commit Message
If an argument was provided, use it as the commit message verbatim.
Otherwise, auto-generate using this format:
<type>: <summary of primary change>
- <file or topic 1>: <what changed>
- <file or topic 2>: <what changed>
Type prefixes:
| Condition | Prefix |
|---|
| New topic files created | feat |
| README entries added | feat |
| Existing content updated | fix or docs |
| Skills / prompts / instructions changed | chore |
| Only seed.md updated | chore |
| Mixed session | feat (lead with most significant change) |
Example auto-generated messages:
feat: add 7 new Notable Events entries across all categories
feat: deep-dive Black Monday and create society-economics/black-monday.md
chore: update ROADMAP.md and sync seed DNA
Step 5 — Commit
Run:
git commit -m "<message>"
Step 6 — Push
Run:
git push origin main
Report the commit SHA and confirm the push succeeded.