propose-memory-updatelisted
Install: claude install-skill kylus/agentport
# propose-memory-update
Save a contributor's memory-change proposal to `pending/<timestamp>-<author>.md`
so the owner can review and approve.
## Behavior
The mechanical work (frontmatter, filename, git add/commit, notification text)
is all in `propose.py` — the LLM only decides *what* to propose.
1. Identify the user (from the `[user=U… role=contributor]` prefix on this turn).
2. Determine which section the proposal targets: one of `background`,
`current_understanding`, `decisions`, `open_questions`, `commitments`,
`people`. If ambiguous, ask the user.
3. Confirm the user has cited at least one source. Refuse if not — proposals
without sources are a hard no.
4. Write the proposed text (exactly as it would land in `memory/<section>.md`)
to `pending/.draft.md` with the Write tool.
5. Run the script — **single line, no chaining** (the contributor bash gate
rejects chained commands but whitelists this exact invocation):
```
python3 .claude/skills/propose-memory-update/propose.py --author <id> --section <section> --draft pending/.draft.md --source <url> [--source <url2>] [--why "<rationale>"] [--conflicts "<analysis vs existing memory>"]
```
The script builds the frontmatter, names the file
`pending/<ISO>-<author>-<section>.md`, consumes the draft, commits, and
prints `file:` / `commit:` / `notify_owner:` lines.
It refuses to run outside a topic directory (one with `pending/` and
`memory/`), so a wrong cwd fails with a pointed message