adversarial-review
Review existing work with independent fresh reviewers and fresh synthesis. Use for an adversarial review, review-plan request, or…
Apply reviewer or collaborator feedback to an existing proposal while maintaining its voice and project context.
Claude Code
$ npx -y skills add chrisblattman/claudeblattman --skill proposal-revise --agent claude-code
Codex
$ npx skills add chrisblattman/claudeblattman --skill proposal-revise -a codex -y
Cursor
$ npx skills add chrisblattman/claudeblattman --skill proposal-revise -a cursor -y
Gemini CLI
$ npx skills add chrisblattman/claudeblattman --skill proposal-revise -a gemini-cli -y
GitHub Copilot
$ npx skills add chrisblattman/claudeblattman --skill proposal-revise -a github-copilot -y
OpenCode
$ npx skills add chrisblattman/claudeblattman --skill proposal-revise -a opencode -y
Windsurf
$ npx skills add chrisblattman/claudeblattman --skill proposal-revise -a windsurf -y
name: proposal-revise description: "Apply reviewer or collaborator feedback to an existing proposal while maintaining its voice and project context."
*v2.4 — Renamed from revise-proposal; noun-first grouping. Adds donor profile lookup and funder-conflict flagging during revision.* *v2.x — Reviewer-comment categorization, voice-pack enforcement, automatic backup before save*
Apply reviewer, collaborator, or self-review comments to an existing proposal draft while maintaining voice consistency. Use when applying feedback to a proposal draft.
This skill takes an existing proposal draft and feedback (dictated, typed, or from a file), applies the changes, and outputs an updated draft with a change summary. Designed for iterative revision — by you, collaborators, or co-PIs.
**The key value is the collaborator handoff:** A team member reads the draft, dictates or types all their feedback in one pass, and Claude extracts the actionable items and applies them. No one has to edit markdown directly.
**Pre-approved tools:** Google Workspace MCP and filesystem reads. Call them directly — no Task agents.
If you maintain a voice pack:
@~/.claude-assistant/voice/PROPOSAL_VOICE.md @~/.claude-assistant/voice/PROPOSAL_EXAMPLES.md
If not found, the skill warns and continues with general academic voice rules.
Look for the draft in this order: 1. Path provided in `$ARGUMENTS` (first positional argument) 2. Most recent `*_Draft.md` in `05_Submissions/Grants/` — confirm with user: "Found [filename]. Use this? [Y/n]" 3. If not found: "Usage: /proposal-revise <draft-path> [feedback]"
Read the full draft. Parse the revision notes section (if present) to understand what inputs were used, what's already been addressed, and what placeholders remain.
Also read `.claude/CLAUDE.md` for project config.
After finding the draft, identify the funder (from draft filename, header, or content):
1. Check for a donor profile at `~/.claude-assistant/donors/[funder-slug].md` 2. **If found:** Read it. Display "What They Value" and "What to Avoid" to the user. These inform revision decisions — especially when feedback conflicts with funder priorities. 3. **If not found:** Note: "No donor profile for [funder]. Proceeding without funder-specific guidance."
Feedback can come from any combination of these sources:
**Inline (dictated/typed).** The user provides comments directly after the command or in conversation. Dictated comments may be conversational — extract the actionable feedback. This is the most common workflow.
Example:
/proposal-revise 05_Submissions/Grants/Draft.md Tighten the intro. The power calc section needs the new numbers. Cut 200 words from methodology. Budget section needs cost-per-unit breakdowns.
**Comments file (`comments:path`).** Read the file. Accept any format — numbered list, free-form notes, bullet points, section annotations.
**Formal reviewer comments (`reviewer:path`).** Read the file and categorize each comment:
Show the categorization and wait for confirmation before applying:
Reviewer Comment Analysis: MUST ADDRESS (N): 1. [Comment] → Plan: [how to address] SHOULD ADDRESS (N): 1. [Comment] → Plan: [how to address] DISAGREE (N): 1. [Comment] → Reason: [why] Proceed? [Y/n/edit]
**Funder conflict flagging:** When processing any feedback (inline, file, or reviewer), if a suggestion conflicts with the donor profile's "What They Value" or "What to Avoid," flag it:
> "Note: This suggestion may conflict with [funder]'s preference for [X from donor profile]. Applying as requested, but flagging for review."
**Note:** The categorization and confirmation gate apply ONLY to formal reviewer comments (`reviewer:path`). For inline feedback and comments files, proceed directly to revisions.
For each piece of feedback:
1. **Locate** the relevant section 2. **Revise** the text to address the comment 3. **Maintain voice** — every revision follows the voice pack:
4. **Preserve structure** — don't reorganize sections unless asked 5. **Track changes** — keep a running list of what changed and why
**Rules:**
**Backup first.** Before overwriting, copy the current draft to `[filename].bak`.
**Save** the updated draft to the same path. Update the revision notes:
--- ## Revision Notes **Draft created:** [original date] **Last revised:** [today] by `/proposal-revise` **Revision round:** [increment] **Changes this round:** - [Brief list of major changes] **Funder conflicts flagged:** - [Any suggestions that conflicted with the donor profile, with notes] **Gaps / placeholders:** - [Updated list]
**Report:**
Draft updated: [filepath] Backup saved: [filepath].bak Changes made: 1. Section [X]: [What changed] — Reason: [comment ref] ... Word count: [before] -> [after] ([+/- change]) Funder conflicts flagged: [count, if any] Next steps: 1. Review changes in the draft 2. [If placeholders remain] Fill in: [list] 3. Run /r
Claude Code for professionals who don't code — Skills, agents, and setup guides
Review existing work with independent fresh reviewers and fresh synthesis. Use for an adversarial review, review-plan request, or…
Ask the specific Claude, Codex, Gemini, or Grok agent the user names and automatically retrieve its response. Use for targeted…
Develop independent approaches to a task, decision, plan, or draft, then use a fresh worker to synthesize them. Use for an…
Close out current work by saving decisions, unresolved tasks, useful artifacts, a session log and a current-state handoff for the…
Check the installed starter kit, prerequisites, and next step without calling external models.
Discover and test optional Claude, Codex, Gemini through Antigravity, and Grok subscription connections. Help with missing CLI or…
Draws static SVG figures for lessons, READMEs and manuals in the AI Engineering from Scratch look: paper panel, blueprint accent,…
End-to-end workflow for creating complete JavaScript concept documentation, orchestrating all skills from research to final review
Test a learner on a single Claude Code tutorial lesson (01-10) with 10 questions, scoring answers and flagging weak spots. Use…