automatasaurus 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +543 -0
  3. package/bin/cli.js +62 -0
  4. package/package.json +39 -0
  5. package/src/commands/init.js +149 -0
  6. package/src/commands/status.js +68 -0
  7. package/src/commands/update.js +140 -0
  8. package/src/lib/block-merge.js +86 -0
  9. package/src/lib/json-merge.js +121 -0
  10. package/src/lib/manifest.js +60 -0
  11. package/src/lib/paths.js +55 -0
  12. package/src/lib/symlinks.js +127 -0
  13. package/template/CLAUDE.block.md +357 -0
  14. package/template/README.md +36 -0
  15. package/template/agents/architect/AGENT.md +167 -0
  16. package/template/agents/designer/AGENT.md +289 -0
  17. package/template/agents/developer/AGENT.md +182 -0
  18. package/template/agents/tester/AGENT.md +308 -0
  19. package/template/artifacts/discovery.md.template +193 -0
  20. package/template/artifacts/implementation-plan.md.template +119 -0
  21. package/template/commands/discovery.md +325 -0
  22. package/template/commands/work-all.md +274 -0
  23. package/template/commands/work-plan.md +169 -0
  24. package/template/commands/work.md +73 -0
  25. package/template/commands.block.md +45 -0
  26. package/template/commands.template.md +156 -0
  27. package/template/hooks/notify.sh +83 -0
  28. package/template/hooks/on-stop.sh +54 -0
  29. package/template/hooks/request-attention.sh +16 -0
  30. package/template/settings.json +85 -0
  31. package/template/skills/agent-coordination/SKILL.md +166 -0
  32. package/template/skills/code-review/SKILL.md +386 -0
  33. package/template/skills/css-standards/SKILL.md +488 -0
  34. package/template/skills/github-issues/SKILL.md +144 -0
  35. package/template/skills/github-workflow/SKILL.md +161 -0
  36. package/template/skills/infrastructure-standards/SKILL.md +189 -0
  37. package/template/skills/javascript-standards/SKILL.md +355 -0
  38. package/template/skills/notifications/SKILL.md +95 -0
  39. package/template/skills/pr-writing/SKILL.md +259 -0
  40. package/template/skills/project-commands/SKILL.md +100 -0
  41. package/template/skills/python-standards/SKILL.md +284 -0
  42. package/template/skills/requirements-gathering/SKILL.md +212 -0
  43. package/template/skills/user-stories/SKILL.md +192 -0
  44. package/template/skills/work-issue/SKILL.md +245 -0
  45. package/template/skills/workflow-orchestration/SKILL.md +271 -0
@@ -0,0 +1,166 @@
1
+ ---
2
+ name: agent-coordination
3
+ description: Patterns for invoking and coordinating Automatasaurus agents. Use when delegating tasks to specialist agents.
4
+ ---
5
+
6
+ # Agent Coordination Skill
7
+
8
+ This skill provides patterns for invoking the Automatasaurus agents.
9
+
10
+ ## Available Agents
11
+
12
+ | Agent | Purpose | When to Use |
13
+ |-------|---------|-------------|
14
+ | `developer` | Implements issues, creates PRs | When code needs to be written |
15
+ | `architect` | Technical reviews, analysis | For PR reviews, discovery reviews, stuck issues |
16
+ | `designer` | UI/UX reviews, design specs | For PR reviews, discovery reviews, design specs |
17
+ | `tester` | Testing, verification | For PR verification, running tests |
18
+
19
+ ---
20
+
21
+ ## Invocation Patterns
22
+
23
+ ### Developer - Implement an Issue
24
+
25
+ ```
26
+ Use the developer agent to implement issue #{number}.
27
+
28
+ Context:
29
+ - Issue: [title]
30
+ - Acceptance criteria: [from issue body]
31
+ - Design specs: [if applicable, from designer comments]
32
+
33
+ This is [MODE] mode. Create PR when implementation is complete.
34
+ ```
35
+
36
+ ### Architect - Review Discovery Plan
37
+
38
+ ```
39
+ Use the architect agent to review this discovery plan for technical feasibility.
40
+
41
+ Focus on:
42
+ - Architecture fit
43
+ - Scalability
44
+ - Security implications
45
+ - Technology choices
46
+
47
+ The discovery plan is at: [path to discovery.md]
48
+ ```
49
+
50
+ ### Architect - Review PR
51
+
52
+ ```
53
+ Use the architect agent to review PR #{pr_number} for technical quality.
54
+
55
+ Post a standardized approval comment when done:
56
+ - ✅ APPROVED - Architect
57
+ - OR ❌ CHANGES REQUESTED - Architect
58
+ ```
59
+
60
+ ### Architect - Analyze Stuck Issue
61
+
62
+ ```
63
+ Use the architect agent to analyze issue #{number}.
64
+
65
+ Developer has tried:
66
+ 1. [attempt 1]
67
+ 2. [attempt 2]
68
+ ...
69
+
70
+ Error: [description]
71
+ ```
72
+
73
+ ### Designer - Review Discovery Plan
74
+
75
+ ```
76
+ Use the designer agent to review this discovery plan for UI/UX considerations.
77
+
78
+ Focus on:
79
+ - User flows
80
+ - Accessibility
81
+ - Responsive design
82
+ - Missing UI requirements
83
+
84
+ The discovery plan is at: [path to discovery.md]
85
+ ```
86
+
87
+ ### Designer - Add Specs to Issue
88
+
89
+ ```
90
+ Use the designer agent to add UI/UX specifications to issue #{number}.
91
+
92
+ Review the issue requirements and add design specs as a comment.
93
+ ```
94
+
95
+ ### Designer - Review PR
96
+
97
+ ```
98
+ Use the designer agent to review PR #{pr_number} for UI/UX quality.
99
+
100
+ If no UI changes, post: "**[Designer]** N/A - No UI changes in this PR."
101
+
102
+ Otherwise post standardized approval:
103
+ - ✅ APPROVED - Designer
104
+ - OR ❌ CHANGES REQUESTED - Designer
105
+ ```
106
+
107
+ ### Tester - Verify PR
108
+
109
+ ```
110
+ Use the tester agent to verify PR #{pr_number}.
111
+
112
+ Run tests and perform manual verification if needed.
113
+ Post a standardized approval comment when done:
114
+ - ✅ APPROVED - Tester
115
+ - OR ❌ CHANGES REQUESTED - Tester
116
+ ```
117
+
118
+ ---
119
+
120
+ ## Parallel Invocation
121
+
122
+ When reviews are independent, invoke agents in parallel:
123
+
124
+ ```
125
+ # Invoke these in parallel (single message, multiple tool calls)
126
+ Use the architect agent to review PR #123
127
+ Use the designer agent to review PR #123
128
+ Use the tester agent to verify PR #123
129
+ ```
130
+
131
+ ---
132
+
133
+ ## Handoff Information
134
+
135
+ When delegating, include:
136
+
137
+ 1. **Issue/PR number** - What to work on
138
+ 2. **Context** - Acceptance criteria, design specs
139
+ 3. **Mode** - single-issue or all-issues (affects merge behavior)
140
+ 4. **Expected output** - What to produce (PR, comment, etc.)
141
+
142
+ ---
143
+
144
+ ## Quality Gates
145
+
146
+ Each agent has quality gates:
147
+
148
+ | Agent | Gate |
149
+ |-------|------|
150
+ | Developer | Tests passing, PR created |
151
+ | Architect | Technical review complete |
152
+ | Designer | Design review complete |
153
+ | Tester | All tests pass, verification complete |
154
+
155
+ ---
156
+
157
+ ## Escalation Flow
158
+
159
+ ```
160
+ Developer stuck (5 attempts)
161
+
162
+ Architect analyzes
163
+
164
+ If still stuck → Human escalation
165
+ .claude/hooks/request-attention.sh stuck "..."
166
+ ```
@@ -0,0 +1,386 @@
1
+ ---
2
+ name: code-review
3
+ description: Best practices for performing thorough, constructive code reviews. Use when reviewing PRs to ensure quality feedback that improves code and helps developers grow.
4
+ ---
5
+
6
+ # Code Review Skill
7
+
8
+ Guidelines for performing effective code reviews that catch issues, improve code quality, and maintain a positive team dynamic.
9
+
10
+ ## Review Mindset
11
+
12
+ ### Bias Towards Shipping
13
+
14
+ **The primary goal is to get working code merged, not to achieve perfection.**
15
+
16
+ Before requesting changes, always ask yourself:
17
+ > "Is this feedback worth an additional review cycle?"
18
+
19
+ Most feedback should be:
20
+ - Approved with suggestions for the author to consider
21
+ - Comments for future reference, not blocking
22
+ - Follow-up issues for later improvement
23
+
24
+ **Reserve "Request Changes" for actual problems:**
25
+ - Security vulnerabilities
26
+ - Bugs that will cause runtime errors
27
+ - Breaking changes to existing functionality
28
+ - Missing critical requirements
29
+
30
+ **Do NOT block for:**
31
+ - Style preferences (unless egregiously inconsistent)
32
+ - "I would have done it differently"
33
+ - Minor optimizations that don't matter at current scale
34
+ - Missing tests for edge cases that are unlikely
35
+ - Refactoring opportunities (create a follow-up issue instead)
36
+
37
+ ### Goals of Code Review
38
+ 1. **Catch real bugs** before they reach production
39
+ 2. **Prevent security issues** - the things that actually matter
40
+ 3. **Share knowledge** across the team
41
+ 4. **Ship working software** - don't let perfect be the enemy of good
42
+
43
+ ### The Right Attitude
44
+ - You're reviewing the **code**, not the person
45
+ - Assume good intent - the author tried their best
46
+ - Be a collaborator, not a gatekeeper
47
+ - Your job is to help ship good code, not to find fault
48
+ - **Velocity matters** - every review cycle has a cost
49
+
50
+ ## Review Process
51
+
52
+ ### 1. Understand the Context First
53
+
54
+ Before looking at code:
55
+ ```
56
+ 1. Read the PR description
57
+ 2. Read the linked issue
58
+ 3. Understand WHAT is being done and WHY
59
+ 4. Consider: Is this the right approach?
60
+ ```
61
+
62
+ ### 2. First Pass: High-Level Review
63
+
64
+ Ask yourself:
65
+ - Does this solve the problem described in the issue?
66
+ - Is the approach reasonable?
67
+ - Are there obvious architectural concerns?
68
+ - Is anything missing?
69
+
70
+ ### 3. Second Pass: Detailed Review
71
+
72
+ Look at each file for:
73
+ - Correctness (does it work?)
74
+ - Edge cases and error handling
75
+ - Security implications
76
+ - Performance concerns
77
+ - Test coverage
78
+ - Code style and readability
79
+
80
+ ### 4. Summarize Your Review
81
+
82
+ End with an overall assessment:
83
+ ```markdown
84
+ **[Architect]** Overall this looks good. Clean implementation of the user registration flow.
85
+
86
+ A few suggestions:
87
+ 1. Consider adding rate limiting (security)
88
+ 2. The validation error messages could be more user-friendly
89
+ 3. Minor: prefer `const` over `let` where possible
90
+
91
+ Approving with minor suggestions - none are blocking.
92
+ ```
93
+
94
+ ## What to Look For
95
+
96
+ ### Correctness
97
+ - Does the code do what it's supposed to do?
98
+ - Are there logic errors?
99
+ - Are edge cases handled?
100
+ - What happens with null/undefined/empty inputs?
101
+
102
+ ```markdown
103
+ **Concern:** This will throw if `user` is null:
104
+ \`\`\`javascript
105
+ const name = user.profile.name;
106
+ \`\`\`
107
+
108
+ Consider:
109
+ \`\`\`javascript
110
+ const name = user?.profile?.name ?? 'Unknown';
111
+ \`\`\`
112
+ ```
113
+
114
+ ### Error Handling
115
+ - Are errors caught appropriately?
116
+ - Are error messages helpful?
117
+ - Does the error handling match the project patterns?
118
+
119
+ ```markdown
120
+ **Suggestion:** The error is swallowed here - the user won't know what went wrong:
121
+ \`\`\`javascript
122
+ try {
123
+ await saveUser(data);
124
+ } catch (e) {
125
+ console.log(e);
126
+ }
127
+ \`\`\`
128
+
129
+ Consider surfacing this to the user or rethrowing.
130
+ ```
131
+
132
+ ### Security (OWASP Top 10)
133
+ - SQL injection (parameterized queries?)
134
+ - XSS (output encoding?)
135
+ - Authentication/authorization checks
136
+ - Sensitive data exposure
137
+ - Input validation
138
+
139
+ ```markdown
140
+ **Security Issue:** User input is interpolated directly into the query:
141
+ \`\`\`javascript
142
+ const query = `SELECT * FROM users WHERE email = '${email}'`;
143
+ \`\`\`
144
+
145
+ Use parameterized queries to prevent SQL injection.
146
+ ```
147
+
148
+ ### Performance
149
+ - Unnecessary loops or iterations
150
+ - N+1 query problems
151
+ - Missing indexes
152
+ - Large payloads
153
+ - Memory leaks
154
+
155
+ ```markdown
156
+ **Performance:** This creates an N+1 query problem - one query per user:
157
+ \`\`\`javascript
158
+ for (const user of users) {
159
+ user.posts = await getPosts(user.id);
160
+ }
161
+ \`\`\`
162
+
163
+ Consider using a batch query or join.
164
+ ```
165
+
166
+ ### Maintainability
167
+ - Is the code readable?
168
+ - Are names descriptive?
169
+ - Is the logic easy to follow?
170
+ - Will this be easy to modify later?
171
+
172
+ ```markdown
173
+ **Readability:** This function does a lot - consider splitting:
174
+ - Validation logic → `validateUserInput()`
175
+ - Transformation → `transformUserData()`
176
+ - Persistence → `saveUser()`
177
+
178
+ This would make each piece easier to test and understand.
179
+ ```
180
+
181
+ ### Tests
182
+ - Are tests included?
183
+ - Do tests cover the main paths?
184
+ - Do tests cover edge cases?
185
+ - Are tests readable and maintainable?
186
+
187
+ ```markdown
188
+ **Testing:** Good coverage of the happy path! Consider adding tests for:
189
+ - Invalid email format
190
+ - Duplicate email (already registered)
191
+ - Missing required fields
192
+ ```
193
+
194
+ ### Consistency
195
+ - Does it follow project conventions?
196
+ - Does it match existing patterns?
197
+ - Is it consistent with itself?
198
+
199
+ ```markdown
200
+ **Consistency:** The rest of the codebase uses `async/await`, but this uses `.then()`:
201
+ \`\`\`javascript
202
+ fetchUser(id).then(user => { ... });
203
+ \`\`\`
204
+
205
+ Consider using async/await for consistency.
206
+ ```
207
+
208
+ ## How to Give Feedback
209
+
210
+ ### Be Specific and Actionable
211
+
212
+ **Bad:**
213
+ > This code is confusing.
214
+
215
+ **Good:**
216
+ > The nested callbacks make this hard to follow. Consider using async/await or extracting the inner logic into named functions.
217
+
218
+ ### Explain the Why
219
+
220
+ **Bad:**
221
+ > Use `const` here.
222
+
223
+ **Good:**
224
+ > Use `const` here since `user` is never reassigned. This signals intent to readers and catches accidental reassignment.
225
+
226
+ ### Offer Solutions
227
+
228
+ **Bad:**
229
+ > This won't scale.
230
+
231
+ **Good:**
232
+ > This loads all users into memory, which won't scale. Consider:
233
+ > 1. Pagination with limit/offset
234
+ > 2. Streaming with cursor-based pagination
235
+ > 3. If the use case allows, a count query instead
236
+
237
+ ### Distinguish Severity
238
+
239
+ Use prefixes to indicate importance:
240
+
241
+ | Prefix | Meaning | Frequency |
242
+ |--------|---------|-----------|
243
+ | **Blocker:** | Must fix before merge - security/bugs only | Rare |
244
+ | **Suggestion:** | Would improve the code, not blocking | Common |
245
+ | **Nit:** | Minor style/preference, definitely not blocking | Occasional |
246
+ | **Question:** | Seeking to understand | As needed |
247
+ | **Praise:** | Something done well | Often! |
248
+
249
+ **Important:** Most comments should be Suggestions or Nits, not Blockers. If you find yourself writing many Blockers, reconsider whether they truly block shipping.
250
+
251
+ ```markdown
252
+ **Blocker:** This SQL query is vulnerable to injection. (Security - must fix)
253
+
254
+ **Suggestion:** Consider extracting this into a helper function for reuse. (Not blocking - can be done later)
255
+
256
+ **Nit:** Extra blank line here. (Definitely not blocking)
257
+
258
+ **Question:** Why did you choose this approach over X? (Curious, not blocking)
259
+
260
+ **Praise:** Really clean error handling here! (Always welcome)
261
+ ```
262
+
263
+ ### Ask Questions Instead of Demanding
264
+
265
+ **Demanding:**
266
+ > Change this to use a Map instead of an object.
267
+
268
+ **Collaborative:**
269
+ > Have you considered using a Map here? It might give better performance for frequent lookups. What do you think?
270
+
271
+ ## Common Review Scenarios
272
+
273
+ ### When You'd Do It Differently
274
+
275
+ Don't block for preference. Ask yourself:
276
+ - Is their way wrong, or just different?
277
+ - Does it work correctly?
278
+ - Is it maintainable?
279
+
280
+ If it's just different:
281
+ ```markdown
282
+ **Note:** I might have used X approach here, but this works well too. Not blocking.
283
+ ```
284
+
285
+ ### When Something Is Missing
286
+
287
+ ```markdown
288
+ **Missing:** I don't see error handling for the case where the API returns 404. What should happen?
289
+ ```
290
+
291
+ ### When You Don't Understand
292
+
293
+ ```markdown
294
+ **Question:** I'm not following the logic in this section. Could you add a comment explaining the business rule, or walk me through it?
295
+ ```
296
+
297
+ ### When Praising Good Work
298
+
299
+ Don't just point out problems:
300
+ ```markdown
301
+ **Praise:** Nice job extracting this into a reusable hook! This will help with the other forms too.
302
+
303
+ **Praise:** The test coverage here is excellent.
304
+ ```
305
+
306
+ ## Review Response Templates
307
+
308
+ **Default to Approve.** Most reviews should approve, possibly with suggestions.
309
+
310
+ ### Approve (Most Common)
311
+ ```markdown
312
+ **[Architect]** LGTM! Clean implementation, good test coverage.
313
+
314
+ Minor suggestions (not blocking):
315
+ - Line 42: prefer const
316
+ - Consider adding a comment explaining the retry logic
317
+
318
+ Merging as-is is fine. Address these if you agree, or not - your call.
319
+ ```
320
+
321
+ ### Approve with Suggestions
322
+ ```markdown
323
+ **[Architect]** Approving - this is solid work.
324
+
325
+ A few things to consider (can address now or in follow-up):
326
+ 1. The validation could be more specific about what's wrong
327
+ 2. Consider adding logging for debugging
328
+
329
+ Not blocking merge. Ship it!
330
+ ```
331
+
332
+ ### Request Changes (Rare - Use Sparingly)
333
+
334
+ **Only use for genuine blockers: security issues, bugs, or missing critical functionality.**
335
+
336
+ ```markdown
337
+ **[Architect]** Good progress! Found one issue that needs fixing before merge:
338
+
339
+ **Blocker:**
340
+ 1. SQL injection vulnerability in the search query - this is a security risk
341
+
342
+ Everything else looks good. Happy to re-review once the security fix is in.
343
+ ```
344
+
345
+ **Ask yourself before requesting changes:**
346
+ - Will this cause a production incident if shipped?
347
+ - Is this a security vulnerability?
348
+ - Does it break existing functionality?
349
+
350
+ If the answer to all three is "no", consider approving with suggestions instead.
351
+
352
+ ### Decline (N/A)
353
+ ```markdown
354
+ **[UI/UX]** N/A - No UI changes in this PR.
355
+
356
+ Reviewed: Backend/infrastructure changes only, no user-facing impact.
357
+ ```
358
+
359
+ ## Review Etiquette
360
+
361
+ ### Do
362
+ - Review promptly (within 24 hours ideally)
363
+ - Be thorough but not pedantic
364
+ - Acknowledge good work
365
+ - Offer to discuss complex issues in person/call
366
+ - Re-review quickly after changes
367
+
368
+ ### Don't
369
+ - Nitpick excessively
370
+ - Bike-shed on minor style issues
371
+ - Block for preferences
372
+ - Be condescending
373
+ - Leave reviews hanging
374
+
375
+ ## Self-Review Checklist
376
+
377
+ Before requesting review, authors should self-review:
378
+
379
+ - [ ] I've re-read my own diff
380
+ - [ ] Tests pass locally
381
+ - [ ] No console.logs or debug code left
382
+ - [ ] No commented-out code
383
+ - [ ] Variable names are descriptive
384
+ - [ ] Complex logic has comments
385
+ - [ ] Error cases are handled
386
+ - [ ] No obvious security issues