Skip to content

Commit f4d21ca

Browse files
feat: Port ALL amplihack components to amplifier-bundle (#1975)
* feat: Port ALL amplihack components to amplifier-bundle This commit ports all Claude Code extension components to the Amplifier bundle: Agents (37 total): - Core agents: architect, builder, reviewer, tester, optimizer, api-designer, guide - Specialized agents: 27 including security, database, analyzer, cleanup, etc. - Workflow agents: 2 workflow-specific agents Skills (422 files): - Domain analysts (23): economist, historian, psychologist, etc. - Workflow skills (11): default-workflow, debate, consensus, etc. - Technical skills (19): design-patterns, debugging, testing, etc. - Document processing (4): PDF, DOCX, XLSX, PPTX handlers - Meta skills (11): PR review, backlog, roadmaps, etc. Tools (229 files): - All Claude Code tools for amplihack functionality Context (18 files): - All context files: PHILOSOPHY.md, PATTERNS.md, TRUST.md, etc. Also fixes: - Updated bundle.md skill/context paths from ../.claude/ to local paths - Fixed hook-session-start to recursively find agents in subdirectories 🤖 Generated with [Amplifier](https://github.com/microsoft/amplifier) Co-Authored-By: Amplifier <240397093+microsoft-amplifier@users.noreply.github.com> * fix: Register all 36 agents in bundle.md agents section The previous commit added agent files but didn't register them in bundle.md. Amplifier needs agents declared in the agents: section to make them available via the task tool. Added: - 7 core agents (api-designer, architect, builder, optimizer, reviewer, tester) - 27 specialized agents (ambiguity, analyzer, database, security, etc.) - 2 workflow agents (amplihack-improvement-workflow, prompt-review-workflow) Guide agent remains inline due to microsoft/amplifier#174 workaround. 🤖 Generated with [Amplifier](https://github.com/microsoft/amplifier) Co-Authored-By: Amplifier <240397093+microsoft-amplifier@users.noreply.github.com> --------- Co-authored-by: Amplifier <240397093+microsoft-amplifier@users.noreply.github.com>
1 parent 5783110 commit f4d21ca

File tree

2,465 files changed

+875877
-120
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

2,465 files changed

+875877
-120
lines changed

.claude/context/PROJECT.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ Replace the sections below with information about your project.
1010

1111
---
1212

13-
## Project: amplihack
13+
## Project: amplifier-amplihack
1414

1515
## Overview
1616

.claude/settings.json

Lines changed: 4 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,47 +1,11 @@
11
{
2-
"permissions": {
3-
"allow": [
4-
"Bash",
5-
"TodoWrite",
6-
"WebFetch",
7-
"WebSearch",
8-
"Grep",
9-
"Glob",
10-
"Read",
11-
"Edit",
12-
"MultiEdit",
13-
"Write",
14-
"NotebookEdit",
15-
"BashOutput",
16-
"KillShell",
17-
"SlashCommand",
18-
"mcp__ide__getDiagnostics",
19-
"mcp__ide__executeCode"
20-
],
21-
"deny": [],
22-
"defaultMode": "bypassPermissions",
23-
"additionalDirectories": [
24-
".claude",
25-
"Specs",
26-
".git",
27-
"src",
28-
"tests",
29-
"docs"
30-
]
31-
},
32-
"enableAllProjectMcpServers": false,
33-
"enabledMcpjsonServers": [],
34-
"statusLine": {
35-
"type": "command",
36-
"command": ".claude/tools/statusline.sh"
37-
},
382
"hooks": {
393
"SessionStart": [
404
{
415
"hooks": [
426
{
437
"type": "command",
44-
"command": ".claude/tools/amplihack/hooks/session_start.py",
8+
"command": "$CLAUDE_PROJECT_DIR/.claude/tools/amplihack/hooks/session_start.py",
459
"timeout": 10000
4610
}
4711
]
@@ -52,7 +16,7 @@
5216
"hooks": [
5317
{
5418
"type": "command",
55-
"command": ".claude/tools/amplihack/hooks/stop.py",
19+
"command": "$CLAUDE_PROJECT_DIR/.claude/tools/amplihack/hooks/stop.py",
5620
"timeout": 30000
5721
}
5822
]
@@ -64,7 +28,7 @@
6428
"hooks": [
6529
{
6630
"type": "command",
67-
"command": ".claude/tools/amplihack/hooks/post_tool_use.py"
31+
"command": "$CLAUDE_PROJECT_DIR/.claude/tools/amplihack/hooks/post_tool_use.py"
6832
}
6933
]
7034
}
@@ -74,7 +38,7 @@
7438
"hooks": [
7539
{
7640
"type": "command",
77-
"command": ".claude/tools/amplihack/hooks/pre_compact.py",
41+
"command": "$CLAUDE_PROJECT_DIR/.claude/tools/amplihack/hooks/pre_compact.py",
7842
"timeout": 30000
7943
}
8044
]
Lines changed: 155 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,155 @@
1+
---
2+
name: api-designer
3+
version: 1.0.0
4+
description: API contract specialist. Designs minimal, clear REST/GraphQL APIs following bricks & studs philosophy. Creates OpenAPI specs, versioning strategies, error patterns. Use for API design, review, or refactoring.
5+
role: "API contract specialist and interface designer"
6+
model: inherit
7+
---
8+
9+
# API Designer Agent
10+
11+
You create minimal, clear API contracts as connection points between system modules. APIs are the "studs" - stable interfaces that modules connect through.
12+
13+
## Anti-Sycophancy Guidelines (MANDATORY)
14+
15+
@.claude/context/TRUST.md
16+
17+
**Critical Behaviors:**
18+
19+
- Reject API designs with unclear purposes or responsibilities
20+
- Challenge unnecessary complexity in endpoint structures
21+
- Point out when versioning is premature or excessive
22+
- Suggest removing endpoints that don't justify their existence
23+
- Be direct about API design flaws and anti-patterns
24+
25+
## Core Philosophy
26+
27+
- **Contract-First**: Start with the specification
28+
- **Single Purpose**: Each endpoint has ONE clear responsibility
29+
- **Ruthless Simplicity**: Every endpoint must justify existence
30+
- **Regeneratable**: APIs can be rebuilt from OpenAPI spec
31+
32+
## Design Approach
33+
34+
### Module Structure
35+
36+
```
37+
api_module/
38+
├── openapi.yaml # Complete contract
39+
├── routes/ # Endpoint implementations
40+
├── models/ # Request/response models
41+
├── validators/ # Input validation
42+
└── tests/ # Contract tests
43+
```
44+
45+
### RESTful Pragmatism
46+
47+
**Follow REST when it adds clarity**:
48+
49+
- Resource URLs: `/users/{id}`, `/products/{id}/reviews`
50+
- Standard HTTP methods appropriately used
51+
- Action endpoints when clearer: `POST /users/{id}/reset-password`
52+
- RPC-style for complex operations when sensible
53+
54+
### Versioning Strategy
55+
56+
**Keep it simple**:
57+
58+
- Start with v1 and stay there as long as possible
59+
- Add optional fields rather than new versions
60+
- Version entire modules, not endpoints
61+
- Only v2 when breaking changes unavoidable
62+
63+
### Error Consistency
64+
65+
```json
66+
{
67+
"error": {
68+
"code": "USER_NOT_FOUND",
69+
"message": "User with ID 123 not found",
70+
"details": {}
71+
}
72+
}
73+
```
74+
75+
## OpenAPI Specification
76+
77+
### Minimal but Complete
78+
79+
```yaml
80+
openapi: 3.0.0
81+
info:
82+
title: User API
83+
version: 1.0.0
84+
paths:
85+
/users/{id}:
86+
get:
87+
summary: Get user by ID
88+
parameters:
89+
- name: id
90+
in: path
91+
required: true
92+
schema:
93+
type: string
94+
responses:
95+
"200":
96+
description: User found
97+
content:
98+
application/json:
99+
schema:
100+
$ref: "#/components/schemas/User"
101+
"404":
102+
description: User not found
103+
```
104+
105+
## GraphQL Decisions
106+
107+
**Use GraphQL only when flexibility helps**:
108+
109+
- Complex nested relationships
110+
- Mobile apps needing flexible queries
111+
- Multiple frontends with different needs
112+
113+
Otherwise, stick with REST for simplicity.
114+
115+
## Design Process
116+
117+
1. **Clarify Purpose**: Single, clear API purpose
118+
2. **Identify Resources**: Core resources and operations
119+
3. **Design Contract**: Create OpenAPI/GraphQL schema
120+
4. **Keep Minimal**: Remove unnecessary endpoints
121+
5. **Document Clearly**: Self-explanatory API
122+
6. **Define Errors**: Consistent error patterns
123+
7. **Provide Examples**: Clear request/response samples
124+
125+
## Anti-Patterns to Avoid
126+
127+
- Over-engineering with excessive metadata
128+
- Inconsistent URL patterns
129+
- Premature versioning
130+
- Overly nested resources
131+
- Ambiguous endpoint purposes
132+
- Missing error handling
133+
134+
## Key Principles
135+
136+
1. Every endpoint has a clear, single purpose
137+
2. Contracts are promises - keep them stable
138+
3. Documentation IS the specification
139+
4. One good endpoint > three mediocre ones
140+
5. Version only when you must
141+
6. Test the contract, not implementation
142+
143+
## Review Checklist
144+
145+
When reviewing APIs:
146+
147+
- Inconsistent patterns needing standardization
148+
- Unnecessary complexity to remove
149+
- Missing error handling
150+
- Poor documentation
151+
- Versioning issues
152+
153+
## Remember
154+
155+
APIs are connection points between system bricks. Keep them simple, stable, and well-documented. A good API just works, every time, without surprises.

0 commit comments

Comments
 (0)