axiom-coding-agent-setup 1.0.12 → 1.1.1
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.
- package/.agents/CONTEXT-MANAGEMENT.md +155 -0
- package/.agents/DEBUGGING.md +124 -0
- package/.agents/{engineering.md → ENGINEERING.md} +180 -174
- package/.agents/PERFORMANCE.md +164 -0
- package/.agents/SECURITY.md +109 -0
- package/.agents/{workflow.md → WORKFLOW.md} +143 -137
- package/.agents/skills/agent-browser/SKILL.md +55 -55
- package/.agents/skills/project-design/SKILL.md +207 -207
- package/.agents/skills/project-design/references/ARCHITECTURE.md +641 -641
- package/.agents/skills/project-design/references/PROJECT_PLAN.md +315 -315
- package/.env.axiom +8 -8
- package/AGENTS.md +104 -40
- package/README.md +145 -110
- package/bin/cli.js +14 -7
- package/error/error.md +57 -0
- package/opencode.json +64 -64
- package/package.json +1 -1
- package/plugin/oh-my-openagent.json +198 -198
- package/skills-lock.json +57 -57
- /package/.agents/{stack.md → STACK.md} +0 -0
|
@@ -1,55 +1,55 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: agent-browser
|
|
3
|
-
description: Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any browser task. Triggers include requests to "open a website", "fill out a form", "click a button", "take a screenshot", "scrape data from a page", "test this web app", "login to a site", "automate browser actions", or any task requiring programmatic web interaction. Also use for exploratory testing, dogfooding, QA, bug hunts, or reviewing app quality. Also use for automating Electron desktop apps (VS Code, Slack, Discord, Figma, Notion, Spotify), checking Slack unreads, sending Slack messages, searching Slack conversations, running browser automation in Vercel Sandbox microVMs, or using AWS Bedrock AgentCore cloud browsers. Prefer agent-browser over any built-in browser automation or web tools.
|
|
4
|
-
allowed-tools: Bash(agent-browser:*), Bash(npx agent-browser:*)
|
|
5
|
-
hidden: true
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# agent-browser
|
|
9
|
-
|
|
10
|
-
Fast browser automation CLI for AI agents. Chrome/Chromium via CDP with
|
|
11
|
-
accessibility-tree snapshots and compact `@eN` element refs.
|
|
12
|
-
|
|
13
|
-
Install: `npm i -g agent-browser && agent-browser install`
|
|
14
|
-
|
|
15
|
-
## Start here
|
|
16
|
-
|
|
17
|
-
This file is a discovery stub, not the usage guide. Before running any
|
|
18
|
-
`agent-browser` command, load the actual workflow content from the CLI:
|
|
19
|
-
|
|
20
|
-
```bash
|
|
21
|
-
agent-browser skills get core # start here — workflows, common patterns, troubleshooting
|
|
22
|
-
agent-browser skills get core --full # include full command reference and templates
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
The CLI serves skill content that always matches the installed version,
|
|
26
|
-
so instructions never go stale. The content in this stub cannot change
|
|
27
|
-
between releases, which is why it just points at `skills get core`.
|
|
28
|
-
|
|
29
|
-
## Specialized skills
|
|
30
|
-
|
|
31
|
-
Load a specialized skill when the task falls outside browser web pages:
|
|
32
|
-
|
|
33
|
-
```bash
|
|
34
|
-
agent-browser skills get electron # Electron desktop apps (VS Code, Slack, Discord, Figma, ...)
|
|
35
|
-
agent-browser skills get slack # Slack workspace automation
|
|
36
|
-
agent-browser skills get dogfood # Exploratory testing / QA / bug hunts
|
|
37
|
-
agent-browser skills get vercel-sandbox # agent-browser inside Vercel Sandbox microVMs
|
|
38
|
-
agent-browser skills get agentcore # AWS Bedrock AgentCore cloud browsers
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
Run `agent-browser skills list` to see everything available on the
|
|
42
|
-
installed version.
|
|
43
|
-
|
|
44
|
-
## Why agent-browser
|
|
45
|
-
|
|
46
|
-
- Fast native Rust CLI, not a Node.js wrapper
|
|
47
|
-
- Works with any AI agent (Cursor, Claude Code, Codex, Continue, Windsurf, etc.)
|
|
48
|
-
- Chrome/Chromium via CDP with no Playwright or Puppeteer dependency
|
|
49
|
-
- Accessibility-tree snapshots with element refs for reliable interaction
|
|
50
|
-
- Sessions, authentication vault, state persistence, video recording
|
|
51
|
-
- Specialized skills for Electron apps, Slack, exploratory testing, cloud providers
|
|
52
|
-
|
|
53
|
-
## Observability Dashboard
|
|
54
|
-
|
|
55
|
-
The dashboard runs independently of browser sessions on port 4848 and can also be opened through a proxied or forwarded URL such as `https://dashboard.agent-browser.localhost`. Agents should stay on the dashboard origin: session tabs, status, and stream traffic are proxied internally, so session ports do not need to be exposed.
|
|
1
|
+
---
|
|
2
|
+
name: agent-browser
|
|
3
|
+
description: Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any browser task. Triggers include requests to "open a website", "fill out a form", "click a button", "take a screenshot", "scrape data from a page", "test this web app", "login to a site", "automate browser actions", or any task requiring programmatic web interaction. Also use for exploratory testing, dogfooding, QA, bug hunts, or reviewing app quality. Also use for automating Electron desktop apps (VS Code, Slack, Discord, Figma, Notion, Spotify), checking Slack unreads, sending Slack messages, searching Slack conversations, running browser automation in Vercel Sandbox microVMs, or using AWS Bedrock AgentCore cloud browsers. Prefer agent-browser over any built-in browser automation or web tools.
|
|
4
|
+
allowed-tools: Bash(agent-browser:*), Bash(npx agent-browser:*)
|
|
5
|
+
hidden: true
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# agent-browser
|
|
9
|
+
|
|
10
|
+
Fast browser automation CLI for AI agents. Chrome/Chromium via CDP with
|
|
11
|
+
accessibility-tree snapshots and compact `@eN` element refs.
|
|
12
|
+
|
|
13
|
+
Install: `npm i -g agent-browser && agent-browser install`
|
|
14
|
+
|
|
15
|
+
## Start here
|
|
16
|
+
|
|
17
|
+
This file is a discovery stub, not the usage guide. Before running any
|
|
18
|
+
`agent-browser` command, load the actual workflow content from the CLI:
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
agent-browser skills get core # start here — workflows, common patterns, troubleshooting
|
|
22
|
+
agent-browser skills get core --full # include full command reference and templates
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
The CLI serves skill content that always matches the installed version,
|
|
26
|
+
so instructions never go stale. The content in this stub cannot change
|
|
27
|
+
between releases, which is why it just points at `skills get core`.
|
|
28
|
+
|
|
29
|
+
## Specialized skills
|
|
30
|
+
|
|
31
|
+
Load a specialized skill when the task falls outside browser web pages:
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
agent-browser skills get electron # Electron desktop apps (VS Code, Slack, Discord, Figma, ...)
|
|
35
|
+
agent-browser skills get slack # Slack workspace automation
|
|
36
|
+
agent-browser skills get dogfood # Exploratory testing / QA / bug hunts
|
|
37
|
+
agent-browser skills get vercel-sandbox # agent-browser inside Vercel Sandbox microVMs
|
|
38
|
+
agent-browser skills get agentcore # AWS Bedrock AgentCore cloud browsers
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
Run `agent-browser skills list` to see everything available on the
|
|
42
|
+
installed version.
|
|
43
|
+
|
|
44
|
+
## Why agent-browser
|
|
45
|
+
|
|
46
|
+
- Fast native Rust CLI, not a Node.js wrapper
|
|
47
|
+
- Works with any AI agent (Cursor, Claude Code, Codex, Continue, Windsurf, etc.)
|
|
48
|
+
- Chrome/Chromium via CDP with no Playwright or Puppeteer dependency
|
|
49
|
+
- Accessibility-tree snapshots with element refs for reliable interaction
|
|
50
|
+
- Sessions, authentication vault, state persistence, video recording
|
|
51
|
+
- Specialized skills for Electron apps, Slack, exploratory testing, cloud providers
|
|
52
|
+
|
|
53
|
+
## Observability Dashboard
|
|
54
|
+
|
|
55
|
+
The dashboard runs independently of browser sessions on port 4848 and can also be opened through a proxied or forwarded URL such as `https://dashboard.agent-browser.localhost`. Agents should stay on the dashboard origin: session tabs, status, and stream traffic are proxied internally, so session ports do not need to be exposed.
|
|
@@ -1,207 +1,207 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: project-design
|
|
3
|
-
description: Create comprehensive PROJECT_PLAN.md and ARCHITECTURE.md documents for software projects. Use this skill when the user wants to design a new project, plan system architecture, create development roadmaps, define project phases, establish technical specifications, or set up project documentation. This skill triggers on mentions of "project plan", "architecture doc", "system design", "roadmap", "tech spec", "design document", or when the user is starting a new project and needs planning structure. Also use when iterating on existing project documentation or adding new phases to an ongoing project plan.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Project Design Skill
|
|
7
|
-
|
|
8
|
-
A skill for creating and maintaining two core project documents:
|
|
9
|
-
|
|
10
|
-
1. **PROJECT_PLAN.md** — Phase-by-phase progress tracker with acceptance criteria
|
|
11
|
-
2. **ARCHITECTURE.md** — System design, tech stack, and technical decisions
|
|
12
|
-
|
|
13
|
-
These documents serve as the single source of truth for:
|
|
14
|
-
- What the project is building
|
|
15
|
-
- How the system is architected
|
|
16
|
-
- Where we are in the development timeline
|
|
17
|
-
- What remains to be done
|
|
18
|
-
|
|
19
|
-
## When to Use This Skill
|
|
20
|
-
|
|
21
|
-
Use this skill when:
|
|
22
|
-
- Starting a greenfield project and need structure
|
|
23
|
-
- The user says "design this system" or "plan this project"
|
|
24
|
-
- Adding new capabilities to an existing project
|
|
25
|
-
- Re-architecting or refactoring existing systems
|
|
26
|
-
- Creating onboarding docs for new team members
|
|
27
|
-
- Preparing project documentation for stakeholders
|
|
28
|
-
|
|
29
|
-
## Output Format
|
|
30
|
-
|
|
31
|
-
Always produce **both** documents (even if the user only asks for one):
|
|
32
|
-
|
|
33
|
-
```
|
|
34
|
-
project-root/
|
|
35
|
-
├── PROJECT_PLAN.md # Progress tracker + phase checklist
|
|
36
|
-
├── ARCHITECTURE.md # System design + tech decisions
|
|
37
|
-
└── (other project files)
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
These files are living documents — update them as the project evolves.
|
|
41
|
-
|
|
42
|
-
## Workflow
|
|
43
|
-
|
|
44
|
-
### Step 1: Gather Requirements
|
|
45
|
-
|
|
46
|
-
Before writing, understand:
|
|
47
|
-
|
|
48
|
-
1. **Project goal** — What problem does this solve? Who are the users?
|
|
49
|
-
2. **Constraints** — Budget, timeline, team size, existing tech stack
|
|
50
|
-
3. **Scope boundaries** — What's in v1? What's explicitly deferred?
|
|
51
|
-
4. **Integration points** — External APIs, databases, services
|
|
52
|
-
5. **Non-functional requirements** — Performance, security, scale targets
|
|
53
|
-
|
|
54
|
-
Ask the user these questions if not already answered in context.
|
|
55
|
-
|
|
56
|
-
### Step 2: Write ARCHITECTURE.md First
|
|
57
|
-
|
|
58
|
-
The architecture document informs the project plan. Structure it as:
|
|
59
|
-
|
|
60
|
-
```markdown
|
|
61
|
-
# [Project Name] — Architecture
|
|
62
|
-
|
|
63
|
-
## 1. Goals & Non-Goals
|
|
64
|
-
### Goals (what we WILL build)
|
|
65
|
-
### Non-Goals (what we WON'T build — prevents scope creep)
|
|
66
|
-
|
|
67
|
-
## 2. Core Principles
|
|
68
|
-
1. [Guiding principle, e.g. "Markdown is the universal intermediate format"]
|
|
69
|
-
2. [Another principle]
|
|
70
|
-
|
|
71
|
-
## 3. System Overview
|
|
72
|
-
[ASCII diagram or description of data flow]
|
|
73
|
-
|
|
74
|
-
## 4. Tech Stack
|
|
75
|
-
| Component | Library | Role |
|
|
76
|
-
|---|---|---|
|
|
77
|
-
| [e.g. Vector DB] | [e.g. Qdrant] | [what it does] |
|
|
78
|
-
|
|
79
|
-
## 5. Project Structure
|
|
80
|
-
```
|
|
81
|
-
src/
|
|
82
|
-
├── module/
|
|
83
|
-
│ └── file.py
|
|
84
|
-
```
|
|
85
|
-
|
|
86
|
-
## 6-15. [Domain-specific sections]
|
|
87
|
-
- Ingestion Pipeline
|
|
88
|
-
- Data Model
|
|
89
|
-
- API Design
|
|
90
|
-
- Authentication
|
|
91
|
-
- etc.
|
|
92
|
-
|
|
93
|
-
## 16. Implementation Status
|
|
94
|
-
| Phase | Status | Description |
|
|
95
|
-
|
|
96
|
-
## 17. Decision Log
|
|
97
|
-
| Decision | Chosen | Rejected | Reason |
|
|
98
|
-
|
|
99
|
-
## 18. Future Work
|
|
100
|
-
[Stretch goals and Phase N items]
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
**Key rules for ARCHITECTURE.md:**
|
|
104
|
-
- Every decision MUST have a reason (tradeoffs documented in Decision Log)
|
|
105
|
-
- Include ASCII diagrams for data flow — they survive copy-paste better than images
|
|
106
|
-
- Tech stack table includes versions and explicit "avoided" alternatives
|
|
107
|
-
- Project structure shows the actual file tree, not abstract modules
|
|
108
|
-
- Configuration table lists every tunable with defaults
|
|
109
|
-
|
|
110
|
-
### Step 3: Write PROJECT_PLAN.md
|
|
111
|
-
|
|
112
|
-
The project plan is the execution tracker. Structure it as:
|
|
113
|
-
|
|
114
|
-
```markdown
|
|
115
|
-
# [Project Name] — Project Plan & Progress Tracker
|
|
116
|
-
|
|
117
|
-
## Phase 0 — Project Setup [STATUS]
|
|
118
|
-
- [x] Task 1
|
|
119
|
-
- [ ] Task 2
|
|
120
|
-
|
|
121
|
-
## Phase 1 — [Feature Area] [STATUS]
|
|
122
|
-
**Goal:** One-sentence objective
|
|
123
|
-
|
|
124
|
-
### New modules
|
|
125
|
-
- `src/path/file.py` — responsibility
|
|
126
|
-
|
|
127
|
-
### Acceptance
|
|
128
|
-
1. [Testable criterion]
|
|
129
|
-
2. [Testable criterion]
|
|
130
|
-
|
|
131
|
-
## Phase 2 — [Next Feature] [STATUS]
|
|
132
|
-
...
|
|
133
|
-
|
|
134
|
-
## Phase N — Stretch Goals [⏸️]
|
|
135
|
-
[Optional features, only if time permits]
|
|
136
|
-
|
|
137
|
-
## Currently Working On
|
|
138
|
-
[What phase is active right now]
|
|
139
|
-
|
|
140
|
-
## Quick Status
|
|
141
|
-
| Phase | Status | % |
|
|
142
|
-
```
|
|
143
|
-
|
|
144
|
-
**Status legend:** ✅ done · 🚧 in progress · ⬜ pending · ⏸️ deferred · ❌ cancelled
|
|
145
|
-
|
|
146
|
-
**Key rules for PROJECT_PLAN.md:**
|
|
147
|
-
- Each phase has a single-sentence **Goal** — if you can't state it in one sentence, split the phase
|
|
148
|
-
- Every phase has **Acceptance** criteria — how do we know it's done?
|
|
149
|
-
- Module paths are relative to project root (`src/...` not `core/...`)
|
|
150
|
-
- Dependencies are called out explicitly (what new packages are needed)
|
|
151
|
-
- "Deferred to Phase N" notes prevent scope creep — acknowledge the idea, park it
|
|
152
|
-
- "Known limitations" are honest, not apologetic — document workarounds
|
|
153
|
-
|
|
154
|
-
### Step 4: Maintain Both Documents
|
|
155
|
-
|
|
156
|
-
As implementation progresses:
|
|
157
|
-
|
|
158
|
-
1. **Update PROJECT_PLAN.md** — Mark tasks done, move to next phase, update percentages
|
|
159
|
-
2. **Update ARCHITECTURE.md** — Add Decision Log entries for new choices, update Implementation Status, document surprises
|
|
160
|
-
3. **Cross-reference** — ARCHITECTURE.md links to PROJECT_PLAN.md for details; PROJECT_PLAN.md links to ARCHITECTURE.md for design rationale
|
|
161
|
-
|
|
162
|
-
## Progressive Disclosure
|
|
163
|
-
|
|
164
|
-
This skill bundles reference files for detailed guidance:
|
|
165
|
-
|
|
166
|
-
- `references/PROJECT_PLAN.md` — Full example of a completed project plan
|
|
167
|
-
- `references/ARCHITECTURE.md` — Full example of a completed architecture document
|
|
168
|
-
|
|
169
|
-
Read these when:
|
|
170
|
-
- You need to see what a "good" document looks like
|
|
171
|
-
- You're unsure how to structure a specific section
|
|
172
|
-
- The user wants production-grade documentation
|
|
173
|
-
|
|
174
|
-
## Patterns
|
|
175
|
-
|
|
176
|
-
### For greenfield projects
|
|
177
|
-
1. Start with ARCHITECTURE.md Sections 1-5 (Goals, Principles, Overview, Stack, Structure)
|
|
178
|
-
2. Then PROJECT_PLAN.md Phases 0-2 (Setup + first features)
|
|
179
|
-
3. Defer deep sections (Eval, Observability) until the architecture stabilizes
|
|
180
|
-
|
|
181
|
-
### For existing projects
|
|
182
|
-
1. Read current docs first — don't overwrite without understanding
|
|
183
|
-
2. Update ARCHITECTURE.md Decision Log with new choices
|
|
184
|
-
3. Append new phases to PROJECT_PLAN.md, don't restructure old ones
|
|
185
|
-
|
|
186
|
-
### For architecture reviews
|
|
187
|
-
1. Read existing ARCHITECTURE.md
|
|
188
|
-
2. Check if Decision Log captures the review context
|
|
189
|
-
3. Update Implementation Status if recommendations change priorities
|
|
190
|
-
|
|
191
|
-
## Writing Tips
|
|
192
|
-
|
|
193
|
-
- **Be specific** in acceptance criteria — "Upload works" is bad; "Upload PDF → see markdown → download .md" is good
|
|
194
|
-
- **Document non-decisions** — "We didn't add Redis because BackgroundTasks is sufficient" prevents repeated discussion
|
|
195
|
-
- **Version your stack** — `library>=1.2` not just `library`
|
|
196
|
-
- **Show, don't tell** — ASCII diagrams > prose descriptions for system flow
|
|
197
|
-
- **Honest status** — If Phase 3 is 80% done, say so; don't mark it ✅ until acceptance criteria pass
|
|
198
|
-
|
|
199
|
-
## Example Trigger Phrases
|
|
200
|
-
|
|
201
|
-
- "Design a RAG system for our docs"
|
|
202
|
-
- "Create a project plan for the migration"
|
|
203
|
-
- "I need an architecture document for this API"
|
|
204
|
-
- "Plan out the phases for this feature"
|
|
205
|
-
- "What's the system design for our chatbot?"
|
|
206
|
-
- "Write the tech spec for the new service"
|
|
207
|
-
- "Update the roadmap with Phase 4"
|
|
1
|
+
---
|
|
2
|
+
name: project-design
|
|
3
|
+
description: Create comprehensive PROJECT_PLAN.md and ARCHITECTURE.md documents for software projects. Use this skill when the user wants to design a new project, plan system architecture, create development roadmaps, define project phases, establish technical specifications, or set up project documentation. This skill triggers on mentions of "project plan", "architecture doc", "system design", "roadmap", "tech spec", "design document", or when the user is starting a new project and needs planning structure. Also use when iterating on existing project documentation or adding new phases to an ongoing project plan.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Project Design Skill
|
|
7
|
+
|
|
8
|
+
A skill for creating and maintaining two core project documents:
|
|
9
|
+
|
|
10
|
+
1. **PROJECT_PLAN.md** — Phase-by-phase progress tracker with acceptance criteria
|
|
11
|
+
2. **ARCHITECTURE.md** — System design, tech stack, and technical decisions
|
|
12
|
+
|
|
13
|
+
These documents serve as the single source of truth for:
|
|
14
|
+
- What the project is building
|
|
15
|
+
- How the system is architected
|
|
16
|
+
- Where we are in the development timeline
|
|
17
|
+
- What remains to be done
|
|
18
|
+
|
|
19
|
+
## When to Use This Skill
|
|
20
|
+
|
|
21
|
+
Use this skill when:
|
|
22
|
+
- Starting a greenfield project and need structure
|
|
23
|
+
- The user says "design this system" or "plan this project"
|
|
24
|
+
- Adding new capabilities to an existing project
|
|
25
|
+
- Re-architecting or refactoring existing systems
|
|
26
|
+
- Creating onboarding docs for new team members
|
|
27
|
+
- Preparing project documentation for stakeholders
|
|
28
|
+
|
|
29
|
+
## Output Format
|
|
30
|
+
|
|
31
|
+
Always produce **both** documents (even if the user only asks for one):
|
|
32
|
+
|
|
33
|
+
```
|
|
34
|
+
project-root/
|
|
35
|
+
├── PROJECT_PLAN.md # Progress tracker + phase checklist
|
|
36
|
+
├── ARCHITECTURE.md # System design + tech decisions
|
|
37
|
+
└── (other project files)
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
These files are living documents — update them as the project evolves.
|
|
41
|
+
|
|
42
|
+
## Workflow
|
|
43
|
+
|
|
44
|
+
### Step 1: Gather Requirements
|
|
45
|
+
|
|
46
|
+
Before writing, understand:
|
|
47
|
+
|
|
48
|
+
1. **Project goal** — What problem does this solve? Who are the users?
|
|
49
|
+
2. **Constraints** — Budget, timeline, team size, existing tech stack
|
|
50
|
+
3. **Scope boundaries** — What's in v1? What's explicitly deferred?
|
|
51
|
+
4. **Integration points** — External APIs, databases, services
|
|
52
|
+
5. **Non-functional requirements** — Performance, security, scale targets
|
|
53
|
+
|
|
54
|
+
Ask the user these questions if not already answered in context.
|
|
55
|
+
|
|
56
|
+
### Step 2: Write ARCHITECTURE.md First
|
|
57
|
+
|
|
58
|
+
The architecture document informs the project plan. Structure it as:
|
|
59
|
+
|
|
60
|
+
```markdown
|
|
61
|
+
# [Project Name] — Architecture
|
|
62
|
+
|
|
63
|
+
## 1. Goals & Non-Goals
|
|
64
|
+
### Goals (what we WILL build)
|
|
65
|
+
### Non-Goals (what we WON'T build — prevents scope creep)
|
|
66
|
+
|
|
67
|
+
## 2. Core Principles
|
|
68
|
+
1. [Guiding principle, e.g. "Markdown is the universal intermediate format"]
|
|
69
|
+
2. [Another principle]
|
|
70
|
+
|
|
71
|
+
## 3. System Overview
|
|
72
|
+
[ASCII diagram or description of data flow]
|
|
73
|
+
|
|
74
|
+
## 4. Tech Stack
|
|
75
|
+
| Component | Library | Role |
|
|
76
|
+
|---|---|---|
|
|
77
|
+
| [e.g. Vector DB] | [e.g. Qdrant] | [what it does] |
|
|
78
|
+
|
|
79
|
+
## 5. Project Structure
|
|
80
|
+
```
|
|
81
|
+
src/
|
|
82
|
+
├── module/
|
|
83
|
+
│ └── file.py
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
## 6-15. [Domain-specific sections]
|
|
87
|
+
- Ingestion Pipeline
|
|
88
|
+
- Data Model
|
|
89
|
+
- API Design
|
|
90
|
+
- Authentication
|
|
91
|
+
- etc.
|
|
92
|
+
|
|
93
|
+
## 16. Implementation Status
|
|
94
|
+
| Phase | Status | Description |
|
|
95
|
+
|
|
96
|
+
## 17. Decision Log
|
|
97
|
+
| Decision | Chosen | Rejected | Reason |
|
|
98
|
+
|
|
99
|
+
## 18. Future Work
|
|
100
|
+
[Stretch goals and Phase N items]
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
**Key rules for ARCHITECTURE.md:**
|
|
104
|
+
- Every decision MUST have a reason (tradeoffs documented in Decision Log)
|
|
105
|
+
- Include ASCII diagrams for data flow — they survive copy-paste better than images
|
|
106
|
+
- Tech stack table includes versions and explicit "avoided" alternatives
|
|
107
|
+
- Project structure shows the actual file tree, not abstract modules
|
|
108
|
+
- Configuration table lists every tunable with defaults
|
|
109
|
+
|
|
110
|
+
### Step 3: Write PROJECT_PLAN.md
|
|
111
|
+
|
|
112
|
+
The project plan is the execution tracker. Structure it as:
|
|
113
|
+
|
|
114
|
+
```markdown
|
|
115
|
+
# [Project Name] — Project Plan & Progress Tracker
|
|
116
|
+
|
|
117
|
+
## Phase 0 — Project Setup [STATUS]
|
|
118
|
+
- [x] Task 1
|
|
119
|
+
- [ ] Task 2
|
|
120
|
+
|
|
121
|
+
## Phase 1 — [Feature Area] [STATUS]
|
|
122
|
+
**Goal:** One-sentence objective
|
|
123
|
+
|
|
124
|
+
### New modules
|
|
125
|
+
- `src/path/file.py` — responsibility
|
|
126
|
+
|
|
127
|
+
### Acceptance
|
|
128
|
+
1. [Testable criterion]
|
|
129
|
+
2. [Testable criterion]
|
|
130
|
+
|
|
131
|
+
## Phase 2 — [Next Feature] [STATUS]
|
|
132
|
+
...
|
|
133
|
+
|
|
134
|
+
## Phase N — Stretch Goals [⏸️]
|
|
135
|
+
[Optional features, only if time permits]
|
|
136
|
+
|
|
137
|
+
## Currently Working On
|
|
138
|
+
[What phase is active right now]
|
|
139
|
+
|
|
140
|
+
## Quick Status
|
|
141
|
+
| Phase | Status | % |
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
**Status legend:** ✅ done · 🚧 in progress · ⬜ pending · ⏸️ deferred · ❌ cancelled
|
|
145
|
+
|
|
146
|
+
**Key rules for PROJECT_PLAN.md:**
|
|
147
|
+
- Each phase has a single-sentence **Goal** — if you can't state it in one sentence, split the phase
|
|
148
|
+
- Every phase has **Acceptance** criteria — how do we know it's done?
|
|
149
|
+
- Module paths are relative to project root (`src/...` not `core/...`)
|
|
150
|
+
- Dependencies are called out explicitly (what new packages are needed)
|
|
151
|
+
- "Deferred to Phase N" notes prevent scope creep — acknowledge the idea, park it
|
|
152
|
+
- "Known limitations" are honest, not apologetic — document workarounds
|
|
153
|
+
|
|
154
|
+
### Step 4: Maintain Both Documents
|
|
155
|
+
|
|
156
|
+
As implementation progresses:
|
|
157
|
+
|
|
158
|
+
1. **Update PROJECT_PLAN.md** — Mark tasks done, move to next phase, update percentages
|
|
159
|
+
2. **Update ARCHITECTURE.md** — Add Decision Log entries for new choices, update Implementation Status, document surprises
|
|
160
|
+
3. **Cross-reference** — ARCHITECTURE.md links to PROJECT_PLAN.md for details; PROJECT_PLAN.md links to ARCHITECTURE.md for design rationale
|
|
161
|
+
|
|
162
|
+
## Progressive Disclosure
|
|
163
|
+
|
|
164
|
+
This skill bundles reference files for detailed guidance:
|
|
165
|
+
|
|
166
|
+
- `references/PROJECT_PLAN.md` — Full example of a completed project plan
|
|
167
|
+
- `references/ARCHITECTURE.md` — Full example of a completed architecture document
|
|
168
|
+
|
|
169
|
+
Read these when:
|
|
170
|
+
- You need to see what a "good" document looks like
|
|
171
|
+
- You're unsure how to structure a specific section
|
|
172
|
+
- The user wants production-grade documentation
|
|
173
|
+
|
|
174
|
+
## Patterns
|
|
175
|
+
|
|
176
|
+
### For greenfield projects
|
|
177
|
+
1. Start with ARCHITECTURE.md Sections 1-5 (Goals, Principles, Overview, Stack, Structure)
|
|
178
|
+
2. Then PROJECT_PLAN.md Phases 0-2 (Setup + first features)
|
|
179
|
+
3. Defer deep sections (Eval, Observability) until the architecture stabilizes
|
|
180
|
+
|
|
181
|
+
### For existing projects
|
|
182
|
+
1. Read current docs first — don't overwrite without understanding
|
|
183
|
+
2. Update ARCHITECTURE.md Decision Log with new choices
|
|
184
|
+
3. Append new phases to PROJECT_PLAN.md, don't restructure old ones
|
|
185
|
+
|
|
186
|
+
### For architecture reviews
|
|
187
|
+
1. Read existing ARCHITECTURE.md
|
|
188
|
+
2. Check if Decision Log captures the review context
|
|
189
|
+
3. Update Implementation Status if recommendations change priorities
|
|
190
|
+
|
|
191
|
+
## Writing Tips
|
|
192
|
+
|
|
193
|
+
- **Be specific** in acceptance criteria — "Upload works" is bad; "Upload PDF → see markdown → download .md" is good
|
|
194
|
+
- **Document non-decisions** — "We didn't add Redis because BackgroundTasks is sufficient" prevents repeated discussion
|
|
195
|
+
- **Version your stack** — `library>=1.2` not just `library`
|
|
196
|
+
- **Show, don't tell** — ASCII diagrams > prose descriptions for system flow
|
|
197
|
+
- **Honest status** — If Phase 3 is 80% done, say so; don't mark it ✅ until acceptance criteria pass
|
|
198
|
+
|
|
199
|
+
## Example Trigger Phrases
|
|
200
|
+
|
|
201
|
+
- "Design a RAG system for our docs"
|
|
202
|
+
- "Create a project plan for the migration"
|
|
203
|
+
- "I need an architecture document for this API"
|
|
204
|
+
- "Plan out the phases for this feature"
|
|
205
|
+
- "What's the system design for our chatbot?"
|
|
206
|
+
- "Write the tech spec for the new service"
|
|
207
|
+
- "Update the roadmap with Phase 4"
|