research topic
1
总安装量
0
周安装量
#51939
全站排名
安装命令
npx skills add https://github.com/lookatitude/beluga-ai --skill Research Topic
Skill 文档
Research Topic
This skill guides you through researching a topic within the Beluga AI codebase, documenting patterns, and providing evidence-based recommendations.
Prerequisites
- Clear research question or topic
- Understanding of what decision the research will inform
- Access to the codebase
Steps
1. Define Research Question
Frame the research clearly:
## Research Question
**Topic**: [What are we investigating?]
**Context**: [Why is this important? What decision does it inform?]
**Scope**: [What areas of the codebase are relevant?]
**Deliverable**: [What output is expected?]
2. Map Relevant Areas
Identify codebase locations to explore:
| Area | Location | Relevance |
|---|---|---|
| Core implementation | pkg/<package>/ |
Primary |
| Interfaces | pkg/<package>/iface/ |
High |
| Providers | pkg/<package>/providers/ |
High |
| Tests | pkg/<package>/*_test.go |
Usage patterns |
| Examples | examples/<category>/ |
Usage patterns |
| Documentation | docs/ |
Intended behavior |
3. Explore and Document
For each relevant file:
### File: `pkg/example/example.go`
**Purpose**: [What this file does]
**Key Types**:
- `Component` (line 15): Main implementation
- `Config` (line 42): Configuration struct
**Key Functions**:
- `NewComponent()` (line 58): Factory function
- `Process()` (line 85): Main processing logic
**Patterns Observed**:
- Functional options at line 60-75
- OTEL tracing at line 87
- Error wrapping at line 102
**Notable Code**:
```go
// From example.go:85-95
func (c *Component) Process(ctx context.Context) error {
ctx, span := c.tracer.Start(ctx, "component.process")
defer span.End()
// ...
}
### 4. Trace Code Paths
Follow execution from entry to completion:
```markdown
## Code Trace: [Flow Name]
### Entry Point
`pkg/agents/agent.go:NewAgent()` (line 42)
### Execution Flow
1. **NewAgent** (agent.go:42)
- Validates configuration
- Creates internal components
- Returns agent instance
2. **agent.Run** (agent.go:85)
- Starts main loop
- Calls `processMessage()` for each input
3. **agent.processMessage** (agent.go:120)
- Invokes LLM via `llm.Generate()`
- Processes tools if needed
- Returns response
### Key Decision Points
| Location | Decision | Options |
|----------|----------|---------|
| agent.go:95 | LLM selection | Based on config.Provider |
| agent.go:130 | Tool execution | If LLM returns tool call |
### Dependencies Called
- `pkg/llms` - LLM generation
- `pkg/memory` - Conversation storage
- `pkg/agents/tools` - Tool execution
5. Identify Patterns
Document recurring patterns:
## Pattern: [Name]
### Description
[What this pattern does and why it's used]
### Locations Found
1. `pkg/llms/llms.go:45`
2. `pkg/embeddings/embeddings.go:38`
3. `pkg/vectorstores/vectorstores.go:52`
### Implementation
```go
// Common pattern structure
type Registry struct {
mu sync.RWMutex
creators map[string]CreatorFunc
}
func RegisterGlobal(name string, creator CreatorFunc) {
registry.mu.Lock()
defer registry.mu.Unlock()
registry.creators[name] = creator
}
Usage
[When and how to apply this pattern]
Variations
[Different implementations observed]
### 6. Create Comparison (if applicable)
For comparing approaches:
```markdown
## Comparison: [Topic]
### Options Evaluated
| Aspect | Option A | Option B | Option C |
|--------|----------|----------|----------|
| Performance | High | Medium | Low |
| Complexity | Low | Medium | High |
| Flexibility | Limited | Good | Excellent |
| Testing | Easy | Moderate | Complex |
| Existing Usage | 5 places | 2 places | 0 places |
### Detailed Analysis
#### Option A: [Name]
**Pros**:
- [Benefit 1]
- [Benefit 2]
**Cons**:
- [Drawback 1]
**Example**: `pkg/example/implementation.go:42`
#### Option B: [Name]
...
### Recommendation
[Which option and detailed rationale]
7. Summarize Findings
Create executive summary:
## Research Summary: [Topic]
### Key Findings
1. **Finding 1**: [Summary]
- Evidence: `file.go:line`
- Implication: [What this means]
2. **Finding 2**: [Summary]
- Evidence: `file.go:line`
- Implication: [What this means]
### Patterns Identified
| Pattern | Occurrences | Recommended |
|---------|-------------|-------------|
| [Pattern A] | 5 | Yes |
| [Pattern B] | 2 | Conditionally |
### Recommendations
1. **Primary**: [Main recommendation with rationale]
2. **Alternative**: [Backup option if primary doesn't fit]
### Open Questions
- [Unresolved question 1]
- [Unresolved question 2]
### References
- `pkg/relevant/file.go` - [Why relevant]
- `docs/relevant.md` - [Why relevant]
Output Formats
Quick Research (< 1 hour)
- 2-3 sentence summary
- Key finding with code reference
- Recommendation
Standard Research (1-4 hours)
- Executive summary
- Findings with evidence
- Comparison table (if applicable)
- Recommendation with rationale
Deep Research (> 4 hours)
- Full report with all sections
- Multiple code traces
- Comprehensive comparison
- Detailed recommendations
- Open questions for follow-up
Quality Checklist
- All code references include
file:line - Actual code snippets (not paraphrases)
- Assumptions documented
- Multiple perspectives considered
- Edge cases noted
- Test files reviewed for usage patterns
- Recommendations have clear rationale
Output
A research document with:
- Clear findings with evidence
- Code references and snippets
- Pattern documentation
- Comparison tables (if applicable)
- Actionable recommendations