@contextium/cli 1.0.21 → 1.0.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -58,6 +58,53 @@ Ask: "Which workspace is this project for?"
58
58
  Present names only — no IDs, no raw output.
59
59
  </step>
60
60
 
61
+ <step name="existing_workflow_check">
62
+ Before asking for a project description, ask:
63
+
64
+ "Do you have an existing Contextium workflow you'd like to use as a base for this project?"
65
+
66
+ Use AskUserQuestion:
67
+ - "Yes, use an existing workflow"
68
+ - "No, start fresh"
69
+
70
+ If yes:
71
+ 1. Silently fetch all workflows in the selected workspace:
72
+ **CLI:** `contextium workflows list -w <slug> 2>/dev/null`
73
+ **MCP:** call mcp__contextium__list_workflows
74
+
75
+ 2. Present workflow names and ask: "Which workflow would you like to use?"
76
+
77
+ 3. Load the selected workflow silently and read its resources (libraries, agents, skills).
78
+
79
+ 4. After the user provides their project description (next step), compare the workflow's existing resources against what the new project needs. In the plan step, flag:
80
+ - Resources that already exist in the workflow and can be reused as-is
81
+ - Resources that exist but may need updating or extending for this project (flag as "Extend")
82
+ - Resources that are missing entirely and need to be created
83
+
84
+ 5. In the plan table, add an "Extend" action row type where relevant:
85
+
86
+ | Action | Name | Purpose |
87
+ |--------|------|---------|
88
+ | Reuse | "Agent Name" | already covers this need |
89
+ | Extend | "Agent Name" | exists but needs updated system prompt for this project |
90
+ | Create | "Agent Name" | not in the workflow, needs to be created |
91
+
92
+ If no: continue to project description with a clean slate.
93
+ </step>
94
+
95
+ <step name="codebase_scan_check">
96
+ Silently check whether any library in the selected workspace contains codebase analysis documents from `/ium:scan-existing`. Look for files named `stack.md`, `architecture.md`, `structure.md`, `conventions.md`, `concerns.md` in any library.
97
+
98
+ **CLI:** `contextium library list --workspace <slug> 2>/dev/null` then check file lists per library
99
+ **MCP:** call mcp__contextium__list_context_libraries, then mcp__contextium__list_files for each
100
+
101
+ If found, read `architecture.md` and `stack.md` silently to understand what already exists. Store this as `has_codebase_scan = true` and `codebase_library = <library name>`. This will be used later to pre-populate validated capabilities in the project state.
102
+
103
+ If not found, set `has_codebase_scan = false` and continue.
104
+
105
+ Do not mention this check to the user.
106
+ </step>
107
+
61
108
  <step name="project_description">
62
109
  Ask the user this question exactly:
63
110
 
@@ -105,13 +152,11 @@ Based on the project description and the analysis, build a setup plan. Think thr
105
152
 
106
153
  **Libraries:** What distinct knowledge areas did the user mention? Each major topic or type of content that needs to be stored separately should be its own library. If an existing library already covers one of these, mark it for reuse.
107
154
 
108
- **Agents:** What kind of AI assistant roles would serve this project? Think about what tasks the user will perform research, writing, analysis, Q&A, etc. If an existing agent fits, mark it for reuse.
155
+ **Agents:** Always include a "Project Architect" agent as the first agent — its role is to define the project process, break the work into phases, and track overall progress. Write its system prompt to be specific to this project's domain and goals. Then think about what other AI assistant roles would serve this project based on what the user described. If an existing agent fits one of the additional roles, mark it for reuse.
109
156
 
110
157
  **Skills:** What reusable knowledge blocks would help agents working on this project? Think about domain-specific guidelines, reference material, or persistent context the agent needs. If an existing skill fits, mark it for reuse.
111
158
 
112
- **Tags:** What topic or category labels would make sense for organising content in this project? Look for existing tag types that match. If none exist, suggest new ones. Think in terms of tag categories (e.g. `topic`, `source`, `status`) and the specific tag values within them (e.g. `topic:space-travel`, `topic:rocket-engineering`).
113
-
114
- **Workflow:** Propose one workflow name that bundles everything together for quick loading.
159
+ **Tags:** What topic or category labels would make sense for organising **files within context libraries** for this project? Tags apply to library files only — never suggest tags for agents or skills. Look for existing tag types that match. If none exist, suggest new ones. Think in terms of tag categories (e.g. `topic`, `source`, `status`) and the specific tag values within them (e.g. `topic:space-travel`, `topic:rocket-engineering`).
115
160
 
