mcpbeat

Auto Research

lingxling/auto-research

Research uncertain questions with an explicit, user-approved web search or ChatGPT consultation, then present options and wait for implementation approval.

1k tokens
context cost
the whole folder, loaded on every use
1
files
instructions only
0
copies elsewhere
how many repositories repackaged it
223
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/lingxling/awesome-skills-cn --skill auto-research

The instruction itself

14 sections, as written by the author

Auto-Research Skill

Overview

When implementing tasks, Claude Code can encounter uncertainties — design choices, algorithm details, API usage, or best practices. This skill provides an explicit-consent research path, presents findings, and waits for user approval before writing code.

The skill supports web research and an optional ChatGPT consultation. It never sends

conversation context, files, browser state, or credentials to a third party without the

user's explicit approval of the exact, redacted text.

When to Use This Skill

  • User asks a question where multiple valid approaches exist
  • Claude is uncertain about algorithm details or API usage
  • Design/architecture choices need comparison
  • The user explicitly asks to search the web or consult ChatGPT and approves the proposed query

How It Works

Step 1: Propose the research boundary — State the source to use, the exact query or

redacted prompt, whether any local/workspace text would leave the machine, and the likely

cost. Wait for the user to approve that exact boundary.

Step 2: Research — After approval, use web search or a browser session the user has

explicitly selected and authorized. Use a pinned, user-configured browser automation

connector; do not install packages automatically, use @latest, or access browser cookies,

other tabs, saved passwords, or sessions.

Step 3: Present — Distill findings into concise options with sources, presented to the user.

Step 4: Await Approval — Do NOT write code until the user says "go ahead" or picks an option.

Step 5: Implement — Once approved, execute with confidence.

Explicit ChatGPT Consultation

Do not treat ?, ??, or another shorthand as consent. First propose a minimal prompt,

for example: 请评估这个已脱敏的方案的正确性、完整性和可改进之处:<text>.

Explicitly identify every piece of text that would be sent. Only after the user confirms

the exact prompt may you open the selected ChatGPT session, submit that prompt, and present

the response. Do not include conversation history by default.

Redact secrets, personal data, proprietary code, customer data, and internal URLs before

proposing the prompt. If safe redaction is not possible, do not submit it.

Browser Automation Boundary

If browser automation is necessary, the user must separately authorize the selected browser

profile and connector version. Restrict the session to the consultation tab. Do not inspect,

reuse, export, or rely on cookies from other tabs or profiles.

Examples

Example 1: Design Question with GPT

User: PyTorch 中自定义 ADMM 优化器怎么设计?
Claude: 我可以搜索公开资料,或将以下已脱敏问题发给 ChatGPT:
        “如何设计 PyTorch 自定义 ADMM 优化器?请比较可行模式。”
        不会发送工作区文件或对话历史。是否允许?
User: 允许发送这段文字
Claude: [Opens only the authorized consultation tab, submits the approved prompt]
Claude: GPT suggests approach A with these pros/cons. Proceed?
User: 行
Claude: [Implements code]
User: ?? ADMM convergence criteria best practices
Claude: I can search public sources for the exact redacted query
        “ADMM convergence criteria best practices”. No workspace files or conversation
        history will be sent. May I send that text to WebSearch and fetch the results?
User: Yes, send that query
Claude: [WebSearch + WebFetch → finds Boyd et al. paper, extracts criteria]
Claude: Boyd recommends ||r|| < ε·max(||Ax||, ||Bz||, ||c||). Use this?
User: Yes
Claude: [Implements]

Best Practices

  • ✅ Always present findings to user before writing code
  • ✅ Use page.fill() for instant text injection instead of keyboard.type()
  • ✅ Ask for fresh approval before every external consultation
  • ✅ Include sources in findings
  • ❌ Don't skip research and write code speculatively
  • ❌ Don't send context, files, or browser data because of a shorthand trigger
  • ❌ Don't alter the user's browser profile or session state

Limitations

  • Requires a user-configured, pinned browser automation connector if browser consultation is used
  • ChatGPT consultation is optional; use ordinary web search when it meets the need
  • GPT response time varies (10-30s typically)
  • Web search quality depends on available sources
  • Does not replace expert domain knowledge — always let user make the final call

Security & Safety Notes

  • Obtain explicit consent for each third-party submission, including the exact redacted text
  • Never access, export, or depend on cookies, saved passwords, or unrelated browser tabs
  • Never submit sensitive credentials, tokens, proprietary code, personal data, or internal URLs
  • Do not install or execute browser tooling from an unpinned package version

Common Pitfalls

| Problem | Solution |

|---------|----------|

| ChatGPT shows login page | Let the user log in themselves; do not handle cookies or credentials |

| The prompt contains sensitive context | Redact it or use local reasoning instead |

| Browser automation is unavailable | Use web search or stop and ask the user for a different approved method |

  • @systematic-debugging — use when debugging Playwright interactions with ChatGPT
  • @condition-based-waiting — use when waiting for GPT responses in the browser

How to use it

Copy the folder

Take lingxling/auto-research from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.