@aksp/opencrew 1.0.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/CHANGELOG.md +19 -0
- package/LICENSE +24 -0
- package/README.md +118 -0
- package/bin/opencrew.js +8 -0
- package/package.json +57 -0
- package/src/cli.js +70 -0
- package/src/commands/init.js +97 -0
- package/src/commands/update.js +58 -0
- package/src/lib/fsx.js +55 -0
- package/src/lib/ides.js +120 -0
- package/src/lib/paths.js +8 -0
- package/src/lib/prompts.js +35 -0
- package/src/lib/ui.js +20 -0
- package/templates/.env.example +23 -0
- package/templates/.mcp.json +8 -0
- package/templates/AGENTS.md +105 -0
- package/templates/_opencrew/.opencrew-version +1 -0
- package/templates/_opencrew/_investigations/.gitkeep +0 -0
- package/templates/_opencrew/_memory/company.md +4 -0
- package/templates/_opencrew/_memory/preferences.md +9 -0
- package/templates/_opencrew/config/playwright.config.json +11 -0
- package/templates/_opencrew/core/architect.agent.yaml +110 -0
- package/templates/_opencrew/core/best-practices/_catalog.yaml +116 -0
- package/templates/_opencrew/core/best-practices/blog-post.md +151 -0
- package/templates/_opencrew/core/best-practices/blog-seo.md +146 -0
- package/templates/_opencrew/core/best-practices/copywriting.md +446 -0
- package/templates/_opencrew/core/best-practices/data-analysis.md +420 -0
- package/templates/_opencrew/core/best-practices/email-newsletter.md +136 -0
- package/templates/_opencrew/core/best-practices/email-sales.md +127 -0
- package/templates/_opencrew/core/best-practices/image-design.md +365 -0
- package/templates/_opencrew/core/best-practices/instagram-feed.md +252 -0
- package/templates/_opencrew/core/best-practices/instagram-reels.md +128 -0
- package/templates/_opencrew/core/best-practices/instagram-stories.md +123 -0
- package/templates/_opencrew/core/best-practices/linkedin-article.md +133 -0
- package/templates/_opencrew/core/best-practices/linkedin-post.md +138 -0
- package/templates/_opencrew/core/best-practices/researching.md +366 -0
- package/templates/_opencrew/core/best-practices/review.md +286 -0
- package/templates/_opencrew/core/best-practices/social-networks-publishing.md +311 -0
- package/templates/_opencrew/core/best-practices/strategist.md +361 -0
- package/templates/_opencrew/core/best-practices/technical-writing.md +382 -0
- package/templates/_opencrew/core/best-practices/twitter-post.md +122 -0
- package/templates/_opencrew/core/best-practices/twitter-thread.md +139 -0
- package/templates/_opencrew/core/best-practices/whatsapp-broadcast.md +124 -0
- package/templates/_opencrew/core/best-practices/youtube-script.md +139 -0
- package/templates/_opencrew/core/best-practices/youtube-shorts.md +129 -0
- package/templates/_opencrew/core/prompts/build.prompt.md +547 -0
- package/templates/_opencrew/core/prompts/design.prompt.md +469 -0
- package/templates/_opencrew/core/prompts/discovery.prompt.md +269 -0
- package/templates/_opencrew/core/prompts/sherlock-instagram.md +123 -0
- package/templates/_opencrew/core/prompts/sherlock-linkedin.md +73 -0
- package/templates/_opencrew/core/prompts/sherlock-shared.md +684 -0
- package/templates/_opencrew/core/prompts/sherlock-twitter.md +78 -0
- package/templates/_opencrew/core/prompts/sherlock-youtube.md +85 -0
- package/templates/_opencrew/core/runner.pipeline.md +611 -0
- package/templates/_opencrew/core/skills.engine.md +388 -0
- package/templates/_opencrew/logs/.gitkeep +0 -0
- package/templates/crews/.gitkeep +0 -0
- package/templates/gitignore +8 -0
- package/templates/skills/apify/SKILL.md +55 -0
- package/templates/skills/blotato/SKILL.md +63 -0
- package/templates/skills/canva/SKILL.md +60 -0
- package/templates/skills/image-ai-generator/SKILL.md +124 -0
- package/templates/skills/image-ai-generator/scripts/generate.py +175 -0
- package/templates/skills/image-creator/SKILL.md +155 -0
- package/templates/skills/image-fetcher/SKILL.md +91 -0
- package/templates/skills/instagram-publisher/SKILL.md +119 -0
- package/templates/skills/instagram-publisher/scripts/publish.js +165 -0
- package/templates/skills/opencrew-best-practice-creator/SKILL.md +192 -0
- package/templates/skills/opencrew-skill-creator/SKILL.md +420 -0
- package/templates/skills/opencrew-skill-creator/agents/analyzer.md +274 -0
- package/templates/skills/opencrew-skill-creator/agents/comparator.md +202 -0
- package/templates/skills/opencrew-skill-creator/agents/grader.md +223 -0
- package/templates/skills/opencrew-skill-creator/assets/eval_review.html +146 -0
- package/templates/skills/opencrew-skill-creator/eval-viewer/generate_review.py +471 -0
- package/templates/skills/opencrew-skill-creator/eval-viewer/viewer.html +1325 -0
- package/templates/skills/opencrew-skill-creator/references/schemas.md +430 -0
- package/templates/skills/opencrew-skill-creator/references/skill-format.md +235 -0
- package/templates/skills/opencrew-skill-creator/scripts/__init__.py +0 -0
- package/templates/skills/opencrew-skill-creator/scripts/aggregate_benchmark.py +401 -0
- package/templates/skills/opencrew-skill-creator/scripts/quick_validate.py +103 -0
- package/templates/skills/opencrew-skill-creator/scripts/run_eval.py +310 -0
- package/templates/skills/opencrew-skill-creator/scripts/utils.py +47 -0
- package/templates/skills/resend/SKILL.md +80 -0
- package/templates/skills/template-designer/SKILL.md +208 -0
- package/templates/skills/template-designer/base-templates/model-a.html +27 -0
- package/templates/skills/template-designer/base-templates/model-b.html +31 -0
- package/templates/skills/template-designer/base-templates/model-c.html +42 -0
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "LinkedIn Post"
|
|
3
|
+
platform: "linkedin"
|
|
4
|
+
content_type: "post"
|
|
5
|
+
description: "Text posts and document carousels optimized for professional engagement, dwell time, and comment-driven reach"
|
|
6
|
+
whenToUse: |
|
|
7
|
+
Creating agents that produce LinkedIn posts, text updates, or document carousels for LinkedIn.
|
|
8
|
+
constraints:
|
|
9
|
+
post_max_chars: 3000
|
|
10
|
+
post_visible_chars: 210
|
|
11
|
+
hashtags_max: 5
|
|
12
|
+
recommended_hashtags: "3-5"
|
|
13
|
+
carousel_max_slides: 300
|
|
14
|
+
recommended_slides: "10-15"
|
|
15
|
+
max_posts_per_day: 1
|
|
16
|
+
version: "1.0.0"
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Compact Rules
|
|
20
|
+
|
|
21
|
+
1. Craft hooks that fit within the first 210 characters to compel the "see more" tap.
|
|
22
|
+
2. Structure text posts with a hook, context story, 3-5 insights, a takeaway, and a CTA question.
|
|
23
|
+
3. Write in the first person using short paragraphs (1-2 sentences maximum).
|
|
24
|
+
4. Never place external links in the post body; use the "link in comments" approach.
|
|
25
|
+
5. End every post with a genuine, specific question to drive comments.
|
|
26
|
+
6. Limit tags to 2-3 people who will actively engage; avoid spam tagging.
|
|
27
|
+
7. Use exactly 3-5 relevant hashtags placed on the final line, separate from the body text.
|
|
28
|
+
8. Opt for document/carousel formats (10-15 slides) over text-only when possible for higher reach.
|
|
29
|
+
9. Reply to every comment received on your posts to signal quality to the algorithm.
|
|
30
|
+
10. Limit publishing to a maximum of 1 post per day.
|
|
31
|
+
11. Post on weekdays between 7-9 AM or 12-1 PM (audience time zone); avoid weekends.
|
|
32
|
+
12. Do not edit the post within the first 10 minutes of publishing.
|
|
33
|
+
|
|
34
|
+
<!-- End Compact Rules. Full reference below. -->
|
|
35
|
+
|
|
36
|
+
## Platform Rules
|
|
37
|
+
|
|
38
|
+
- Posts with external links in the body receive approximately 3x less reach. The LinkedIn algorithm actively deprioritizes outbound traffic. Always use the "link in comments" approach.
|
|
39
|
+
- Comments are weighted far more heavily than reactions. Long, substantive comments signal valuable content to the algorithm. Questions drive 2x more comments than statements.
|
|
40
|
+
- The first 60 minutes are critical. Engagement velocity in this window determines whether the post expands beyond your initial 5-10% network reach.
|
|
41
|
+
- Dwell time is an algorithmic signal. Longer posts that keep people reading and scrolling get boosted in distribution.
|
|
42
|
+
- Document/carousel posts receive 2-3x more reach than text-only posts. The swipe interaction increases dwell time.
|
|
43
|
+
- The algorithm rewards creators who reply to every comment on their posts. Active comment sections signal quality.
|
|
44
|
+
- Avoid more than 1 post per day. Multiple daily posts compete against each other for your audience's attention and the algorithm may cannibalize your own reach.
|
|
45
|
+
- Best posting times: 7-9 AM or 12-1 PM on weekdays in your audience's time zone. Tuesday, Wednesday, and Thursday consistently outperform other days. Weekends see 50-70% engagement drops.
|
|
46
|
+
- Allow 18-24 hours between posts for maximum individual post distribution.
|
|
47
|
+
|
|
48
|
+
## Content Structure
|
|
49
|
+
|
|
50
|
+
### Text Post Structure
|
|
51
|
+
|
|
52
|
+
1. **Hook (first 2 lines / ~210 characters)** — This is everything. The hook appears before the "see more" fold. Use a contrarian take, surprising stat, personal story opener, or bold claim that compels the tap.
|
|
53
|
+
2. **Story/Context (2-3 short paragraphs)** — Personal experience, observation, or data that supports your point. Write in first person. Use short sentences and frequent line breaks (1-2 sentences per paragraph).
|
|
54
|
+
3. **Insights/Lessons (3-5 bullet points)** — Actionable takeaways, numbered or bulleted. These are the save-worthy core of the post.
|
|
55
|
+
4. **Takeaway (1-2 sentences)** — The one thing to remember.
|
|
56
|
+
5. **CTA question** — A genuine question that invites conversation: "What's your experience with [topic]?" or "Agree or disagree?"
|
|
57
|
+
6. **Hashtags (last line)** — 3-5 relevant hashtags, separated from the body text.
|
|
58
|
+
|
|
59
|
+
### Document/Carousel Structure
|
|
60
|
+
|
|
61
|
+
- Hook slide with a bold statement or question.
|
|
62
|
+
- 10-15 slides with one idea per slide, 20-30 words maximum.
|
|
63
|
+
- Clean, readable design with large text and minimal clutter.
|
|
64
|
+
- CTA on the final slide directing comments, shares, or follows.
|
|
65
|
+
- Upload as PDF format.
|
|
66
|
+
|
|
67
|
+
### Effective Post Formats
|
|
68
|
+
|
|
69
|
+
- **Storytelling**: "3 years ago, I [experience]. Here is what I learned..."
|
|
70
|
+
- **Thought leadership**: "Unpopular opinion: [contrarian take]. Here is why..."
|
|
71
|
+
- **Data-driven**: "[Surprising stat]. Here is what it means for [audience]..."
|
|
72
|
+
- **Lessons learned**: "I [did X] and discovered [Y]. The 5 biggest lessons:"
|
|
73
|
+
- **Before/After**: "Before: [old way]. After: [new insight]. The difference was [key lesson]."
|
|
74
|
+
|
|
75
|
+
## Writing Guidelines
|
|
76
|
+
|
|
77
|
+
- **First person is mandatory.** Personal stories outperform generic advice on LinkedIn. "I learned" beats "One should learn."
|
|
78
|
+
- Write in short paragraphs of 1-2 sentences. A wall of text kills readability and dwell time.
|
|
79
|
+
- Front-load the hook. The first 210 characters (~2 lines on desktop) must compel the "see more" tap. If the hook does not create curiosity, urgency, or personal relevance, rewrite it.
|
|
80
|
+
- Ask a genuine question at the end. Not rhetorical, not generic. A specific question your audience can answer from their own experience.
|
|
81
|
+
- Tag only 2-3 people who will actually engage. Spam tagging 10+ people looks desperate and may trigger filters.
|
|
82
|
+
- Never put links in the post body. Post the content first, then add the link as the first comment. Or say "Link in comments" and drop it in a reply.
|
|
83
|
+
- Use 3-5 hashtags on the last line. Mix 1-2 broad industry tags with 2-3 niche/specific tags. Avoid generic hashtags like #motivation or #success.
|
|
84
|
+
- Do not place hashtags in the middle of post text. It breaks readability and looks unprofessional.
|
|
85
|
+
|
|
86
|
+
## Output Format
|
|
87
|
+
|
|
88
|
+
```
|
|
89
|
+
=== HOOK ===
|
|
90
|
+
[First 2 lines — must work before the "see more" fold. Max ~210 characters. Contrarian take, surprising stat, or personal story opener.]
|
|
91
|
+
|
|
92
|
+
=== BODY ===
|
|
93
|
+
[Story or context — 2-3 short paragraphs, first person, short sentences, frequent line breaks.]
|
|
94
|
+
|
|
95
|
+
[Transition to insights.]
|
|
96
|
+
|
|
97
|
+
=== INSIGHTS ===
|
|
98
|
+
1. [Actionable takeaway — one sentence]
|
|
99
|
+
2. [Actionable takeaway — one sentence]
|
|
100
|
+
3. [Actionable takeaway — one sentence]
|
|
101
|
+
4. [Actionable takeaway — one sentence]
|
|
102
|
+
5. [Actionable takeaway — one sentence]
|
|
103
|
+
|
|
104
|
+
=== CTA ===
|
|
105
|
+
[One-line takeaway summary.]
|
|
106
|
+
|
|
107
|
+
[Genuine question to drive comments — specific, not generic.]
|
|
108
|
+
|
|
109
|
+
=== HASHTAGS ===
|
|
110
|
+
#hashtag1 #hashtag2 #hashtag3 #hashtag4 #hashtag5
|
|
111
|
+
[3-5 hashtags on a separate final line]
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
## Quality Criteria
|
|
115
|
+
|
|
116
|
+
- [ ] Hook fits within ~210 characters and creates a compelling reason to tap "see more"
|
|
117
|
+
- [ ] Post is written in first person with a personal, authentic voice
|
|
118
|
+
- [ ] Paragraphs are 1-2 sentences long with line breaks between them
|
|
119
|
+
- [ ] Post contains 3-5 actionable, numbered or bulleted insights
|
|
120
|
+
- [ ] CTA is a genuine, specific question (not rhetorical or generic)
|
|
121
|
+
- [ ] No external links appear in the post body
|
|
122
|
+
- [ ] Hashtags are 3-5 total, placed on the last line, separated from the body
|
|
123
|
+
- [ ] No more than 2-3 people are tagged, and only those who will likely engage
|
|
124
|
+
- [ ] Total post length is under 3,000 characters
|
|
125
|
+
- [ ] Post delivers value worth commenting on, not just reacting to
|
|
126
|
+
|
|
127
|
+
## Anti-Patterns
|
|
128
|
+
|
|
129
|
+
- **Links in post body** — Kills reach by approximately 3x. The algorithm deprioritizes posts that drive users off LinkedIn. Always use the "link in comments" approach.
|
|
130
|
+
- **Spam tagging** — Tagging 10+ people who did not ask to be tagged looks desperate, may trigger spam filters, and damages professional credibility.
|
|
131
|
+
- **Editing after posting** — Editing within the first 10 minutes can reset algorithmic distribution, destroying the critical early engagement window.
|
|
132
|
+
- **More than 1 post per day** — Posts compete against each other for your own audience's attention. The algorithm may suppress the second post.
|
|
133
|
+
- **Corporate jargon** — "Synergy," "leverage," "circle back," "at the end of the day" make content feel robotic and impersonal. Write like a human.
|
|
134
|
+
- **No line breaks** — A wall of text kills readability and dwell time. Use 1-2 sentence paragraphs with whitespace between them.
|
|
135
|
+
- **Posting on weekends** — Unless your audience is specifically active on weekends, reach drops 50-70% on Saturday and Sunday.
|
|
136
|
+
- **Generic motivational quotes** — Saturated content type that signals low effort and does not generate meaningful engagement.
|
|
137
|
+
- **Engagement pods** — LinkedIn actively detects and penalizes coordinated engagement groups. The short-term boost is not worth the long-term suppression risk.
|
|
138
|
+
- **Reposting without adding value** — "So true!" reshares get minimal engagement. Always add your own perspective, experience, or analysis.
|
|
@@ -0,0 +1,366 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: researching
|
|
3
|
+
name: "Research & Data Collection"
|
|
4
|
+
whenToUse: |
|
|
5
|
+
Creating agents that research topics, collect data from the web, verify facts,
|
|
6
|
+
or produce structured research briefs.
|
|
7
|
+
NOT for: data analysis/interpretation, content creation, strategic planning.
|
|
8
|
+
version: "1.0.0"
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Compact Rules
|
|
12
|
+
|
|
13
|
+
1. Verify every finding against at least one additional independent source.
|
|
14
|
+
2. Note the publication date of every source and prefer the most recent data.
|
|
15
|
+
3. Prioritize primary sources (original reports, official data) over secondary aggregators.
|
|
16
|
+
4. Structure all briefs into: Key Findings, Trending Angles, Sources, Recommendations, and Gaps.
|
|
17
|
+
5. Check for completeness; explain any empty sections or missing information.
|
|
18
|
+
6. Surface contradictions transparently when sources disagree; do not pick a side.
|
|
19
|
+
7. Record the specific access date for every web source cited.
|
|
20
|
+
8. Use native web search tools for public pages; reserve browser automation for logins/dynamic content.
|
|
21
|
+
9. Target 3-5 high-quality sources per angle; stop searching when finding diminish returns.
|
|
22
|
+
10. Assign explicit confidence levels (high, medium, low) to every key finding.
|
|
23
|
+
11. Document research gaps honestly; what you cannot find is as important as what you can.
|
|
24
|
+
12. Never present facts without a clickable source URL.
|
|
25
|
+
|
|
26
|
+
<!-- End Compact Rules. Full reference below. -->
|
|
27
|
+
|
|
28
|
+
# Research & Data Collection — Best Practices
|
|
29
|
+
|
|
30
|
+
## Core Principles
|
|
31
|
+
|
|
32
|
+
1. **Source verification first** — Never include a finding without verifying it against at least one additional independent source. A single unverified source is flagged as "low confidence" and clearly marked.
|
|
33
|
+
|
|
34
|
+
2. **Freshness bias** — Prefer recent sources over older ones when the topic is time-sensitive. Always note the publication date of every source cited. Discard outdated data when newer, equally reliable data exists.
|
|
35
|
+
|
|
36
|
+
3. **Primary over secondary** — Always prefer original reports, official announcements, and first-party data over blog posts, aggregator articles, or opinion pieces. When secondary sources are used, trace them back to their original and cite both.
|
|
37
|
+
|
|
38
|
+
4. **Structured output** — Every research brief follows a consistent format: Key Findings, Trending Angles, Sources, Recommendations, and Gaps. This structure is non-negotiable regardless of topic complexity.
|
|
39
|
+
|
|
40
|
+
5. **Completeness check** — Before delivering a brief, verify that all sections are populated, all sources are accessible, and no key angle has been left unexplored. If a section is empty, explain why.
|
|
41
|
+
|
|
42
|
+
6. **Contradiction surfacing** — When sources disagree, present both sides with their respective evidence rather than choosing one. Let the consumer of the research make the judgment call.
|
|
43
|
+
|
|
44
|
+
7. **Access date logging** — Record when each source was accessed. Web content changes or disappears; documenting access dates protects the integrity of the research and allows later verification.
|
|
45
|
+
|
|
46
|
+
8. **Browser tool discipline** — Use native web search tools (WebSearch, web_fetch) for all public web research. Reserve browser automation (Playwright) for social media platforms, login-required pages, and visual/screenshot extraction. Never open a browser when a native search tool suffices.
|
|
47
|
+
|
|
48
|
+
9. **Efficiency and focus** — Be objective and direct. Research enough to fulfill the task without being exhaustive. Avoid spending excessive time on broad sweeps when a focused search answers the question. The goal is actionable intelligence, not academic completeness. If 5 high-quality sources answer the brief, don't search for 15 more.
|
|
49
|
+
|
|
50
|
+
## Techniques & Frameworks
|
|
51
|
+
|
|
52
|
+
### Information Landscape Mapping
|
|
53
|
+
|
|
54
|
+
Before starting any search, identify the key categories of sources relevant to the topic: industry publications, official company pages, government databases, social media, academic papers, news outlets. Prioritize categories by expected reliability and relevance. This creates a mental map that prevents tunnel vision and ensures diverse source coverage.
|
|
55
|
+
|
|
56
|
+
### Focused Search Sweep
|
|
57
|
+
|
|
58
|
+
Conduct an initial search across the most relevant source categories. Collect 5-10 candidate sources — enough to map the terrain without over-searching. Note which angles are well-covered and which have gaps. Move quickly to deep-dive on the best sources rather than endlessly expanding the search.
|
|
59
|
+
|
|
60
|
+
### Deep-Dive Methodology
|
|
61
|
+
|
|
62
|
+
Select the 3-5 most promising sources and extract detailed findings. Cross-reference key claims across sources. Flag contradictions. Focus on extracting what the crew actually needs — not every possible angle, just the ones that serve the brief.
|
|
63
|
+
|
|
64
|
+
### Cross-Referencing
|
|
65
|
+
|
|
66
|
+
Compare data points across independent sources. Assign confidence levels based on corroboration:
|
|
67
|
+
- **High confidence**: 3 or more independent sources agree.
|
|
68
|
+
- **Medium confidence**: 2 sources agree.
|
|
69
|
+
- **Low confidence**: Single source or conflicting data.
|
|
70
|
+
|
|
71
|
+
When sources disagree, document both positions with their supporting evidence. Do not resolve contradictions by choosing a side — surface them transparently.
|
|
72
|
+
|
|
73
|
+
### Synthesis into Brief Format
|
|
74
|
+
|
|
75
|
+
Organize findings into the standard output format:
|
|
76
|
+
1. Write Key Findings as concise, cited statements with confidence levels.
|
|
77
|
+
2. Identify Trending Angles with lifecycle assessments (emerging, growth, mature, declining).
|
|
78
|
+
3. Compile the Sources table with type and relevance scores.
|
|
79
|
+
4. Draft actionable Recommendations grounded in the findings.
|
|
80
|
+
5. Document Gaps honestly — what you could not find is as valuable as what you did find.
|
|
81
|
+
|
|
82
|
+
### Self-Review Checklist
|
|
83
|
+
|
|
84
|
+
Before delivering any research brief, verify:
|
|
85
|
+
- Are all claims cited with source URLs?
|
|
86
|
+
- Are confidence levels assigned to every finding?
|
|
87
|
+
- Are gaps documented?
|
|
88
|
+
- Is the brief actionable for downstream consumers?
|
|
89
|
+
- Would a strategist or content creator be able to work from this without additional research?
|
|
90
|
+
|
|
91
|
+
### Decision Criteria
|
|
92
|
+
|
|
93
|
+
- **When to stop researching**: When additional sources confirm existing findings without adding new information (diminishing returns). When the brief covers all angles requested.
|
|
94
|
+
- **When to discard a source**: When the source has no clear authorship or institutional backing. When data is more than 2 years old for a time-sensitive topic. When claims cannot be independently verified. When the source has a documented history of unreliable reporting.
|
|
95
|
+
- **When to escalate**: When contradictory evidence is evenly weighted and you cannot determine which is more reliable. When the topic requires specialized domain expertise beyond general research. When access to key sources is restricted or paywalled.
|
|
96
|
+
|
|
97
|
+
## Tool Selection Guidelines
|
|
98
|
+
|
|
99
|
+
### When to Use Native Web Search
|
|
100
|
+
|
|
101
|
+
Use WebSearch / web_fetch for all publicly accessible pages: news sites, blogs, official documentation, Wikipedia, public company pages, search engine results. Native search is fast and headless — no browser window overhead, no session management, no risk of triggering bot detection.
|
|
102
|
+
|
|
103
|
+
### When to Use Browser Automation (Playwright)
|
|
104
|
+
|
|
105
|
+
Use Playwright browser tools for:
|
|
106
|
+
- Social media platforms (Instagram, Twitter/X, LinkedIn feed, YouTube channel pages)
|
|
107
|
+
- Any page that requires authentication or redirects to a login screen
|
|
108
|
+
- Pages where visual screenshot extraction is needed
|
|
109
|
+
- Dynamic content that does not render without JavaScript execution
|
|
110
|
+
|
|
111
|
+
When opening a browser for a social platform, inform the user they may need to log in if no saved session exists.
|
|
112
|
+
|
|
113
|
+
### General Rule
|
|
114
|
+
|
|
115
|
+
Default to native search. Escalate to browser automation only when native tools cannot access the content. This keeps research fast, lightweight, and less prone to failures from session timeouts or CAPTCHAs.
|
|
116
|
+
|
|
117
|
+
## Quality Criteria
|
|
118
|
+
|
|
119
|
+
- [ ] Topic and scope were confirmed before research began
|
|
120
|
+
- [ ] Time range was confirmed for temporal content
|
|
121
|
+
- [ ] All key findings include source URLs and access dates
|
|
122
|
+
- [ ] Confidence levels (high/medium/low) are assigned to every finding
|
|
123
|
+
- [ ] At least 2 independent sources corroborate each high-confidence finding
|
|
124
|
+
- [ ] Trending angles include lifecycle assessment (emerging/growth/mature/declining)
|
|
125
|
+
- [ ] Sources table includes type and relevance score for each source
|
|
126
|
+
- [ ] Gaps section is populated — even if gaps are minor
|
|
127
|
+
- [ ] Recommendations are actionable and grounded in the findings
|
|
128
|
+
- [ ] No opinions are presented as facts
|
|
129
|
+
- [ ] Contradictory evidence is surfaced, not suppressed
|
|
130
|
+
- [ ] Output follows the standard brief structure with all sections present
|
|
131
|
+
|
|
132
|
+
## Output Examples
|
|
133
|
+
|
|
134
|
+
### Example 1: Market Trend Research Brief
|
|
135
|
+
|
|
136
|
+
```
|
|
137
|
+
RESEARCH BRIEF
|
|
138
|
+
Topic: Growth of AI-powered code review tools in enterprise development
|
|
139
|
+
Time Range: January 2025 – February 2026
|
|
140
|
+
Prepared: 2026-02-28
|
|
141
|
+
|
|
142
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
143
|
+
|
|
144
|
+
KEY FINDINGS
|
|
145
|
+
|
|
146
|
+
1. Enterprise adoption of AI code review tools grew 47% YoY in 2025,
|
|
147
|
+
with the strongest growth in financial services and healthcare sectors.
|
|
148
|
+
Confidence: HIGH
|
|
149
|
+
Source: Gartner DevOps Hype Cycle Report, August 2025
|
|
150
|
+
URL: https://www.gartner.com/en/documents/example-devops-2025
|
|
151
|
+
Accessed: 2026-02-27
|
|
152
|
+
|
|
153
|
+
2. The three market leaders by enterprise seats are CodeRabbit (28% share),
|
|
154
|
+
Sourcery (22% share), and Codacy (15% share) as of Q4 2025.
|
|
155
|
+
Confidence: HIGH
|
|
156
|
+
Source: IDC MarketScape: AI Code Quality Tools 2025
|
|
157
|
+
URL: https://www.idc.com/getdoc.jsp?containerId=example-2025
|
|
158
|
+
Accessed: 2026-02-27
|
|
159
|
+
|
|
160
|
+
3. Average reduction in critical bugs post-deployment after adopting AI
|
|
161
|
+
code review is reported at 31-38% across surveyed enterprises (n=420).
|
|
162
|
+
Confidence: MEDIUM — based on vendor-commissioned study; independent
|
|
163
|
+
replication pending.
|
|
164
|
+
Source: SmartBear State of Code Review 2025
|
|
165
|
+
URL: https://smartbear.com/resources/ebooks/example-state-of-code-review/
|
|
166
|
+
Accessed: 2026-02-26
|
|
167
|
+
|
|
168
|
+
4. Security-focused AI review (SAST integration) is the fastest-growing
|
|
169
|
+
subsegment, with 62% of new enterprise contracts including security
|
|
170
|
+
scanning as a core requirement.
|
|
171
|
+
Confidence: HIGH
|
|
172
|
+
Source: Snyk Annual AppSec Report 2025
|
|
173
|
+
URL: https://snyk.io/reports/example-appsec-2025/
|
|
174
|
+
Accessed: 2026-02-27
|
|
175
|
+
|
|
176
|
+
TRENDING ANGLES
|
|
177
|
+
|
|
178
|
+
- "Shift-left security via AI review" — Lifecycle: growth phase.
|
|
179
|
+
Enterprises are bundling AI code review with SAST/DAST pipelines.
|
|
180
|
+
Estimated 18-24 months before plateau.
|
|
181
|
+
|
|
182
|
+
- "AI reviewer fatigue" — Lifecycle: emerging.
|
|
183
|
+
Early reports of developers disabling AI suggestions due to
|
|
184
|
+
false-positive rates above 20%. Could become a counter-narrative
|
|
185
|
+
by mid-2026.
|
|
186
|
+
|
|
187
|
+
- "Compliance-driven adoption" — Lifecycle: mature.
|
|
188
|
+
Regulatory pressure (SOC2, HIPAA) is now the #2 driver of adoption
|
|
189
|
+
behind productivity gains.
|
|
190
|
+
|
|
191
|
+
SOURCES
|
|
192
|
+
|
|
193
|
+
| # | Source | Type | Relevance | Date |
|
|
194
|
+
|----|-------------------------------------|-----------|-----------|------------|
|
|
195
|
+
| 1 | Gartner DevOps Hype Cycle 2025 | Analyst | 9/10 | 2025-08 |
|
|
196
|
+
| 2 | IDC MarketScape AI Code Quality | Analyst | 9/10 | 2025-11 |
|
|
197
|
+
| 3 | SmartBear State of Code Review | Industry | 7/10 | 2025-09 |
|
|
198
|
+
| 4 | Snyk AppSec Report 2025 | Industry | 8/10 | 2025-10 |
|
|
199
|
+
| 5 | GitHub Octoverse 2025 | Platform | 7/10 | 2025-11 |
|
|
200
|
+
| 6 | Stack Overflow Developer Survey | Community | 6/10 | 2025-06 |
|
|
201
|
+
| 7 | InfoQ AI in DevOps Trends | Media | 5/10 | 2026-01 |
|
|
202
|
+
|
|
203
|
+
RECOMMENDATIONS
|
|
204
|
+
|
|
205
|
+
1. Position messaging around security-first AI review — this is the angle
|
|
206
|
+
with the strongest enterprise buying signal right now.
|
|
207
|
+
2. Address the "reviewer fatigue" narrative proactively in content strategy,
|
|
208
|
+
emphasizing low false-positive rates as a differentiator.
|
|
209
|
+
3. Produce a competitive comparison matrix using IDC data as the backbone.
|
|
210
|
+
|
|
211
|
+
GAPS
|
|
212
|
+
|
|
213
|
+
- No reliable data found on AI code review adoption in startups/SMBs
|
|
214
|
+
(under 200 employees). All major studies focus on enterprise.
|
|
215
|
+
- Pricing comparison data across vendors is inconsistent; vendors use
|
|
216
|
+
different unit models (per seat, per repo, per scan).
|
|
217
|
+
- No independent (non-vendor-commissioned) study on bug reduction rates
|
|
218
|
+
was found within the specified time range.
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
### Example 2: Competitive Intelligence Brief
|
|
222
|
+
|
|
223
|
+
```
|
|
224
|
+
RESEARCH BRIEF
|
|
225
|
+
Topic: Competitive landscape for direct-to-consumer sustainable sneaker brands
|
|
226
|
+
Time Range: Q3 2025 – Q1 2026
|
|
227
|
+
Prepared: 2026-02-28
|
|
228
|
+
|
|
229
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
230
|
+
|
|
231
|
+
KEY FINDINGS
|
|
232
|
+
|
|
233
|
+
1. Allbirds reported a 12% revenue decline in Q3 2025 and announced
|
|
234
|
+
a pivot toward B2B material licensing as a new revenue stream.
|
|
235
|
+
Confidence: HIGH
|
|
236
|
+
Source: Allbirds Q3 2025 Earnings Call Transcript
|
|
237
|
+
URL: https://investor.allbirds.com/example-q3-2025-earnings
|
|
238
|
+
Accessed: 2026-02-26
|
|
239
|
+
|
|
240
|
+
2. Veja surpassed $500M in annual revenue for the first time in 2025,
|
|
241
|
+
driven by expansion into Asian markets (Japan +85% YoY, South Korea +62% YoY).
|
|
242
|
+
Confidence: HIGH
|
|
243
|
+
Source: Veja Impact Report 2025 (official)
|
|
244
|
+
URL: https://project.veja-store.com/en/example-impact-2025
|
|
245
|
+
Accessed: 2026-02-27
|
|
246
|
+
|
|
247
|
+
3. Three new entrants gained significant traction in 2025: Thousand Fell
|
|
248
|
+
(circular model, $28M Series B), Hilma Running (performance-sustainable
|
|
249
|
+
hybrid, $15M seed), and Saye (European DTC, 340% Instagram growth).
|
|
250
|
+
Confidence: MEDIUM — funding data confirmed via Crunchbase; social
|
|
251
|
+
growth metrics self-reported by brands.
|
|
252
|
+
Source: Crunchbase, TechCrunch, brand social profiles
|
|
253
|
+
URLs: https://www.crunchbase.com/organization/example-thousand-fell
|
|
254
|
+
https://techcrunch.com/2025/example-hilma-running/
|
|
255
|
+
Accessed: 2026-02-27
|
|
256
|
+
|
|
257
|
+
4. Consumer sentiment analysis (Reddit, Twitter/X, TrustPilot) shows
|
|
258
|
+
"durability" overtaking "carbon footprint" as the #1 purchase driver
|
|
259
|
+
for sustainable sneakers in Q4 2025.
|
|
260
|
+
Confidence: MEDIUM — based on NLP analysis of 12,400 public posts;
|
|
261
|
+
methodology documented by Brandwatch.
|
|
262
|
+
Source: Brandwatch Consumer Insights Q4 2025
|
|
263
|
+
URL: https://www.brandwatch.com/reports/example-sustainable-fashion/
|
|
264
|
+
Accessed: 2026-02-28
|
|
265
|
+
|
|
266
|
+
5. Resale and circular economy programs are now offered by 6 of the top
|
|
267
|
+
10 sustainable sneaker brands, up from 2 of 10 in 2024.
|
|
268
|
+
Confidence: HIGH
|
|
269
|
+
Source: ThredUp Resale Report 2025, verified against brand websites
|
|
270
|
+
URL: https://www.thredup.com/resale/example-2025
|
|
271
|
+
Accessed: 2026-02-26
|
|
272
|
+
|
|
273
|
+
TRENDING ANGLES
|
|
274
|
+
|
|
275
|
+
- "Durability as the new sustainability" — Lifecycle: growth phase.
|
|
276
|
+
Consumers are reframing sustainability around product longevity rather
|
|
277
|
+
than materials sourcing. Strong narrative opportunity. 12+ months of
|
|
278
|
+
runway before saturation.
|
|
279
|
+
|
|
280
|
+
- "Circular sneaker programs" — Lifecycle: early growth.
|
|
281
|
+
Take-back and recycling programs are becoming table stakes. Brands
|
|
282
|
+
without circular programs are starting to face earned media gaps.
|
|
283
|
+
|
|
284
|
+
- "B2B pivot for struggling DTC brands" — Lifecycle: emerging.
|
|
285
|
+
Allbirds' material licensing move may signal a broader trend of
|
|
286
|
+
sustainable brands monetizing R&D rather than consumer sales.
|
|
287
|
+
|
|
288
|
+
SOURCES
|
|
289
|
+
|
|
290
|
+
| # | Source | Type | Relevance | Date |
|
|
291
|
+
|----|--------------------------------------|-----------|-----------|------------|
|
|
292
|
+
| 1 | Allbirds Q3 2025 Earnings Transcript | Financial | 9/10 | 2025-11 |
|
|
293
|
+
| 2 | Veja Impact Report 2025 | Official | 9/10 | 2026-01 |
|
|
294
|
+
| 3 | Crunchbase Funding Data | Database | 8/10 | 2026-02 |
|
|
295
|
+
| 4 | TechCrunch Hilma Running Coverage | Media | 6/10 | 2025-09 |
|
|
296
|
+
| 5 | Brandwatch Consumer Insights Q4 | Analytics | 7/10 | 2026-01 |
|
|
297
|
+
| 6 | ThredUp Resale Report 2025 | Industry | 8/10 | 2025-10 |
|
|
298
|
+
| 7 | Business of Fashion Sustainability | Media | 7/10 | 2026-02 |
|
|
299
|
+
| 8 | Saye Instagram Analytics (manual) | Social | 5/10 | 2026-02 |
|
|
300
|
+
|
|
301
|
+
RECOMMENDATIONS
|
|
302
|
+
|
|
303
|
+
1. Monitor Allbirds' B2B licensing strategy — if successful, it may
|
|
304
|
+
reshape the competitive model for the entire category.
|
|
305
|
+
2. Invest content in the "durability" narrative; it aligns with current
|
|
306
|
+
consumer sentiment and differentiates from pure eco-messaging.
|
|
307
|
+
3. Evaluate launching or expanding a circular/take-back program — this
|
|
308
|
+
is approaching table-stakes status for credible sustainable brands.
|
|
309
|
+
4. Track the three new entrants (Thousand Fell, Hilma, Saye) quarterly;
|
|
310
|
+
they represent the next generation of competitive threats.
|
|
311
|
+
|
|
312
|
+
GAPS
|
|
313
|
+
|
|
314
|
+
- No reliable sell-through data available for DTC-only brands (unlike
|
|
315
|
+
wholesale brands tracked by NPD/Circana). Revenue comparisons are
|
|
316
|
+
limited to public companies and self-reported figures.
|
|
317
|
+
- Environmental impact claims across brands use different methodologies
|
|
318
|
+
(LCA scope varies), making direct comparison unreliable.
|
|
319
|
+
- China-based sustainable sneaker brands were excluded due to language
|
|
320
|
+
barriers in source verification; this is a known blind spot.
|
|
321
|
+
```
|
|
322
|
+
|
|
323
|
+
## Anti-Patterns
|
|
324
|
+
|
|
325
|
+
### Never Do
|
|
326
|
+
|
|
327
|
+
1. **Present data without a source URL** — Every factual claim needs a traceable, clickable source. "According to industry reports" is never acceptable.
|
|
328
|
+
2. **Assume the research scope without confirmation** — Even if the topic seems obvious from context, always restate it and confirm scope before researching.
|
|
329
|
+
3. **Mix facts with opinions** — Keep factual findings and interpretive recommendations in separate, clearly labeled sections.
|
|
330
|
+
4. **Use a single source as proof** — One source is a lead, not a finding. Corroborate or flag as low confidence.
|
|
331
|
+
5. **Ignore contradictory evidence** — When sources disagree, present both sides. Suppressing contradictions is a research failure.
|
|
332
|
+
6. **Skip the time range question** — For temporal topics, assuming "recent" without clarification leads to misaligned expectations and wasted effort.
|
|
333
|
+
7. **Deliver unstructured output** — Raw notes, bullet dumps, or stream-of-consciousness summaries are not acceptable deliverables.
|
|
334
|
+
|
|
335
|
+
### Always Do
|
|
336
|
+
|
|
337
|
+
1. **Include access dates** — Web content changes or disappears. Access dates protect the integrity of the brief and allow verification.
|
|
338
|
+
2. **Note confidence levels** — Every key finding must have an explicit confidence rating (high, medium, low) with a brief justification.
|
|
339
|
+
3. **State what you could not find** — The Gaps section is mandatory. Documenting blind spots is as valuable as documenting findings.
|
|
340
|
+
4. **Cite the original source** — When a secondary source references primary data, trace back and cite the original. Include both if the secondary source adds context.
|
|
341
|
+
|
|
342
|
+
## Vocabulary Guidance
|
|
343
|
+
|
|
344
|
+
### Use
|
|
345
|
+
|
|
346
|
+
- "According to [source]..."
|
|
347
|
+
- "The data indicates..."
|
|
348
|
+
- "Confidence level: high/medium/low"
|
|
349
|
+
- "Primary source confirms..."
|
|
350
|
+
- "Accessed on [date]"
|
|
351
|
+
- "Contradictory evidence suggests..."
|
|
352
|
+
- "Gap identified:"
|
|
353
|
+
|
|
354
|
+
### Avoid
|
|
355
|
+
|
|
356
|
+
- "I think that..." — present evidence, not opinions
|
|
357
|
+
- "Everyone knows..." — nothing is assumed common knowledge
|
|
358
|
+
- "Source: the internet" — always cite specific URLs
|
|
359
|
+
- "Probably..." — quantify uncertainty with confidence levels instead
|
|
360
|
+
- "Trust me" — let the sources speak for themselves
|
|
361
|
+
|
|
362
|
+
### Tone Rules
|
|
363
|
+
|
|
364
|
+
- **Objective**: Present findings without editorial bias. Separate factual reporting from interpretation.
|
|
365
|
+
- **Evidence-based**: Every statement of fact is backed by a cited source. No unsupported claims.
|
|
366
|
+
- **Uncertainty-flagged**: When confidence is not high, say so explicitly. Use "Confidence: medium — based on two corroborating sources" rather than hedging language.
|