opencode-onboard 0.0.5 → 0.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.
Files changed (32) hide show
  1. package/README.md +44 -33
  2. package/content/{.opencode → .agents}/agents/.bootstrap/AGENTS.template.md +7 -7
  3. package/content/{.opencode → .agents}/agents/back-engineer.md +18 -17
  4. package/content/{.opencode → .agents}/agents/devops-manager.md +22 -29
  5. package/content/{.opencode → .agents}/agents/front-engineer.md +18 -18
  6. package/content/{.opencode → .agents}/agents/infra-engineer.md +19 -18
  7. package/content/{.opencode → .agents}/agents/quality-engineer.md +17 -18
  8. package/content/{.opencode → .agents}/agents/security-auditor.md +19 -20
  9. package/content/.opencode/package-lock.json +3 -3
  10. package/content/AGENTS.md +1 -1
  11. package/package.json +1 -1
  12. package/src/index.js +105 -67
  13. package/src/steps/__tests__/clean-ai-files.test.js +44 -30
  14. package/src/steps/check-platform.js +2 -2
  15. package/src/steps/check-rtk.js +1 -1
  16. package/src/steps/choose-models.js +141 -0
  17. package/src/steps/choose-skills-provider.js +51 -32
  18. package/src/steps/clean-ai-files.js +9 -9
  19. package/src/steps/copy-content.js +1 -1
  20. package/src/steps/install-browser.js +19 -27
  21. package/src/utils/__tests__/copy.test.js +0 -22
  22. package/src/utils/__tests__/exec.test.js +6 -4
  23. package/src/utils/copy.js +1 -1
  24. package/src/utils/exec.js +161 -84
  25. package/src/utils/models-cache.js +101 -0
  26. package/content/.opencode/agents/.bootstrap/CUSTOM-AGENT.template.md +0 -24
  27. package/content/.opencode/commands/.gitkeep +0 -0
  28. package/src/presets/skills-providers.json +0 -14
  29. package/src/steps/__tests__/choose-team.test.js +0 -105
  30. /package/content/{.opencode → .agents}/skills/browser-automation/SKILL.md +0 -0
  31. /package/content/{.opencode → .agents}/skills/ob-userstory-az/SKILL.md +0 -0
  32. /package/content/{.opencode → .agents}/skills/ob-userstory-gh/SKILL.md +0 -0
package/README.md CHANGED
@@ -1,13 +1,8 @@
1
- <!--
2
- BANNER
3
- Replace the line below with your actual banner image once ready.
4
- Recommended size: 1280×640px, dark background.
5
- <img src="./assets/banner.png" alt="opencode-onboard banner" width="100%" />
6
- -->
7
-
8
1
  <div align="center">
9
2
 
10
- # opencode-onboard
3
+ <img src="https://raw.githubusercontent.com/CKGrafico/opencode-onboard/refs/heads/main/logo.png" alt="opencode-onboard" width="160" />
4
+
5
+ # 🧰 opencode-onboard
11
6
 
12
7
  **One command to prepare any codebase for AI agent workflows.**
13
8
 
