Iterative writing loop. Gemini 3 Pro writes, Claude Agent SDK reviews autonomously. Use for blog posts, docs, technical content needing quality iteration.
Iterative writing loop that combines Gemini 3 Pro's writing capabilities with Claude's review.
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
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)post - Technical blog post (default)doc - Documentationgithub-issue - GitHub issueshelve run --project Personal -- npx tsx ~/.claude/skills/writer/scripts/write-loop.ts --template doc "Vue composable docs"
--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"
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.
--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"