Token导航 LogoToken导航TokenDH.com
研究检索操作浏览器github未标认证来源可访问许可证需确认审计提醒

tech-research技术研究

Agent Skill

tech-research 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

661

周安装

27

GitHub Stars

2

下载量

214
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:tech-research(技术研究)
来源仓库:https://github.com/psylch/tech-research-skill
仓库路径:skills/tech-research
安装命令:
npx skills add https://github.com/psylch/tech-research-skill --skill tech-research
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/psylch/tech-research-skill --skill tech-research

简介

用于技术信息的查找、检索和筛选。tech-research 属于研究检索类 Skill,可作为该场景下的辅助能力补充。

  • 适合根据关键词或任务需求快速定位候选资源。
  • 可结合来源仓库文档了解具体调用方式。
  • 安装前建议确认是否涉及网络访问或文件操作权限。
  • 维护状态不明时需谨慎评估使用风险。适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。

SKILL.md

Tech Research

Orchestrate multi-source technical research by dispatching parallel subagents to gather intelligence from X/Twitter (via Grok), GitHub repositories (via DeepWiki), and the web (via WebSearch). Synthesize all findings into a single actionable report.

Architecture: The main agent orchestrates research using one of two modes — lightweight (Task Subagents) or heavyweight (Agent Teammates) — chosen based on research complexity.

Language

Match user's language: Respond in the same language the user uses. If the user writes in Chinese, the entire research report should be in Chinese. If in English, report in English.

Research Mode Selection

Before dispatching any agents, determine the appropriate mode:

Signal→ Mode
Single topic, multiple data sources (Grok + DeepWiki + WebSearch)Light → Task Subagents
Multiple independent topics/competitors needing cross-comparisonHeavy → Agent Teammates
Research may produce follow-up questions requiring dynamic re-scopingHeavy → Agent Teammates
Agent count ≥ 4Heavy → Agent Teammates

Light Mode (default for single-topic research)

Dispatch up to 3 Task Subagents (Task with subagent_type: "general-purpose"). Each handles one data source independently. The main agent synthesizes results after all return.

Heavy Mode (for multi-topic / competitive research)

Use TeamCreate to create a research team → TaskCreate for each research task → spawn Agent Teammates (via Task with team_name and name parameters) → coordinate via SendMessage. Teammates can:

  • Communicate to avoid duplication ("I found Project A uses the same approach as B — focus on their differentiators")
  • Share discoveries across tasks ("The blog post I found compares all 3 frameworks, sending you the link")
  • Dynamically adjust scope based on what others have found

When to Use

  • Evaluating a technology, library, or framework for adoption
  • Comparing alternatives (e.g., "Zustand vs Jotai vs Redux")
  • Investigating a GitHub repo's architecture and community reception
  • Gauging developer sentiment on a new API, tool, or announcement
  • Cross-language research (Chinese/Japanese developer communities)

Research Sources

SourceWhat It ProvidesBest For
Grok (X/Twitter)Real developer opinions, @handles, post URLsSentiment, expert discovery, niche recommendations
DeepWiki (GitHub)AI-powered repo analysis, architecture, API docsUnderstanding codebases, comparing repo internals. Only use ask_question — never read_wiki_structure or read_wiki_contents (they return massive dumps that easily exceed context limits)
WebSearchOfficial docs, blog posts, benchmarks, tutorialsFacts, performance data, official announcements

Source Degradation

Not every source will be available every time. Follow this degradation strategy:

SourceIf unavailableFallback
GrokNo browser backend or not logged inSkip. Note in report: "Grok source skipped — [reason]."
DeepWikiNo owner/repo known, or API errorSkip. Note in report: "DeepWiki skipped — [reason]."
WebSearchTool unavailable (rare)Skip. Note in report.

Minimum viable research: At least one source must return results. If all sources fail, report the failures and suggest the user check their environment setup.

Grok Browser Backend

Grok requires browser automation with login state. Multiple backends are supported, detected in priority order:

PriorityBackendDetectionProsCons
0better-agent-browser (agent-browser CLI)command -v agent-browser succeedsHeadless by default, persistent ~/.chrome-debug-profile, lock-based parallel safety, no MCP dependencyOne-time Chrome setup on port 9333
1browser-use (browser-use CLI)command -v browser-use succeeds AND priority 0 failedAlternate CLI driver, LLM-guided element selectionDistinct tool, less integrated with this skill's recipes
2Claude-in-Chromemcp__claude-in-chrome__* tools visible at runtime AND priorities 0–1 failedZero setup, uses user's Chrome login stateOccupies user's visible Chrome window
3Playwright-Grokplaywright-grok MCP in ~/.claude.json AND priorities 0–2 failedDedicated profile, login persists, doesn't block default PlaywrightOne-time setup required
4Playwright (default)playwright MCP in ~/.claude.json AND priorities 0–3 failedAlready configured for most usersNo login persistence, may not be logged in