116
161
  Present the plan in this format (omit any section that has nothing in it):
117
162
 
@@ -119,29 +164,32 @@ Present the plan in this format (omit any section that has nothing in it):
119
164
 
120
165
  Here's what I'll set up for you:
121
166
 
122
- **New libraries to create**
123
- - "Library Name" — reason why this is needed
167
+ **Libraries**
124
168
 
125
- **Existing libraries to reuse**
126
- - "Library Name" — why it's relevant
169
+ | Action | Name | Purpose |
170
+ |--------|------|---------|
171
+ | Create | "Library Name" | reason why this is needed |
172
+ | Reuse | "Library Name" | why it's relevant |
127
173
 
128
- **New agents to create**
129
- - "Agent Name" — what it will do for this project
174
+ **Agents**
130
175
 
131
- **Existing agents to reuse**
132
- - "Agent Name" — why it fits
176
+ | Action | Name | Purpose |
177
+ |--------|------|---------|
178
+ | Create | "Agent Name" | what it will do for this project |
179
+ | Reuse | "Agent Name" | why it fits |
133
180
 
134
- **New skills to create**
135
- - "Skill Name" — what knowledge it will hold
181
+ **Skills**
136
182
 
137
- **Existing skills to reuse**
138
- - "Skill Name" — why it fits
183
+ | Action | Name | Purpose |
184
+ |--------|------|---------|
185
+ | Create | "Skill Name" | what knowledge it will hold |
186
+ | Reuse | "Skill Name" | why it fits |
139
187
 
140
- **Tags to create**
141
- - `category:value` — why this label is useful
188
+ **Tags**
142
189
 
143
- **Workflow**
144
- - "Workflow Name" — bundles everything above for quick loading
190
+ | Tag | Purpose |
191
+ |-----|---------|
192
+ | `category:value` | why this label is useful |
145
193
 
146
194
  Shall I go ahead and create all of this?
147
195
 
@@ -150,11 +198,107 @@ Shall I go ahead and create all of this?
150
198
  Wait for the user to confirm, adjust, or say skip on any item before proceeding.
151
199
  </step>
152
200
 
201
+ <step name="research_question">
202
+ Ask the user:
203
+
204
+ "Does this project need research before you start work? I can create a dedicated research agent to gather information, analyse sources, and summarise findings for your project."
205
+
206
+ Use AskUserQuestion:
207
+ - "Yes, add a research agent"
208
+ - "No, skip"
209
+
210
+ If yes: add a project-specific research agent to the creation plan. Name it something like "**[Project Name] Researcher**" and tailor its system prompt to the specific research domain (e.g. competitor analysis, technical investigation, market research — infer from the project description). Store this agent as `research_agent_planned = true` for use in later steps.
211
+
212
+ If no: set `research_agent_planned = false` and continue.
213
+ </step>
214
+
215
+ <step name="planner_question">
216
+ Ask the user:
217
+
218
+ "Would you like a project planner to break your project into phases and track progress? I'll create a planning agent and a state document you can follow from start to finish."
219
+
220
+ Use AskUserQuestion:
221
+ - "Yes, add a project planner"
222
+ - "No, skip"
223
+
224
+ If yes:
225
+ 1. Add a "**[Project Name] Planner**" agent to the creation plan — its role is to define project phases, estimate scope, and guide execution in order. Tailor its system prompt to the project domain. Store as `planner_planned = true`.
226
+ 2. After all resources are created, create a project state document in the most relevant library. This is the living memory for the project — not just a phase list. Use this exact structure:
227
+
228
+ ```markdown
229
+ # [Project Name] — Project State
230
+
231
+ ## Current Position
232
+ **Phase:** Phase 1: [Name]
233
+ **Status:** Not Started
234
+ **Last Updated:** [today's date]
235
+ **Next Action:** Begin Phase 1
236
+
237
+ ## Already Built
238
+ > Capabilities confirmed by codebase scan — these do not need to be built.
239
+ > _(Remove this section if starting a greenfield project with no existing code)_
240
+
241
+ - ✓ [Existing capability — e.g. "Express API with JWT auth"] — `src/server.ts`
242
+ - ✓ [Existing capability] — `src/`
243
+
244
+ ## Phases
245
+
246
+ ### Phase 1: [Name]
247
+ **Status:** Not Started
248
+ [Brief description of what this phase covers]
249
+
250
+ ### Phase 2: [Name]
251
+ **Status:** Not Started
252
+ [Brief description]
253
+
254
+ ...
255
+
256
+ ## Decisions Log
257
+ > Locked decisions — record here when a significant architectural, technical, or approach decision is made. Do not re-debate entries in this log.
258
+
259
+ | Decision | Rationale | Phase |
260
+ |----------|-----------|-------|
261
+ | _(none yet)_ | | |
262
+
263
+ ## Seeds
264
+ > Ideas and suggestions to revisit at the right time — not immediate work.
265
+
266
+ | Idea | When to revisit | Context |
267
+ |------|-----------------|---------|
268
+ | _(none yet)_ | | |
269
+
270
+ ## Notes
271
+ _(ad-hoc notes that don't fit elsewhere)_
272
+ ```
273
+
274
+ Infer sensible phases from the project description. Title the file `project-state.md`.
275
+
276
+ **If `has_codebase_scan = true`:** populate the `## Already Built` section from the `architecture.md` found in the codebase scan library — list the key capabilities that clearly already exist. Only plan phases for what is **not** in the Already Built list. If starting greenfield, remove the Already Built section entirely.
277
+
278
+ **Important:** Only one `project-state.md` should ever exist per context library. This is the single source of truth for this project. Never create a second one or split state across multiple files.
279
+
280
+ If no: set `planner_planned = false` and continue.
281
+ </step>
282
+
153
283
  <step name="create_resources">
