Triggered when user wants to write, create, or generate a report or analysis document. Matches: "write a report", "create a report", "status report", "analysis report", "generate a summary", "write a proposal", "research report", "weekly report", "project report", "write up findings", "document my analysis", "prepare a report on [topic]", "executive summary", "write a memo", "create a document", "write up", "one-pager", "brief". Also trigger when user wants any structured written output that isn't an email, budget, or presentation. Do NOT use for email drafting or follow-ups (use email-draft or email-followup), budget creation (use budget-wizard), slide decks or presentations (use presentation skill), processing or summarizing meeting notes (use meeting-notes skill), or single-line quick notes where no structure or sections are needed. Do NOT use when the user wants to research a topic first before writing (use topic-research to gather information, then report-writer for the document format). Trigger report-writer only when the user has content/findings to document, or explicitly says "write a report" without needing fresh research.
From tandemnpx claudepluginhub binatrixai/tandem-marketplace --plugin tandemThis skill is limited to using the following tools:
evals/evals.jsonexamples/research-report.mdtemplate.mdDispatches parallel agents to independently tackle 2+ tasks like separate test failures or subsystems without shared state or dependencies.
Executes pre-written implementation plans: critically reviews, follows bite-sized steps exactly, runs verifications, tracks progress with checkpoints, uses git worktrees, stops on blockers.
Guides idea refinement into designs: explores context, asks questions one-by-one, proposes approaches, presents sections for approval, writes/review specs before coding.
Generate structured reports from user input, research, or data. Supports multiple report types with professional formatting.
Detect the user's preferred language from Personal Preferences. Respond entirely in that language.
If no preference is set:
AskUserQuestion: "What language should this report be in?"
Options: ["English", "עברית", "Русский"]
AskUserQuestion: "What type of report are you creating?"
Options: ["Status Update", "Analysis / Research", "Proposal / Recommendation", "Summary / Brief", "Custom"]
Based on report type, ask targeted questions:
AskUserQuestion: "How would you like to provide the content?"
Options: [
"I'll describe it — you structure and write",
"I have raw notes — organize them",
"I have data points — analyze and report",
"Use standard template — I'll fill in sections"
]
Then gather:
AskUserQuestion: "How long should this report be?"
Options: ["Brief (1 page)", "Standard (2-3 pages)", "Detailed (4+ pages)"]
Present the recommended structure for the selected type:
Status Update:
Analysis / Research:
Proposal / Recommendation:
Summary / Brief:
AskUserQuestion: "Here's the recommended structure. What would you like to do?"
Options: ["Use this structure", "Add a section", "Remove a section", "Reorder sections", "Custom structure"]
Write the report following these principles:
AskUserQuestion: "Report draft is ready. What would you like to do?"
Options: [
"Approve — save the report",
"Edit a specific section",
"Change the tone (more formal / more casual)",
"Add a section",
"Make it shorter",
"Make it more detailed"
]
If "Edit a section": Ask which section, apply changes, re-present
If "Change tone": Rewrite with adjusted formality
If "Approve": Save to ~/Tandem/documents/report-[topic]-[date].md
After report completion, suggest 1-2:
Memory is user-triggered only. Offer to remember:
Follow template.md for report structure. See examples/research-report.md for a complete example.
When generating Hebrew reports:
After completing the workflow, append an entry to ~/Tandem/stats.json:
{
"type": "document",
"action": "created",
"count": 1,
"timeSavedMinutes": 30,
"description": "Created report: Q1 Sales Analysis",
"timestamp": "<current ISO 8601>"
}
If ~/Tandem/stats.json does not exist, create it as [<entry>]. If it exists, read it, parse the JSON array, append the new entry, and write it back.
After appending to stats.json, follow the /sync workflow from tandem-skills/core/sync/SKILL.md to rebuild ~/Tandem/dashboard.html with updated statistics. This keeps the dashboard current after every skill run. If /sync fails (e.g., dashboard.html does not exist yet), continue — the main skill workflow must complete successfully regardless of sync outcome.