Detection is strict first-match, top-down. As soon as a priority's detector returns true, set backend to that row and stop. Do NOT check lower priorities. CLI backends (0 and 1) skip grok_setup.sh check entirely — it only tracks MCP config state, not CLI presence.

IMPORTANT: Do NOT modify the user's default playwright MCP to add --user-data-dir. This would force ALL browser operations through a single profile, breaking parallel agent usage. Instead, use a separate playwright-grok instance.

Grok Pre-flight

Before dispatching a Grok subagent, walk the priority table top-down. Run each detector; on first match, set backend and stop. Paths are mutually exclusive — never evaluate a lower priority after a higher one has matched.

Priority 0 — better-agent-browser (CLI):

command -v agent-browser >/dev/null && echo "MATCH: backend=better-agent-browser"

If matched: set backend=better-agent-browser. The Grok subagent loads the better-agent-browser skill and follows its Layer 0b recipe (headless, dedicated ~/.chrome-debug-profile on port 9333). Stop. Do not check lower priorities.

Priority 1 — browser-use (CLI):

command -v browser-use >/dev/null && echo "MATCH: backend=browser-use"

Only evaluated if priority 0 did NOT match. If matched: set backend=browser-use. The Grok subagent drives browser-use directly per its own docs. Stop.

Priorities 0 and 1 do NOT depend on ~/.claude.json or MCP runtime availability. Do NOT run grok_setup.sh check on these paths.

Priority 2 — claude-in-chrome (runtime MCP): Only evaluated if priorities 0 and 1 did NOT match. Check whether mcp__claude-in-chrome__* tools are visible in your current session. If yes: set backend=chrome. The chrome extension is injected at runtime and never appears in ~/.claude.json, so the shell script cannot detect it. Skip the preflight script entirely. Stop.

Priority 3–4 — Playwright fallback (script-based detection): Only evaluated if priorities 0–2 did NOT match. Run the preflight script to detect playwright backends:

bash ${SKILL_PATH}/scripts/grok_setup.sh check

The script outputs preflight JSON: {"ready": true, "backend": "playwright-grok", "login_status": "logged_in", "hint": "..."}.

Key fields: ready (boolean), backend (playwright-grok/playwright/none), login_status (logged_in/logged_out/unknown), hint (human-readable summary).

Live validation note: Preflight checks MCP server presence in ~/.claude.json (existence check) but cannot live-test browser MCP connectivity from shell — MCP servers are runtime-managed by Claude Code and only accessible during agent execution. The skill compensates with optimistic dispatch: assume the backend works, then update the login status cache based on actual browser interaction results (see Login Status Cache below).

Exit CodeMeaningAction
0 READYBackend availablePass backend value to Grok subagent. If login_status is logged_out, skip Grok and note in report. Otherwise dispatch subagent (optimistic).
1 NEEDS_SETUPHas playwright, no playwright-grokSetup-first gate: Run grok_setup.sh setup immediately (before any research). Setup backs up ~/.claude.json before modifying it (backup path is in the output JSON). If setup succeeds, inform user they need to restart Claude Code for playwright-grok to activate, then proceed with research using backend=playwright as a degraded fallback for this session only. Do NOT start research and discover the setup need mid-way.
2 NOT_AVAILABLENo browser MCP at allSkip Grok source entirely. Note in report.

Config safety: The setup command always creates a timestamped backup of ~/.claude.json before writing. If the new config causes issues, restore with the rollback command in the setup output (e.g., cp ~/.claude.json.backup.<timestamp> ~/.claude.json).

Login Status Cache

Login state is cached at ~/.claude/tech-research/.grok-status.json. Cache semantics: logged_in persists until a subagent observes logout; logged_out auto-expires after 2 hours (or clear with grok_setup.sh reset); unknown/missing = optimistic, try Grok.

Subagent responsibility: After interacting with Grok, update login status:

  • Success: bash ${SKILL_PATH}/scripts/grok_setup.sh status logged_in <backend>
  • "Sign in" page: bash ${SKILL_PATH}/scripts/grok_setup.sh status logged_out <backend>

Cache corruption recovery: If the status file is corrupted (invalid JSON, permission errors), delete it (rm ~/.claude/tech-research/.grok-status.json) and proceed in optimistic mode. See references/troubleshooting.md for the full decision tree.

