From adjutant-agent
Reviews improvement proposals by analyzing strengths, weaknesses, feasibility, and cost estimate. Records review as comment and optionally creates revisions.
How this skill is triggered — by the user, by Claude, or both
Slash command
/adjutant-agent:discuss-proposalThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Discuss a proposal with the user to refine it before accepting or dismissing. Your review is permanently recorded as a comment on the proposal, and you may create a revision if you identify concrete improvements.
Discuss a proposal with the user to refine it before accepting or dismissing. Your review is permanently recorded as a comment on the proposal, and you may create a revision if you identify concrete improvements.
/discuss-proposal {proposalId}
You have been asked to discuss and review a proposal with the user. Follow these steps:
Fetch the proposal using the get_proposal MCP tool:
get_proposal({ id: "{proposalId}" })
Validate project match — ensure this proposal belongs to your current project:
get_project_state() to determine your current project.proposal.project with the current project name.send_message({ to: "user", body: "Cannot discuss proposal '<title>' — it belongs to project '<proposal.project>' but I am currently scoped to project '<my-project>'. Please route this to an agent working on '<proposal.project>'.", threadId: "proposal-{proposalId}" })
Do not change the proposal's status (leave it as-is). Stop execution here — do not proceed with the review.Check existing comments and revisions to understand prior discussion:
list_proposal_comments({ id: "{proposalId}" })
list_revisions({ id: "{proposalId}" })
Report status via MCP:
set_status({ status: "working", task: "Reviewing proposal: <title>" })
Analyze the proposal and send your analysis to the user via MCP:
send_message({ to: "user", body: "<your analysis>", threadId: "proposal-{proposalId}" })
Your analysis should cover:
Record your review as a comment on the proposal. This is mandatory — every review must be permanently attached to the proposal record:
comment_on_proposal({ id: "{proposalId}", body: "<review summary>" })
The comment body should be a concise summary of your review findings. It does not need to duplicate the full chat message — focus on the key points: strengths, weaknesses, and any recommended changes.
Engage in discussion: After sending your initial analysis, check for user responses periodically using read_messages. Respond to questions and refine your thinking based on feedback.
If you identify concrete improvements, create a revision. Follow these sub-steps in order:
a. Announce your intent to the user FIRST — you must NOT silently revise. Send a message explaining exactly what you plan to change and why:
send_message({ to: "user", body: "I'd like to revise this proposal. Here's what I plan to change:\n- <change 1 and reason>\n- <change 2 and reason>\nShall I proceed?", threadId: "proposal-{proposalId}" })
b. Wait for user confirmation by checking read_messages — do not revise until the user agrees or the discussion makes it clear the changes are wanted.
c. Create the revision with a meaningful changelog:
revise_proposal({
id: "{proposalId}",
title: "Updated title if changed",
description: "Updated description if changed",
type: "product or engineering if changed",
changelog: "Specific description of what changed and why — e.g. 'Added phased rollout plan for API coverage; corrected assumption about frontend Zod schemas'"
})
Only include the fields you are actually changing (title, description, type). Omit fields that remain the same. The changelog field is always required and must be descriptive — never use generic text like "updated proposal".
When the discussion concludes, suggest next steps:
comment_on_proposal call. The comment records your review for posterity, even if no changes are needed.All questions about the proposal MUST be sent to the user via Adjutant MCP messages. This is non-negotiable.
send_message({ to: "user", body: "Question about proposal '<title>': <your question>" })
Rules:
AskUserQuestion — it blocks execution and the user may not be at the terminalthreadId: "proposal-{proposalId}" so it stays organized.send_message and stop.Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub lupusdei/adjutant --plugin adjutant-agent