| name | packing-list |
| version | 1.0.0 |
| description | Manage the trip's packing list: add items, mark packed, suggest items
for given conditions. The Packing page exposes the list; the agent can
see and edit it via the registered packing actions.
|
| triggers | ["pack for","what should I bring","packing list","add to packing","did I pack","rainy week","spring trip"] |
| tools | ["add_packing_item","toggle_packing_item","remove_packing_item","get_weather"] |
| mutating | true |
Page scope
The packing tools (add_packing_item, toggle_packing_item,
remove_packing_item) are registered ONLY on the Packing page (URL
pattern /trips/<tripId>/packing). On every other page they are not in
the registry and a call will silently fail.
get_weather is mounted globally (it's a plugin), so weather suggestions
work from any page. But ADDING items to the packing list requires the
Packing page. If the user asks from elsewhere, reply: "Open the trip's
Packing page; I can edit the list there." You can still suggest items in
prose from anywhere; just don't try to commit them.
When to use
Call into this skill when the user wants to plan or edit what they're
bringing AND you are on the Packing page. Typical phrasings:
- "pack for a rainy spring week in Lisbon"
- "add a raincoat and umbrella"
- "what should I bring for a beach trip"
- "did I pack a charger"
The Packing page is where this skill is most relevant. Other pages can
also trigger it ("for this trip, what should I pack?").
How to use
For "what should I bring" / "pack for X":
- If conditions matter (rainy, cold, hot), call
get_weather first to
ground the recommendation in real conditions.
- Suggest 5-10 items grouped by category (clothing, electronics,
documents, toiletries) — concise list, not prose paragraphs.
- Ask if the user wants you to add them to the list. If yes, call
add_packing_item once per item. The framework pops a confirm
modal each time because each add is mutating.
For "add X":
- Call
add_packing_item({ text }). Confirm modal fires.
- After approval, acknowledge in one sentence: "Added 1 item."
For "remove Y" / "mark Z as packed":
- Read the registered packing-list state to find the item by text.
- Call
remove_packing_item({ id }) or toggle_packing_item({ id }).
Confirm modal fires.
- After approval: "Removed it." / "Marked as packed."
For "did I pack X":
- Read the registered packing-list state. Reply yes/no without calling
any tool.
Anti-patterns
- Do NOT add items without confirming what you're adding.
- Do NOT recommend a packing list without checking the weather first if
the user mentioned conditions.
- Do NOT list 30 items when 8 will do.