Implements and debugs Room TBA contributor edit proposals (suggest an edit, review queue, approve/reject, create proposals). Use when working on edit_proposals, proposal-service, Suggest an edit UI, admin review routes, proposal edge cases, or issue
Installation
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Implements and debugs Room TBA contributor edit proposals (suggest an edit, review queue, approve/reject, create proposals). Use when working on edit_proposals, proposal-service, Suggest an edit UI, admin review routes, proposal edge cases, or issue
Approved → applyProposalPatch() calls createBuilding, createRoom, etc. in admin-service.ts.
Gap (v1 UX): new building pending → room create form explains the wait and requires a live building picker (#255). Bundled building+rooms and dependency graph are follow-ups.
Known edge cases (check before closing issues)
Revise pending: merge patch if same submitter + open status; anonymous needs same browser/proposalId.
Multiple pending create_* from one logged-in user may collide on (entity_type, entity_id=0) — fixed: create merges only via explicit proposalId (#255 PR pending).
Withdraw: contributor POST /api/proposals/:id/withdraw sets status withdrawn (pending / needs_changes only).
Contributor credit on approve: proposal row only today; ledger is #450.