---
phase: 25.1-revise-commune-signoff-skill-docs-echo-commune-instruction-t
plan: 02
subsystem: skill-doc
tags: [skill-doc, commune, two-slice, phase-25-d-10-d-11, doc-only]

# Dependency graph
requires:
  - phase: 25.1
    plan: 01
    provides: "framework-emitted <project-context-resolved name=\"...\"/> sentinel in psyche-download output (deterministic grep target)"
  - phase: 25
    provides: "D-10/D-11 two-slice envelope taxonomy in psyche.md §<output_envelope> (lines 282–323)"
  - phase: 23
    provides: "outer <EVENT type=\"commune\"> envelope shape (## Envelope shape (Phase 23 v1.8) section)"
provides:
  - "Self-side teaching of two-slice envelope contract on /spt:commune authoring surface"
  - "D-25.1-04 in-project detection rule keyed on <project-context-resolved sentinel grep"
  - "Phase 23 ⊃ Phase 25 nesting clarity (outer EVENT wraps inner two-slice body)"
affects:
  - 25.1-03  # signoff/SKILL.md will mirror the same two-slice teaching
  - 25.1-04  # commune.md will deepen the teaching with worked examples
  - 25.1-05  # live/SKILL.md echo-commune body description gains two-slice shape

# Tech tracking
tech-stack:
  added: []
  patterns:
    - "Decision cite-in-header convention (e.g. '## Two-slice body shape (Phase 25 D-10/D-11)')"
    - "Quote canonical / link the rest — taxonomy linked to psyche.md, not paraphrased"
    - "Forward-reference Step 3 → new section; back-reference Phase 23 section → new section"

key-files:
  created:
    - .planning/phases/25.1-revise-commune-signoff-skill-docs-echo-commune-instruction-t/25.1-02-SUMMARY.md
  modified:
    - plugin/spt/skills/commune/SKILL.md

key-decisions:
  - "Three behavior rules rendered as a bullet list under a single **Three rules (D-25.1-01..03)** heading rather than three sub-headers — keeps the section compact and the parallel structure visually obvious."
  - "Detection rule prose says 'grep the output for the literal substring <project-context-resolved' (no closing > or quote) — matches both the self-closing tag form Plan 01 emits AND any future attribute-bearing variant; presence-of-substring is the contract, not exact-tag-match."
  - "Nesting callout rendered as **bold inline** ('**Nested envelopes.**' lead-in) rather than its own sub-header — sits cleanly inside the new section without competing with the section's other bold lead-ins."
  - "Edit 3 nesting-note appended INSIDE the existing line-58 sentence (between '...EVENT XML.' and 'The wrapper-side parser...') rather than as a new sentence break — preserves the existing sentence-flow and keeps the parser-compat clause directly adjacent to the EVENT-composition clause where it belongs."

patterns-established:
  - "Self-authoring-side envelope-contract teaching pattern: (1) opening paragraph + link to canonical taxonomy, (2) explicit framework-sentinel-based detection rule, (3) three behavior rules as bullets, (4) nesting callout, (5) closing canonical-link reminder — usable verbatim in 25.1-03 (signoff) and 25.1-04 (commune.md examples)."

requirements-completed: []

# Metrics
duration: ~1min
completed: 2026-05-22
---

# Phase 25.1 Plan 02: commune/SKILL.md Two-Slice Teaching Summary

**`plugin/spt/skills/commune/SKILL.md` now teaches the Phase 25 D-10/D-11 two-slice envelope contract on the Self-authored side, with in-project detection keyed deterministically on the Plan 01 `<project-context-resolved` sentinel.**

## Performance

- **Duration:** ~1 min
- **Started:** 2026-05-22T07:23:28Z
- **Completed:** 2026-05-22T07:24:43Z
- **Tasks:** 1 (single coordinated three-edit task)
- **Files modified:** 1 (`plugin/spt/skills/commune/SKILL.md`)

