Help us improve
Share bugs, ideas, or general feedback.
From crucible
Refresh the project's .review/aims.md interactively without running a full Crucible review. Use when the project's stated goals have shifted between reviews and you want to update aims before the next /crucible run.
npx claudepluginhub hazarsozer/crucible-cc --plugin crucibleHow this skill is triggered — by the user, by Claude, or both
Slash command
/crucible:aimsThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Force the Profiler agent to re-interview the user about project aims and rewrite `.review/aims.md`. Useful when the project's goals have shifted between reviews — for example, after a pivot, a new milestone, or a change in stakeholder priorities.
Guides Next.js Cache Components and Partial Prerendering (PPR): 'use cache' directives, cacheLife(), cacheTag(), revalidateTag() for caching, invalidation, static/dynamic optimization. Auto-activates on cacheComponents: true.
Migrates code, prompts, and API calls from Claude Sonnet 4.0/4.5 or Opus 4.1 to Opus 4.5, updating model strings on Anthropic, AWS, GCP, Azure platforms.
Compacts the current conversation into a handoff document for another agent to continue the work, with suggested skills and redacted sensitive info.
Share bugs, ideas, or general feedback.
Force the Profiler agent to re-interview the user about project aims and rewrite .review/aims.md. Useful when the project's goals have shifted between reviews — for example, after a pivot, a new milestone, or a change in stakeholder priorities.
This skill does NOT run a full review. It only refreshes the aims file. To run a review against the refreshed aims, invoke /crucible:run afterward.
Check for existing aims. Look at .review/aims.md.
Current aims at .review/aims.md:
<contents>
Refresh these aims, edit specific sections, or cancel?
(refresh / edit / cancel)
refresh → run the full Profiler interview (step 2 below).edit → ask which sections (Goal / Success criteria / Non-goals / Constraints / etc.) to update; only re-interview those, then write back the updated file.cancel → exit without changes..review/aims.md does NOT exist: announce No aims file found — running first-time interview. and proceed directly to step 2.Dispatch the Profiler in interview-only mode via the Task tool:
Task(
subagent_type="profiler",
description="Refresh project aims (interview only)",
prompt="""
You are running as the Profiler agent in INTERVIEW-ONLY mode. Your full system prompt is at agents/profiler.md.
<absolute path of the user's project>
Do NOT cast a committee. Do NOT output a CastingRoster. Your single job for this invocation:
.review/ to .gitignore (idempotent).Return: a single line of plaintext describing what was updated. No JSON, no roster. """ )
3. **Print confirmation.** Once the Profiler returns, print:
✓ Aims refreshed at .review/aims.md
If the Profiler reported a partial update or any error, surface it verbatim under a `Profiler note:` heading.
4. **Suggest next step.** Print:
Run /crucible to review against the updated aims.
## Edge cases
- **User cancels during the Profiler interview.** The Profiler may halt mid-interview. Catch the partial response and print: `Aims refresh cancelled. Existing aims at .review/aims.md are unchanged.`
- **Profiler returns malformed output.** This skill expects plaintext, not JSON. If the Profiler returns a JSON object anyway, treat its `casting_reasoning` or any human-readable field as the confirmation message.
- **Non-git projects.** Skip the .gitignore step silently — the Profiler's prompt already handles this.
## Notes
This skill is light. It does not invoke peer/team/leadership personas, does not write a report, and does not consume the budget of a full review. Use it freely whenever the project's goals shift.