Writer Skill
Iterative writing loop that combines Gemini 3 Pro's writing capabilities with Claude's review.
Flow
- User provides topic/context
- Gemini 3 Pro writes draft
- Claude Agent SDK reviews autonomously
- If not approved, Gemini rewrites with feedback
- Loop until approved (max 15 iterations)
- DeepL improves grammar/style (if API key set)
- Claude merges DeepL suggestions (preserves code, markdown, technical terms)
Usage
shelve run --project Personal -- npx tsx ~/.claude/skills/writer/scripts/write-loop.ts "Write a blog post about Vue 3 composition API"
With context file:
shelve run --project Personal -- npx tsx ~/.claude/skills/writer/scripts/write-loop.ts "Write docs for this component" --context ./Component.vue
Environment Variables
Use shelve skill to manage env vars in project "Personal":
GOOGLE_AI_KEY_1- Primary Google AI API keyGOOGLE_AI_KEY_2- Secondary key (quota rotation)GOOGLE_AI_KEY_3- Tertiary key (quota rotation)DEEPL_API_KEY- DeepL API key (for grammar step, optional)
Options
Templates
post- Technical blog post (default)doc- Documentationgithub-issue- GitHub issue
shelve run --project Personal -- npx tsx ~/.claude/skills/writer/scripts/write-loop.ts --template doc "Vue composable docs"
Model
--model pro- Gemini 3 Pro (default, faster)--model pro-think- Gemini 3 Pro with thinking mode (slower, better quality)
shelve run --project Personal -- npx tsx ~/.claude/skills/writer/scripts/write-loop.ts --model pro-think "Complex technical post"
Resume
If interrupted, resume from last state:
shelve run --project Personal -- npx tsx ~/.claude/skills/writer/scripts/write-loop.ts --resume
State saved to .writer-state.json after each iteration.
Grammar Options
--no-grammar- Skip DeepL grammar step--style, -s- Writing style: academic|business|casual|simple--tone, -o- Tone: confident|diplomatic|enthusiastic|friendly--lang, -l- Target language (default: en-US)--max-iterations, -m- Max iterations (default: 15)
Default styles per template:
post: business + friendlydoc: simple + confidentgithub-issue: business + diplomatic
# Custom style/tone
shelve run --project Personal -- npx tsx ~/.claude/skills/writer/scripts/write-loop.ts --style casual --tone enthusiastic "Fun intro to TypeScript"
# Skip grammar step
shelve run --project Personal -- npx tsx ~/.claude/skills/writer/scripts/write-loop.ts --no-grammar "Quick draft"