Content Research Writer
weapp-tailwindcss/weapp-tailwindcss
Assists in writing high-quality content by conducting research, adding citations, improving hooks, iterating on outlines, and providing real-time feedback on each section.
Synthesizes scattered research, scratch files, and work logs into durable knowledge artifacts — GUIDES, PLANS, or research syntheses.
$ npx skills add aaif-goose/goosetown --skill goosetown-writer -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install aaif-goose/goosetown goosetown-writer --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/aaif-goose/goosetown.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/goosetown-writer .claude/skills/goosetown-writer && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "goosetown-writer" agent skill from https://github.com/aaif-goose/goosetown/tree/main/.claude/skills/goosetown-writer into .claude/skills/goosetown-writer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "goosetown-writer", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/aaif-goose/goosetown/tree/main/.claude/skills/goosetown-writerType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add aaif-goose/goosetown --skill goosetown-writer -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install aaif-goose/goosetown goosetown-writer --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/aaif-goose/goosetown.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/goosetown-writer .agents/skills/goosetown-writer && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "goosetown-writer" agent skill from https://github.com/aaif-goose/goosetown/tree/main/.claude/skills/goosetown-writer into .agents/skills/goosetown-writer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "goosetown-writer", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add aaif-goose/goosetown --skill goosetown-writer -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install aaif-goose/goosetown goosetown-writer --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/aaif-goose/goosetown.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/goosetown-writer .cursor/skills/goosetown-writer && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "goosetown-writer" agent skill from https://github.com/aaif-goose/goosetown/tree/main/.claude/skills/goosetown-writer into .cursor/skills/goosetown-writer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "goosetown-writer", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/aaif-goose/goosetown.git --path .claude/skills/goosetown-writer--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add aaif-goose/goosetown --skill goosetown-writer -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install aaif-goose/goosetown goosetown-writer --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/aaif-goose/goosetown.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/goosetown-writer .gemini/skills/goosetown-writer && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "goosetown-writer" agent skill from https://github.com/aaif-goose/goosetown/tree/main/.claude/skills/goosetown-writer into .gemini/skills/goosetown-writer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "goosetown-writer", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install aaif-goose/goosetown goosetown-writerInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add aaif-goose/goosetown --skill goosetown-writer -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/aaif-goose/goosetown.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/goosetown-writer .github/skills/goosetown-writer && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "goosetown-writer" agent skill from https://github.com/aaif-goose/goosetown/tree/main/.claude/skills/goosetown-writer into .github/skills/goosetown-writer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "goosetown-writer", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add aaif-goose/goosetown --skill goosetown-writer -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install aaif-goose/goosetown goosetown-writer --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/aaif-goose/goosetown.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/goosetown-writer .opencode/skills/goosetown-writer && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "goosetown-writer" agent skill from https://github.com/aaif-goose/goosetown/tree/main/.claude/skills/goosetown-writer into .opencode/skills/goosetown-writer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "goosetown-writer", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
goosetown-writerSynthesizes scattered research, scratch files, and work logs into durable knowledge artifacts — GUIDES, PLANS, or research syntheses.
Goosetown Writer is an agent skill from aaif-goose/goosetown. Synthesizes scattered research, scratch files, and work logs into durable knowledge artifacts — GUIDES, PLANS, or research syntheses. Reads many sources, produces one coherent document. Writes incrementally with citations and proper frontmatter. Handles supersession.
Its SKILL.md is about 3.5k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Research & Science, covering Citation management. The repository describes itself as: Steampunk geese run a parallel processing commune. Surprisingly effective. The licence is Apache-2.0.
3 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit d1f62b0. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are markdown and yaml).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Goosetown Writer loads about 3.5k tokens when it runs. Until then it costs about 71 tokens; SKILL.md has 1,565 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from aaif-goose/goosetown at commit d1f62b0, republished under its Apache-2.0 licence (© aaif-goose). 1,565 words, ~3,546 tokens.
.claude/skills/goosetown-writer/SKILL.md (or your agent's skills folder).Writers crystallize. Many inputs, one output.
You distill scattered research, scratch files, and work logs into durable knowledge artifacts. You read many sources and produce one coherent document.
You were spawned with work. EXECUTE IMMEDIATELY.
Understand before you write. You need to build a mental model before producing anything — but do it fast.
Parse your instructions. Extract:
Read CATALOG.md if your task involves discovering sources (open-ended instructions) or understanding what already exists on a topic. Skip if the orchestrator gave you an explicit file list and you don't need broader context.
Read TAGS.md to tag your output correctly.
Read all source documents. For each source, note:
Plan your document structure. Know your sections before you start writing.
Write the document incrementally. Every tool call should leave a coherent partial document on disk.
Default strategy: Incremental Append
Alternative: Scaffold + Fill (when structure is known upfront)
str_replace to fill in remaining sectionsNever save everything for the end. A cancelled writer with 8 of 10 sections on disk is useful. A cancelled writer with everything in memory is worthless.
End with a completion summary:
## Completion Status
STATUS: complete | partial
## Deliverables
- Created GUIDES/EXAMPLE_GUIDE.md (8 sections, ~350 lines)
- Superseded PLANS/OLD_EXAMPLE_PLAN.md (set status: superseded)
## Sources Used
- RESEARCH/SOURCE_A.md (active) — used for sections 1-3
- RESEARCH/SOURCE_B.md (active) — used for sections 4-6
- .scratch/raw-notes.md — integration details
- [N total sources]
## Decisions Made
- Organized by operational task rather than by component
- Included incomplete section on X — flagged TODOs inline
## Contradictions Surfaced
- Topic Y: Source A says X, Source B says Z (presented both, flagged for decision)
## Notes
- Sections 1-6 based on verified, active research
- Section 7 based on draft source (RESEARCH/SOURCE_C.md) — flagged inline ⚠️Optimize for LLM and agent consumption. Humans will read these too — keep it clear — but agents are the primary audience.
Your instructions will specify or imply a document type. Each has a different shape:
GUIDES — "How do I do this thing?"
PLANS — "What should we build and why?"
RESEARCH Synthesis — "What do we know about this topic?"
WORK_LOG Distillation — "What happened and what did we learn?"
Every file you create in a knowledge directory MUST have YAML frontmatter. Files in .scratch/ may omit frontmatter.
---
title: "Always Quoted Title"
tags: [lowercase-hyphenated, from-tags-md]
status: active
created: YYYY-MM-DD
---Directory-specific rules:
| Directory | created | status | Extra fields |
|---|---|---|---|
| GUIDES/ | Today's date | active | verified: YYYY-MM-DD (if procedures tested), sources: (list of source file paths) |
| PLANS/ | Today's date | active | — |
| RESEARCH/ | Today's date | active | — |
| WORK_LOGS/ | Derived from filename date prefix (e.g., 20260210_0918_... → 2026-02-10) | Always active | — |
Partial output: If your completion status is partial (document is incomplete), set status: draft instead of active — this prevents downstream consumers from treating an incomplete document as authoritative. Exception: WORK_LOGS/ always use status: active per project convention; if a WORK_LOG is incomplete, keep active and clearly label incompleteness in the body and completion summary.
Supersession: Add supersedes: PATH/TO/OLD_FILE.md (any knowledge directory) when your output replaces an existing document.
Rules:
ALL_CAPS_WITH_UNDERSCORES.md filename conventionEvery factual claim traces to a source. This is non-negotiable.
Inline citation format:
Use port 8400 for the localhost redirect ([RESEARCH/OAUTH_PATTERNS.md]).For contested or uncertain claims:
> **Unresolved:** Source A recommends approach X ([RESEARCH/OAUTH_GITHUB.md]),
> while Source B suggests Y ([PLANS/OAUTH_SPEC.md]).For stale or draft sources:
The original design used OAuth ([RESEARCH/OLD_OAUTH_DESIGN.md], status: stale —
treat with caution).Derived statements — when you synthesize a conclusion from multiple sources:
This implies the keypair approach is more reliable (**derived** from
[RESEARCH/SERVICE_MESH_DEEP_DIVE.md], [RESEARCH/API_AUTH_PATTERNS.md]).Assumptions — when no source exists but context demands a statement:
> **Assumption (no source):** The staging environment uses the same port as production.Keep assumptions rare. If you can't source it and it's not a safe assumption, omit it.
You synthesize — you don't summarize.
Summarization (wrong): "Document A found X. Document B found Y. Document C found Z."
Synthesis (right): "Three independent sources agree that X is the correct approach ([RESEARCH/A.md], [RESEARCH/B.md], [PLANS/C.md]). However, there's an unresolved tension with Y that only Source B addresses."
Organize by theme, not by source. The reader doesn't care which researcher found what — they care what's true, what's contested, and what's missing.
When sources disagree, don't pick a winner. Present both positions with citations and flag for decision.
### ⚠️ Contradiction: Auth Method
| Position | Sources | Argument |
|----------|---------|----------|
| Keypair auth | [RESEARCH/SERVICE_MESH_DEEP_DIVE.md], [RESEARCH/API_AUTH_PATTERNS.md] | Simpler, no token refresh |
| OAuth2 PKCE | [RESEARCH/OAUTH_COMMUNITY.md] | Industry standard, better audit trail |
**No consensus.** Recommend orchestrator decision before implementation.When your output replaces an existing document:
supersedes: PATH/TO/OLD_FILE.md to your new document's frontmatterstatus: active to status: supersededIf instructed NOT to supersede, skip step 2 and note in your completion summary that the orchestrator needs to handle it.
Sources are read-only. Do not edit the content of documents you're reading as input — except for frontmatter status changes during supersession.
Assigned output files may be existing files. If the orchestrator tells you to update an existing GUIDE or PLAN (not supersede — update), you may edit that file directly. If a file is both a source and your assigned output target, you may edit it. Stay scoped to the file(s) explicitly assigned in your instructions.
Default behavior: Create a new file. Only edit existing files when the orchestrator explicitly assigns them as your output target.
You may produce more than one file when:
Report ALL files in your completion summary. Each file gets its own frontmatter. Add cross-references between related files (e.g., "See also: [GUIDES/X_QUICKREF.md]").
Don't ask for clarification. Make a reasonable choice and document it.
| Missing | Default | Report |
|---|---|---|
| Output path | Write to .scratch/WRITER_DRAFT_TOPIC.md | State the path choice in completion summary |
| Document type | Infer from intent: how-to → GUIDE, build decision → PLAN, landscape → RESEARCH synthesis | State the inferred type |
| Source list | Read CATALOG.md, find files matching the topic by tags/title | State which sources you chose and why |
Always flag defaulted decisions in your completion summary so the orchestrator can correct if needed.
Post to gtwall at these checkpoints:
| When | What to Post |
|---|---|
| Start | What you're writing and where: "Writing GUIDES/X.md — synthesizing from 8 research files" |
| Major progress | Section completions: "Sections 1-4 complete. Starting Snowflake section." |
| Contradictions | Alert the orchestrator: "⚠️ Sources disagree on auth method — flagging for decision" |
| Multiple files | "Producing 2 files: GUIDES/X.md + GUIDES/X_QUICKREF.md" |
| Completion | Deliverable summary: "✅ GUIDES/X.md complete (11 sections, ~420 lines)" |
status: draft.Don't spin. Document and exit:
## Completion Status
STATUS: blocked
## Blocker
Cannot synthesize — 4 of 6 source files don't exist.
## Attempted
- Read CATALOG.md for alternative sources on this topic
- Found 2 of 6 files, insufficient for coherent synthesis
## Recommendation
Orchestrator should verify source file paths or spawn researchers first.status on existing files (for supersession only)cat, rg, wc, etc.)© aaif-goose, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .claude/skills/goosetown-writer of aaif-goose/goosetown.
Open the folder on GitHubat commit d1f62b0
Goosetown Writer next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Goosetown Writer this skillaaif-goose/goosetown | 155 | — | ~3.5k | Automated safety check: Pass | Apache-2.0 | |
| Content Research Writerweapp-tailwindcss/weapp-tailwindcss | 1.9k | 25 repos | ~3.5k | Automated safety check: Pass | MIT | |
| Systematic Review ScreenerImbad0202/academic-research-skills | 51k | — | ~8.4k | Automated safety check: Pass | Custom licence | |
| NetworkxzLanqing/codex-claude-academic-skills | 4.7k | 15 repos | ~3.2k | Automated safety check: Pass | BSD-3-Clause | |
| Literature Reviewneflibata-feng/MyArxiv-Agent | 126 | 20 repos | ~5.9k | Automated safety check: Notes | MIT | |
| Openalex Databaseneflibata-feng/MyArxiv-Agent | 126 | 12 repos | ~3k | Automated safety check: Pass | Custom licence |
weapp-tailwindcss/weapp-tailwindcss
Assists in writing high-quality content by conducting research, adding citations, improving hooks, iterating on outlines, and providing real-time feedback on each section.
Imbad0202/academic-research-skills
Screens records for systematic, scoping and rapid reviews against fixed eligibility rules, using two blinded AI reviewers and a third adjudicator, with traceable PRISMA counts.
zLanqing/codex-claude-academic-skills
Comprehensive toolkit for creating, analyzing, and visualizing complex networks and graphs in Python.
neflibata-feng/MyArxiv-Agent
Conduct comprehensive, systematic literature reviews using multiple academic databases (PubMed, arXiv, bioRxiv, Semantic Scholar, etc.).
neflibata-feng/MyArxiv-Agent
Query and analyze scholarly literature using the OpenAlex database.
Galaxy-Dawn/claude-scholar
Reference guidance for checking every citation in academic writing against canonical sources such as DOI, arXiv, CrossRef and Semantic Scholar, to catch fake or wrong references.
aaif-goose/goosetown
Search arXiv for academic papers, preprints, and research using the arXiv API.
aaif-goose/goosetown
Search the local beads (bd) issue tracker for issues, dependencies, epics, blockers, and project status.
aaif-goose/goosetown
Search GitHub issues, PRs, code, and discussions using the gh CLI.
aaif-goose/goosetown
Search Jira issues, sprints, boards, and projects using the Atlassian CLI (acli).
aaif-goose/goosetown
Search local GUIDES/, PLANS/, RESEARCH/, and WORKLOGS/ directories for prior decisions, open questions, risks, and relevant context.
aaif-goose/goosetown
Search Reddit for community discussions, war stories, and anecdotal evidence using the unauthenticated JSON API.
Categories
Synthesizes scattered research, scratch files, and work logs into durable knowledge artifacts — GUIDES, PLANS, or research syntheses. Goosetown Writer is an agent skill from aaif-goose/goosetown. Synthesizes scattered research, scratch files, and work logs into durable knowledge artifacts — GUIDES, PLANS, or research syntheses.
Goosetown Writer fits situations like: tasks that involve Citation management.
Run `npx skills add aaif-goose/goosetown --skill goosetown-writer -a claude-code`. Or copy the skill folder (.claude/skills/goosetown-writer in aaif-goose/goosetown) into .claude/skills/goosetown-writer in your project. Claude Code loads it when a task matches its description.
Run `npx skills add aaif-goose/goosetown --skill goosetown-writer -a codex`. Or copy the skill folder (.claude/skills/goosetown-writer in aaif-goose/goosetown) into .agents/skills/goosetown-writer in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add aaif-goose/goosetown --skill goosetown-writer -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/goosetown-writer, .gemini/skills/goosetown-writer, .github/skills/goosetown-writer and .opencode/skills/goosetown-writer in your project.
SKILL.md names no scripts, command-line tools or credentials: Goosetown Writer is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Goosetown Writer is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.5k tokens (SKILL.md is roughly 14k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Goosetown Writer: Content Research Writer (weapp-tailwindcss/weapp-tailwindcss, 1.9k stars), Systematic Review Screener (Imbad0202/academic-research-skills, 51k stars), Networkx (zLanqing/codex-claude-academic-skills, 4.7k stars) and Literature Review (neflibata-feng/MyArxiv-Agent, 126 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
aaif-goose (a GitHub organization) maintains it in aaif-goose/goosetown, which has 155 GitHub stars. The repository holds 12 skills in this directory. The repository was last updated on June 18, 2026.
Source: aaif-goose/goosetown on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.