← ClaudeAtlas

propose-memory-updatelisted

Contributor flow — write a proposal to `pending/` for the owner to review. Contributors cannot edit `memory/*.md` directly. Use when the user requests a memory change but is not the topic owner (role=contributor). Triggers: "propose update", "建議補上", "我想加進記憶", "/propose-memory-update".
kylus/agentport · ★ 0 · AI & Automation · score 70
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