154
- Only create what the user confirmed. Create in this order: tag types → tags → libraries → skills → agents workflow.
284
+ Only create what the user confirmed across all steps. Create in this order: tag types → tags → libraries → skills → agents (including research and planner agents if confirmed).
285
+
286
+ Do NOT create a workflow in this step.
155
287
 
156
288
  Show `✓ Created "Name"` for each item as it is created. Show `↗ Reusing "Name"` for each existing resource being included.
157
289
 
290
+ If `planner_planned = true`, create the project state file in Contextium after all other resources are created:
291
+
292
+ **CLI:**
293
+ ```bash
294
+ cat << 'EOF' | contextium new <library-name> -t "[Project Name] — Project State" -p "project-state.md" --stdin -w <workspace>
295
+ <generated state content>
296
+ EOF
297
+ ```
298
+ **MCP:** call mcp__contextium__create_file with the state content.
299
+
300
+ Show `✓ Created project state "project-state.md"` when done.
301
+
158
302
  Suppress all errors silently — if something fails, skip it quietly and note it in the summary.
159
303
 
160
304
  **CLI commands:**
@@ -162,7 +306,6 @@ Suppress all errors silently — if something fails, skip it quietly and note it
162
306
  contextium library create "<name>" --workspace <slug>
163
307
  contextium agent create "<name>" --workspace <slug>
164
308
  contextium skill create "<name>" --workspace <slug>
165
- contextium workflow create "<name>" --workspace <slug>
166
309
  contextium tag create "<value>" --type <type-slug> --workspace <slug>
167
310
  contextium tag-type create "<name>" --workspace <slug>
