autoworkflow 3.1.5 → 3.5.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.
Files changed (123) hide show
  1. package/.claude/commands/analyze.md +19 -0
  2. package/.claude/commands/audit.md +26 -0
  3. package/.claude/commands/build.md +39 -0
  4. package/.claude/commands/commit.md +25 -0
  5. package/.claude/commands/fix.md +23 -0
  6. package/.claude/commands/plan.md +18 -0
  7. package/.claude/commands/suggest.md +23 -0
  8. package/.claude/commands/verify.md +18 -0
  9. package/.claude/hooks/post-bash-router.sh +20 -0
  10. package/.claude/hooks/post-commit.sh +140 -0
  11. package/.claude/hooks/pre-edit.sh +129 -0
  12. package/.claude/hooks/session-check.sh +79 -0
  13. package/.claude/settings.json +40 -6
  14. package/.claude/settings.local.json +3 -1
  15. package/.claude/skills/actix.md +337 -0
  16. package/.claude/skills/alembic.md +504 -0
  17. package/.claude/skills/angular.md +237 -0
  18. package/.claude/skills/api-design.md +187 -0
  19. package/.claude/skills/aspnet-core.md +377 -0
  20. package/.claude/skills/astro.md +245 -0
  21. package/.claude/skills/auth-clerk.md +327 -0
  22. package/.claude/skills/auth-firebase.md +367 -0
  23. package/.claude/skills/auth-nextauth.md +359 -0
  24. package/.claude/skills/auth-supabase.md +368 -0
  25. package/.claude/skills/axum.md +386 -0
  26. package/.claude/skills/blazor.md +456 -0
  27. package/.claude/skills/chi.md +348 -0
  28. package/.claude/skills/code-review.md +133 -0
  29. package/.claude/skills/csharp.md +296 -0
  30. package/.claude/skills/css-modules.md +325 -0
  31. package/.claude/skills/cypress.md +343 -0
  32. package/.claude/skills/debugging.md +133 -0
  33. package/.claude/skills/diesel.md +392 -0
  34. package/.claude/skills/django.md +301 -0
  35. package/.claude/skills/docker.md +319 -0
  36. package/.claude/skills/doctrine.md +473 -0
  37. package/.claude/skills/documentation.md +182 -0
  38. package/.claude/skills/dotnet.md +409 -0
  39. package/.claude/skills/drizzle.md +293 -0
  40. package/.claude/skills/echo.md +321 -0
  41. package/.claude/skills/eloquent.md +256 -0
  42. package/.claude/skills/emotion.md +426 -0
  43. package/.claude/skills/entity-framework.md +370 -0
  44. package/.claude/skills/express.md +316 -0
  45. package/.claude/skills/fastapi.md +329 -0
  46. package/.claude/skills/fastify.md +299 -0
  47. package/.claude/skills/fiber.md +315 -0
  48. package/.claude/skills/flask.md +322 -0
  49. package/.claude/skills/gin.md +342 -0
  50. package/.claude/skills/git.md +116 -0
  51. package/.claude/skills/github-actions.md +353 -0
  52. package/.claude/skills/go.md +377 -0
  53. package/.claude/skills/gorm.md +409 -0
  54. package/.claude/skills/graphql.md +478 -0
  55. package/.claude/skills/hibernate.md +379 -0
  56. package/.claude/skills/hono.md +306 -0
  57. package/.claude/skills/java.md +400 -0
  58. package/.claude/skills/jest.md +313 -0
  59. package/.claude/skills/jpa.md +282 -0
  60. package/.claude/skills/kotlin.md +347 -0
  61. package/.claude/skills/kubernetes.md +363 -0
  62. package/.claude/skills/laravel.md +414 -0
  63. package/.claude/skills/mcp-browser.md +320 -0
  64. package/.claude/skills/mcp-database.md +219 -0
  65. package/.claude/skills/mcp-fetch.md +241 -0
  66. package/.claude/skills/mcp-filesystem.md +204 -0
  67. package/.claude/skills/mcp-github.md +217 -0
  68. package/.claude/skills/mcp-memory.md +240 -0
  69. package/.claude/skills/mcp-search.md +218 -0
  70. package/.claude/skills/mcp-slack.md +262 -0
  71. package/.claude/skills/micronaut.md +388 -0
  72. package/.claude/skills/mongodb.md +319 -0
  73. package/.claude/skills/mongoose.md +355 -0
  74. package/.claude/skills/mysql.md +281 -0
  75. package/.claude/skills/nestjs.md +335 -0
  76. package/.claude/skills/nextjs-app-router.md +260 -0
  77. package/.claude/skills/nextjs-pages.md +172 -0
  78. package/.claude/skills/nuxt.md +202 -0
  79. package/.claude/skills/openapi.md +489 -0
  80. package/.claude/skills/performance.md +199 -0
  81. package/.claude/skills/php.md +398 -0
  82. package/.claude/skills/playwright.md +371 -0
  83. package/.claude/skills/postgresql.md +257 -0
  84. package/.claude/skills/prisma.md +293 -0
  85. package/.claude/skills/pydantic.md +304 -0
  86. package/.claude/skills/pytest.md +313 -0
  87. package/.claude/skills/python.md +272 -0
  88. package/.claude/skills/quarkus.md +377 -0
  89. package/.claude/skills/react.md +230 -0
  90. package/.claude/skills/redis.md +391 -0
  91. package/.claude/skills/refactoring.md +143 -0
  92. package/.claude/skills/remix.md +246 -0
  93. package/.claude/skills/rest-api.md +490 -0
  94. package/.claude/skills/rocket.md +366 -0
  95. package/.claude/skills/rust.md +341 -0
  96. package/.claude/skills/sass.md +380 -0
  97. package/.claude/skills/sea-orm.md +382 -0
  98. package/.claude/skills/security.md +167 -0
  99. package/.claude/skills/sequelize.md +395 -0
  100. package/.claude/skills/spring-boot.md +416 -0
  101. package/.claude/skills/sqlalchemy.md +269 -0
  102. package/.claude/skills/sqlx-rust.md +408 -0
  103. package/.claude/skills/state-jotai.md +346 -0
  104. package/.claude/skills/state-mobx.md +353 -0
  105. package/.claude/skills/state-pinia.md +431 -0
  106. package/.claude/skills/state-redux.md +337 -0
  107. package/.claude/skills/state-tanstack-query.md +434 -0
  108. package/.claude/skills/state-zustand.md +340 -0
  109. package/.claude/skills/styled-components.md +403 -0
  110. package/.claude/skills/svelte.md +238 -0
  111. package/.claude/skills/sveltekit.md +207 -0
  112. package/.claude/skills/symfony.md +437 -0
  113. package/.claude/skills/tailwind.md +279 -0
  114. package/.claude/skills/terraform.md +394 -0
  115. package/.claude/skills/testing-library.md +371 -0
  116. package/.claude/skills/trpc.md +426 -0
  117. package/.claude/skills/typeorm.md +368 -0
  118. package/.claude/skills/vitest.md +330 -0
  119. package/.claude/skills/vue.md +202 -0
  120. package/.claude/skills/warp.md +365 -0
  121. package/README.md +135 -52
  122. package/package.json +1 -1
  123. package/system/triggers.md +152 -11