Execution Context: Top-Level vs Subagent

This skill is a two-layer contract:

  • SKILL.md (this file) — orchestrator's manual. Covers preflight, mode selection, dispatch, and synthesis. This is what the agent running tech-research directly should read.
  • references/subagent_templates.md — per-role contracts (Grok / DeepWiki / WebSearch). Each template is complete and self-contained — a dispatched role-agent does NOT need to read SKILL.md. The orchestrator points the role-agent to the right section by path and passes minimal parameters.

Before starting, determine how this skill was invoked:

ContextTask tool available?Mode
Top-level agent (user invoked tech-research directly)YesLight / Heavy Mode. Dispatch role-agents via Task, each pointed at references/subagent_templates.md §<role>.
Inside an existing subagent (another skill or agent dispatched you)No — subagents cannot spawn further subagentsInline Mode. Read references/subagent_templates.md yourself and execute each role's contract directly in your own tool loop. Skip all Task / TeamCreate calls.

How to detect: if Task is not in your available tools (or ToolSearch select:Task returns no match), you're in Inline Mode.

Either way, the per-role behavior (login check, query rules, report format, deferred-tool loading) lives in the template file, not here. Both modes converge on the same reference contract.

Workflow

Progress:

  • Step 1: Preflight — Run grok_setup.sh check, complete any setup BEFORE research
  • Step 2: Analyze — Break question into per-source sub-queries
  • Step 3: Dispatch — Launch subagents (Light/Heavy Mode) OR run inline (Inline Mode)
  • Step 4: Synthesize — Merge findings into unified report

1. Preflight Gate (MUST run first)

Run preflight before doing anything else. This determines which sources are available and whether one-time setup is needed.

Walk priorities top-down; stop on first match.

  1. command -v agent-browser succeeds → backend=better-agent-browser. Stop, go to Step 2 of workflow.
  2. Otherwise, command -v browser-use succeeds → backend=browser-use. Stop, go to Step 2 of workflow.
  3. Otherwise, mcp__claude-in-chrome__* tools visible in session → backend=chrome. Stop, go to Step 2 of workflow.
  4. Otherwise (priorities 0–3 all missed), run bash ${SKILL_PATH}/scripts/grok_setup.sh check to probe for playwright MCP backends. Only reach this branch if none of the above matched — if you matched priority 0/1/2, you already stopped.
Exit code 0 (READY)     → Note the backend and login_status, proceed to Step 2.
Exit code 1 (NEEDS_SETUP) → Run `grok_setup.sh setup` NOW.
                            If setup succeeds, tell the user:
                              "playwright-grok has been configured. Restart Claude Code
                               to activate it. For this session, Grok will use the
                               default playwright backend as a fallback."
                            Then proceed to Step 2 with backend=playwright.
Exit code 2 (NOT_AVAILABLE) → Grok is unavailable. Proceed to Step 2 without Grok.

Key principle: Setup completes before research begins. Never discover setup needs mid-research.

2. Analyze the Research Question

Break the user's question into sub-queries for each source:

  • Grok query: Developer opinions, community sentiment, expert recommendations
  • DeepWiki query: Repository architecture, API design, code quality (requires owner/repo)
  • WebSearch query: Official docs, benchmarks, comparisons, recent announcements

Not every research task needs all 3 sources. Select sources based on the question:

Research TypeGrokDeepWikiWebSearch
"Should we use library X?"YesYes (if OSS)Yes
"What are devs saying about X?"YesNoMaybe
"How does repo X work internally?"NoYesMaybe
"Compare X vs Y performance"MaybeYes (both repos)Yes
"What's new in framework X?"YesNoYes

3. Dispatch Research Agents

Choose the dispatch method based on the research mode and execution context.

Browser is a singleton — enforce it in the prompts. Only the Grok role touches a browser. The DeepWiki and WebSearch role prompts MUST forbid loading any browser skill (better-agent-browser, playwright, claude-in-chrome) — they are restricted to DeepWiki MCP, WebSearch, and WebFetch only. Otherwise parallel roles race for the same Chrome user-data-dir / CDP port and collide.

If you genuinely need multiple parallel browser roles (rare), switch to Heavy Mode and coordinate all of them through one shared Layer-2 CDP proxy — see better-agent-browser Layer 2.

Light Mode: Task Subagents (top-level only)

Each role-agent is pointed at its contract by path. Do NOT inline the template body into the Task prompt — the subagent reads the file directly. This keeps the dispatch prompt small and guarantees the subagent sees the canonical, up-to-date contract.

