harness/plugins/work-manager/common/skills/explore-research/SKILL.md
Document codebase as-is with thoughts directory for historical context
npx skillsauth add popoffvg/dotfiles explore-researchInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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, 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.
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:
For codebase research:
IMPORTANT: All agents are documentarians, not critics. They will describe what exists without suggesting improvements or identifying issues.
For .notes/research directory:
For web research (only if user explicitly asks):
For Linear tickets (if relevant):
The key is to use these agents intelligently:
Wait for all sub-agents to complete and synthesize findings:
Gather metadata for the research document:
hack/spec_metadata.sh script to generate all relevant metadata.notes/research/YYYY-MM-DD-ENG-XXXX-description.md
YYYY-MM-DD-ENG-XXXX-description.md where:
2025-01-08-ENG-1478-parent-child-tracking.md2025-01-08-authentication-flow.mdGenerate research document:
---
date: [Current date and time with timezone in ISO format]
researcher: [Researcher name from thoughts status]
git_commit: [Current commit hash]
branch: [Current branch name]
repository: [Repository name]
topic: "[User's Question/Topic]"
tags: [research, codebase, relevant-component-names]
status: complete
last_updated: [Current date in YYYY-MM-DD format]
last_updated_by: [Researcher name]
---
# Research: [User's Question/Topic]
**Date**: [Current date and time with timezone from step 4]
**Researcher**: [Researcher name from thoughts status]
**Git Commit**: [Current commit hash from step 4]
**Branch**: [Current branch name from step 4]
**Repository**: [Repository name]
## Research Question
[Original user query]
## Summary
[High-level documentation of what was found, answering the user's question by describing what exists]
## Detailed Findings
### [Component/Area 1]
- Description of what exists ([file.ext:line](link))
- How it connects to other components
- Current implementation details (without evaluation)
### [Component/Area 2]
...
## Code References
- `path/to/file.py:123` - Description of what's there
- `another/file.ts:45-67` - Description of the code block
## Architecture Documentation
[Current patterns, conventions, and design implementations found in the codebase]
## Historical Context (from thoughts/)
[Relevant insights from thoughts/ directory with references]
- `.notes/something.md` - Historical decision about X
- `thoughts/local/notes.md` - Past exploration of Y
Note: Paths exclude "searchable/" even if found there
## Related Research
[Links to other research documents in .notes/research/]
## Open Questions
[Any areas that need further investigation]
Add GitHub permalinks (if applicable):
git branch --show-current and git statusgh repo view --json owner,namehttps://github.com/{owner}/{repo}/blob/{commit}/{file}#L{line}Sync and present findings:
humanlayer thoughts sync to sync the thoughts directoryHandle follow-up questions:
last_updated and last_updated_by to reflect the updatelast_updated_note: "Added follow-up research for [brief description]" to frontmatter## Follow-up Research [timestamp]Every sub-agent spawned by this skill is an explore agent. It follows these rules.
| Question type | Tool |
|---|---|
| Semantic / conceptual ("how does X work") | cocoindex search first, then confirm hits with fff grep |
| Known identifier (HandleRequest, userController.create) | fff grep — ONE identifier per query |
| Find which file/module exists for a topic | fff find_files |
| Multiple case variants in one call | fff multi_grep |
| History / "when was X introduced" | commit-index search_commits |
multi_grep and check tests/config/adjacent dirs.Persist findings, THEN return the same summary to the spawning agent.
.notes/ (repo root, create if missing). Descriptive kebab-case filename, e.g. .notes/explore-<topic>.md. This is the only place an explore agent may write.Both file and reply use this structure:
path:line for each relevant hit (clickable).thoughts/searchable/allison/old_stuff/notes.md → thoughts/allison/old_stuff/notes.mdthoughts/searchable/shared/prs/123.md → .notes/prs/123.mdthoughts/searchable/global/shared/templates.md → thoughts/global/shared/templates.mdlast_updated, git_commit)tools
Improve a whole CLAUDE.local.md — the private, per-project rules captured from user corrections. Wraps each conditional rule in a <task-relevant> block so it only surfaces for matching work, merges duplicates, generalizes one-off facts, drops stale entries, and routes raw project facts to engram. Use when the user says "improve claude.local", "clean up the local rules", "claude.local is bloated", or after the Stop hook has appended many rules.
testing
WM pipeline and conventions shared across all phases. Agents must read this before spec, impl, or verify work.
development
One entry point for spec writing, implementation, and bug fixing. Default is new (write spec → grill loop → produce notes → author TODO bodies). Other subcommands: verify (audit), revise (sync to shipped), prototype (settle a decision), code-map (diagram), impl (execute one TODO), fix (analyze cause, correct thoughts, fix behavior), help (this page). Invoke as /code <subcommand>.
development
Red-Green-Refactor cycle for bug fixes. Before fixing a bug, first write a failing test that reproduces it (Red), then make the minimal change to pass (Green), then clean up the code (Refactor). Use on any bug fix, error correction, failing test repair, or when user says "fix this bug".