From unifylabs-workflow
Analyze incoming communications (emails, PDFs, vendor messages, client messages, legal reviews) against full project context. Produces structured reports with implications, risk assessment, and action items. Optionally drafts humanized replies and proposes repo updates. Use when the user says "/analyze-comms", "analyze this email", "review this communication", provides an incoming message to analyze, or pastes vendor correspondence, client emails, or legal feedback that needs project-context analysis and response.
How this skill is triggered — by the user, by Claude, or both
Slash command
/unifylabs-workflow:analyze-commsThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Gated multi-phase workflow for processing incoming communications against full project context. Produces a structured analysis report, optionally drafts a humanized reply, and proposes repo updates to keep project state accurate.
Gated multi-phase workflow for processing incoming communications against full project context. Produces a structured analysis report, optionally drafts a humanized reply, and proposes repo updates to keep project state accurate.
Invocation: /analyze-comms followed by pasted text or a file path.
Optional destination hint: /analyze-comms legal or /analyze-comms deliverables/emails/ to override default file placement.
digraph analyze_comms {
rankdir=TB;
node [shape=box, style=rounded];
intake [label="Phase 1: INTAKE\nParse input, extract metadata"];
plan [label="Enter Plan Mode", shape=ellipse, style=filled, fillcolor=lightyellow];
context [label="Phase 2: CONTEXT SCAN\nParallel agents scan repo"];
research [label="Phase 3: RESEARCH\nSmart auto-detect"];
analysis [label="Phase 4: ANALYSIS\nStructured report"];
gate1 [label="GATE 1\nPresent report + questions", shape=diamond, style=filled, fillcolor=lightsalmon];
reply_ask [label="Phase 5: REPLY\nAsk if reply needed"];
reply_draft [label="Draft reply + /humanizer"];
gate2 [label="GATE 2\nPresent reply draft", shape=diamond, style=filled, fillcolor=lightsalmon];
repo [label="Phase 6: REPO UPDATES\nPropose changes"];
gate3 [label="GATE 3\nApprove + execute", shape=diamond, style=filled, fillcolor=lightsalmon];
done [label="Done", shape=ellipse];
intake -> plan -> context -> research -> analysis -> gate1;
gate1 -> reply_ask [label="user answers"];
reply_ask -> reply_draft [label="yes"];
reply_ask -> repo [label="no reply"];
reply_draft -> gate2;
gate2 -> repo [label="approved"];
repo -> gate3;
gate3 -> done [label="approved"];
}
Runs before plan mode. Fast and non-destructive.
/analyze-comms (e.g., legal, deliverables/emails/). Store it for Phase 6.Parse the communication and identify:
| Field | What to extract |
|---|---|
| Sender | Person name + organization or role |
| Date | When the communication was sent |
| Type | Email reply, legal review, vendor update, status report, invoice, meeting notes, etc. |
| Topic tags | Areas touched: legal, technical, vendor, financial, compliance, timeline, etc. |
| Urgency | Deadlines mentioned, action-required language, time-sensitive indicators |
Present a one-liner summary for confirmation:
"[Type] from [Sender] ([Org]) re: [topic]. [Urgency note if any]."
Then enter plan mode and proceed to Phase 2.
Build a complete picture of where the project stands relative to this communication. Read CLAUDE.md first to discover the project's structure and conventions.
Use up to 3 Explore agents in a single message:
Agent 1 — Project State:
Read CLAUDE.md, PROJECT_STATUS.md (or equivalent status tracker), and any memory files. Report: current phase, active blockers, pending items, recent completions. Summarize in under 300 words.
Agent 2 — Related Communications: Search the project for prior communications with the same sender or on the same topic. Use Glob to find email files, Grep to search for the sender's name and topic keywords. Read the most relevant 3-5 files. Report: conversation history, last known state of discussion, any open threads.
Agent 3 — Relevant Docs: Based on topic tags from Phase 1, find and read strategy documents, architecture decision records, technical docs, or legal documents that provide context. Report: relevant decisions already made, constraints in play, open questions this communication might address.
Combine agent findings into a Context section in the plan:
Evaluate whether external research is needed based on the communication content.
Research is triggered when the communication mentions:
Research is skipped when:
Note in the plan: "No external research needed — communication covers familiar ground."
The core deliverable. Read references/report-template.md (relative to this SKILL.md) for the full template and formatting conventions.
Produce a structured report with these 6 required sections:
STOP. Present the full analysis report to the user. Ask all clarifying questions from Section 6 using AskUserQuestion or direct questions in text.
Do not proceed to Phase 5 until the user has responded to your questions. Their answers will inform the reply draft and repo update decisions.
After GATE 1 answers are received, ask: "Do you want me to draft a reply to [sender]?"
If no: Skip directly to Phase 6.
If yes: Ask for direction before drafting:
deliverables/emails/ or equivalent for prior outgoing emails). Match the format: header metadata, structured sections, action items, signature block./humanizer skill via the Skill tool. Pass the draft text and the voice sample file paths for voice calibration. Let the humanizer do a full pass to strip AI patterns and match the user's writing voice.STOP. Present the reply draft to the user for review. Wait for approval, edits, or rejection before proceeding to Phase 6.
After GATE 2 approval, the reply draft is always saved as a markdown file in deliverables/emails/ (or the destination hint directory). Use the naming convention [recipient]_[topic]_[date].md.
After saving, present the file path prominently so the user can copy-paste:
Reply saved:
deliverables/emails/[filename].md— open this file to copy-paste into your email client.
This is not optional. Every approved reply must be saved and its path presented.
Evaluate what should be updated in the repository and propose all changes as a manifest. Read references/report-template.md for file naming and placement conventions.
legal/, everything else in deliverables/emails/.deliverables/emails/.PROJECT_STATUS.md (or equivalent). Propose specific changes: blocker status updates, completed actions, new items.| Content | Default location |
|---|---|
| Communication PDFs | deliverables/emails/pdf/ |
| Legal PDFs | legal/pdf/ |
| General analyses | deliverables/emails/ |
| Legal analyses | legal/ |
| Reply drafts | deliverables/emails/ |
If the user provided a destination hint at invocation, use it instead. If a target directory does not exist, include its creation in the manifest.
Format proposed changes as:
Proposed Repo Changes:
CREATE [path] — [description]
UPDATE [path] — [specific changes]
MEMORY [what to save and why]
STOP. Present the change manifest to the user. Wait for approval.
On approval, execute all changes:
Do not do any of the following:
CLAUDE.md to discover the project's structure. File conventions vary by repo.[sender]_[topic]_[date].md format.User: /analyze-comms
[pastes: "Hi Tomer, just confirming the API keys are live. Let me know
if you hit any issues. - Jeff"]
Phase 1: Vendor update from Jeff (Wealthica). No urgency.
Phase 2: Scans project status, prior Jeff thread, Wealthica docs.
Phase 3: SKIPPED — routine confirmation.
Phase 4: Report notes API keys confirmed, resolves blocker,
no new risks, asks about integration timeline.
GATE 1: User answers questions.
Phase 5: User says "yes, brief thank-you." Draft + humanize.
GATE 2: User approves reply.
Phase 6: Proposes updating PROJECT_STATUS.md, saving email.
GATE 3: User approves. Files written.
User: /analyze-comms legal
[provides path: ~/Downloads/marks_contract_review.pdf]
Phase 1: Legal review from Mark (Kevin's lawyer). Multiple action items.
Phase 2: Scans legal/ directory, prior MSA thread, contract docs.
Phase 3: TRIGGERED — researches liability cap norms in tech consulting.
Phase 4: Detailed report with point-by-point breakdown, risk assessment
for each counter-position, strategic questions.
GATE 1: User provides direction on accept/counter decisions.
Phase 5: User says "yes, professional but firm." Draft + humanize.
GATE 2: User edits one paragraph, approves.
Phase 6: Proposes: store PDF in legal/pdf/, analysis in legal/,
reply in deliverables/emails/, update PROJECT_STATUS.md,
update risks doc, save memory about contract status.
GATE 3: User approves. All files written.
Skill tool during Phase 5 for reply voice calibration and AI pattern removal./ship to commit, push, and create a PR.npx claudepluginhub unifylabs-dev/unify-kit --plugin unifylabs-workflowGuides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.