Grok role:

Task(
  subagent_type: "general-purpose",
  description: "Grok research [topic]",
  prompt: """
  Read ${SKILL_PATH}/references/subagent_templates.md § Grok Subagent Template.
  That file is your complete contract — do NOT read SKILL.md.

  Parameters:
  - RESEARCH_QUESTION: [question]
  - BACKEND: [backend from preflight]
  - GROK_QUERY: [X/Twitter-scoped query per the template's rules]

  Execute literally and return findings in the format the template specifies.
  """
)

DeepWiki role:

Task(
  subagent_type: "general-purpose",
  description: "DeepWiki research [repo]",
  prompt: """
  Read ${SKILL_PATH}/references/subagent_templates.md § DeepWiki Subagent Template.
  That file is your complete contract — do NOT read SKILL.md.
  Do NOT load any browser skill.

  Parameters:
  - RESEARCH_QUESTION: [question]
  - REPO_LIST: [owner/repo, ...]
  - CUSTOM_QUESTIONS: [topic-specific questions]

  Execute literally and return findings in the format the template specifies.
  """
)

WebSearch role:

Task(
  subagent_type: "general-purpose",
  description: "Web research [topic]",
  prompt: """
  Read ${SKILL_PATH}/references/subagent_templates.md § WebSearch Subagent Template.
  That file is your complete contract — do NOT read SKILL.md.
  Do NOT load any browser skill.

  Parameters:
  - RESEARCH_QUESTION: [question]
  - TOPIC: [topic keywords]
  - CURRENT_YEAR: [year]

  Execute literally and return findings in the format the template specifies.
  """
)

Inline Mode (running inside an existing subagent)

You cannot spawn further subagents. Instead, read references/subagent_templates.md yourself and execute each role's contract in your own tool loop:

  1. Read the template file once.
  2. For each role you need, treat the template section as your instructions and execute inline.
  3. Run WebSearch + DeepWiki in parallel tool calls. Run Grok separately (it holds the browser singleton).
  4. Honor the browser-singleton rule: don't try to run multiple browser-using steps concurrently.
  5. Collect all three role reports mentally, then proceed to Step 4 (Synthesize) as usual.

Heavy Mode: Agent Teammates

1. TeamCreate(team_name: "research-[topic]")
2. TaskCreate(subject: "Research [Project A]", description: "...", activeForm: "Researching [Project A]")
3. TaskCreate(subject: "Research [Project B]", description: "...", activeForm: "Researching [Project B]")
4. Task(subagent_type: "general-purpose", team_name: "research-[topic]", name: "researcher-a", prompt: "...")
5. Task(subagent_type: "general-purpose", team_name: "research-[topic]", name: "researcher-b", prompt: "...")
6. Coordinate via SendMessage — share findings, adjust scope, avoid duplication
7. Synthesize after all teammates report back
8. Shutdown teammates and TeamDelete when done

Each teammate should use all relevant data sources (Grok, DeepWiki, WebSearch) for their assigned topic, rather than splitting by data source.

4. Synthesize and Report

After all subagents return, merge findings into a unified report with these sections:

  • TL;DR — 2-3 sentence executive summary with clear recommendation
  • Community Sentiment (from X/Twitter) — Key opinions with @username attribution and post URLs
  • Repository Analysis (from DeepWiki) — Architecture, code quality, API design, maintenance status
  • Web Intelligence — Official docs, benchmarks, blog insights, announcements
  • Comparison Matrix (if comparing alternatives) — Criteria-based table
  • Recommendation — Clear, actionable recommendation based on all sources
  • Limitations — What couldn't be verified, including skipped sources and why

Grok Query Strategies

See references/grok_query_overview.md for strategy selection table and references/query_strategies.md for full prompt templates.

Troubleshooting & Self-Recovery

See references/troubleshooting.md for the full decision tree and common scenarios.

Tips

  • For CJK communities, query Grok in the target language directly
  • DeepWiki accepts up to 10 repos in a single query for comparisons
  • WebSearch is best for recent information (include current year in queries)
  • Always verify Grok post URLs before citing — accuracy is ~80%
  • Run subagents in parallel to minimize total research time

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

33.47%
按下载量换算72

Claude

32.53%
按下载量换算70

Cursor

19.33%
按下载量换算41

Gemini CLI

8.55%
按下载量换算18

安全审计

Gen Agent Trust Hub

通过

Socket

可疑

Snyk

可疑

权限和风险

操作浏览器

该 Skill 可能涉及浏览器控制能力,使用时可能读取或操作网页内容,需要在受控环境中确认权限边界。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills