@namch/agent-assistant 1.0.0 → 1.0.2

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 (168) hide show
  1. package/README.md +114 -522
  2. package/agents/backend-engineer.md +0 -8
  3. package/agents/brainstormer.md +0 -6
  4. package/agents/business-analyst.md +0 -5
  5. package/agents/database-architect.md +0 -6
  6. package/agents/debugger.md +0 -6
  7. package/agents/designer.md +0 -5
  8. package/agents/devops-engineer.md +0 -7
  9. package/agents/docs-manager.md +0 -6
  10. package/agents/frontend-engineer.md +0 -7
  11. package/agents/game-engineer.md +0 -7
  12. package/agents/mobile-engineer.md +0 -7
  13. package/agents/performance-engineer.md +0 -7
  14. package/agents/planner.md +0 -6
  15. package/agents/project-manager.md +0 -6
  16. package/agents/researcher.md +0 -5
  17. package/agents/reviewer.md +0 -6
  18. package/agents/scouter.md +0 -6
  19. package/agents/security-engineer.md +0 -7
  20. package/agents/tech-lead.md +0 -7
  21. package/agents/tester.md +0 -5
  22. package/cli/README.md +19 -10
  23. package/documents/business/business-features.md +1 -1
  24. package/documents/business/business-prd.md +4 -4
  25. package/documents/knowledge-architecture.md +1 -1
  26. package/documents/knowledge-domain.md +1 -1
  27. package/documents/knowledge-overview.md +14 -29
  28. package/documents/knowledge-source-base.md +14 -14
  29. package/package.json +1 -1
  30. package/rules/QUICK-REFERENCE.md +4 -1
  31. package/rules/SKILL-DISCOVERY.md +37 -14
  32. package/skills/active-directory-attacks/SKILL.md +383 -0
  33. package/skills/active-directory-attacks/references/advanced-attacks.md +382 -0
  34. package/skills/agent-evaluation/SKILL.md +64 -0
  35. package/skills/agent-memory-mcp/SKILL.md +82 -0
  36. package/skills/agent-memory-systems/SKILL.md +67 -0
  37. package/skills/agent-tool-builder/SKILL.md +53 -0
  38. package/skills/ai-agents-architect/SKILL.md +90 -0
  39. package/skills/ai-product/SKILL.md +54 -0
  40. package/skills/ai-wrapper-product/SKILL.md +273 -0
  41. package/skills/api-documentation-generator/SKILL.md +484 -0
  42. package/skills/api-fuzzing-bug-bounty/SKILL.md +433 -0
  43. package/skills/api-security-best-practices/SKILL.md +907 -0
  44. package/skills/autonomous-agent-patterns/SKILL.md +761 -0
  45. package/skills/autonomous-agents/SKILL.md +68 -0
  46. package/skills/aws-penetration-testing/SKILL.md +405 -0
  47. package/skills/aws-penetration-testing/references/advanced-aws-pentesting.md +469 -0
  48. package/skills/azure-functions/SKILL.md +42 -0
  49. package/skills/backend-dev-guidelines/SKILL.md +342 -0
  50. package/skills/backend-dev-guidelines/resources/architecture-overview.md +451 -0
  51. package/skills/backend-dev-guidelines/resources/async-and-errors.md +307 -0
  52. package/skills/backend-dev-guidelines/resources/complete-examples.md +638 -0
  53. package/skills/backend-dev-guidelines/resources/configuration.md +275 -0
  54. package/skills/backend-dev-guidelines/resources/database-patterns.md +224 -0
  55. package/skills/backend-dev-guidelines/resources/middleware-guide.md +213 -0
  56. package/skills/backend-dev-guidelines/resources/routing-and-controllers.md +756 -0
  57. package/skills/backend-dev-guidelines/resources/sentry-and-monitoring.md +336 -0
  58. package/skills/backend-dev-guidelines/resources/services-and-repositories.md +789 -0
  59. package/skills/backend-dev-guidelines/resources/testing-guide.md +235 -0
  60. package/skills/backend-dev-guidelines/resources/validation-patterns.md +754 -0
  61. package/skills/broken-authentication/SKILL.md +476 -0
  62. package/skills/bullmq-specialist/SKILL.md +57 -0
  63. package/skills/bun-development/SKILL.md +691 -0
  64. package/skills/burp-suite-testing/SKILL.md +380 -0
  65. package/skills/cloud-penetration-testing/SKILL.md +501 -0
  66. package/skills/cloud-penetration-testing/references/advanced-cloud-scripts.md +318 -0
  67. package/skills/computer-use-agents/SKILL.md +315 -0
  68. package/skills/content-creator/SKILL.md +248 -0
  69. package/skills/content-creator/assets/content_calendar_template.md +99 -0
  70. package/skills/content-creator/references/brand_guidelines.md +199 -0
  71. package/skills/content-creator/references/content_frameworks.md +534 -0
  72. package/skills/content-creator/references/social_media_optimization.md +317 -0
  73. package/skills/content-creator/scripts/brand_voice_analyzer.py +185 -0
  74. package/skills/content-creator/scripts/seo_optimizer.py +419 -0
  75. package/skills/context-window-management/SKILL.md +53 -0
  76. package/skills/conversation-memory/SKILL.md +61 -0
  77. package/skills/copy-editing/SKILL.md +439 -0
  78. package/skills/copywriting/SKILL.md +225 -0
  79. package/skills/crewai/SKILL.md +243 -0
  80. package/skills/discord-bot-architect/SKILL.md +277 -0
  81. package/skills/dispatching-parallel-agents/SKILL.md +180 -0
  82. package/skills/email-sequence/SKILL.md +925 -0
  83. package/skills/email-systems/SKILL.md +54 -0
  84. package/skills/ethical-hacking-methodology/SKILL.md +466 -0
  85. package/skills/executing-plans/SKILL.md +76 -0
  86. package/skills/file-path-traversal/SKILL.md +486 -0
  87. package/skills/finishing-a-development-branch/SKILL.md +200 -0
  88. package/skills/frontend-dev-guidelines/SKILL.md +359 -0
  89. package/skills/frontend-dev-guidelines/resources/common-patterns.md +331 -0
  90. package/skills/frontend-dev-guidelines/resources/complete-examples.md +872 -0
  91. package/skills/frontend-dev-guidelines/resources/component-patterns.md +502 -0
  92. package/skills/frontend-dev-guidelines/resources/data-fetching.md +767 -0
  93. package/skills/frontend-dev-guidelines/resources/file-organization.md +502 -0
  94. package/skills/frontend-dev-guidelines/resources/loading-and-error-states.md +501 -0
  95. package/skills/frontend-dev-guidelines/resources/performance.md +406 -0
  96. package/skills/frontend-dev-guidelines/resources/routing-guide.md +364 -0
  97. package/skills/frontend-dev-guidelines/resources/styling-guide.md +428 -0
  98. package/skills/frontend-dev-guidelines/resources/typescript-standards.md +418 -0
  99. package/skills/gcp-cloud-run/SKILL.md +288 -0
  100. package/skills/git-pushing/SKILL.md +33 -0
  101. package/skills/git-pushing/scripts/smart_commit.sh +19 -0
  102. package/skills/github-workflow-automation/SKILL.md +846 -0
  103. package/skills/html-injection-testing/SKILL.md +498 -0
  104. package/skills/idor-testing/SKILL.md +442 -0
  105. package/skills/inngest/SKILL.md +55 -0
  106. package/skills/javascript-mastery/SKILL.md +645 -0
  107. package/skills/kaizen/SKILL.md +730 -0
  108. package/skills/langfuse/SKILL.md +238 -0
  109. package/skills/langgraph/SKILL.md +287 -0
  110. package/skills/linux-privilege-escalation/SKILL.md +504 -0
  111. package/skills/llm-app-patterns/SKILL.md +760 -0
  112. package/skills/metasploit-framework/SKILL.md +478 -0
  113. package/skills/multi-agent-brainstorming/SKILL.md +256 -0
  114. package/skills/neon-postgres/SKILL.md +56 -0
  115. package/skills/nextjs-supabase-auth/SKILL.md +56 -0
  116. package/skills/nosql-expert/SKILL.md +111 -0
  117. package/skills/pentest-checklist/SKILL.md +334 -0
  118. package/skills/pentest-commands/SKILL.md +438 -0
  119. package/skills/plaid-fintech/SKILL.md +50 -0
  120. package/skills/planning-with-files/SKILL.md +211 -0
  121. package/skills/planning-with-files/examples.md +202 -0
  122. package/skills/planning-with-files/reference.md +218 -0
  123. package/skills/planning-with-files/scripts/check-complete.sh +44 -0
  124. package/skills/planning-with-files/scripts/init-session.sh +120 -0
  125. package/skills/planning-with-files/templates/findings.md +95 -0
  126. package/skills/planning-with-files/templates/progress.md +114 -0
  127. package/skills/planning-with-files/templates/task_plan.md +132 -0
  128. package/skills/privilege-escalation-methods/SKILL.md +333 -0
  129. package/skills/production-code-audit/SKILL.md +540 -0
  130. package/skills/prompt-caching/SKILL.md +61 -0
  131. package/skills/prompt-engineering/SKILL.md +171 -0
  132. package/skills/prompt-library/SKILL.md +322 -0
  133. package/skills/rag-engineer/SKILL.md +90 -0
  134. package/skills/rag-implementation/SKILL.md +63 -0
  135. package/skills/react-ui-patterns/SKILL.md +289 -0
  136. package/skills/red-team-tools/SKILL.md +310 -0
  137. package/skills/scanning-tools/SKILL.md +589 -0
  138. package/skills/shodan-reconnaissance/SKILL.md +503 -0
  139. package/skills/slack-bot-builder/SKILL.md +264 -0
  140. package/skills/smtp-penetration-testing/SKILL.md +500 -0
  141. package/skills/social-content/SKILL.md +807 -0
  142. package/skills/software-architecture/SKILL.md +75 -0
  143. package/skills/sql-injection-testing/SKILL.md +448 -0
  144. package/skills/sqlmap-database-pentesting/SKILL.md +400 -0
  145. package/skills/ssh-penetration-testing/SKILL.md +488 -0
  146. package/skills/stripe-integration/SKILL.md +69 -0
  147. package/skills/subagent-driven-development/SKILL.md +240 -0
  148. package/skills/subagent-driven-development/code-quality-reviewer-prompt.md +20 -0
  149. package/skills/subagent-driven-development/implementer-prompt.md +78 -0
  150. package/skills/subagent-driven-development/spec-reviewer-prompt.md +61 -0
  151. package/skills/tavily-web/SKILL.md +36 -0
  152. package/skills/telegram-bot-builder/SKILL.md +254 -0
  153. package/skills/test-driven-development/SKILL.md +371 -0
  154. package/skills/test-driven-development/testing-anti-patterns.md +299 -0
  155. package/skills/test-fixing/SKILL.md +119 -0
  156. package/skills/top-web-vulnerabilities/SKILL.md +543 -0
  157. package/skills/trigger-dev/SKILL.md +67 -0
  158. package/skills/twilio-communications/SKILL.md +295 -0
  159. package/skills/upstash-qstash/SKILL.md +68 -0
  160. package/skills/verification-before-completion/SKILL.md +139 -0
  161. package/skills/voice-agents/SKILL.md +68 -0
  162. package/skills/voice-ai-development/SKILL.md +302 -0
  163. package/skills/windows-privilege-escalation/SKILL.md +496 -0
  164. package/skills/wireshark-analysis/SKILL.md +497 -0
  165. package/skills/wordpress-penetration-testing/SKILL.md +485 -0
  166. package/skills/workflow-automation/SKILL.md +68 -0
  167. package/skills/xss-html-injection/SKILL.md +499 -0
  168. package/skills/zapier-make-patterns/SKILL.md +67 -0