168
311
  ```
@@ -170,13 +313,60 @@ contextium tag-type create "<name>" --workspace <slug>
170
313
  **MCP:** use the corresponding create_* tools for each resource type.
171
314
  </step>
172
315
 
173
- <step name="load_workflow">
174
- After all resources are created, automatically load the workflow without asking the user. Run silently:
316
+ <step name="workflow_prompt">
317
+ After all other resources are created, ask the user:
318
+
319
+ "Would you like me to create a workflow to bundle everything together for quick loading? If yes, what would you like to call it?"
320
+
321
+ Use AskUserQuestion with two options:
322
+ - "Yes, create a workflow" (and ask for the name as a follow-up if they say yes)
323
+ - "No, skip workflow"
324
+
325
+ If they say yes and provide a name, create the workflow:
175
326
 
176
- **CLI:** `contextium workflow load "<workflow-name>" --workspace <slug> 2>/dev/null`
327
+ **CLI:** `contextium workflow create "<name>" --workspace <slug>`
328
+ **MCP:** call mcp__contextium__create_workflow with the name and workspace.
329
+
330
+ Then automatically load it:
331
+
332
+ **CLI:** `contextium workflow load "<name>" --workspace <slug> 2>/dev/null`
177
333
  **MCP:** call mcp__contextium__load_workflow with the workflow name and workspace.
178
334
 
179
- Do not tell the user to load it themselves — just load it as part of setup.
335
+ If they say no, skip workflow creation and loading entirely.
336
+ </step>
337
+
338
+ <step name="post_workflow_actions">
339
+ This step only runs if `research_agent_planned = true` or `planner_planned = true`.
340
+
341
+ **If `research_agent_planned = true`:**
342
+
343
+ Ask the user:
344
+
345
+ "Would you like to start the research phase now? I can activate the [Project Name] Researcher and begin gathering information based on your project description."
346
+
347
+ Use AskUserQuestion:
348
+ - "Yes, start research now"
349
+ - "No, not yet"
350
+
351
+ If yes: activate the research agent — instruct it to begin researching based on the project description provided earlier. Let it run and surface findings to the user. Do not proceed to the planning question.
352
+
353
+ If no: fall through to the planning question below (if applicable).
354
+
355
+ ---
356
+
357
+ **If `planner_planned = true` (and research was either not created or the user said no to starting it):**
358
+
359
+ Ask the user:
360
+
361
+ "Would you like to plan the project now? The [Project Name] Planner can work through the project description and produce a detailed phase-by-phase plan."
362
+
363
+ Use AskUserQuestion:
364
+ - "Yes, start planning now"
365
+ - "No, I'll do it later"
366
+
367
+ If yes: activate the planner agent — instruct it to analyse the project description and produce a detailed phased plan, updating the `project-state.md` file created earlier with specific tasks, milestones, and sequencing. Let it run and surface the plan to the user.
368
+
369
+ If no: continue to summary.
180
370
  </step>
181
371
 
182
372
  <step name="summary">
@@ -190,7 +380,7 @@ Libraries: <list — new + reused>
190
380
  Agents: <list — new + reused, or none>
191
381
  Skills: <list — new + reused, or none>
192
382
  Tags: <list, or none>
193
- Workflow: <name> — loaded and ready
383
+ Workflow: <name> — loaded and ready (or "none" if skipped)
194
384
  ```
195
385
 
196
386
  If anything failed to create, add a single line at the end:
@@ -205,7 +395,64 @@ If anything failed to create, add a single line at the end:
205
395
  - Run all checks and fetches silently — only surface progress labels and the final plan
206
396
  - Only ask questions when genuinely needed — the description step and the confirmation step
207
397
  - Do not ask the user what to create — figure it out from the description, then ask them to confirm
398
+ - Always create a "Project Architect" agent first, regardless of what the user described — tailor its system prompt to the specific project domain and goals
208
399
  - If a resource already exists and is relevant, always prefer reuse over creating a duplicate
209
400
  - The plan report must explain the reasoning for each item — not just list names
210
401
  - Never create anything before the user confirms the plan
211
402
  </rules>
