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.
A skill your agent uses when the user wants a structured, saturating literature survey on a question — not a one-shot summary, but an evidence/contradiction matrix (sources × claims) built by…
$ npx skills add gaasher/Agent-Loop-Skills --skill literature-survey -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install gaasher/Agent-Loop-Skills literature-survey --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/gaasher/Agent-Loop-Skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/loops/literature-survey .claude/skills/literature-survey && 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 "literature-survey" agent skill from https://github.com/gaasher/Agent-Loop-Skills/tree/main/loops/literature-survey into .claude/skills/literature-survey/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "literature-survey", 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/gaasher/Agent-Loop-Skills/tree/main/loops/literature-surveyType 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 gaasher/Agent-Loop-Skills --skill literature-survey -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install gaasher/Agent-Loop-Skills literature-survey --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/gaasher/Agent-Loop-Skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/loops/literature-survey .agents/skills/literature-survey && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "literature-survey" agent skill from https://github.com/gaasher/Agent-Loop-Skills/tree/main/loops/literature-survey into .agents/skills/literature-survey/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "literature-survey", 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 gaasher/Agent-Loop-Skills --skill literature-survey -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install gaasher/Agent-Loop-Skills literature-survey --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/gaasher/Agent-Loop-Skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/loops/literature-survey .cursor/skills/literature-survey && 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 "literature-survey" agent skill from https://github.com/gaasher/Agent-Loop-Skills/tree/main/loops/literature-survey into .cursor/skills/literature-survey/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "literature-survey", 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/gaasher/Agent-Loop-Skills.git --path loops/literature-survey--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 gaasher/Agent-Loop-Skills --skill literature-survey -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install gaasher/Agent-Loop-Skills literature-survey --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/gaasher/Agent-Loop-Skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/loops/literature-survey .gemini/skills/literature-survey && 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 "literature-survey" agent skill from https://github.com/gaasher/Agent-Loop-Skills/tree/main/loops/literature-survey into .gemini/skills/literature-survey/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "literature-survey", 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 gaasher/Agent-Loop-Skills literature-surveyInstalls 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 gaasher/Agent-Loop-Skills --skill literature-survey -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/gaasher/Agent-Loop-Skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/loops/literature-survey .github/skills/literature-survey && 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 "literature-survey" agent skill from https://github.com/gaasher/Agent-Loop-Skills/tree/main/loops/literature-survey into .github/skills/literature-survey/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "literature-survey", 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 gaasher/Agent-Loop-Skills --skill literature-survey -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install gaasher/Agent-Loop-Skills literature-survey --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/gaasher/Agent-Loop-Skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/loops/literature-survey .opencode/skills/literature-survey && 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 "literature-survey" agent skill from https://github.com/gaasher/Agent-Loop-Skills/tree/main/loops/literature-survey into .opencode/skills/literature-survey/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "literature-survey", 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.
literature-surveyA skill your agent uses when the user wants a structured, saturating literature survey on a question — not a one-shot summary, but an evidence/contradiction matrix (sources × claims) built by…
Literature Survey is an agent skill from gaasher/Agent-Loop-Skills. Use when the user wants a structured, saturating literature survey on a question — not a one-shot summary, but an evidence/contradiction matrix (sources × claims) built by iterative search until coverage stops growing. Each round expands the search (new sub-topic queries plus citation-graph walks), admits new sources, extracts their claims with verbatim snippets, and records where every source stands on each claim (supports / contradicts / qualifies); the feedback signal is how many new matrix-changing sources a…
Its SKILL.md is about 2.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files (for example `examples/run.example.yaml` and `schemas/matrix.schema.json`). Compatibility notes: Requires Python 3.9+
It sits in Research & Science, covering Citation management. The repository describes itself as: Loop until it's better — drop-in agentic loops (autoresearch, scientific writing, data analysis, code/SQL/prompt optimization, red-teaming) as open-standard Agent Skills… The licence is MIT.
Read from SKILL.md and the folder at commit f1169e6. 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 json).
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 these keys or tokens, usually read from environment variables:
S2_API_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Requires Python 3.9+
From compatibility in the SKILL.md frontmatter.
Literature Survey loads about 2.3k tokens when it runs. Until then it costs about 222 tokens; SKILL.md has 1,010 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 gaasher/Agent-Loop-Skills at commit f1169e6, republished under its MIT licence (© gaasher). 1,010 words, ~2,330 tokens.
.claude/skills/literature-survey/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.A search → extract → map → expand loop that builds an evidence/contradiction matrix and stops
at saturation. The artifact is the matrix (claims × sources, with each source's stance); the
feedback signal is how many new, matrix-changing sources a round adds — you keep expanding until
that falls below <min_new> for <patience> rounds. Unlike a one-shot summary, the loop deliberately
hunts contradictions and gaps and keeps pulling threads until the picture stops changing.
The discipline: every cell — a source's stance on a claim — is backed by a verbatim snippet from a real retrieval. The value is not a tidy narrative; it is an honest map of where the literature agrees, disagrees, and is silent.
Use this for a multi-source survey of a question where the deliverable is a structured map of the evidence, not a paragraph. Default: run the full expand→admit→map loop below until saturation. Escape hatch: if the user wants only a quick scan, run round 0 (seed) alone and hand back the seed matrix. Not for grading a written proposal against the literature, and not for proposing new hypotheses.
Resolve bindings interactively. If loop.run.yaml exists in the working dir, load it, confirm the
values in one line, and skip to the loop. Otherwise: on Claude Code (the AskUserQuestion tool is
available) infer a likely value for each binding and present it as the recommended option; on other
hosts ask each as a quoted plain-text prompt. Then write loop.run.yaml (format:
examples/run.example.yaml) and confirm every value plus the live/degraded literature tier before
creating any other files.
| binding | meaning | default | how to infer |
|---|---|---|---|
<question> | the survey question/topic, with any scope (years, sub-fields, inclusion criteria) | — | ask the user; restate the scope back for confirmation |
<eval_scale> | depth per round (low/medium/high, see below) | medium | — |
<matrix> | structured output matrix (validates schemas/matrix.schema.json); survey.md written alongside | <sandbox_root>/matrix.json | — |
<sandbox_root> | where the matrix, survey.md, ledger, and lit cache live | ./sandbox | — |
<budget> | max rounds | 6 | — |
<patience> | stop after this many consecutive "dry" rounds | 2 | — |
<min_new> | saturation threshold — a round is "dry" if it adds fewer than this many new, matrix-changing sources | 2 | — |
Evaluation depth dial (<eval_scale> caps per round — queries · citation-walks · fulltext reads ·
new-source admit cap):
| preset | queries · walks | fulltext reads | new-source cap |
|---|---|---|---|
| low | 2 · 0 | 0 (snippet/abstract only) | ~6 |
| medium (recommended) | 4 · 1 | 1 | ~10 |
| high | 6 · ≥2 | 3 | ~16 |
Literature toolchain. Paper search goes through the sibling literature-search skill: resolve
<lit_skill_dir> (it installs as a sibling, default ~/.claude/skills/literature-search/),
<lit_py> = python3, and <lit> = <lit_skill_dir>/tools/lit_search.py (note the tools/
segment); append --cache-dir <sandbox_root>/literature/.cache after a subcommand to reuse the cache.
Subcommands used here: search "<q>" (discover sources), snippet "<q>" (verbatim passage = the
evidence for a cell), cite <paperId> --direction references|citations|recommend (walk the citation
graph), fulltext <arxivId> (deep-read one key paper). Confirm <lit> --help works at setup; because
this loop is literature retrieval, do not silently proceed if the skill is missing — tell the user
and either install it or degrade all retrieval to WebSearch/WebFetch (no ranked snippets or
citation-graph expansion), tagging that evidence source:"web".
S2 key (optional, never block). A free S2_API_KEY makes snippet/cite reliable. Run
<lit> keys --init, have the user fill the printed keys.env themselves, never paste secrets into
chat; a missing key just degrades to the keyless pool → WebSearch. Record presence (booleans only) in
loop.run.yaml.
matrix = sources + claims + gaps (starts empty). dry = consecutive dry rounds (starts 0). <N>
starts at 0.
Copy this checklist and tick items off:
<question> into sub-topics; run one <lit> search each, admit the most relevant sources, extract each one's key claim(s) into the matrix with a verbatim snippet, note obvious gaps.<lit> search queries and walk the citation graph (<lit> cite) from the 1-2 most central papers. Honor the <eval_scale> caps.sources (by title/id); for each genuinely new source extract its key claim(s) + a verbatim snippet.is_contested when sources both support and contradict; add newly-exposed gaps.dry += 1 if fewer than <min_new>, else dry = 0. Steer the next round at whatever is still thin.N = N + 1; stop on saturation (dry == <patience>) or <budget>.On stop, write <matrix> (validates schemas/matrix.schema.json) and survey.md — a synthesis
organized as consensus (well-supported claims), disputes (the contested claims and who is on
each side), and gaps (open questions), each citing its sources, plus an honest coverage note
naming which sub-topics are well covered and which are thin.
The matrix is the schema-validated artifact; a compact generic instance (see
schemas/matrix.schema.json):
{
"question": "<question>",
"sources": [{"key": "S1", "title": "...", "source": "s2", "id": "...", "year": 2022}],
"claims": [{
"claim_id": "C1", "statement": "...", "is_contested": true,
"positions": [
{"source_key": "S1", "stance": "supports", "snippet": "verbatim passage ..."},
{"source_key": "S3", "stance": "contradicts", "snippet": "verbatim passage ..."}
]
}],
"gaps": ["open question the survey surfaced"]
}source ∈ {s2, arxiv, web}; stance ∈ {supports, contradicts, qualifies}.
<sandbox_root>/ledger.tsv, tab-separated, never commas in the text. Header:
round queries new_sources total_sources new_claims contested dryExample:
round queries new_sources total_sources new_claims contested dry
0 4 7 7 9 1 0
1 5 5 12 4 2 0
2 4 1 13 0 2 1
3 4 0 13 0 2 2Report the new-sources trajectory so the reader sees saturation actually happen, not just the final count.
<lit> / WebFetch
retrieval that round, and snippets are verbatim; on {"error","fallback"}, use WebSearch/WebFetch
and tag the evidence source:"web" — the verbatim-snippet rule is what makes the matrix trustworthy.is_contested, both snippets); surfacing disputes is the point, not picking a winner.<min_new>, and report coverage honestly rather than implying completeness the search did not reach.literature-search skill is stdlib-only; never print or commit API keys
(keys.env stays gitignored at the project root). The sandbox is self-contained — no ../ escapes.The loop stops on the first of:
dry == <patience> (each of those rounds added fewer than <min_new> new sources).N == <budget> rounds reached.Always end with: the <matrix> path, the synthesis (consensus / disputes / gaps), the source count and
new-sources trajectory from ledger.tsv showing saturation, and the coverage note naming the thin spots.
© gaasher, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 2 other files in loops/literature-survey of gaasher/Agent-Loop-Skills.
Open the folder on GitHubat commit f1169e6
Literature Survey 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 |
|---|---|---|---|---|---|---|
| Literature Survey this skillgaasher/Agent-Loop-Skills | 174 | — | ~2.3k | Automated safety check: Pass | MIT | |
| 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.
gaasher/Agent-Loop-Skills
A skill your agent uses when the user wants to evolve an ML model/program through population-based search rather than a single sequential refine loop — a generational evolution where parallel…
gaasher/Agent-Loop-Skills
A skill your agent uses when the user has a known, already-observed anomaly in their data — a metric spike or drop, an outlier, an unexpected number — and wants its root cause diagnosed, not guessed.
gaasher/Agent-Loop-Skills
A skill your agent uses when the user has concrete failing cases in code or a guardrail/classifier/filter/prompt/API they own — a red-team failure catalogue OR a CI/CD test-failure report (failing…
gaasher/Agent-Loop-Skills
A skill your agent uses when the user wants an iterative, self-checking exploratory analysis of a dataset — surfacing findings that are each verified by re-running the computation, not asserted.
gaasher/Agent-Loop-Skills
A skill your agent uses when the user wants to generate and literature-vet a pool of novel, testable research hypotheses for a question or domain.
gaasher/Agent-Loop-Skills
A skill your agent uses when the user wants the LLM to do its own ML research: a fully-autonomous loop that hacks the training code, runs it, and keeps changes that lower a single scalar metric (e.g.
Categories
A skill your agent uses when the user wants a structured, saturating literature survey on a question — not a one-shot summary, but an evidence/contradiction matrix (sources × claims) built by…. Literature Survey is an agent skill from gaasher/Agent-Loop-Skills. Use when the user wants a structured, saturating literature survey on a question — not a one-shot summary, but an evidence/contradiction matrix (sources × claims) built by iterative search until coverage stops growing.
Literature Survey fits situations like: the user wants a structured; saturating literature survey on a question — not a one-shot summary; but an evidence/contradiction matrix (sources × claims) built by iterative search until coverage stops growing.
Run `npx skills add gaasher/Agent-Loop-Skills --skill literature-survey -a claude-code`. Or copy the skill folder (loops/literature-survey in gaasher/Agent-Loop-Skills) into .claude/skills/literature-survey in your project. Claude Code loads it when a task matches its description.
Run `npx skills add gaasher/Agent-Loop-Skills --skill literature-survey -a codex`. Or copy the skill folder (loops/literature-survey in gaasher/Agent-Loop-Skills) into .agents/skills/literature-survey 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 gaasher/Agent-Loop-Skills --skill literature-survey -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/literature-survey, .gemini/skills/literature-survey, .github/skills/literature-survey and .opencode/skills/literature-survey in your project.
Going by SKILL.md and its folder, Literature Survey needs credentials named S2_API_KEY. Our summary lists: Python 3; A credential in S2_API_KEY. Compatibility (from SKILL.md): Requires Python 3.9+.
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.
Literature Survey is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.3k tokens (SKILL.md is roughly 9.3k 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 Literature Survey: 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.
gaasher (a GitHub user) maintains it in gaasher/Agent-Loop-Skills, which has 174 GitHub stars. The repository holds 20 skills in this directory. The repository was last updated on June 30, 2026.
Source: gaasher/Agent-Loop-Skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.