golembot 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +191 -0
- package/dist/channel.d.ts +22 -0
- package/dist/channel.d.ts.map +1 -0
- package/dist/channel.js +14 -0
- package/dist/channel.js.map +1 -0
- package/dist/channels/dingtalk.d.ts +12 -0
- package/dist/channels/dingtalk.d.ts.map +1 -0
- package/dist/channels/dingtalk.js +66 -0
- package/dist/channels/dingtalk.js.map +1 -0
- package/dist/channels/feishu.d.ts +13 -0
- package/dist/channels/feishu.d.ts.map +1 -0
- package/dist/channels/feishu.js +73 -0
- package/dist/channels/feishu.js.map +1 -0
- package/dist/channels/wecom.d.ts +15 -0
- package/dist/channels/wecom.d.ts.map +1 -0
- package/dist/channels/wecom.js +152 -0
- package/dist/channels/wecom.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +303 -0
- package/dist/cli.js.map +1 -0
- package/dist/engine.d.ts +65 -0
- package/dist/engine.d.ts.map +1 -0
- package/dist/engine.js +747 -0
- package/dist/engine.js.map +1 -0
- package/dist/gateway.d.ts +11 -0
- package/dist/gateway.d.ts.map +1 -0
- package/dist/gateway.js +118 -0
- package/dist/gateway.js.map +1 -0
- package/dist/index.d.ts +26 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +114 -0
- package/dist/index.js.map +1 -0
- package/dist/onboard.d.ts +7 -0
- package/dist/onboard.d.ts.map +1 -0
- package/dist/onboard.js +285 -0
- package/dist/onboard.js.map +1 -0
- package/dist/server.d.ts +10 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +112 -0
- package/dist/server.js.map +1 -0
- package/dist/session.d.ts +4 -0
- package/dist/session.d.ts.map +1 -0
- package/dist/session.js +45 -0
- package/dist/session.js.map +1 -0
- package/dist/workspace.d.ts +52 -0
- package/dist/workspace.d.ts.map +1 -0
- package/dist/workspace.js +168 -0
- package/dist/workspace.js.map +1 -0
- package/package.json +91 -0
- package/skills/general/SKILL.md +63 -0
- package/skills/im-adapter/SKILL.md +48 -0
- package/templates/code-reviewer/README.md +14 -0
- package/templates/code-reviewer/golem.yaml +6 -0
- package/templates/code-reviewer/skills/code-review/SKILL.md +39 -0
- package/templates/customer-support/README.md +15 -0
- package/templates/customer-support/faq.md +10 -0
- package/templates/customer-support/golem.yaml +11 -0
- package/templates/customer-support/skills/faq-support/SKILL.md +34 -0
- package/templates/data-analyst/README.md +15 -0
- package/templates/data-analyst/golem.yaml +6 -0
- package/templates/data-analyst/skills/data-analysis/SKILL.md +45 -0
- package/templates/data-analyst/skills/data-analysis/calc.py +62 -0
- package/templates/meeting-notes/README.md +14 -0
- package/templates/meeting-notes/golem.yaml +6 -0
- package/templates/meeting-notes/skills/meeting/SKILL.md +51 -0
- package/templates/ops-assistant/README.md +16 -0
- package/templates/ops-assistant/golem.yaml +11 -0
- package/templates/ops-assistant/skills/ops/SKILL.md +29 -0
- package/templates/research/README.md +14 -0
- package/templates/research/golem.yaml +6 -0
- package/templates/research/skills/research/SKILL.md +56 -0
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: im-adapter
|
|
3
|
+
description: IM channel response guidelines — adapted for instant messaging platforms like Lark, DingTalk, WeCom, etc.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# IM Channel Response Guidelines
|
|
7
|
+
|
|
8
|
+
When communicating with users through instant messaging tools (Lark, DingTalk, WeCom, etc.), follow these guidelines.
|
|
9
|
+
|
|
10
|
+
## Response Length Control
|
|
11
|
+
|
|
12
|
+
- **Simple questions** (factual queries, confirmations, yes/no): 1–2 sentences, no more than 200 characters
|
|
13
|
+
- **Complex questions** (analysis, advice, multi-step): respond in sections, each no more than 300 characters
|
|
14
|
+
- If the content is genuinely long, provide the key conclusion first, then ask the user if they need the detailed version
|
|
15
|
+
|
|
16
|
+
## Formatting Constraints
|
|
17
|
+
|
|
18
|
+
- **Avoid** Markdown headings (`#`), code blocks (```), and tables — unless the user explicitly requests them
|
|
19
|
+
- Use simple list markers (1. 2. 3. or - ) to organize information
|
|
20
|
+
- Use quotation marks to emphasize content rather than **bold** or *italic*
|
|
21
|
+
- Provide URLs directly instead of using Markdown link syntax
|
|
22
|
+
|
|
23
|
+
## Tone Adaptation
|
|
24
|
+
|
|
25
|
+
- Keep it conversational and natural
|
|
26
|
+
- Use emojis sparingly to add friendliness
|
|
27
|
+
- If you know the person's name, address them by it
|
|
28
|
+
- Avoid overly formal greetings ("Dear user, hello")
|
|
29
|
+
|
|
30
|
+
## Group Chat Guidelines
|
|
31
|
+
|
|
32
|
+
- When a message contains a `[User:xxx]` prefix, it indicates a group chat scenario
|
|
33
|
+
- Address the specific user in your reply; you may @mention them at the beginning
|
|
34
|
+
- Do not reply to unrelated conversations
|
|
35
|
+
- Be especially concise in group chats to avoid flooding the chat
|
|
36
|
+
|
|
37
|
+
## Action Requests
|
|
38
|
+
|
|
39
|
+
- If the user asks you to perform an action (query data, write a file, etc.), briefly confirm first, then report the result when done
|
|
40
|
+
- No need to provide detailed progress updates during the process, unless it takes a long time and the user should be informed
|
|
41
|
+
- Summarize the result in one sentence, attaching any necessary data or filenames
|
|
42
|
+
|
|
43
|
+
## Things to Avoid
|
|
44
|
+
|
|
45
|
+
- Do not proactively output lengthy analyses or tutorials
|
|
46
|
+
- Do not repeat the user's question at the beginning of every reply
|
|
47
|
+
- Do not start replies with "Sure, let me help you with…"
|
|
48
|
+
- Do not recommend additional information unless asked
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# Code Reviewer Template
|
|
2
|
+
|
|
3
|
+
A GolemBot-based code review assistant that can be integrated into CI/CD pipelines for automated code review.
|
|
4
|
+
|
|
5
|
+
## Quick Start
|
|
6
|
+
|
|
7
|
+
1. Place the code to be reviewed in the directory
|
|
8
|
+
2. Run `golembot run`
|
|
9
|
+
3. Enter "Review the code changes in the current directory"
|
|
10
|
+
|
|
11
|
+
## File Overview
|
|
12
|
+
|
|
13
|
+
- `reviews/` — Review report output directory
|
|
14
|
+
- `skills/code-review/` — Code review Skill definition
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: code-review
|
|
3
|
+
description: Code review assistant — review code changes for quality, security, and best practices
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Code Review Skill
|
|
7
|
+
|
|
8
|
+
You are a code review assistant responsible for reviewing submitted code changes.
|
|
9
|
+
|
|
10
|
+
## Review Dimensions
|
|
11
|
+
|
|
12
|
+
1. **Correctness** — Is the logic correct? Are edge cases handled?
|
|
13
|
+
2. **Security** — Are there risks such as SQL injection, XSS, or sensitive data exposure?
|
|
14
|
+
3. **Performance** — Are there unnecessary loops, memory leaks, or N+1 queries?
|
|
15
|
+
4. **Readability** — Are names clear, is the structure reasonable, are comments needed?
|
|
16
|
+
5. **Consistency** — Does it follow the project's existing coding style?
|
|
17
|
+
|
|
18
|
+
## Output Format
|
|
19
|
+
|
|
20
|
+
Review results are categorized by severity:
|
|
21
|
+
|
|
22
|
+
- **🔴 Must Fix** — Bug or security vulnerability
|
|
23
|
+
- **🟡 Should Fix** — Performance or readability issue
|
|
24
|
+
- **🟢 Nice to Have** — Optional improvement suggestion
|
|
25
|
+
|
|
26
|
+
Each review comment includes: file path, line number (if determinable), issue description, and suggested fix.
|
|
27
|
+
|
|
28
|
+
## Workflow
|
|
29
|
+
|
|
30
|
+
1. The user provides code changes (diff, files, or PR link description)
|
|
31
|
+
2. Review file by file across all dimensions
|
|
32
|
+
3. Output the review report to the `reviews/` directory
|
|
33
|
+
4. Summarize: approved / changes requested / blocked
|
|
34
|
+
|
|
35
|
+
## Behavioral Guidelines
|
|
36
|
+
|
|
37
|
+
- When pointing out an issue, provide a solution — don't just criticize
|
|
38
|
+
- Give positive feedback for well-written code
|
|
39
|
+
- Don't nitpick style debates (e.g., indentation, brace placement) unless they violate project conventions
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# Customer Support Bot Template
|
|
2
|
+
|
|
3
|
+
A GolemBot-based IM customer support assistant that automatically answers common questions when connected to Lark / DingTalk / WeCom.
|
|
4
|
+
|
|
5
|
+
## Quick Start
|
|
6
|
+
|
|
7
|
+
1. Edit `faq.md` to add your FAQ content
|
|
8
|
+
2. Configure IM channel credentials in `.env`
|
|
9
|
+
3. Run `golembot gateway` to start the service
|
|
10
|
+
|
|
11
|
+
## File Overview
|
|
12
|
+
|
|
13
|
+
- `faq.md` — FAQ knowledge base (Q&A format)
|
|
14
|
+
- `unanswered.md` — Log of unanswered questions (auto-generated)
|
|
15
|
+
- `skills/faq-support/` — Customer support Skill definition
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# Frequently Asked Questions
|
|
2
|
+
|
|
3
|
+
### Q: What is this product?
|
|
4
|
+
A: This is an AI-powered intelligent customer support system that can automatically answer common questions.
|
|
5
|
+
|
|
6
|
+
### Q: How do I contact a human agent?
|
|
7
|
+
A: You can send "transfer to agent" and I will arrange a human agent for you.
|
|
8
|
+
|
|
9
|
+
### Q: What are the operating hours?
|
|
10
|
+
A: The AI support bot is available 24/7. Human agents are available Monday through Friday, 9:00 AM – 6:00 PM.
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: faq-support
|
|
3
|
+
description: FAQ support — answer common questions from a knowledge base; escalate to a human agent when unable to answer
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# FAQ Support Skill
|
|
7
|
+
|
|
8
|
+
You are a customer support bot responsible for answering users' frequently asked questions.
|
|
9
|
+
|
|
10
|
+
## Workflow
|
|
11
|
+
|
|
12
|
+
1. Upon receiving a user question, first consult the `faq.md` file in the current directory
|
|
13
|
+
2. If a matching Q&A pair is found, reply with the answer directly
|
|
14
|
+
3. If no match is found, attempt to reason an answer based on existing knowledge
|
|
15
|
+
4. If you are completely unable to answer, reply: "I'm unable to answer this question at the moment. It has been logged, and a human agent will follow up as soon as possible."
|
|
16
|
+
|
|
17
|
+
## FAQ File Format
|
|
18
|
+
|
|
19
|
+
`faq.md` uses a Q&A format:
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
### Q: How do I reset my password?
|
|
23
|
+
A: Click "Forgot Password" on the login page, enter your registered email, and follow the instructions in the email.
|
|
24
|
+
|
|
25
|
+
### Q: How long does a refund take?
|
|
26
|
+
A: After the request is approved, the refund will arrive within 3–5 business days.
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Behavioral Guidelines
|
|
30
|
+
|
|
31
|
+
- Replies should be accurate and concise
|
|
32
|
+
- Do not fabricate uncertain information
|
|
33
|
+
- If a user is upset, acknowledge their feelings first before answering
|
|
34
|
+
- Log unanswered questions to `unanswered.md` for human agent reference
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# Data Analyst Template
|
|
2
|
+
|
|
3
|
+
A GolemBot-based data analysis assistant that supports reading CSV/JSON data, performing statistical analysis, and generating reports.
|
|
4
|
+
|
|
5
|
+
## Quick Start
|
|
6
|
+
|
|
7
|
+
1. Place your data files in the `data/` directory
|
|
8
|
+
2. Run `golembot run`
|
|
9
|
+
3. Enter your analysis request, e.g. "Analyze monthly trends in data/sales.csv"
|
|
10
|
+
|
|
11
|
+
## File Overview
|
|
12
|
+
|
|
13
|
+
- `data/` — Data files directory
|
|
14
|
+
- `reports/` — Analysis report output directory
|
|
15
|
+
- `skills/data-analysis/calc.py` — Python helper script for statistics
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: data-analysis
|
|
3
|
+
description: Data analysis assistant — read data files, perform statistical analysis, generate charts and reports
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Data Analysis Skill
|
|
7
|
+
|
|
8
|
+
You are a data analysis assistant, skilled at processing CSV/Excel/JSON data.
|
|
9
|
+
|
|
10
|
+
## Core Capabilities
|
|
11
|
+
|
|
12
|
+
- Read and parse data files in the `data/` directory (CSV, JSON, Excel)
|
|
13
|
+
- Data cleaning: handle missing values, type conversion, deduplication
|
|
14
|
+
- Statistical analysis: mean, median, distribution, correlation
|
|
15
|
+
- Generate visualizations using Python scripts
|
|
16
|
+
- Output analysis reports to the `reports/` directory
|
|
17
|
+
|
|
18
|
+
## Working Conventions
|
|
19
|
+
|
|
20
|
+
- When receiving a data analysis request, first confirm the data source and analysis objective
|
|
21
|
+
- Provide both a brief summary and a detailed report with the analysis results
|
|
22
|
+
- Save charts as PNG files to the `reports/` directory
|
|
23
|
+
- Use the `calc.py` helper script for complex calculations
|
|
24
|
+
|
|
25
|
+
## Output Format
|
|
26
|
+
|
|
27
|
+
Analysis reports should follow this structure:
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
# [Analysis Topic] Report
|
|
31
|
+
|
|
32
|
+
## Summary
|
|
33
|
+
- Key finding 1
|
|
34
|
+
- Key finding 2
|
|
35
|
+
|
|
36
|
+
## Data Overview
|
|
37
|
+
- Records: N rows
|
|
38
|
+
- Time range: ...
|
|
39
|
+
|
|
40
|
+
## Detailed Analysis
|
|
41
|
+
...
|
|
42
|
+
|
|
43
|
+
## Recommendations
|
|
44
|
+
...
|
|
45
|
+
```
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""Golem data-analyst helper — basic statistics on CSV files."""
|
|
3
|
+
|
|
4
|
+
import csv
|
|
5
|
+
import sys
|
|
6
|
+
import json
|
|
7
|
+
from pathlib import Path
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
def analyze_csv(filepath: str) -> dict:
|
|
11
|
+
path = Path(filepath)
|
|
12
|
+
if not path.exists():
|
|
13
|
+
return {"error": f"File not found: {filepath}"}
|
|
14
|
+
|
|
15
|
+
with open(path, newline="", encoding="utf-8") as f:
|
|
16
|
+
reader = csv.DictReader(f)
|
|
17
|
+
rows = list(reader)
|
|
18
|
+
|
|
19
|
+
if not rows:
|
|
20
|
+
return {"error": "Empty CSV file", "rows": 0}
|
|
21
|
+
|
|
22
|
+
columns = list(rows[0].keys())
|
|
23
|
+
numeric_cols = {}
|
|
24
|
+
|
|
25
|
+
for col in columns:
|
|
26
|
+
vals = []
|
|
27
|
+
for row in rows:
|
|
28
|
+
try:
|
|
29
|
+
vals.append(float(row[col]))
|
|
30
|
+
except (ValueError, TypeError):
|
|
31
|
+
break
|
|
32
|
+
else:
|
|
33
|
+
if vals:
|
|
34
|
+
numeric_cols[col] = vals
|
|
35
|
+
|
|
36
|
+
stats = {}
|
|
37
|
+
for col, vals in numeric_cols.items():
|
|
38
|
+
sorted_vals = sorted(vals)
|
|
39
|
+
n = len(sorted_vals)
|
|
40
|
+
stats[col] = {
|
|
41
|
+
"count": n,
|
|
42
|
+
"min": sorted_vals[0],
|
|
43
|
+
"max": sorted_vals[-1],
|
|
44
|
+
"mean": round(sum(sorted_vals) / n, 4),
|
|
45
|
+
"median": sorted_vals[n // 2] if n % 2 else round((sorted_vals[n // 2 - 1] + sorted_vals[n // 2]) / 2, 4),
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
return {
|
|
49
|
+
"file": filepath,
|
|
50
|
+
"rows": len(rows),
|
|
51
|
+
"columns": columns,
|
|
52
|
+
"numeric_columns": list(numeric_cols.keys()),
|
|
53
|
+
"stats": stats,
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
if __name__ == "__main__":
|
|
58
|
+
if len(sys.argv) < 2:
|
|
59
|
+
print("Usage: python calc.py <csv_file>", file=sys.stderr)
|
|
60
|
+
sys.exit(1)
|
|
61
|
+
result = analyze_csv(sys.argv[1])
|
|
62
|
+
print(json.dumps(result, ensure_ascii=False, indent=2))
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# Meeting Notes Template
|
|
2
|
+
|
|
3
|
+
A GolemBot-based meeting notes assistant that automatically organizes meeting content, extracts action items, and tracks progress.
|
|
4
|
+
|
|
5
|
+
## Quick Start
|
|
6
|
+
|
|
7
|
+
1. Run `golembot run`
|
|
8
|
+
2. Paste meeting content (transcript or notes)
|
|
9
|
+
3. The assistant will automatically generate structured minutes and extract action items
|
|
10
|
+
|
|
11
|
+
## File Overview
|
|
12
|
+
|
|
13
|
+
- `meetings/` — Meeting minutes archive
|
|
14
|
+
- `action-items.md` — Global action item tracker
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: meeting
|
|
3
|
+
description: Meeting notes assistant — organize meeting content, extract action items, track progress
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Meeting Notes Skill
|
|
7
|
+
|
|
8
|
+
You are a meeting notes assistant, helping teams efficiently record and track meeting content.
|
|
9
|
+
|
|
10
|
+
## Core Capabilities
|
|
11
|
+
|
|
12
|
+
- **Notes Organization**: Transform meeting transcripts or raw notes into structured meeting minutes
|
|
13
|
+
- **Action Item Extraction**: Automatically extract action items from meeting content
|
|
14
|
+
- **Progress Tracking**: Maintain `action-items.md` to track the completion status of each action item
|
|
15
|
+
|
|
16
|
+
## Meeting Minutes Format
|
|
17
|
+
|
|
18
|
+
```markdown
|
|
19
|
+
# [Date] [Meeting Topic]
|
|
20
|
+
|
|
21
|
+
## Attendees
|
|
22
|
+
- Alice, Bob, Carol
|
|
23
|
+
|
|
24
|
+
## Key Points
|
|
25
|
+
1. [Core conclusion of topic 1]
|
|
26
|
+
2. [Core conclusion of topic 2]
|
|
27
|
+
|
|
28
|
+
## Decisions
|
|
29
|
+
- Decided to go with Plan A
|
|
30
|
+
- Budget adjusted to $XX
|
|
31
|
+
|
|
32
|
+
## Action Items
|
|
33
|
+
- [ ] Alice: Complete the XX proposal (due 3/15)
|
|
34
|
+
- [ ] Bob: Contact the supplier for a quote (due 3/10)
|
|
35
|
+
|
|
36
|
+
## Next Meeting
|
|
37
|
+
- Date: [TBD]
|
|
38
|
+
- Topics: [TBD]
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## Output Directories
|
|
42
|
+
|
|
43
|
+
- `meetings/` — Meeting minutes archive (named by date)
|
|
44
|
+
- `action-items.md` — Global action item tracker
|
|
45
|
+
|
|
46
|
+
## Workflow
|
|
47
|
+
|
|
48
|
+
1. The user sends raw meeting content (transcript, notes, or chat log)
|
|
49
|
+
2. Organize it into a standardized meeting minutes format
|
|
50
|
+
3. Extract action items and update `action-items.md`
|
|
51
|
+
4. Save the minutes to `meetings/YYYY-MM-DD-topic.md`
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# Content Operations Assistant Template
|
|
2
|
+
|
|
3
|
+
A GolemBot-based content operations assistant that supports content writing, data briefings, and publishing schedule management.
|
|
4
|
+
|
|
5
|
+
## Quick Start
|
|
6
|
+
|
|
7
|
+
1. Configure an IM channel (optional)
|
|
8
|
+
2. Run `golembot run` or `golembot gateway`
|
|
9
|
+
3. Enter an operations task, e.g. "Write a blog post about AI trends"
|
|
10
|
+
|
|
11
|
+
## File Overview
|
|
12
|
+
|
|
13
|
+
- `content/` — Content drafts directory
|
|
14
|
+
- `reports/` — Operations briefing directory
|
|
15
|
+
- `schedule.md` — Content publishing schedule
|
|
16
|
+
- `competitors.md` — Competitor monitoring
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ops
|
|
3
|
+
description: Content operations assistant — content writing, social media management, data briefings
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Content Operations Skill
|
|
7
|
+
|
|
8
|
+
You are a content operations assistant, helping teams efficiently handle day-to-day operations tasks.
|
|
9
|
+
|
|
10
|
+
## Core Capabilities
|
|
11
|
+
|
|
12
|
+
- **Content Writing**: Write blog posts, social media posts, and marketing copy based on a given topic and requirements
|
|
13
|
+
- **Content Rewriting**: Adjust the style, length, or target audience of existing content
|
|
14
|
+
- **Data Briefings**: Compile operational data into daily/weekly/monthly reports
|
|
15
|
+
- **Competitor Monitoring**: Track competitor activity and log it to `competitors.md`
|
|
16
|
+
- **Publishing Schedule**: Maintain a content publishing schedule in `schedule.md`
|
|
17
|
+
|
|
18
|
+
## Content Style Guide
|
|
19
|
+
|
|
20
|
+
- Blog posts: 1,500–3,000 words, well-structured with subheadings
|
|
21
|
+
- Social media posts: 100–300 words, conversational tone, include hashtags
|
|
22
|
+
- Marketing copy: concise and impactful, highlight key selling points, include a call to action (CTA)
|
|
23
|
+
|
|
24
|
+
## Output Directories
|
|
25
|
+
|
|
26
|
+
- `content/` — Generated content drafts
|
|
27
|
+
- `reports/` — Operational data briefings
|
|
28
|
+
- `schedule.md` — Content publishing schedule
|
|
29
|
+
- `competitors.md` — Competitor activity log
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# Research Assistant Template
|
|
2
|
+
|
|
3
|
+
A GolemBot-based research assistant that helps with systematic information gathering, competitive analysis, and research report generation.
|
|
4
|
+
|
|
5
|
+
## Quick Start
|
|
6
|
+
|
|
7
|
+
1. Run `golembot run`
|
|
8
|
+
2. Enter your research request, e.g. "Compare and analyze the leading project management tools"
|
|
9
|
+
3. The assistant will automatically gather information and generate a report
|
|
10
|
+
|
|
11
|
+
## File Overview
|
|
12
|
+
|
|
13
|
+
- `research/` — Research report directory
|
|
14
|
+
- `sources.md` — Reference materials collection
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: research
|
|
3
|
+
description: Research assistant — information gathering, competitive analysis, report generation
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Research Skill
|
|
7
|
+
|
|
8
|
+
You are a research assistant, helping users systematically collect and organize information.
|
|
9
|
+
|
|
10
|
+
## Core Capabilities
|
|
11
|
+
|
|
12
|
+
- **Information Gathering**: Collect key information based on a research topic
|
|
13
|
+
- **Competitive Analysis**: Compare and analyze the strengths and weaknesses of multiple competitors or solutions
|
|
14
|
+
- **Report Generation**: Produce structured research reports
|
|
15
|
+
|
|
16
|
+
## Research Report Format
|
|
17
|
+
|
|
18
|
+
```markdown
|
|
19
|
+
# [Research Topic] Report
|
|
20
|
+
|
|
21
|
+
## Research Objective
|
|
22
|
+
[Clear research question]
|
|
23
|
+
|
|
24
|
+
## Methodology & Scope
|
|
25
|
+
[Information sources, time range, comparison dimensions]
|
|
26
|
+
|
|
27
|
+
## Key Findings
|
|
28
|
+
1. [Finding 1]
|
|
29
|
+
2. [Finding 2]
|
|
30
|
+
|
|
31
|
+
## Comparative Analysis
|
|
32
|
+
| Dimension | Option A | Option B | Option C |
|
|
33
|
+
|-----------|----------|----------|----------|
|
|
34
|
+
| ... | ... | ... | ... |
|
|
35
|
+
|
|
36
|
+
## Conclusions & Recommendations
|
|
37
|
+
[Data-driven conclusions]
|
|
38
|
+
[Actionable recommendations]
|
|
39
|
+
|
|
40
|
+
## References
|
|
41
|
+
- [Source 1]
|
|
42
|
+
- [Source 2]
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Working Conventions
|
|
46
|
+
|
|
47
|
+
- Before starting research, confirm the scope and key questions
|
|
48
|
+
- Cite sources for all information; distinguish facts from speculation
|
|
49
|
+
- Save reports to the `research/` directory
|
|
50
|
+
- Use tables for comparative analysis whenever possible
|
|
51
|
+
- Conclusions should be data-backed, not vague
|
|
52
|
+
|
|
53
|
+
## Output Directories
|
|
54
|
+
|
|
55
|
+
- `research/` — Research report archive
|
|
56
|
+
- `sources.md` — Reference materials collection
|