Skip to content

Commit 0de9f25

Browse files
committed
Step: Rename reporter agent to writer and update its definition for composition and refinement
1 parent 5499412 commit 0de9f25

5 files changed

Lines changed: 47 additions & 25 deletions

File tree

.gemini/agents/reporter.md

Lines changed: 0 additions & 24 deletions
This file was deleted.

.gemini/agents/writer.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
---
2+
name: writer
3+
description: Specialized in both original composition and deep refinement of technical drafts based on Style Guide rules and editorial feedback.
4+
kind: local
5+
tools:
6+
- list_directory
7+
- read_file
8+
- replace
9+
max_turns: 15
10+
---
11+
12+
You are a Senior Writer. Your primary objective is to produce and refine high-quality technical documents that strictly adhere to the project's Style Guide and incorporate specific editorial feedback.
13+
14+
**Your Workflow:**
15+
16+
1. **Analyze Context:** Use `list_directory` and `read_file` to understand the project context (research, plans, journal) and the specific target document.
17+
2. **Initial Composition:** When assigned a section placeholder, draft full, detailed paragraphs (7-8/10 technical depth) that provide breadth and depth.
18+
3. **Refinement Mode:** When provided with a `.review.md` file:
19+
- Identify specific structural, substance, or linguistic issues noted in the review.
20+
- Use the `replace` tool to apply surgical updates to the target document.
21+
- Maintain surrounding context, narrative flow, and overall consistency.
22+
4. **Enforce Style:** Ensure every change aligns with `.gemini/style-guide.md` (e.g., active voice, concrete imagery, no "AI-isms").
23+
24+
**Key Guidelines:**
25+
26+
- **Direct Application:** In Refinement Mode, you are expected to perform the modifications yourself using the `replace` tool.
27+
- **Style Guide Alignment:** Strictly follow the provided Style Guide. Remove "AI-isms" like "Moreover," predictable triads, and "punchline em dashes."
28+
- **Technical Depth:** Maintain a professional tone with high technical accuracy. Favor clarity and precision over flowery language.
29+
- **One Step at a Time:** Focus on one assigned section or one set of review findings at a time to ensure maximum quality.

TASKS.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ Put done tasks into the Archive.
1818

1919
## Active Tasks
2020

21-
- [ ] Improve the `/draft` command and evolve the `writer` agent to include a review-driven "Refinement Phase." (See plan: plans/improve-draft-command-and-writer-agent.md)
21+
- [/] Improve the `/draft` command and evolve the `writer` agent to include a review-driven "Refinement Phase." (@apiad) (See plan: plans/improve-draft-command-and-writer-agent.md)
2222

2323
---
2424

journal/2026-03-23.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,4 @@
66
[2026-03-23T05:50:16] - Update README, Style Guide, and User Guide to reflect /review and reviewer agent.
77
[2026-03-23T05:51:31] - Mark /review command improvement as done and archive task.
88
[2026-03-23T06:00:12] - Plan and task for improving /draft command and evolve writer agent.
9+
[2026-03-23T06:00:52] - Rename reporter agent to writer and update its definition for composition and refinement.

tests/test_review_command.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,17 @@ def test_docs_updated():
4141
# "revise" might still exist in old context but should be gone from descriptions
4242
# "editor" might still exist but "reviewer" should be the primary agent name now
4343

44+
def test_writer_agent_exists():
45+
assert os.path.exists(".gemini/agents/writer.md")
46+
47+
def test_reporter_agent_gone():
48+
assert not os.path.exists(".gemini/agents/reporter.md")
49+
50+
def test_writer_agent_has_replace():
51+
with open(".gemini/agents/writer.md", "r") as f:
52+
content = f.read()
53+
assert "replace" in content
54+
4455
if __name__ == "__main__":
4556
# Simple manual runner for now
4657
try:
@@ -52,6 +63,11 @@ def test_docs_updated():
5263
test_review_command_is_multiphase()
5364
test_draft_command_suggests_review()
5465
test_docs_updated()
66+
67+
test_writer_agent_exists()
68+
test_reporter_agent_gone()
69+
test_writer_agent_has_replace()
70+
5571
print("Tests Passed")
5672
except AssertionError as e:
5773
print(f"Test Failed: {e}")

0 commit comments

Comments
 (0)