Webページの移動やフォーム入力、クリックをエージェントに任せ、情報抽出や画面保存、操作前後の比較まで行います。ブラウザ作業の自動化やWebアプリの確認に使えるスキル。
- フォーム入力やクリックを自動化したいとき
- Webページのテキスト抽出
- ページのスクリーンショット・PDF保存
既存のコードの配置や動作、部品同士の関係を並列調査し、ファイルと行番号の根拠、図表、テストの実態を添えて、現状を説明する技術文書にまとめるスキル。
Only use when the user explicitly invokes this skill by name.
実行スコア 未検証
インストール方法を見る既存のコードがどこにあり、どう動き、各部品がどう連携するかを調べて技術文書にまとめます。ファイルの所在、実装の動作、既存パターンを専門のサブエージェントで並列調査し、結果を統合します。説明にはファイルパスと行番号を添え、図表、処理の流れ、データの形式などで構造を示します。調査対象のテストについても、場所、種類、モックや共通の補助処理を記録します。
初めて触るコードの全体像を知りたい場合や、複数の機能をまたぐ処理を理解したい場合に向いています。調査結果は単なるファイル一覧ではなく、文書だけで仕組みを理解できる説明として整理されます。追加の質問では既存の調査文書を更新します。
利用者が名前を明示して呼び出す場合だけ使う指定です。専門の調査エージェントと参照テンプレートを使う運用を前提とし、成果物は.humanlayer/tasks/に保存します。基本の対象は現状の説明で、改善提案や原因分析は明示的な依頼がある場合に限ります。
この紹介文は、公開されている SKILL.md をもとに AI(OpenAI Codex)が作成しました。正確な仕様は下の原文を確認してください。
インストールする前に、エージェントに与えられる指示の中身を確認できます。
You are tasked with conducting comprehensive research across the codebase to answer user questions by spawning parallel sub-agents and synthesizing their findings.
When this command is invoked, check the task artifact directory from your system prompt for documents like *research-questions*.md with ls -La (the directory may be a symlink - do NOT use regular ls or grep/glob tools). If you find one, read it and proceed with the contents as the research query.
If you see several, ask the user which one to proceed with before reading any of them.
If you do not know what the task artifact directory is from your system prompt, respond with:
I'm ready to research the codebase. Please provide your research question or area of interest, and I'll analyze it thoroughly by exploring relevant components and connections.
IMPORTANT: You may NEVER read ticket.md/task.md files or other files from the artifact directory which do not match the research-questions pattern above unless such a file is explicitly asked for by the user.
Then wait for the user's research query.
Read any directly mentioned files first:
Analyze and decompose the research question:
Spawn parallel sub-agent tasks for comprehensive research:
general-purpose, Explore, or Plan.rpi:codebase-analyzer where namespaced or codebase-analyzer where unprefixed).For codebase research:
For web research and researching libraries & dependencies (if applicable):
The key is to use these agents intelligently:
Wait for all sub-agents to complete and synthesize findings:
Gather metadata for the research document:
.humanlayer/tasks/TASKNAME/NN-research-DESCRIPTION.md
ls -La .humanlayer/tasks | grep -i "eng-XXXX".humanlayer/tasks/ENG-XXXX-description/NN-research-DESCRIPTION.md where NN is a zero-padded chronological index and DESCRIPTION is a 2-4 word kebab-case slugls -La the task directory, find the highest existing NN- prefix, and use the next number. First document = 01-, second = 02-, etc..humanlayer/tasks/ENG-1478-parent-child-tracking/02-research-parent-child-tracking.md.humanlayer/tasks/authentication-flow/02-research-auth-flow.mdGenerate research document:
Read({SKILLBASE}/references/research_template.md)
.humanlayer/tasks/TASKNAME/NN-research-DESCRIPTION.mdAttempt to answer open questions
Note cloud permalinks: Cloud permalinks are automatically provided when you write artifacts. Include them in your final output.
For code references in the humanlayer repo (if on main or pushed):
gh repo view --json owner,namehttps://github.com/{owner}/{repo}/blob/{commit}/{file}#L{line}Respond to the user according to the template
Read({SKILLBASE}/references/research_final_answer.md)Handle follow-up questions:
The research document should read as a story about the codebase — a technical explainer someone wrote on purpose, told with diagrams, tables, code blocks, pseudocode, and takeaway headers in between. It is not a list of answers to the research questions, and not a file index. A reader should be able to understand how the system works from the document alone — file citations support the narrative, they don't replace it. Human readability is critical, but never at the expense of technical depth and thoroughness.
Make it read like a document a human wrote for other humans: a reader should be able to skim the headers alone and come away with how the system actually works. Give every section and sub-point a header that asserts its takeaway — the way a good slide title states its message ("Sessions persist to Postgres before the daemon acks the write"), not a generic topic label ("Sessions") and not the research question restated ("How are sessions persisted?"). Lead with the point, then support it with prose, citations, and visuals.
### Session storage### How does the daemon persist sessions?### Sessions persist to Postgres before the daemon acks the writeKeep paragraphs short, and place each diagram, signature, table, or snippet immediately beside the prose it illustrates — never let the text become a wall with all the visuals piled at the end.
file.ts:45-67) rather than citing each line individually- \src/app.ts:57` creates WorkosService/- `src/app.ts:58` creates S3Service/- `src/app.ts:59` creates JiraService`src/app.ts:57-80: WorkosService, S3Service, JiraService, LinearService, StripeService, and two Drizzle database handles."Reach for a high-bandwidth visual whenever it conveys structure faster than prose would. Don't rely solely on bullet lists — mix prose, tables, diagrams, and code. Technical depth and thoroughness must not be sacrificed for readability — do both.
Pick the views that make each part of the story clearest:
Tables for comparisons, capability matrices, config matrices, and other structured data.
Mermaid diagrams for object graphs, data flows, sequence/control flow, and architectural relationships between components.
Call-stack tree for how control actually flows through a service, CLI, worker, or request handler today. Show the important calls, not every frame.
handleRequest
authenticate(token)
SessionService.load(sessionId)
sessionStore.fetch(sessionId)
SessionService.append(event)
eventStore.write(event)
File tree for how responsibility is split across files and directories. Format like tree
output so depth is easy to scan; annotate what each file is responsible for.
src/session
├── session-service.ts # loads/appends sessions, owns the write path
├── session-store.ts # Postgres queries behind the service
└── session-route.ts # HTTP handler that calls the service
Component tree for frontend areas — production components, their state/local data, and module/package boundaries (the example below is React/TSX; adapt to whatever UI framework the codebase uses).
<SessionPage> (apps/example/src/routes/session.tsx)
useSessionData()
<SessionToolbar>
<SessionList> (packages/ui)
useVirtualizer()
Type signatures, endpoint shapes, and data contracts for the boundaries between components as they exist — function signatures, routes, message shapes, or the schema behind a store (use the codebase's language).
PUT /api/sessions/:id
request: { event: SessionEvent }
response: { session: Session }
Pseudocode for complex algorithms or logic — english-y, not a programming language — to show how something currently behaves without reproducing the whole function.
on(sessionEvent)
load session from store
if session.closed
reject event
else
append event and persist
return updated session
Remember, you must respond to the user according to the output template at {SKILLBASE}/references/research_final_answer.md
If there are open questions after writing the document (and optionally, after your second pass to find answers):
You should include the following text after the section in the final answer template that says 'If you'd like, you can review the research document for completeness.':
There are N open questions that you should review, you can
- ask me to go find the answers for them
- provide the answers yourself
- tell me they are irrelevant and I'll remove them
</important>
When you write or edit documents in .humanlayer/tasks/, a cloud permalink is automatically provided in the hook response.
additionalContext after Write/Edit/MultiEdit/Read operationshttp(s)://{DOMAIN}/artifacts/{artifactId}When writing markdown files that contain code blocks showing other markdown (like README examples or SKILL.md templates), use 4 backticks (````) for the outer fence so inner 3-backtick code blocks don't prematurely close it:
# Example README
## Installation
```bash
npm install example
```
</guidance>まだレビューはありません。使ってみた感想をお寄せください。
ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。
まだコメントはありません。最初のコメントを書いてみませんか。
Webページの移動やフォーム入力、クリックをエージェントに任せ、情報抽出や画面保存、操作前後の比較まで行います。ブラウザ作業の自動化やWebアプリの確認に使えるスキル。
曖昧で読みにくい英文を、語の意味をそろえた短い能動態の文へ書き直すスキル。指示文やツール説明を見直し、修正理由と変更前後を表で確認できます。
GitHubのPRの状態、レビューの会話、CI失敗のログを専用スクリプトで収集し、変更の確認状況や未解決の指摘、失敗したジョブとステップを調べるスキル。
リリース時に対象パッケージの基準バージョンを更新し、関連ファイルの同期と生成結果を検証して、コミットからPRブランチへのプッシュまで進めるスキル。
Git のコミット間や作業中のコードで、関数の呼び出し構造の違いを確認します。呼び出しツリーの表示や、指定した関数へ至る経路の調査にも使えます。
ターミナルからブラウザのクリックや入力、ページ移動を自動化し、通信やエラー、表示速度も調べられる、Chrome DevToolsのCLI操作を支援するスキル。