@@ -20,16 +15,15 @@ Works with [OpenCode](https://opencode.ai), [OpenCode Ensemble](https://github.c
20
15
 
21
16
  </div>
22
17
 
23
- ---
24
-
25
18
  ## What is this?
26
19
 
27
20
  Most codebases have no `AGENTS.md`, no architecture docs agents can read, and no defined workflow for picking up tasks. Agents end up improvising, and that produces inconsistent, brittle results.
28
21
 
29
- **opencode-onboard** fixes that in a single interactive run. It installs a universal agent team and the skills they need to work on your project, platform-aware, non-destructive, and ready the moment it finishes.
30
-
31
- > **Note:** This is an independent community tool, not built by or affiliated with the OpenCode team.
22
+ **opencode-onboard** fixes that in a single interactive run. It installs a universal agent team, the skills they need, picks your AI models, and configures OpenCode, platform-aware, non-destructive, and ready the moment it finishes.
32
23
 
24
+ <div align="center">
25
+ <img src="https://raw.githubusercontent.com/CKGrafico/opencode-onboard/refs/heads/main/demo.gif" alt="opencode-onboard demo" width="700" />
26
+ </div>
33
27
  ---
34
28
 
35
29
  ## Quick start
@@ -44,19 +38,20 @@ Requires **Node.js 18+**.
44
38
 
45
39
  ## How it works
46
40
 
47
- The CLI runs through a short interactive sequence:
41
+ The CLI clears the screen, shows a welcome banner, and walks you through 10 steps. The screen always shows the last 2 completed steps + the current one so you always know where you are.
48
42
 
49
43
  | Step | What happens |
50
44
  |------|-------------|
51
- | **1. Environment check** | Verifies Node.js ≥ 18 and npm/pnpm are available |
52
- | **2. Clean AI files** | Detects existing `AGENTS.md`, `.cursorrules`, `CLAUDE.md`, etc. and offers to remove them |
45
+ | **1. Environment check** | Verifies Node.js ≥ 18 and pnpm are available |
46
+ | **2. Clean AI files** | Detects existing `AGENTS.md`, `.cursorrules`, `CLAUDE.md`, `.agents/` etc. and removes them, preserves your `.agents/skills/` |
53
47
  | **3. Choose platform** | GitHub or Azure DevOps |
54
- | **4. Copy scaffolding** | Drops the agent layer and bootstrap docs into your project |
55
- | **5. Choose skills provider** | Installs platform skills agents use for work item and PR workflows |
56
- | **6. Init OpenSpec** | Runs `npx @fission-ai/openspec init` for structured change management |
57
- | **7. Install opencode-browser** | Browser plugin agents use for local UI screenshots |
58
- | **8. Check rtk** | Verifies `rtk` is on PATH |
59
- | **9. Verify platform CLI** | Checks `gh` (GitHub) or `az` + `azure-devops` (Azure DevOps) |
48
+ | **4. Check platform CLI** | Verifies `gh` (GitHub) or `az` + `azure-devops` (Azure DevOps) |
49
+ | **5. Copy scaffolding** | Drops agents, skills, and bootstrap docs into your project |
50
+ | **6. Init OpenSpec** | Runs `npx @fission-ai/openspec init` silently for structured change management |
51
+ | **7. Install skills** | Installs built-in `ob-` skills + optional additional skills provider |
52
+ | **8. Choose models** | Fetches live model list from [models.dev](https://models.dev), lets you pick plan / build / fast models with cost indicators and canonical pricing |
53
+ | **9. Check RTK** | Verifies `rtk` is on PATH |
54
+ | **10. Install browser plugin** | Installs `@different-ai/opencode-browser` globally for agent browser automation |
60
55
 
61
56
  When it finishes, open OpenCode in your project and type:
62
57
 
@@ -85,20 +80,33 @@ quality-engineer unit, integration, e2e tests across all layers
85
80
  security-auditor vulnerability audit, secrets, auth gaps
86
81
  ```
87
82
 
83
+ Each agent has a color in the OpenCode UI. Builder agents (`front-engineer`, `back-engineer`, `infra-engineer`) run at `temperature: 0.2` for deterministic output. `security-auditor` is read-only, edit is denied.
84
+
88
85
  ### Skills, platform knowledge
89
86
 
90
- Skills define *what to know*. They are installed separately and provide the tech and platform-specific knowledge agents need. Agents detect and load relevant skills automatically, **you never tell an agent which skill to use**.
87
+ Skills define *what to know*. They provide the tech and platform-specific knowledge agents need. Agents detect and load relevant skills automatically, **you never tell an agent which skill to use**.
91
88
 
92
- Skills shipped with opencode-onboard (`ob-` prefix):
89
+ Built-in skills (`ob-` prefix) shipped with opencode-onboard:
93
90
 
94
91
  | Skill | Purpose |
95
92
  |-------|---------|
96
93
  | `ob-userstory-gh` | Parse a GitHub Issue URL into a structured work item |
97
94
  | `ob-userstory-az` | Parse an Azure DevOps work item URL |
98
- | `ob-pullrequest-gh` | Create and update PRs on GitHub |
99
- | `ob-pullrequest-az` | Create and update PRs on Azure DevOps |
95
+ | `browser-automation` | Browser control via `@different-ai/opencode-browser` |
96
+
97
+ Skills live in `.agents/skills/`. Any `SKILL.md` file in a subdirectory is automatically discoverable, write your own and agents will pick them up.
98
+
99
+ ### Models, plan / build / fast
100
+
101
+ During onboarding you pick three models:
102
+
103
+ | Role | Used by | Pick |
104
+ |------|---------|------|
105
+ | **plan** | Main OpenCode session | Something capable with strong reasoning |
106
+ | **build** | All builder agents | Something capable for implementation |
107
+ | **fast** | `devops-manager` | Something fast and cheap |
100
108
 
101
- Skills are plain Markdown files in `.opencode/skills/`. You can write your own, any file with a `SKILL.md` in a subdirectory is automatically discoverable by agents.
109
+ Models are fetched live from [models.dev](https://models.dev) (3000+ models, cached weekly). Cost tiers `[$]` `[$$]` `[$$$]` always reflect the canonical provider price, so `github-copilot/claude-opus-4.7` shows `[$$]` not `[$]`.
102
110
 
103
111
  ---
104
112
 
@@ -133,10 +141,12 @@ Each agent runs in its own isolated git worktree via [OpenCode Ensemble](https:/
133
141
 
134
142
  ```
135
143
  your-project/
136
- ├── AGENTS.md ← bootstrap mode, replaced after first "init"
137
- ├── ARCHITECTURE.md ← prompt for agents to fill in from your codebase
138
- ├── DESIGN.md ← prompt for agents to fill in from your codebase
139
- └── .opencode/
144
+ ├── AGENTS.md ← bootstrap mode, replaced after first "init"
145
+ ├── ARCHITECTURE.md ← prompt for agents to fill in from your codebase
146
+ ├── DESIGN.md ← prompt for agents to fill in from your codebase
147
+ ├── .opencode/
148
+ │ └── opencode.json ← plan model + plugins configured
149
+ └── .agents/
140
150
  ├── agents/
141
151
  │ ├── devops-manager.md
142
152
  │ ├── front-engineer.md
@@ -145,8 +155,9 @@ your-project/
145
155
  │ ├── quality-engineer.md
146
156
  │ └── security-auditor.md
147
157
  └── skills/
148
- ├── ob-userstory-gh/ ← or -az, depending on platform
149
- └── ob-pullrequest-gh/
158
+ ├── browser-automation/
159
+ ├── ob-userstory-gh/ ← or -az, depending on platform
160
+ └── ob-userstory-az/
150
161
  ```
151
162
 
152
163
  ---
@@ -133,18 +133,18 @@ All agents are universal, no project-specific knowledge. Platform and tech knowl
133
133
 
134
134
  | Agent | File | Role |
135
135
  |-------|------|------|
136
- | `devops-manager` | .opencode/agents/devops-manager.md | Reads work items, creates PRs, handles review feedback |
137
- | `front-engineer` | .opencode/agents/front-engineer.md | Web, mobile, UI implementation |
138
- | `back-engineer` | .opencode/agents/back-engineer.md | APIs, services, data, AI implementation |
139
- | `infra-engineer` | .opencode/agents/infra-engineer.md | Terraform, pipelines, cloud infrastructure |
140
- | `quality-engineer` | .opencode/agents/quality-engineer.md | Unit, integration, e2e tests across all layers |
141
- | `security-auditor` | .opencode/agents/security-auditor.md | Vulnerability audit, secrets, auth gaps |
136
+ | `devops-manager` | .agents/agents/devops-manager.md | Reads work items, creates PRs, handles review feedback |
137
+ | `front-engineer` | .agents/agents/front-engineer.md | Web, mobile, UI implementation |
138
+ | `back-engineer` | .agents/agents/back-engineer.md | APIs, services, data, AI implementation |
139
+ | `infra-engineer` | .agents/agents/infra-engineer.md | Terraform, pipelines, cloud infrastructure |
140
+ | `quality-engineer` | .agents/agents/quality-engineer.md | Unit, integration, e2e tests across all layers |
141
+ | `security-auditor` | .agents/agents/security-auditor.md | Vulnerability audit, secrets, auth gaps |
142
142
 
143
143
  ## Skills
144
144
 
145
145
  Skills provide platform and tech-specific knowledge. Agents detect and load them automatically, the user never specifies which skill to use.
146
146
 
147
- Skills are located in `.opencode/skills/`. Each skill has a `SKILL.md` with a description the agent reads to determine relevance.
147
+ Skills are located in `.agents/skills/`. Each skill has a `SKILL.md` with a description the agent reads to determine relevance.
148
148
 
149
149
  | Skill | Purpose |
150
150
  |-------|---------|
@@ -1,15 +1,19 @@
1
- # Back Engineer
1
+ ---
2
+ description: Backend engineer. Implements APIs, services, data models, business logic, AI integrations. Anything that is not UI. Receives tasks from lead, implements, reports back.
3
+ mode: subagent
4
+ color: #68A063
5
+ temperature: 0.2
6
+ permission:
7
+ edit: allow
8
+ bash: allow
9
+ read: allow
10
+ glob: allow
11
+ grep: allow
12
+ ---
2
13
 
3
- > Backend specialist, APIs, monoliths, data, AI, anything not UI. Spawned by the lead agent via opencode-ensemble.
14
+ # Back Engineer
4
15
 
5
- ```
6
- name: back-engineer
7
- mode: subagent
8
- model: build
9
- description: |
10
- Backend engineer. Implements APIs, services, data models, business logic, AI integrations.
11
- Anything that is not UI. Receives tasks from lead, implements, reports back.
12
- ```
16
+ Backend specialist, APIs, monoliths, data, AI, anything not UI. Spawned by the lead agent via opencode-ensemble.
13
17
 
14
18
  ## Domain
15
19
 
@@ -27,23 +31,20 @@ If `rtk` is not available, report it as a blocker. Do not run commands without i
27
31
 
28
32
  ## Skills, Auto-Detection
29
33
 
30
- Skills are located in `.opencode/skills/`. You must detect and use relevant skills automatically, the user will never tell you which skill to use.
34
+ Skills are located in `.agents/skills/`. Detect and use relevant skills automatically, the user will never tell you which skill to use.
31
35
 
32
- **How to detect:**
33
- 1. Read the task description and identify the domain and platform
34
- 2. Scan `.opencode/skills/` for available skills
36
+ 1. Read the task and identify domain and platform
37
+ 2. Scan `.agents/skills/` for available skills
35
38
  3. Read each `SKILL.md` description to assess relevance
36
39
  4. Load and follow any skill that applies, even partial match warrants loading
37
40
 
38
- **Rules:**
41
+ Rules:
39
42
  - Never implement directly if a skill applies
40
43
  - Follow skill instructions exactly, do not partially apply them
41
- - A skill that is 50% relevant still takes priority over improvising
42
44
  - If two skills apply, follow both, resolve conflicts by asking the lead
43
45
 
44
46
  ## Responsibilities
45
47
 
46
- Implement all backend tasks assigned by the lead agent:
47
48
  - API endpoints and controllers
48
49
  - Data models and migrations
49
50
  - Business logic and domain services
@@ -1,20 +1,23 @@
1
+ ---
2
+ description: Process agent. Reads work items and user stories at pipeline start. Creates PRs, posts screenshots, responds to review comments at pipeline end. Bridges the work tracker and the repository. Platform knowledge comes from skills.
3
+ mode: subagent
4
+ color: primary
5
+ permission:
6
+ edit: allow
7
+ bash: allow
8
+ read: allow
9
+ glob: allow
10
+ grep: allow
11
+ webfetch: allow
12
+ ---
13
+
1
14
  # DevOps Manager
2
15
 
3
- > Process agent, reads work items, creates PRs, handles review feedback. Bookends the pipeline. Spawned by the lead agent via opencode-ensemble.
4
-
5
- ```
6
- name: devops-manager
7
- mode: subagent
8
- model: build
9
- description: |
10
- Process agent. Reads work items and user stories at pipeline start.
11
- Creates PRs, posts screenshots, responds to review comments at pipeline end.
12
- Bridges the work tracker and the repository. Platform knowledge comes from skills.
13
- ```
16
+ Process agent, reads work items, creates PRs, handles review feedback. Bookends the pipeline. Spawned by the lead agent via opencode-ensemble.
14
17
 
15
18
  ## Domain
16
19
 
17
- Work item and issue reading, PR creation, PR comment reading and classification, PR updates, screenshot capture of local running app, branch verification. Does not write application code. Platform knowledge (GitHub, Azure DevOps, Jira, etc.) comes entirely from loaded skills.
20
+ Work item and issue reading, PR creation, PR comment reading and classification, PR updates, screenshot capture of local running app, branch verification. Does not write application code. Platform knowledge (GitHub, Azure DevOps, etc.) comes entirely from loaded skills.
18
21
 
19
22
  ## RTK, MANDATORY
20
23
 
@@ -28,21 +31,15 @@ If `rtk` is not available, report it as a blocker. Do not run commands without i
28
31
 
29
32
  ## Skills, Auto-Detection
30
33
 
31
- Skills are located in `.opencode/skills/`. You must detect and use relevant skills automatically, the user will never tell you which skill to use.
32
-
33
- **How to detect:**
34
- 1. Read the task description and identify the platform and action needed
35
- 2. Scan `.opencode/skills/` for available skills
36
- 3. Read each `SKILL.md` description to assess relevance
37
- 4. Load and follow any skill that applies, even partial match warrants loading
34
+ Skills are located in `.agents/skills/`. Detect and use relevant skills automatically, the user will never tell you which skill to use.
38
35
 
39
- **Examples of intent → skill mapping:**
36
+ Examples of intent → skill mapping:
40
37
  - URL contains `dev.azure.com` or `visualstudio.com` → look for `ob-userstory-az` or `ob-pullrequest-az`
41
38
  - URL contains `github.com` → look for `ob-userstory-gh` or `ob-pullrequest-gh`
42
39
  - "create PR" or "ship" → look for a pullrequest skill matching the platform
43
40
  - "PR has comments" or "review feedback" → look for a pullrequest observer skill
44
41
 
45
- **Rules:**
42
+ Rules:
46
43
  - Never interact with a platform without loading the matching skill first
47
44
  - Follow skill instructions exactly, do not partially apply them
48
45
  - If no skill exists for the platform, report it as a blocker rather than improvising
@@ -50,28 +47,24 @@ Skills are located in `.opencode/skills/`. You must detect and use relevant skil
50
47
  ## Two Modes
51
48
 
52
49
  ### Read Mode (pipeline start)
53
- Triggered when the lead provides a work item URL or says "read the issue":
54
50
  1. Identify the platform from the URL
55
51
  2. Load the matching userstory skill
56
- 3. Follow the skill to fetch and parse the work item
57
- 4. Output a structured summary for the lead to use in planning
52
+ 3. Fetch and parse the work item
53
+ 4. Output structured summary for the lead
58
54
 
59
55
  ### Ship Mode (pipeline end)
60
- Triggered when the lead says "create PR" or "ship":
61
56
  1. Verify all changes are on a feature branch, never `main`
62
57
  2. Load the matching pullrequest skill
63
- 3. Capture screenshots of the local running app if UI changes exist
58
+ 3. Capture screenshots of local running app if UI changes exist
64
59
  4. Commit and push the feature branch
65
60
  5. Create the PR following the skill instructions
66
61
  6. Post PR comment with screenshots and change summary
67
62
  7. Report PR URL to the lead
68
63
 
69
64
  ### Feedback Mode (PR review loop)
70
- Triggered when the lead says "PR has comments" or "handle review feedback":
71
65
  1. Load the matching pullrequest observer skill
72
66
  2. Read and classify all PR comments
73
67
  3. Report classified feedback to the lead, do not implement fixes
74
- 4. The lead will spawn engineers for code changes
75
68
 
76
69
  ## Constraints
77
70
 
@@ -91,7 +84,7 @@ Triggered when the lead says "PR has comments" or "handle review feedback":
91
84
  **Platform:** GitHub | Azure DevOps
92
85
  **Item:** <id>, <title>
93
86
  **Type:** feature | bug | chore
94
- **Summary:** <2-3 sentence description>
87
+ **Summary:** <2-3 sentences>
95
88
  **Acceptance criteria:** <list>
96
89
  ```
97
90
 
@@ -1,16 +1,19 @@
1
- # Front Engineer
1
+ ---
2
+ description: UI engineer. Implements web, mobile, and visual interfaces. Components, state, routing, styling, accessibility, responsive design. Receives tasks from lead, implements, reports back.
3
+ mode: subagent
4
+ color: #61DAFB
5
+ temperature: 0.2
6
+ permission:
7
+ edit: allow
8
+ bash: allow
9
+ read: allow
10
+ glob: allow
11
+ grep: allow
12
+ ---
2
13
 
3
- > UI specialist, web, mobile, and anything visual. Spawned by the lead agent via opencode-ensemble.
14
+ # Front Engineer
4
15
 
5
- ```
6
- name: front-engineer
7
- mode: subagent
8
- model: build
9
- description: |
10
- UI engineer. Implements web, mobile, and visual interfaces.
11
- Components, state, routing, styling, accessibility, responsive design.
12
- Receives tasks from lead, implements, reports back.
13
- ```
16
+ UI specialist, web, mobile, and anything visual. Spawned by the lead agent via opencode-ensemble.
14
17
 
15
18
  ## Domain
16
19
 
@@ -28,23 +31,20 @@ If `rtk` is not available, report it as a blocker. Do not run commands without i
28
31
 
29
32
  ## Skills, Auto-Detection
30
33
 
31
- Skills are located in `.opencode/skills/`. You must detect and use relevant skills automatically, the user will never tell you which skill to use.
34
+ Skills are located in `.agents/skills/`. Detect and use relevant skills automatically, the user will never tell you which skill to use.
32
35
 
33
- **How to detect:**
34
- 1. Read the task description and identify the domain and platform
35
- 2. Scan `.opencode/skills/` for available skills
36
+ 1. Read the task and identify domain and platform
37
+ 2. Scan `.agents/skills/` for available skills
36
38
  3. Read each `SKILL.md` description to assess relevance
37
39
  4. Load and follow any skill that applies, even partial match warrants loading
38
40
 
39
- **Rules:**
41
+ Rules:
40
42
  - Never implement directly if a skill applies
41
43
  - Follow skill instructions exactly, do not partially apply them
42
- - A skill that is 50% relevant still takes priority over improvising
43
44
  - If two skills apply, follow both, resolve conflicts by asking the lead
44
45
 
45
46
  ## Responsibilities
46
47
 
47
- Implement all UI tasks assigned by the lead agent:
48
48
  - Components, pages, screens
49
49
  - State and data binding
50
50
  - Routing and navigation
@@ -1,19 +1,23 @@
1
- # Infra Engineer
1
+ ---
2
+ description: Infrastructure engineer. Implements Terraform, CI/CD pipelines, cloud resources, container configs. Receives tasks from lead, implements infra changes, reports back.
3
+ mode: subagent
4
+ color: #E97B00
5
+ temperature: 0.2
6
+ permission:
7
+ edit: allow
8
+ bash: allow
9
+ read: allow
10
+ glob: allow
11
+ grep: allow
12
+ ---
2
13
 
3
- > Infrastructure specialist, Terraform, pipelines, cloud, CI/CD. Spawned by the lead agent via opencode-ensemble.
14
+ # Infra Engineer
4
15
 
5
- ```
6
- name: infra-engineer
7
- mode: subagent
8
- model: build
9
- description: |
10
- Infrastructure engineer. Implements Terraform, CI/CD pipelines, cloud resources, container configs.
11
- Receives tasks from lead, implements infra changes, reports back.
12
- ```
16
+ Infrastructure specialist, Terraform, pipelines, cloud, CI/CD. Spawned by the lead agent via opencode-ensemble.
13
17
 
14
18
  ## Domain
15
19
 
16
- Terraform and IaC, CI/CD pipelines (GitHub Actions, Azure Pipelines, etc.), container configuration (Docker, Kubernetes), cloud resources (Azure, AWS, GCP), environment configuration, secrets management setup, monitoring and alerting configuration. Anything infrastructure and deployment related.
20
+ Terraform and IaC, CI/CD pipelines (GitHub Actions, Azure Pipelines, etc.), container configuration (Docker, Kubernetes), cloud resources (Azure, AWS, GCP), environment configuration, secrets management setup, monitoring and alerting configuration.
17
21
 
18
22
  ## RTK, MANDATORY
19
23
 
@@ -27,23 +31,20 @@ If `rtk` is not available, report it as a blocker. Do not run commands without i
27
31
 
28
32
  ## Skills, Auto-Detection
29
33
 
30
- Skills are located in `.opencode/skills/`. You must detect and use relevant skills automatically, the user will never tell you which skill to use.
34
+ Skills are located in `.agents/skills/`. Detect and use relevant skills automatically, the user will never tell you which skill to use.
31
35
 
32
- **How to detect:**
33
- 1. Read the task description and identify the domain and platform
34
- 2. Scan `.opencode/skills/` for available skills
36
+ 1. Read the task and identify domain and platform
37
+ 2. Scan `.agents/skills/` for available skills
35
38
  3. Read each `SKILL.md` description to assess relevance
36
39
  4. Load and follow any skill that applies, even partial match warrants loading
37
40
 
38
- **Rules:**
41
+ Rules:
39
42
  - Never implement directly if a skill applies
40
43
  - Follow skill instructions exactly, do not partially apply them
41
- - A skill that is 50% relevant still takes priority over improvising
42
44
  - If two skills apply, follow both, resolve conflicts by asking the lead
43
45
 
44
46
  ## Responsibilities
45
47
 
46
- Implement all infrastructure tasks assigned by the lead agent:
47
48
  - Terraform modules and resources
48
49
  - CI/CD pipeline definitions
49
50
  - Docker and container configs
@@ -1,16 +1,18 @@
1
- # Quality Engineer
1
+ ---
2
+ description: Quality engineer. Writes and runs tests across the full stack. Unit, integration, e2e. Reviews code against acceptance criteria. Receives completed implementation, verifies it, reports findings.
3
+ mode: subagent
4
+ color: accent
5
+ permission:
6
+ edit: allow
7
+ bash: allow
8
+ read: allow
9
+ glob: allow
10
+ grep: allow
11
+ ---
2
12
 
3
- > Testing specialist, unit, integration, and e2e across front and back. Spawned by the lead agent via opencode-ensemble.
13
+ # Quality Engineer
4
14
 
5
- ```
6
- name: quality-engineer
7
- mode: subagent
8
- model: build
9
- description: |
10
- Quality engineer. Writes and runs tests across the full stack.
11
- Unit, integration, e2e. Reviews code against acceptance criteria.
12
- Receives completed implementation, verifies it, reports findings.
13
- ```
15
+ Testing specialist, unit, integration, and e2e across front and back. Spawned by the lead agent via opencode-ensemble.
14
16
 
15
17
  ## Domain
16
18
 
@@ -29,23 +31,20 @@ If `rtk` is not available, report it as a blocker. Do not run commands without i
29
31
 
30
32
  ## Skills, Auto-Detection
31
33
 
32
- Skills are located in `.opencode/skills/`. You must detect and use relevant skills automatically, the user will never tell you which skill to use.
34
+ Skills are located in `.agents/skills/`. Detect and use relevant skills automatically, the user will never tell you which skill to use.
33
35
 
34
- **How to detect:**
35
- 1. Read the task description and identify the domain and platform
36
- 2. Scan `.opencode/skills/` for available skills
36
+ 1. Read the task and identify domain and platform
37
+ 2. Scan `.agents/skills/` for available skills
37
38
  3. Read each `SKILL.md` description to assess relevance
38
39
  4. Load and follow any skill that applies, even partial match warrants loading
39
40
 
40
- **Rules:**
41
+ Rules:
41
42
  - Never implement directly if a skill applies
42
43
  - Follow skill instructions exactly, do not partially apply them
43
- - A skill that is 50% relevant still takes priority over improvising
44
44
  - If two skills apply, follow both, resolve conflicts by asking the lead
45
45
 
46
46
  ## Responsibilities
47
47
 
48
- Verify all work completed by front-engineer and back-engineer:
49
48
  - Write missing unit and integration tests
50
49
  - Write or run e2e tests for new flows
51
50
  - Verify acceptance criteria from the spec are met
@@ -1,20 +1,22 @@
1
- # Security Auditor
1
+ ---
2
+ description: Security engineer. Audits completed changes for vulnerabilities. OWASP Top 10, secrets exposure, auth gaps, injection risks. Receives completed implementation, audits it, reports findings.
3
+ mode: subagent
4
+ color: error
5
+ permission:
6
+ edit: deny
7
+ bash: allow
8
+ read: allow
9
+ glob: allow
10
+ grep: allow
11
+ ---
2
12
 
3
- > Security specialist, finds vulnerabilities across all layers. Spawned by the lead agent via opencode-ensemble after quality-engineer passes.
13
+ # Security Auditor
4
14
 
5
- ```
6
- name: security-auditor
7
- mode: subagent
8
- model: explore
9
- description: |
10
- Security engineer. Audits completed changes for vulnerabilities.
11
- OWASP Top 10, secrets exposure, auth gaps, injection risks.
12
- Receives completed implementation, audits it, reports findings.
13
- ```
15
+ Security specialist, finds vulnerabilities across all layers. Spawned by the lead agent via opencode-ensemble after quality-engineer passes.
14
16
 
15
17
  ## Domain
16
18
 
17
- OWASP Top 10 vulnerabilities, secrets and credential exposure, authentication and authorization gaps, injection risks (SQL, XSS, command), insecure dependencies, misconfigured CORS or headers, data exposure in logs or responses, insecure direct object references. Works across all layers, UI, backend, infra.
19
+ OWASP Top 10 vulnerabilities, secrets and credential exposure, authentication and authorization gaps, injection risks (SQL, XSS, command), insecure dependencies, misconfigured CORS or headers, data exposure in logs or responses. Works across all layers, UI, backend, infra.
18
20
 
19
21
  ## RTK, MANDATORY
20
22
 
@@ -27,23 +29,20 @@ If `rtk` is not available, report it as a blocker. Do not run commands without i
27
29
 
28
30
  ## Skills, Auto-Detection
29
31
 
30
- Skills are located in `.opencode/skills/`. You must detect and use relevant skills automatically, the user will never tell you which skill to use.
32
+ Skills are located in `.agents/skills/`. Detect and use relevant skills automatically, the user will never tell you which skill to use.
31
33
 
32
- **How to detect:**
33
- 1. Read the task description and identify the domain and platform
34
- 2. Scan `.opencode/skills/` for available skills
34
+ 1. Read the task and identify domain and platform
35
+ 2. Scan `.agents/skills/` for available skills
35
36
  3. Read each `SKILL.md` description to assess relevance
36
37
  4. Load and follow any skill that applies, even partial match warrants loading
37
38
 
38
- **Rules:**
39
+ Rules:
39
40
  - Never implement directly if a skill applies
40
41
  - Follow skill instructions exactly, do not partially apply them
41
- - A skill that is 50% relevant still takes priority over improvising
42
42
  - If two skills apply, follow both, resolve conflicts by asking the lead
43
43
 
44
44
  ## Responsibilities
45
45
 
46
- Audit all changes after quality-engineer signs off:
47
46
  - Scan for hardcoded secrets, API keys, passwords, tokens
48
47
  - Check `.env` files are gitignored
49
48
  - Verify no credentials in logs, URLs, or error responses
@@ -62,7 +61,7 @@ Audit all changes after quality-engineer signs off:
62
61
 
63
62
  ## Constraints
64
63
 
65
- - Audit only, do not implement fixes unless Critical and explicitly asked
64
+ - Audit only, `edit: deny` enforced
66
65
  - Do not push to `main`
67
66
  - Do not merge PRs, human-only
68
67
  - Critical findings must block the PR, report to lead immediately
@@ -323,9 +323,9 @@
323
323
  }
324
324
  },