## Accomplishments

- New `## Two-slice body shape (Phase 25 D-10/D-11)` section lands between Agent-type guard (line 43) and the existing `## Envelope shape (Phase 23 v1.8)` header (now line 61). Section covers:
  - Opening paragraph linking to canonical taxonomy in `psyche.md` §`<output_envelope>` (lines 282–323).
  - **In-project detection rule (D-25.1-04)** — Self runs `$LIVE psyche-download <your-id>` and greps for the literal substring `<project-context-resolved` (the Plan 01 sentinel); marker presence triggers BOTH envelopes, marker absence triggers ONLY `<live-context>`.
  - **Three rules (D-25.1-01..03)** as a bullet list: in-project-both-populated / in-project-quiet-empty-project-tag / outside-project-omit-project-tag.
  - **Nested envelopes** callout — Phase 23 EVENT envelope is composed by `$LIVE commune` automatically; Self writes ONLY the inner two-slice body; the two envelope layers nest.
  - Closing canonical-link reminder back to `psyche.md` §`<output_envelope>`.
- Step 3 of `## Flow` reworded surgically: "with the delta body as its contents" → "with the two-slice body as its contents (see `## Two-slice body shape (Phase 25 D-10/D-11)` below for the required envelope wrapping)".
- Phase 23 envelope section (line 75) sentence extended in place: appended "The `body` placeholder in the example above is the two-slice body (see `## Two-slice body shape (Phase 25 D-10/D-11)` above); the two envelope layers nest." between the existing EVENT-composition clause and the parser-compat clause — preserves the line-58 anchor sentence per acceptance criteria.

## Task Commits

1. **Task 1 — Three coordinated edits (Step 3 reword + new section + Phase 23 nesting note)** — `75ab336` (docs)

## Files Created/Modified

- `plugin/spt/skills/commune/SKILL.md` — grew from 59 to 75 lines (+22 inserts, -5 deletes). Frontmatter (lines 1–8) preserved; `## Flow` structure preserved; `## Envelope shape (Phase 23 v1.8)` content preserved with one-clause inline extension to the closing sentence.
- `.planning/phases/25.1-revise-commune-signoff-skill-docs-echo-commune-instruction-t/25.1-02-SUMMARY.md` — this file.

## Decisions Made

- **Three rules rendered as bullet list, not sub-headers** — keeps the section compact and the parallel structure visually obvious; matches `psyche.md` §`<output_envelope>` "Rules" numbered-list convention.
- **Detection rule uses substring-presence not exact-tag-match** — Self greps for `<project-context-resolved` (no closing `>` / `/>` / `"`); robust to future attribute additions.
- **Nesting callout as bold inline lead-in, not its own sub-header** — fits naturally within the section rhythm alongside the other bold lead-ins ("In-project detection rule", "Three rules").
- **Phase 23 nesting note inserted INSIDE the existing line-58 sentence** — preserves the canonical "Self does NOT manually construct EVENT XML" anchor that downstream tests grep for, while adding the body-placeholder clarification right where it belongs (between EVENT-composition statement and parser-compat statement).

## Deviations from Plan

**None — plan executed exactly as written.** All ten acceptance criteria met:

- `grep -c '<live-context>' plugin/spt/skills/commune/SKILL.md` = **5** (>= 2 required).
- `grep -c '<project-context>' plugin/spt/skills/commune/SKILL.md` = **4** (>= 2 required).
- `grep -c 'Phase 25 D-10' plugin/spt/skills/commune/SKILL.md` = **4** (>= 1 required — new section header + Step 3 forward-ref + Phase 23 back-ref + nesting callout).
- `grep -c 'project-context-resolved' plugin/spt/skills/commune/SKILL.md` = **1** (>= 1 required — D-25.1-04 detection rule).
- `grep -ic 'nest' plugin/spt/skills/commune/SKILL.md` = **2** (>= 1 required — nesting callout in new section + nesting note in Phase 23 section).
- `grep -c 'does NOT manually construct EVENT' plugin/spt/skills/commune/SKILL.md` = **1** (line-58 anchor preserved).
- `grep -c '## Two-slice body shape' plugin/spt/skills/commune/SKILL.md` = **3** (>= 1 required — section header + Step 3 forward-ref + Phase 23 back-ref).
- `grep -c '## Envelope shape (Phase 23 v1.8)' plugin/spt/skills/commune/SKILL.md` = **2** (>= 1 required — section header + new-section back-ref).
- `grep -Ec 'untagged|auto-classify|safety net|will figure it out' plugin/spt/skills/commune/SKILL.md` = **0** (D-25.1-07 silence rule honored).
- `grep -c 'EVENT type="commune"' plugin/spt/skills/commune/SKILL.md` = **3** (>= 1 required — both existing Phase 23 XML examples preserved on lines 66 and 72; third hit is the new prose reference to `<EVENT type="commune">` inside the nesting callout, which is a prose mention NOT a worked example).

**Negative criteria — all confirmed empty via `git diff --name-only HEAD`:**

- `plugin/spt/skills/listen/SKILL.md` — NOT modified.
- `psyche.md` — NOT modified.
- `src/owl/resume.rs` — NOT modified.
- Only file modified by this plan: `plugin/spt/skills/commune/SKILL.md`. (The `git status` working-tree noise on `.gitignore`, `.planning/config.json`, and `Cargo.lock` is pre-existing untracked context from earlier sessions — none of those files were staged or touched by this plan.)

**Frontmatter (lines 1–8):** preserved verbatim — `name`, `description`, `argument-hint`, `allowed-tools` all unchanged.

**No new `<EVENT>` worked examples inside the new Two-slice section** (visually verified — line 57 has a single backtick-quoted prose reference to `<EVENT type="commune">` inside the nesting callout, which is a NAME, not a copyable example).

## Issues Encountered

None.

## Next Phase Readiness

- **Wave 2 plans 03–06 unblocked.** This plan establishes the Self-authoring teaching pattern that:
  - `25.1-03` (signoff/SKILL.md) can mirror with a short cross-ref + reiteration.
  - `25.1-04` (commune.md) can deepen with three worked examples (in-project-both / in-project-quiet / outside-project) following the same three-rules structure.
  - `25.1-05` (live/SKILL.md echo-commune entry) can describe the two-slice body shape on the receive side.
  - `25.1-06` (revive/SKILL.md or resume.rs prose) can cross-link to `/spt:commune` for the canonical teaching surface.
- **No deploy needed for this plan.** Doc-only edit to `plugin/spt/skills/`; the milestone deploy cadence (per STATE.md) is end-of-milestone via `DEPLOY.ps1`, batching all Wave 2 skill-doc edits in a single bump.
- **Backward compat:** Skill doc reads on next Claude Code session refresh; older live agents booted before the doc update continue to author whatever shape they were taught — Psyche LLM's untagged-fallback path (D-25.1-07, silent) catches them.

## Self-Check: PASSED

Verification ran:

- `[ -f plugin/spt/skills/commune/SKILL.md ]` → FOUND
- `[ -f .planning/phases/25.1-revise-commune-signoff-skill-docs-echo-commune-instruction-t/25.1-02-SUMMARY.md ]` → FOUND
- `git log --oneline --all | grep -q 75ab336` → FOUND (Task 1 commit)
- All 10 grep gates → PASSED (see Deviations section for exact counts)
- Negative-criteria diffs (`listen/SKILL.md`, `psyche.md`, `src/owl/resume.rs`) → all empty
- Final line count: 75 (within ~85–110 rough-estimate envelope from plan; actually under estimate because the section is densely-written rather than padded)

---

*Phase: 25.1-revise-commune-signoff-skill-docs-echo-commune-instruction-t*
*Completed: 2026-05-22*
