一键导入
commitment-triage
Recognize obligations in conversation, extract signals with immediacy and expiration, create and manage commitments in the workspace.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Recognize obligations in conversation, extract signals with immediacy and expiration, create and manage commitments in the workspace.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Use when adding or reviewing tests for Reborn behavior — choosing a test tier, covering a bug fix, testing model/tool-choice behavior, touching tests/integration or tests/fixtures/llm_traces, or when a test needs Postgres, Docker, or a live LLM.
Navigate building a user-facing feature in the Reborn stack (a capability that crosses product_workflow → composition → webui_v2 → runtime/serve → frontend). Use when planning or implementing any new Reborn settings page, endpoint, facade method, or runtime-backed capability — especially before writing code, to avoid rebuilding what already exists and to wire it in one pass instead of layer-by-layer.
Use when asked to "review the open PRs", review a batch or stack of pull requests, or run a recurring PR-review pass on a repo — especially with many PRs, stacked branches, conflicts, or security-sensitive changes. Covers grouping, fan-out to review subagents, verdict synthesis, and posting.
Generate or update the IronClaw architecture overview video using Remotion. Use when asked to update, regenerate, or modify the architecture video, add/remove scenes, or reflect codebase changes in the video.
Use when writing or reviewing a change in crates/ that adds a trait, a crate, a dependency edge, a re-export, or code in ironclaw_reborn_composition — or when deciding whether an abstraction, layer, or crate boundary is justified in the IronClaw Reborn stack.
Use when starting work in the IronClaw repo, deciding where a feature/fix/prompt/doc belongs, tracing how a request flows, looking up which crate owns a subsystem, or when repo docs, the knowledge graph, or component names seem stale, missing, or contradictory.
| name | commitment-triage |
| version | 0.2.0 |
| description | Recognize obligations in conversation, extract signals with immediacy and expiration, create and manage commitments in the workspace. |
| activation | {"keywords":["need to","have to","must do","promised","committed to","deadline","by friday","by tomorrow","follow up","get back to","remind me","track this","mark done","commitment","obligation","overdue","slack message from","asked me to review","can you review","this week"],"patterns":["(?i)I (need|have|should|must|ought) to","(?i)(remind me|don't let me forget|make sure I)","(?i)(by|before|until) (monday|tuesday|wednesday|thursday|friday|saturday|sunday|tomorrow|tonight|end of)","(?i)(promised|committed|agreed) (to|that)","(?i)(slack|email|dm|text) message from .+: .+"],"exclude_keywords":["setup commitments","install commitments"],"tags":["commitments","task-management","personal-assistant"],"max_context_tokens":2000} |
You have a commitments tracking system in the workspace under projects/commitments/. Read projects/commitments/README.md for the full schema if you need field details.
When the user says something that implies an obligation, promise, or deadline — but is NOT explicitly asking you to track it — silently extract a signal.
Triggers: "I need to...", "I promised Sarah...", "I should get back to...", "The report is due Friday", "They asked me to review..."
Treat these as especially strong passive-signal cases even if the user does not say "track this":
These should usually become review, reply, or follow-up signals with
immediacy: prompt when the request is time-sensitive or comes from a named
person/team.
Treat inbound-message phrasings like these as strong passive signals too:
Action:
memory_search for key phrases within projects/commitments/memory_write with:
target: projects/commitments/signals/pending/<slug>.mdappend: falsememory_write succeeds, at a natural pause briefly note:
"I've tracked a commitment about [topic]."Do not merely acknowledge or summarize an obligation. This mode is successful
only if a signal is actually written to projects/commitments/signals/pending/.
Do NOT interrupt the conversation flow. Signal extraction is a side-effect.
For commitment tracking, use memory_tree, memory_read, and memory_write.
Do not use CodeAct, shell commands, or creative-generation tools unless the
user explicitly asked for execution rather than tracking.
Signal template:
---
type: signal
source_channel: <current channel>
source_message: "<brief quote>"
detected_at: <today YYYY-MM-DD>
immediacy: <realtime|prompt|batch — see rules below>
expires_at: <YYYY-MM-DD or null>
confidence: <high if explicit obligation, medium if implied, low if ambiguous>
obligation_type: <reply|deliver|attend|review|decide|follow-up|informational>
mentions: [<people mentioned>]
destination: null
promoted_to: null
---
<1-2 sentence description of the detected obligation.>
Immediacy rules:
realtime: production incidents, security alerts, stop-loss triggers, anything marked urgent by the user. If you detect a realtime signal, send a message immediately — do not wait for the next triage run.prompt: urgent DMs from key people, trending topics (for creators), time-sensitive requests, or named-person/team asks like "the strategy team asked me to review..."batch: most obligations — meeting action items, reports to read, tasks with multi-day deadlinesSignal destinations (set during triage, not initial extraction):
commitment: actionable, tracked → promote to projects/commitments/open/parked_idea: interesting but not now → write to projects/commitments/parked-ideas/intelligence: informational, shapes future decisions → write a durable MemoryDoc via memory_write to a non-commitments path (e.g. context/intel/<slug>.md)dismissed: not relevantWhen the user explicitly asks to track something: "track this", "add a commitment", "I committed to X".
If the user says "track this separately", "track this too", or otherwise introduces a second distinct obligation, create a new commitment file for that new item. Do not overwrite or silently reuse the previous commitment unless it is clearly the same obligation.
Phrasings like "track this request from Slack", "track this request from email", or "track this review request" are explicit capture requests. They should go through Mode B and produce a persisted commitment or signal write, not just a summary response.
Example:
memory_write for Bob's term
sheet. Do not only confirm it in prose, and do not reuse Sarah's file.Action:
projects/commitments/open/<slug>.mdThis mode is only successful if a commitment file is actually written.
For explicit capture, prefer direct memory_write updates to the workspace.
Do not switch to CodeAct or shell execution for simple tracking tasks.
Commitment template:
---
type: commitment
status: open
urgency: <critical|high|medium|low>
due: <YYYY-MM-DD or null>
created_at: <today>
stale_after: <14 days from now, or sooner for urgent items>
owner: <user|agent>
delegated_to: null
resolution_path: <agent_can_handle|needs_reply|needs_decision|note_only>
source_signal: null
resolved_by: null
tags: [<inferred tags>]
---
# <Title>
<Description.>
## Resolution path
- [ ] <Step 1>
- [ ] <Step 2>
Urgency rules:
critical: due today or overduehigh: due within 3 daysmedium: due within 2 weeks or soon but no hard deadlinelow: no deadline, wheneverResolution path inference:
agent_can_handleneeds_replyneeds_decisionnote_onlyFor agent_can_handle, note in the commitment body what the agent would do. The agent must NOT act autonomously without user approval — add a note: "I can handle this. Want me to proceed?"
When the user says they finished something: "done with X", "finished the review", "sent the reply to Sarah".
Action:
memory_tree("projects/commitments/open/", depth=1) to find the matching commitmentmemory_read the likely match to confirmprojects/commitments/resolved/<same-slug>.mdmemory_write(target="projects/commitments/open/<slug>.md", content="", append=false)When reviewing pending signals (manually via "review signals" or during a triage mission run):
memory_tree("projects/commitments/signals/pending/", depth=1) to list signalsmemory_read and route to destination:
projects/commitments/open/, set signal destination: commitmentprojects/commitments/parked-ideas/, set destination: parked_ideacontext/intel/, set destination: intelligencesignals/expired/, set destination: dismissedpromoted_to field for commitment destinationsSlugify: lowercase, hyphens, no special chars, max 50 chars. Examples:
review-sarah-deck.mdsubmit-q1-tax-filing.md