GitHub Deep Research
bytedance/deer-flow
Researches a GitHub repository over four rounds using the GitHub API and web search, then writes a structured markdown report with timeline, metrics and Mermaid diagrams.
Runs a six-phase research workflow from a bundle of sources to a chosen output, whether quick notes, a canonical reference article or a publish-ready draft.
$ npx skills add tw93/Waza --skill learn -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install tw93/Waza learn --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/tw93/Waza.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/learn .claude/skills/learn && 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 "learn" agent skill from https://github.com/tw93/Waza/tree/main/skills/learn into .claude/skills/learn/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "learn", 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/tw93/Waza/tree/main/skills/learnType 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 tw93/Waza --skill learn -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install tw93/Waza learn --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tw93/Waza.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/learn .agents/skills/learn && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "learn" agent skill from https://github.com/tw93/Waza/tree/main/skills/learn into .agents/skills/learn/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "learn", 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 tw93/Waza --skill learn -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install tw93/Waza learn --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tw93/Waza.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/learn .cursor/skills/learn && 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 "learn" agent skill from https://github.com/tw93/Waza/tree/main/skills/learn into .cursor/skills/learn/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "learn", 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/tw93/Waza.git --path skills/learn--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 tw93/Waza --skill learn -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install tw93/Waza learn --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tw93/Waza.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/learn .gemini/skills/learn && 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 "learn" agent skill from https://github.com/tw93/Waza/tree/main/skills/learn into .gemini/skills/learn/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "learn", 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 tw93/Waza learnInstalls 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 tw93/Waza --skill learn -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/tw93/Waza.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/learn .github/skills/learn && 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 "learn" agent skill from https://github.com/tw93/Waza/tree/main/skills/learn into .github/skills/learn/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "learn", 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 tw93/Waza --skill learn -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install tw93/Waza learn --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tw93/Waza.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/learn .opencode/skills/learn && 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 "learn" agent skill from https://github.com/tw93/Waza/tree/main/skills/learn into .opencode/skills/learn/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "learn", 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.
learnRuns a six-phase research workflow from a bundle of sources to a chosen output, whether quick notes, a canonical reference article or a publish-ready draft.
The skill is scoped for multi-source research that produces a new structured output, explicitly not for a single URL that just needs fetching or summarizing, which belongs to a separate /read skill instead. Its outcome contract is specific: the work is done when primary sources are collected, contradictions are handled explicitly rather than smoothed over, and the final structure teaches the topic without hiding uncertainty.
Four modes cover different goals. Deep Research runs the full six phases to a publish-ready draft; Quick Reference stops after phase two with notes only, for building a working mental model fast; Write to Learn starts from materials already in hand and forces understanding through the act of writing; Canonical Article aims for one piece thorough enough that a reader needs nothing else, with every major sub-topic given its own section, worked examples rather than only principles, common mistakes covered, and a short list of the best further-reading sources.
When the right mode is not obvious from what was asked and the supplied materials, the skill only asks a clarifying question if the answer would actually change the scope or deliverable, otherwise it defaults to suggesting Quick Reference.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 6b6c736. 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.
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.
Learn: Research to Published Output loads about 2.2k tokens when it runs. Until then it costs about 53 tokens; SKILL.md has 1,260 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 tw93/Waza at commit 6b6c736, republished under its MIT licence (© tw93). 1,260 words, ~2,213 tokens.
.claude/skills/learn/SKILL.md (or your agent's skills folder).Prefix your first line with 🥷 inline, not as its own paragraph.
Support the user's thinking; do not replace it.
Boundary: single URL that only needs fetching belongs in /read. A single URL that needs summary or analysis can use /read as the fetch step, but the final answer should satisfy the user's requested summary or analysis. /learn is for multi-source research that produces a new structured output.
Infer the mode from the requested artifact and supplied materials. Ask only when plausible modes would change the scope or deliverable and the user's intent does not resolve the choice:
| Mode | Goal | Entry | Exit |
|---|---|---|---|
| Deep Research | Understand a domain well enough to write about it | Phase 1 | Phase 6: publish-ready draft |
| Quick Reference | Build a working mental model fast, no article planned | Phase 2 | Phase 2: notes only |
| Write to Learn | Already have materials, force understanding through writing | Phase 3 | Phase 6: publish-ready draft |
| Canonical Article | One article that covers a topic so thoroughly readers need nothing else | Phase 1 | Phase 6: single authoritative reference |
If unsure, suggest Quick Reference.
Activate when: "一篇就够", "一站式参考", "整理成长文", "目的是大家只需要看这篇就好了", or the user wants a single authoritative reference on a topic.
Goal: after reading the article, no one should need to search for anything else on this topic.
Additional requirements on top of standard Deep Research:
Gather primary sources only: papers that introduced key ideas, official lab/product blogs, posts from builders, canonical "build it from scratch" repositories. Not summaries. Not explainers.
Three ordered steps per source -- no shortcuts, no merging:
/read when available. /read owns the proxy cascade, paywall detection, and platform routing (WeChat, Feishu, PDF, GitHub). Native fetch tools and raw curl silently fail on JS-heavy or paywalled sites and skip all of that. If /read is not installed, warn once without blocking, fall back to native fetch, and state the reduced coverage on paywalled, JS-heavy, and Chinese-platform pages./read the research project's source directory when one exists. If no directory was specified, let /read use a per-session temp directory and return the saved path. Move or index saved files into sub-topic directories after fetch returns. Move, don't refetch.Target: 5-10 sources for a blog post, 15-20 for a deep technical survey.
Work through the materials. For each piece: read it fully, keep what is good, cut ruthlessly what is not.
For key claims, ask before including in the outline:
Generic wisdom is not worth distilling. Passes two or three: belongs in the outline. Passes one: background material. Passes zero: cut it.
When the input is a recent conversation, project review, scorecard, or diagnostic report, treat it as raw material. Read distilled summaries, memory entries, and review outputs first; open raw transcripts only to verify a disputed detail or recover the exact source of a repeated pattern. Before editing durable guidance, build a candidate matrix (source/project, repeated failure, transferable rule, target layer, evidence count, redaction risk) and promote only candidates with cross-source support or a repeated failure in the same project family. Map each repeated workflow failure, invariant, or verifier surface to project docs, shared rules, skill references, or a deterministic script that can fail reliably without project context. Drop dated line numbers, current-score framing, private paths, one-machine setup, and repo-specific commands unless the output is for that same repo, and keep raw conversation history out of the final artifact.
Write the outline for the article. For each section: note the source materials it draws from. If a section has no sources, either it does not belong or a source needs to be found first.
Work through the outline section by section. A section that is hard to write means the mental model is still weak there: return to Phase 2 for that sub-topic, not the whole article. Stall signals: an opening sentence rewritten three times without settling, a single-source claim with no cross-check, a source missing from Phase 1, or a claim you could not explain out loud. The outline may change, and that is fine.
Edits only: cut redundancy without changing meaning or voice, flag broken argument flow, and mark gaps (concepts used before they are explained, claims needing sources). Do not draft new sections from scratch. Then strip AI patterns: invoke /write when installed, otherwise warn once and scan manually for filler, binary contrasts, and dramatic fragmentation.
The user reads the entire article linearly before publishing. Not with AI. Mark everything that feels off, fix it, read again. Two passes minimum.
When it reads clean from start to finish, the draft is ready for the user to publish.
| What happened | Rule |
|---|---|
| Phase 2 wrote summaries instead of teaching the concept | Digest means building the mental model. Summarizing is not digesting. |
The artifact is the mode's exit from the table above. Report the saved path when files were written and complete the authorized handoff; publication requires an explicit request as stated in Hard Rules.
Within the requested format and scope, choose a representation for the reader's question: prose for conclusions, diagrams for relationships and branches, interactive examples for changing conditions, and animation or video for processes whose timing or motion matters. Add a representation only when it helps the reader understand or test the explanation; a research request alone does not require building an app or producing a video.
Across representations, preserve the same facts, conditions, failure branches, and uncertainty. Interactive results must follow a supported model or explicitly labeled assumptions, not decorative controls. Judge an explanation by whether its content lets the reader trace a relevant failure path, predict a condition change, or identify a load-bearing assumption; visual polish alone is not evidence of correctness.
© tw93, MIT. 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 skills/learn of tw93/Waza.
Open the folder on GitHubat commit 6b6c736
Learn: Research to Published Output 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 |
|---|---|---|---|---|---|---|
| Learn: Research to Published Output this skilltw93/Waza | 7.2k | — | ~2.2k | Automated safety check: Pass | MIT | |
| GitHub Deep Researchbytedance/deer-flow | 83k | 5 repos | ~1.3k | Automated safety check: Pass | MIT | |
| Deep Research WorkflowTokenRhythm/opensquilla | 7.1k | — | ~1.3k | Automated safety check: Pass | Apache-2.0 | |
| X Researchrohunvora/x-research-skill | 1.2k | 1 repos | ~1.6k | Automated safety check: Pass | None | |
| Deep Researchsanjay3290/ai-skills | 431 | 10 repos | ~683 | Automated safety check: Notes | Apache-2.0 | |
| ResearchWeizhena/Deep-Research-skills | 2.3k | 3 repos | ~1.1k | Automated safety check: Pass | MIT |
bytedance/deer-flow
Researches a GitHub repository over four rounds using the GitHub API and web search, then writes a structured markdown report with timeline, metrics and Mermaid diagrams.
TokenRhythm/opensquilla
Runs multi-round research in three stages with a persisted state file, evidence tracking and a long-form report with per-claim citations.
rohunvora/x-research-skill
General-purpose X/Twitter research agent. An agent skill from rohunvora/x-research-skill.
sanjay3290/ai-skills
Execute autonomous multi-step research using Google Gemini Deep Research Agent.
Weizhena/Deep-Research-skills
Conduct preliminary research on a topic and generate research outline.
KKKKhazix/khazix-skills
Runs a two-axis deep research method on a product, company, concept or person: its full history over time, compared with peers today, delivered as a typeset PDF report.
tw93/Waza
Fetches web pages and PDFs and returns a source-grounded summary, clean Markdown, quotes or citations, routing each kind of link to a suitable fetch method.
tw93/Waza
Reviews diffs and pull requests, triages issues, and checks release readiness, reporting findings with evidence and making no edits unless authorized.
tw93/Waza
Audits a project's agent configuration, instruction drift, hooks, MCP and AI maintainability, then reports prioritized findings with evidence and next actions.
tw93/Waza
Forces a one-sentence, evidence-backed root cause before any fix is applied, and gates when a diagnosis session is even allowed to touch code.
tw93/Waza
Turns a rough idea into an approved, decision-complete plan or recommendation before any code is written, for architecture choices and go or no-go calls.
tw93/Waza
Builds or restyles production UI with a clear point of view, checks the result against screenshots and responsive states, and hands document typography to other skills.
Categories
Runs a six-phase research workflow from a bundle of sources to a chosen output, whether quick notes, a canonical reference article or a publish-ready draft. The skill is scoped for multi-source research that produces a new structured output, explicitly not for a single URL that just needs fetching or summarizing, which belongs to a separate /read skill instead. Its outcome contract is specific: the work is done when primary sources are collected, contradictions are handled explicitly rather than smoothed over, and the final structure teaches the topic without hiding uncertainty.
Learn: Research to Published Output fits situations like: researching an unfamiliar domain well enough to write about it; compiling scattered materials into one canonical reference article; building a quick working mental model of a topic without planning an article.
Run `npx skills add tw93/Waza --skill learn -a claude-code`. Or copy the skill folder (skills/learn in tw93/Waza) into .claude/skills/learn in your project. Claude Code loads it when a task matches its description.
Run `npx skills add tw93/Waza --skill learn -a codex`. Or copy the skill folder (skills/learn in tw93/Waza) into .agents/skills/learn 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 tw93/Waza --skill learn -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/learn, .gemini/skills/learn, .github/skills/learn and .opencode/skills/learn in your project.
SKILL.md names no scripts, command-line tools or credentials: Learn: Research to Published Output 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.
Learn: Research to Published Output 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.2k tokens (SKILL.md is roughly 8.9k 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 Learn: Research to Published Output: GitHub Deep Research (bytedance/deer-flow, 83k stars), Deep Research Workflow (TokenRhythm/opensquilla, 7.1k stars), X Research (rohunvora/x-research-skill, 1.2k stars) and Deep Research (sanjay3290/ai-skills, 431 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
tw93 (a GitHub user) maintains it in tw93/Waza, which has 7,177 GitHub stars. The repository holds 7 skills in this directory. The repository was last updated on October 7, 2026.
Source: tw93/Waza on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.