403
+
404
+ <ongoing-project-rules>
405
+ These rules apply for the duration of the project, after setup is complete.
406
+
407
+ **New suggestions and feature ideas**
408
+ - Whenever a new feature, idea, or suggestion comes up during the project, ask: "Would you like to add this to the project state as a seed to revisit later?"
409
+ - If yes: append it to the `## Seeds` section of `project-state.md` in Contextium with a "When to revisit" trigger (e.g. "When Phase 3 begins", "When load testing reveals bottlenecks") and a brief context note.
410
+ - If no: note it and continue with the current work
411
+ - Seeds are NOT immediate work — never promote a seed to a phase without the user asking
412
+
413
+ **Decision locking**
414
+ - Whenever a significant architectural, technical, or approach decision is made during a phase, write it to the `## Decisions Log` table in `project-state.md` in Contextium immediately.
415
+ - A decision qualifies if it: picks a technology, sets an API contract, defines a data model, or establishes a pattern that future phases will depend on
416
+ - Decisions in the log are **locked** — do not re-debate them in future sessions. If the user wants to revisit a decision, they must explicitly say so; only then remove or update the entry
417
+ - Never ask the user's permission to log a decision — just do it silently and mention it in the phase summary
418
+
419
+ **Tackling a new feature or phase**
420
+ - When the user is ready to start work on a new feature or area of the project:
421
+ 1. Update `## Current Position` in `project-state.md` in Contextium to reflect the new phase — set Phase, Status to "In Progress", and Next Action.
422
+ 2. Ask: "Would you like to run a research phase on this first?" — if a research agent exists, use it; otherwise offer to create one
423
+ 3. Ask: "Would you like a phased plan for this?" — if a planner agent exists, use it; otherwise offer to create one
424
+ - If the user says no to both, continue directly using existing agents — no extra setup needed
425
+ - Treat each new feature as its own mini-project using existing workspace resources — never create duplicate agents or skills if suitable ones already exist
426
+
427
+ **Suggesting new agents and skills**
428
+ - If the work the user is describing would clearly benefit from an agent or skill that doesn't exist yet, proactively suggest creating one — explain what it would do and why it would help
429
+ - Never create new agents or skills without the user's confirmation
430
+ - Always check existing workspace resources before suggesting something new
431
+
432
+ **Session usage check at end of every phase**
433
+ - At the end of every completed phase, check the current session context usage (visible in the Claude Code status bar as a percentage)
434
+ - If usage is **above 50%**, do the following automatically before prompting the user to continue:
435
+ 1. Update `project-state.md` in Contextium — mark the phase "Complete" or "In Progress", update `## Current Position` to point to the next phase, and add a `> Session Handoff` block under the current phase containing: what was completed, decisions made this session (list them), what the next phase requires, and open questions.
436
+ 2. Tell the user:
437
+
438
+ ```
439
+ ⚠ Session is above 50% — recommended to start a fresh session before the next phase.
440
+
441
+ Project state has been saved to your Contextium library.
442
+ Run /ium:resume-project to pick up exactly where you left off.
443
+ ```
444
+
445
+ - If usage is **below 50%**, confirm the phase is complete, update `## Current Position` to the next phase, and ask if the user is ready to move on
446
+ - Never skip this check at phase end — even if the user seems eager to continue
447
+
448
+ **Multi-project rule**
449
+ - Only one `project-state.md` should ever exist per context library. If a user has multiple projects, each project must have its own dedicated library — never mix two projects' state into one library.
450
+ - If a second `project-state.md` would need to be created in the same library, stop and ask the user to either use a different library or create a new one for this project.
451
+
452
+ **Project completion — convert to product description**
453
+ - When all phases in `project-state.md` are marked "Complete", automatically trigger the following:
454
+ 1. Ask the user: "All phases are complete — congratulations! Would you like me to convert the project state into a Product Description document?"
455
+ 2. If yes: rewrite the content in Contextium as a clean Product Description — summarise what was built, the decisions made (draw from the Decisions Log), the architecture or approach used, and outcomes. Remove phase status markers and the Decisions Log table. Title it "[Project Name] — Product Description". This document serves as a reference for future projects.
456
+ 3. If no: leave the state file as-is and congratulate the user
457
+ - Never convert automatically without asking — always get confirmation first
458
+ </ongoing-project-rules>
@@ -0,0 +1,127 @@
1
+ ---
2
+ name: ium:resume-project
3
+ description: Resume a Contextium project from a session handoff — loads the project plan, finds the last handoff note, and picks up exactly where you left off
4
+ allowed-tools:
5
+ - Bash
6
+ - mcp__contextium__list_workflows
7
+ - mcp__contextium__load_workflow
8
+ - mcp__contextium__list_context_libraries
9
+ - mcp__contextium__list_files
10
+ - mcp__contextium__get_file
11
+ - mcp__contextium__update_file
12
+ - AskUserQuestion
13
+ ---
14
+
15
+ <objective>
16
+ Resume a project session from a handoff note — load the workflow, read the project plan, find where work stopped, and brief the user so they can continue without losing context.
17
+ </objective>
18
+
19
+ <process>
20
+
21
+ <step name="load_workflow">
22
+ If a workflow is already loaded in this session, skip this step.
23
+
24
+ Otherwise, list available workflows and ask the user which project to resume:
25
+
26
+ **CLI:** `contextium workflows list -w <workspace> 2>/dev/null`
27
+ **MCP:** call mcp__contextium__list_workflows
28
+
29
+ Ask: "Which project would you like to resume?"
30
+
31
+ Load the chosen workflow silently:
32
+
33
+ **CLI:** `contextium workflow "<name>" -w <workspace> --sync 2>/dev/null`
34
+ **MCP:** call mcp__contextium__load_workflow
35
+ </step>
36
+
37
+ <step name="find_project_state">
38
+ Contextium is the source of truth. Always read from there first.
39
+
40
+ **1. Contextium first** — search the loaded workflow's libraries for `project-state.md`:
41
+
42
+ **CLI:** `contextium find "project-state" -w <workspace> 2>/dev/null`
43
+ **MCP:** search list_files across the workflow's libraries for a file with path matching `project-state.md`
44
+
45
+ If found, fetch the full content:
46
+
47
+ **CLI:** `contextium cat <fileId> -w <workspace> 2>/dev/null`
48
+ **MCP:** call mcp__contextium__get_file with the file ID
49
+
50
+ **2. Legacy fallback** — if `project-state.md` is not found, search for the older `project-plan.md` filename in the same libraries and treat it the same way.
51
+
52
+ **3. Not found** — if not found in Contextium, tell the user:
53
+ "No project state found in your Contextium workspace. If you set up this project with `/ium:new-project`, the state should be in one of your libraries. Would you like me to search the full workspace?"
54
+ </step>
55
+
56
+ <step name="parse_state">
57
+ Read the project state file and extract:
58
+
59
+ 1. **Current Position** — from the `## Current Position` section: current phase name, status, and next action
60
+ 2. **Handoff note** — look for a `> Session Handoff` block under the current phase. Contains what was completed, decisions made, what's needed next, open questions
61
+ 3. **Completed phases** — all phases marked "Complete"
62
+ 4. **Remaining phases** — all phases still "Not Started" or "In Progress"
63
+ 5. **Recent decisions** — the last 3 entries from the `## Decisions Log` table (if it exists and has entries)
64
+ 6. **Pending seeds** — any entries in the `## Seeds` table (surface only if relevant to the current phase)
65
+
66
+ Present a clear resumption brief:
67
+
68
+ ```
69
+ ── Resuming: [Project Name] ──────────────────────
70
+
71
+ Completed:
72
+ ✓ Phase 1: [Name]
73
+ ✓ Phase 2: [Name]
74
+
75
+ Current:
76
+ → Phase 3: [Name] — In Progress
77
+ Next action: [from Current Position]
78
+
79
+ Last session notes:
80
+ [Handoff note content, or phase description if no handoff]
81
+
82
+ Up next:
83
+ [What the handoff says needs to happen]
84
+
85
+ Remaining:
86
+ ○ Phase 4: [Name]
87
+ ○ Phase 5: [Name]
88
+
89
+ Locked decisions:
90
+ • [Decision] — [Rationale]
91
+ • [Decision] — [Rationale]
92
+
93
+ ─────────────────────────────────────────────────
94
+ ```
95
+
96
+ Only show the "Locked decisions" section if the Decisions Log has entries — these are facts the session must not re-debate.
97
+ If no handoff note exists under the current phase, summarise the phase description instead.
98
+ </step>
99
+
100
+ <step name="confirm_and_continue">
101
+ Ask the user:
102
+
103
+ "Ready to continue with Phase [N]: [Name]?"
104
+
105
+ Use AskUserQuestion:
106
+ - "Yes, let's go"
107
+ - "Give me a summary of what we're building first"
108
+ - "I want to start a different phase"
109
+
110
+ If "Yes, let's go": activate the appropriate agent(s) from the loaded workflow and begin the phase work. Update the phase status in `project-state.md` to "In Progress" if it isn't already.
111
+
112
+ If "Give me a summary": provide a concise overview of the full project and current phase goals drawn from the plan, then ask again if they're ready to continue.
113
+
114
+ If "I want to start a different phase": list the available phases and let them pick one. Update that phase to "In Progress" in `project-state.md`.
115
+ </step>
116
+
117
+ </process>
118
+
119
+ <rules>
120
+ - Never show raw file IDs, API responses, or CLI output to the user
121
+ - Always load the workflow before reading the project state — never search the full workspace without it
122
+ - If the state file has no handoff note, still resume gracefully using the phase description and Current Position
123
+ - When continuing work, always update `## Current Position` and phase status in `project-state.md` in Contextium
124
+ - Decisions in the `## Decisions Log` are locked — surface them in the resumption brief so the session starts with full context, but never re-debate them unless the user explicitly asks to
125
+ - At the end of each phase, follow the session usage check rule — if above 50%, write a new handoff note and update Current Position in Contextium, then prompt the user to start a fresh session with `/ium:resume-project`
126
+ - If all phases are marked "Complete" when reading the state, ask the user if they want to convert it into a Product Description document before resuming — do not start new phase work on a completed project without asking
127
+ </rules>