@@ -0,0 +1,217 @@
1
+ # MCP GitHub Skill
2
+
3
+ ## Server Configuration
4
+ \`\`\`json
5
+ // claude_desktop_config.json or .claude/settings.json
6
+ {
7
+ "mcpServers": {
8
+ "github": {
9
+ "command": "npx",
10
+ "args": ["-y", "@modelcontextprotocol/server-github"],
11
+ "env": {
12
+ "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_xxxxxxxxxxxx"
13
+ }
14
+ }
15
+ }
16
+ }
17
+ \`\`\`
18
+
19
+ ## Authentication Setup
20
+ \`\`\`bash
21
+ # Create a GitHub Personal Access Token (PAT)
22
+ # Settings > Developer settings > Personal access tokens > Fine-grained tokens
23
+
24
+ # Required scopes for full functionality:
25
+ # - Repository access: All repositories (or specific repos)
26
+ # - Permissions:
27
+ # - Contents: Read and write
28
+ # - Issues: Read and write
29
+ # - Pull requests: Read and write
30
+ # - Metadata: Read-only
31
+
32
+ # Store token securely
33
+ export GITHUB_PERSONAL_ACCESS_TOKEN="ghp_xxxxxxxxxxxx"
34
+ \`\`\`
35
+
36
+ ## Available Tools
37
+
38
+ ### Repository Operations
39
+ \`\`\`
40
+ get_file_contents
41
+ - owner: string (repo owner)
42
+ - repo: string (repository name)
43
+ - path: string (file path)
44
+ - branch?: string (optional branch)
45
+
46
+ push_files
47
+ - owner: string
48
+ - repo: string
49
+ - branch: string
50
+ - files: array of { path, content }
51
+ - message: string (commit message)
52
+
53
+ create_repository
54
+ - name: string
55
+ - description?: string
56
+ - private?: boolean
57
+ - auto_init?: boolean
58
+
59
+ fork_repository
60
+ - owner: string
61
+ - repo: string
62
+
63
+ create_branch
64
+ - owner: string
65
+ - repo: string
66
+ - branch: string
67
+ - from_branch?: string
68
+
69
+ search_repositories
70
+ - query: string (GitHub search syntax)
71
+ - page?: number
72
+ - per_page?: number
73
+
74
+ search_code
75
+ - query: string
76
+ - page?: number
77
+ - per_page?: number
78
+ \`\`\`
79
+
80
+ ### Issue Operations
81
+ \`\`\`
82
+ create_issue
83
+ - owner: string
84
+ - repo: string
85
+ - title: string
86
+ - body?: string
87
+ - assignees?: string[]
88
+ - labels?: string[]
89
+ - milestone?: number
90
+
91
+ update_issue
92
+ - owner: string
93
+ - repo: string
94
+ - issue_number: number
95
+ - title?: string
96
+ - body?: string
97
+ - state?: 'open' | 'closed'
98
+ - assignees?: string[]
99
+ - labels?: string[]
100
+
101
+ get_issue
102
+ - owner: string
103
+ - repo: string
104
+ - issue_number: number
105
+
106
+ list_issues
107
+ - owner: string
108
+ - repo: string
109
+ - state?: 'open' | 'closed' | 'all'
110
+ - labels?: string
111
+ - sort?: 'created' | 'updated' | 'comments'
112
+ - direction?: 'asc' | 'desc'
113
+
114
+ add_issue_comment
115
+ - owner: string
116
+ - repo: string
117
+ - issue_number: number
118
+ - body: string
119
+ \`\`\`
120
+
121
+ ### Pull Request Operations
122
+ \`\`\`
123
+ create_pull_request
124
+ - owner: string
125
+ - repo: string
126
+ - title: string
127
+ - body?: string
128
+ - head: string (source branch)
129
+ - base: string (target branch)
130
+ - draft?: boolean
131
+
132
+ get_pull_request
133
+ - owner: string
134
+ - repo: string
135
+ - pull_number: number
136
+
137
+ list_pull_requests
138
+ - owner: string
139
+ - repo: string
140
+ - state?: 'open' | 'closed' | 'all'
141
+ - head?: string
142
+ - base?: string
143
+ - sort?: 'created' | 'updated' | 'popularity'
144
+
145
+ create_review
146
+ - owner: string
147
+ - repo: string
148
+ - pull_number: number
149
+ - body?: string
150
+ - event: 'APPROVE' | 'REQUEST_CHANGES' | 'COMMENT'
151
+ - comments?: array (inline comments)
152
+
153
+ merge_pull_request
154
+ - owner: string
155
+ - repo: string
156
+ - pull_number: number
157
+ - commit_title?: string
158
+ - merge_method?: 'merge' | 'squash' | 'rebase'
159
+ \`\`\`
160
+
161
+ ## Common Workflows
162
+
163
+ ### Create Issue from Bug Report
164
+ \`\`\`
165
+ 1. Use create_issue with detailed description
166
+ 2. Add appropriate labels (bug, priority)
167
+ 3. Assign to team member
168
+ 4. Link to related issues in body
169
+ \`\`\`
170
+
171
+ ### Review and Merge PR
172
+ \`\`\`
173
+ 1. Use get_pull_request to fetch PR details
174
+ 2. Use get_file_contents to review changed files
175
+ 3. Use create_review to approve or request changes
176
+ 4. Use merge_pull_request with squash method
177
+ \`\`\`
178
+
179
+ ### Search and Analyze Code
180
+ \`\`\`
181
+ 1. Use search_code with GitHub search syntax
182
+ - "filename:*.ts extension:ts"
183
+ - "function useAuth language:typescript"
184
+ 2. Use get_file_contents to read matching files
185
+ 3. Analyze patterns across repositories
186
+ \`\`\`
187
+
188
+ ## GitHub Search Syntax
189
+ \`\`\`
190
+ # Repository search
191
+ stars:>1000 language:typescript
192
+ topic:react pushed:>2024-01-01
193
+
194
+ # Code search
195
+ filename:package.json "react"
196
+ extension:ts "interface User"
197
+ repo:owner/name path:src/ "function"
198
+
199
+ # Issue search
200
+ is:issue is:open label:bug
201
+ author:username created:>2024-01-01
202
+ \`\`\`
203
+
204
+ ## ❌ DON'T
205
+ - Commit PAT tokens to repositories
206
+ - Use overly broad token permissions
207
+ - Create spam issues or PRs
208
+ - Push directly to protected branches
209
+ - Forget to handle rate limiting
210
+
211
+ ## ✅ DO
212
+ - Use fine-grained PATs with minimal scopes
213
+ - Store tokens in environment variables
214
+ - Use meaningful commit messages
215
+ - Follow repository contributing guidelines
216
+ - Handle pagination for large result sets
217
+ - Respect rate limits (5000 requests/hour)
@@ -0,0 +1,240 @@
1
+ # MCP Memory Skill
2
+
3
+ ## Server Configuration
4
+ \`\`\`json
5
+ // claude_desktop_config.json or .claude/settings.json
6
+ {
7
+ "mcpServers": {
8
+ "memory": {
9
+ "command": "npx",
10
+ "args": ["-y", "@modelcontextprotocol/server-memory"]
11
+ }
12
+ }
13
+ }
14
+ \`\`\`
15
+
16
+ ## Knowledge Graph Architecture
17
+ The memory server uses a knowledge graph model with:
18
+ - **Entities**: Nodes representing concepts, people, projects, etc.
19
+ - **Relations**: Edges connecting entities with named relationships
20
+ - **Observations**: Facts or attributes about entities
21
+
22
+ ## Available Tools
23
+
24
+ ### Entity Operations
25
+ \`\`\`
26
+ create_entities
27
+ - entities: array of {
28
+ name: string (unique identifier),
29
+ entityType: string (e.g., "person", "project", "concept"),
30
+ observations: string[] (facts about the entity)
31
+ }
32
+ - Returns: created entities
33
+
34
+ delete_entities
35
+ - entityNames: string[]
36
+ - Returns: success status
37
+
38
+ read_graph
39
+ - Returns: full knowledge graph with all entities and relations
40
+
41
+ search_nodes
42
+ - query: string (search term)
43
+ - Returns: matching entities and their relations
44
+
45
+ open_nodes
46
+ - names: string[]
47
+ - Returns: specified entities with all observations and relations
48
+ \`\`\`
49
+
50
+ ### Relation Operations
51
+ \`\`\`
52
+ create_relations
53
+ - relations: array of {
54
+ from: string (source entity name),
55
+ to: string (target entity name),
56
+ relationType: string (e.g., "works_on", "knows", "part_of")
57
+ }
58
+ - Returns: created relations
59
+
60
+ delete_relations
61
+ - relations: array of { from, to, relationType }
62
+ - Returns: success status
63
+ \`\`\`
64
+
65
+ ### Observation Operations
66
+ \`\`\`
67
+ add_observations
68
+ - observations: array of {
69
+ entityName: string,
70
+ contents: string[] (new facts to add)
71
+ }
72
+ - Returns: updated entities
73
+
74
+ delete_observations
75
+ - deletions: array of {
76
+ entityName: string,
77
+ observations: string[] (facts to remove)
78
+ }
79
+ - Returns: success status
80
+ \`\`\`
81
+
82
+ ## Knowledge Patterns
83
+
84
+ ### Person Profile
85
+ \`\`\`
86
+ Entity: "John Smith"
87
+ Type: "person"
88
+ Observations:
89
+ - "Senior software engineer at TechCorp"
90
+ - "Prefers TypeScript over JavaScript"
91
+ - "Works remotely from Seattle"
92
+ - "Expert in React and Node.js"
93
+
94
+ Relations:
95
+ - John Smith --works_on--> "Project Alpha"
96
+ - John Smith --manages--> "Frontend Team"
97
+ - John Smith --knows--> "Jane Doe"
98
+ \`\`\`
99
+
100
+ ### Project Knowledge
101
+ \`\`\`
102
+ Entity: "Project Alpha"
103
+ Type: "project"
104
+ Observations:
105
+ - "E-commerce platform rebuild"
106
+ - "Stack: Next.js, PostgreSQL, Redis"
107
+ - "Launch target: Q2 2025"
108
+ - "Budget: $500K"
109
+
110
+ Relations:
111
+ - Project Alpha --uses--> "Next.js"
112
+ - Project Alpha --deployed_on--> "AWS"
113
+ - Project Alpha --owned_by--> "Engineering Team"
114
+ \`\`\`
115
+
116
+ ### Technical Preferences
117
+ \`\`\`
118
+ Entity: "User Preferences"
119
+ Type: "preferences"
120
+ Observations:
121
+ - "Prefers functional components over class components"
122
+ - "Uses Prettier with single quotes"
123
+ - "Tab size: 2 spaces"
124
+ - "Testing framework: Vitest"
125
+ - "State management: Zustand"
126
+ \`\`\`
127
+
128
+ ### Codebase Context
129
+ \`\`\`
130
+ Entity: "MyApp Codebase"
131
+ Type: "codebase"
132
+ Observations:
133
+ - "Monorepo using pnpm workspaces"
134
+ - "Authentication via Clerk"
135
+ - "API routes in /app/api"
136
+ - "Components in /src/components"
137
+ - "Shared types in /packages/types"
138
+
139
+ Relations:
140
+ - MyApp Codebase --depends_on--> "PostgreSQL DB"
141
+ - MyApp Codebase --deployed_to--> "Vercel"
142
+ \`\`\`
143
+
144
+ ## Common Workflows
145
+
146
+ ### Initial Setup
147
+ \`\`\`
148
+ 1. Create core entities:
149
+ - User profile (preferences, expertise)
150
+ - Project (name, stack, goals)
151
+ - Codebase (structure, patterns)
152
+
153
+ 2. Add relations:
154
+ - User --works_on--> Project
155
+ - Project --uses--> Technologies
156
+
157
+ 3. Record observations as you learn them
158
+ \`\`\`
159
+
160
+ ### During Conversation
161
+ \`\`\`
162
+ 1. search_nodes for relevant context
163
+ 2. open_nodes to get full details
164
+ 3. add_observations for new information
165
+ 4. create_relations for new connections
166
+ \`\`\`
167
+
168
+ ### Context Retrieval
169
+ \`\`\`
170
+ 1. read_graph for overview
171
+ 2. search_nodes with specific query
172
+ 3. Use context in responses
173
+ \`\`\`
174
+
175
+ ## Entity Types Reference
176
+ \`\`\`
177
+ person - Team members, stakeholders
178
+ project - Software projects, initiatives
179
+ codebase - Repository structure, patterns
180
+ technology - Frameworks, libraries, tools
181
+ concept - Technical concepts, patterns
182
+ preferences - User preferences, settings
183
+ decision - Architectural decisions, rationale
184
+ task - Ongoing work, todos
185
+ issue - Known bugs, problems
186
+ \`\`\`
187
+
188
+ ## Relation Types Reference
189
+ \`\`\`
190
+ works_on - Person works on project
191
+ manages - Person manages team/project
192
+ knows - Person knows person
193
+ uses - Project/codebase uses technology
194
+ depends_on - Component depends on component
195
+ part_of - Entity is part of larger entity
196
+ created_by - Entity created by person
197
+ deployed_to - Project deployed to platform
198
+ replaces - New tech replaces old tech
199
+ related_to - General relation
200
+ \`\`\`
201
+
202
+ ## Best Practices for Memory
203
+
204
+ ### Naming Conventions
205
+ \`\`\`
206
+ # Use consistent, descriptive names
207
+ Good: "React Router v6", "Auth Service", "John Smith"
208
+ Bad: "router", "auth", "john"
209
+
210
+ # Include version/context when relevant
211
+ Good: "PostgreSQL 15 Config"
212
+ Bad: "DB Config"
213
+ \`\`\`
214
+
215
+ ### Observation Quality
216
+ \`\`\`
217
+ # Be specific and actionable
218
+ Good: "Uses ESLint with Airbnb config"
219
+ Bad: "Has linting"
220
+
221
+ # Include reasoning when relevant
222
+ Good: "Chose Zustand over Redux for simpler API"
223
+ Bad: "Uses Zustand"
224
+ \`\`\`
225
+
226
+ ## ❌ DON'T
227
+ - Store sensitive data (passwords, tokens)
228
+ - Create duplicate entities with different names
229
+ - Add vague, unhelpful observations
230
+ - Create circular or conflicting relations
231
+ - Forget to update outdated information
232
+
233
+ ## ✅ DO
234
+ - Use consistent entity naming
235
+ - Add context-rich observations
236
+ - Create meaningful relations
237
+ - Update entities as information changes
238
+ - Search before creating new entities
239
+ - Delete outdated observations
240
+ - Use appropriate entity types
@@ -0,0 +1,218 @@
1
+ # MCP Search Skill
2
+
3
+ ## Server Configuration (Brave Search)
4
+ \`\`\`json
5
+ // claude_desktop_config.json or .claude/settings.json
6
+ {
7
+ "mcpServers": {
8
+ "brave-search": {
9
+ "command": "npx",
10
+ "args": ["-y", "@modelcontextprotocol/server-brave-search"],
11
+ "env": {
12
+ "BRAVE_API_KEY": "BSA..."
13
+ }
14
+ }
15
+ }
16
+ }
17
+ \`\`\`
18
+
19
+ ## Server Configuration (Tavily)
20
+ \`\`\`json
21
+ {
22
+ "mcpServers": {
23
+ "tavily": {
24
+ "command": "npx",
25
+ "args": ["-y", "@tavily/mcp-server"],
26
+ "env": {
27
+ "TAVILY_API_KEY": "tvly-..."
28
+ }
29
+ }
30
+ }
31
+ }
32
+ \`\`\`
33
+
34
+ ## Available Tools
35
+
36
+ ### Web Search
37
+ \`\`\`
38
+ brave_web_search
39
+ - query: string (search query)
40
+ - count?: number (results count, default 10, max 20)
41
+ - offset?: number (pagination offset)
42
+ - Returns: array of {
43
+ title: string,
44
+ url: string,
45
+ description: string,
46
+ age?: string (how old the result is)
47
+ }
48
+
49
+ tavily_search
50
+ - query: string
51
+ - search_depth?: 'basic' | 'advanced'
52
+ - include_domains?: string[]
53
+ - exclude_domains?: string[]
54
+ - max_results?: number
55
+ - Returns: array of search results with content snippets
56
+ \`\`\`
57
+
58
+ ### Local Search (Brave)
59
+ \`\`\`
60
+ brave_local_search
61
+ - query: string (e.g., "coffee shops near Seattle")
62
+ - count?: number
63
+ - Returns: local business results with:
64
+ - name, address, phone
65
+ - rating, reviews
66
+ - hours, distance
67
+ \`\`\`
68
+
69
+ ## Search Query Optimization
70
+
71
+ ### Effective Queries
72
+ \`\`\`
73
+ # Be specific
74
+ Good: "Next.js 14 app router middleware authentication"
75
+ Bad: "nextjs auth"
76
+
77
+ # Include version when relevant
78
+ Good: "React 18 useEffect cleanup"
79
+ Bad: "react useEffect"
80
+
81
+ # Use quotes for exact phrases
82
+ "error boundary" React 18
83
+
84
+ # Include context
85
+ "TypeScript strict mode" tsconfig.json setup
86
+ \`\`\`
87
+
88
+ ### Query Patterns by Use Case
89
+ \`\`\`
90
+ # Technical documentation
91
+ "[library] [version] official documentation [topic]"
92
+ Example: "Prisma 5 official documentation migrations"
93
+
94
+ # Error solutions
95
+ "[exact error message]" [framework] [version]
96
+ Example: "Cannot find module 'next/headers'" Next.js 14
97
+
98
+ # Comparisons
99
+ "[option A] vs [option B]" [year]
100
+ Example: "Zustand vs Jotai 2024"
101
+
102
+ # Best practices
103
+ "[technology] best practices [year]"
104
+ Example: "TypeScript best practices 2024"
105
+
106
+ # Breaking changes
107
+ "[library] [version] breaking changes migration"
108
+ Example: "React Router v6 breaking changes migration"
109
+ \`\`\`
110
+
111
+ ## Search Result Handling
112
+
113
+ ### Evaluating Results
114
+ \`\`\`
115
+ 1. Check result age - prefer recent for fast-moving tech
116
+ 2. Prioritize official docs over third-party
117
+ 3. Look for multiple sources confirming same info
118
+ 4. Consider Stack Overflow answers with high votes
119
+ 5. Check GitHub issues for edge cases
120
+ \`\`\`
121
+
122
+ ### Result Quality Indicators
123
+ \`\`\`
124
+ High quality:
125
+ - Official documentation sites
126
+ - GitHub repositories/issues
127
+ - Stack Overflow (high votes)
128
+ - Recognized tech blogs
129
+ - Recent publication date
130
+
131
+ Lower quality:
132
+ - Content farms
133
+ - Very old articles for current tech
134
+ - AI-generated content aggregators
135
+ - SEO-optimized tutorials with ads
136
+ \`\`\`
137
+
138
+ ## Common Search Workflows
139
+
140
+ ### Research New Technology
141
+ \`\`\`
142
+ 1. Search: "[tech] official documentation"
143
+ 2. Search: "[tech] getting started tutorial"
144
+ 3. Search: "[tech] vs [alternatives] comparison"
145
+ 4. Search: "[tech] production experience"
146
+ 5. Synthesize findings
147
+ \`\`\`
148
+
149
+ ### Debug Error
150
+ \`\`\`
151
+ 1. Search exact error message in quotes
152
+ 2. Add framework/library context
153
+ 3. Check GitHub issues if open source
154
+ 4. Look for Stack Overflow solutions
155
+ 5. Search for related error patterns
156
+ \`\`\`
157
+
158
+ ### Find Best Practices
159
+ \`\`\`
160
+ 1. Search: "[topic] best practices 2024"
161
+ 2. Search: "[topic] common mistakes avoid"
162
+ 3. Search: "[topic] production tips"
163
+ 4. Cross-reference multiple sources
164
+ \`\`\`
165
+
166
+ ### API/Library Usage
167
+ \`\`\`
168
+ 1. Search: "[library] [method] example"
169
+ 2. Search: "[library] [use case] tutorial"
170
+ 3. Search: "[library] TypeScript types"
171
+ 4. Check official docs for edge cases
172
+ \`\`\`
173
+
174
+ ## Filtering Strategies
175
+ \`\`\`
176
+ # Include specific domains
177
+ include_domains: ["github.com", "stackoverflow.com", "docs.*.com"]
178
+
179
+ # Exclude low-quality sources
180
+ exclude_domains: ["w3schools.com", "geeksforgeeks.org"]
181
+
182
+ # Time-sensitive searches
183
+ Add year to query: "React hooks 2024"
184
+ Filter by age in results
185
+ \`\`\`
186
+
187
+ ## Rate Limits & Quotas
188
+ \`\`\`
189
+ Brave Search:
190
+ - Free tier: 2,000 queries/month
191
+ - Check X-RateLimit headers
192
+
193
+ Tavily:
194
+ - Free tier: 1,000 queries/month
195
+ - Rate limit: 100 requests/minute
196
+
197
+ Best practices:
198
+ - Cache frequently searched queries
199
+ - Batch related searches
200
+ - Use specific queries to reduce iterations
201
+ \`\`\`
202
+
203
+ ## ❌ DON'T
204
+ - Search for generic terms without context
205
+ - Trust first result blindly
206
+ - Ignore result publication dates
207
+ - Search for sensitive/private information
208
+ - Exceed rate limits with repeated queries
209
+ - Use AI-generated content as primary source
210
+
211
+ ## ✅ DO
212
+ - Use specific, contextual queries
213
+ - Include version numbers for tech
214
+ - Verify information across sources
215
+ - Prefer official documentation
216
+ - Check result freshness for tech topics
217
+ - Use domain filtering for quality
218
+ - Respect rate limits