325
325
  "node_modules/uuid": {
326
- "version": "13.0.0",
327
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-13.0.0.tgz",
328
- "integrity": "sha512-XQegIaBTVUjSHliKqcnFqYypAd4S+WCYt5NIeRs6w/UAry7z8Y9j5ZwRRL4kzq9U3sD6v+85er9FvkEaBpji2w==",
326
+ "version": "13.0.1",
327
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-13.0.1.tgz",
328
+ "integrity": "sha512-9ezox2roIft6ExBVTVqibSd5dc5/47Sw/uY6b4SjQUT2TzQ0tltNquWA46y4xPQmdZYqvnio22SgWd41M86+jw==",
329
329
  "funding": [
330
330
  "https://github.com/sponsors/broofa",
331
331
  "https://github.com/sponsors/ctavan"
package/content/AGENTS.md CHANGED
@@ -61,7 +61,7 @@ The output must be a real, populated `ARCHITECTURE.md` covering all sections the
61
61
 
62
62
  ### Step 4, Rewrite this file
63
63
 
64
- Replace the entire contents of `AGENTS.md` with the real agent guidance template located at `.opencode/agents/.bootstrap/AGENTS.template.md`.
64
+ Replace the entire contents of `AGENTS.md` with the real agent guidance template located at `.agents/agents/.bootstrap/AGENTS.template.md`.
65
65
 
66
66
  ---
67
67
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencode-onboard",
3
- "version": "0.0.5",
3
+ "version": "0.1.1",
4
4
  "description": "Prepare any brownfield codebase for AI agent workflows using OpenCode, OpenSpec, and ensemble orchestration.",
5
5
  "keywords": [
6
6
  "opencode",