@@ -0,0 +1,264 @@
1
+ ---
2
+ name: slack-bot-builder
3
+ description: "Build Slack apps using the Bolt framework across Python, JavaScript, and Java. Covers Block Kit for rich UIs, interactive components, slash commands, event handling, OAuth installation flows, and Workflow Builder integration. Focus on best practices for production-ready Slack apps. Use when: slack bot, slack app, bolt framework, block kit, slash command."
4
+ source: vibeship-spawner-skills (Apache 2.0)
5
+ ---
6
+
7
+ # Slack Bot Builder
8
+
9
+ ## Patterns
10
+
11
+ ### Bolt App Foundation Pattern
12
+
13
+ The Bolt framework is Slack's recommended approach for building apps.
14
+ It handles authentication, event routing, request verification, and
15
+ HTTP request processing so you can focus on app logic.
16
+
17
+ Key benefits:
18
+ - Event handling in a few lines of code
19
+ - Security checks and payload validation built-in
20
+ - Organized, consistent patterns
21
+ - Works for experiments and production
22
+
23
+ Available in: Python, JavaScript (Node.js), Java
24
+
25
+
26
+ **When to use**: ['Starting any new Slack app', 'Migrating from legacy Slack APIs', 'Building production Slack integrations']
27
+
28
+ ```python
29
+ # Python Bolt App
30
+ from slack_bolt import App
31
+ from slack_bolt.adapter.socket_mode import SocketModeHandler
32
+ import os
33
+
34
+ # Initialize with tokens from environment
35
+ app = App(
36
+ token=os.environ["SLACK_BOT_TOKEN"],
37
+ signing_secret=os.environ["SLACK_SIGNING_SECRET"]
38
+ )
39
+
40
+ # Handle messages containing "hello"
41
+ @app.message("hello")
42
+ def handle_hello(message, say):
43
+ """Respond to messages containing 'hello'."""
44
+ user = message["user"]
45
+ say(f"Hey there <@{user}>!")
46
+
47
+ # Handle slash command
48
+ @app.command("/ticket")
49
+ def handle_ticket_command(ack, body, client):
50
+ """Handle /ticket slash command."""
51
+ # Acknowledge immediately (within 3 seconds)
52
+ ack()
53
+
54
+ # Open a modal for ticket creation
55
+ client.views_open(
56
+ trigger_id=body["trigger_id"],
57
+ view={
58
+ "type": "modal",
59
+ "callback_id": "ticket_modal",
60
+ "title": {"type": "plain_text", "text": "Create Ticket"},
61
+ "submit": {"type": "plain_text", "text": "Submit"},
62
+ "blocks": [
63
+ {
64
+ "type": "input",
65
+ "block_id": "title_block",
66
+ "element": {
67
+ "type": "plain_text_input",
68
+ "action_id": "title_input"
69
+ },
70
+ "label": {"type": "plain_text", "text": "Title"}
71
+ },
72
+ {
73
+ "type": "input",
74
+ "block_id": "desc_block",
75
+ "element": {
76
+ "type": "plain_text_input",
77
+ "multiline": True,
78
+ "action_id": "desc_input"
79
+ },
80
+ "label": {"type": "plain_text", "text": "Description"}
81
+ },
82
+ {
83
+ "type": "input",
84
+ "block_id": "priority_block",
85
+ "element": {
86
+ "type": "static_select",
87
+ "action_id": "priority_select",
88
+
89
+ ```
90
+
91
+ ### Block Kit UI Pattern
92
+
93
+ Block Kit is Slack's UI framework for building rich, interactive messages.
94
+ Compose messages using blocks (sections, actions, inputs) and elements
95
+ (buttons, menus, text inputs).
96
+
97
+ Limits:
98
+ - Up to 50 blocks per message
99
+ - Up to 100 blocks in modals/Home tabs
100
+ - Block text limited to 3000 characters
101
+
102
+ Use Block Kit Builder to prototype: https://app.slack.com/block-kit-builder
103
+
104
+
105
+ **When to use**: ['Building rich message layouts', 'Adding interactive components to messages', 'Creating forms in modals', 'Building Home tab experiences']
106
+
107
+ ```python
108
+ from slack_bolt import App
109
+ import os
110
+
111
+ app = App(token=os.environ["SLACK_BOT_TOKEN"])
112
+
113
+ def build_notification_blocks(incident: dict) -> list:
114
+ """Build Block Kit blocks for incident notification."""
115
+ severity_emoji = {
116
+ "critical": ":red_circle:",
117
+ "high": ":large_orange_circle:",
118
+ "medium": ":large_yellow_circle:",
119
+ "low": ":white_circle:"
120
+ }
121
+
122
+ return [
123
+ # Header
124
+ {
125
+ "type": "header",
126
+ "text": {
127
+ "type": "plain_text",
128
+ "text": f"{severity_emoji.get(incident['severity'], '')} Incident Alert"
129
+ }
130
+ },
131
+ # Details section
132
+ {
133
+ "type": "section",
134
+ "fields": [
135
+ {
136
+ "type": "mrkdwn",
137
+ "text": f"*Incident:*\n{incident['title']}"
138
+ },
139
+ {
140
+ "type": "mrkdwn",
141
+ "text": f"*Severity:*\n{incident['severity'].upper()}"
142
+ },
143
+ {
144
+ "type": "mrkdwn",
145
+ "text": f"*Service:*\n{incident['service']}"
146
+ },
147
+ {
148
+ "type": "mrkdwn",
149
+ "text": f"*Reported:*\n<!date^{incident['timestamp']}^{date_short} {time}|{incident['timestamp']}>"
150
+ }
151
+ ]
152
+ },
153
+ # Description
154
+ {
155
+ "type": "section",
156
+ "text": {
157
+ "type": "mrkdwn",
158
+ "text": f"*Description:*\n{incident['description'][:2000]}"
159
+ }
160
+ },
161
+ # Divider
162
+ {"type": "divider"},
163
+ # Action buttons
164
+ {
165
+ "type": "actions",
166
+ "block_id": f"incident_actions_{incident['id']}",
167
+ "elements": [
168
+ {
169
+ "type": "button",
170
+ "text": {"type": "plain_text", "text": "Acknowledge"},
171
+ "style": "primary",
172
+ "action_id": "acknowle
173
+ ```
174
+
175
+ ### OAuth Installation Pattern
176
+
177
+ Enable users to install your app in their workspaces via OAuth 2.0.
178
+ Bolt handles most of the OAuth flow, but you need to configure it
179
+ and store tokens securely.
180
+
181
+ Key OAuth concepts:
182
+ - Scopes define permissions (request minimum needed)
183
+ - Tokens are workspace-specific
184
+ - Installation data must be stored persistently
185
+ - Users can add scopes later (additive)
186
+
187
+ 70% of users abandon installation when confronted with excessive
188
+ permission requests - request only what you need!
189
+
190
+
191
+ **When to use**: ['Distributing app to multiple workspaces', 'Building public Slack apps', 'Enterprise-grade integrations']
192
+
193
+ ```python
194
+ from slack_bolt import App
195
+ from slack_bolt.oauth.oauth_settings import OAuthSettings
196
+ from slack_sdk.oauth.installation_store import FileInstallationStore
197
+ from slack_sdk.oauth.state_store import FileOAuthStateStore
198
+ import os
199
+
200
+ # For production, use database-backed stores
201
+ # For example: PostgreSQL, MongoDB, Redis
202
+
203
+ class DatabaseInstallationStore:
204
+ """Store installation data in your database."""
205
+
206
+ async def save(self, installation):
207
+ """Save installation when user completes OAuth."""
208
+ await db.installations.upsert({
209
+ "team_id": installation.team_id,
210
+ "enterprise_id": installation.enterprise_id,
211
+ "bot_token": encrypt(installation.bot_token),
212
+ "bot_user_id": installation.bot_user_id,
213
+ "bot_scopes": installation.bot_scopes,
214
+ "user_id": installation.user_id,
215
+ "installed_at": installation.installed_at
216
+ })
217
+
218
+ async def find_installation(self, *, enterprise_id, team_id, user_id=None, is_enterprise_install=False):
219
+ """Find installation for a workspace."""
220
+ record = await db.installations.find_one({
221
+ "team_id": team_id,
222
+ "enterprise_id": enterprise_id
223
+ })
224
+
225
+ if record:
226
+ return Installation(
227
+ bot_token=decrypt(record["bot_token"]),
228
+ # ... other fields
229
+ )
230
+ return None
231
+
232
+ # Initialize OAuth-enabled app
233
+ app = App(
234
+ signing_secret=os.environ["SLACK_SIGNING_SECRET"],
235
+ oauth_settings=OAuthSettings(
236
+ client_id=os.environ["SLACK_CLIENT_ID"],
237
+ client_secret=os.environ["SLACK_CLIENT_SECRET"],
238
+ scopes=[
239
+ "channels:history",
240
+ "channels:read",
241
+ "chat:write",
242
+ "commands",
243
+ "users:read"
244
+ ],
245
+ user_scopes=[], # User token scopes if needed
246
+ installation_store=DatabaseInstallationStore(),
247
+ state_store=FileOAuthStateStore(expiration_seconds=600)
248
+ )
249
+ )
250
+
251
+ # OAuth routes are handled a
252
+ ```
253
+
254
+ ## ⚠️ Sharp Edges
255
+
256
+ | Issue | Severity | Solution |
257
+ |-------|----------|----------|
258
+ | Issue | critical | ## Acknowledge immediately, process later |
259
+ | Issue | critical | ## Proper state validation |
260
+ | Issue | critical | ## Never hardcode or log tokens |
261
+ | Issue | high | ## Request minimum required scopes |
262
+ | Issue | medium | ## Know and respect the limits |
263
+ | Issue | high | ## Socket Mode: Only for development |
264
+ | Issue | critical | ## Bolt handles this automatically |