@plainconceptsplatform/agent-harness 3.5.0 → 3.7.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 (144) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +471 -454
  3. package/cli/commands/join.js +259 -259
  4. package/cli/commands/migrate.js +310 -310
  5. package/cli/commands/shared.js +27 -27
  6. package/cli/commands/single.js +79 -79
  7. package/cli/commands/update.js +121 -121
  8. package/cli/commands/wizard.js +134 -134
  9. package/cli/fragments/archive/az.md +97 -97
  10. package/cli/fragments/archive/gh.md +96 -96
  11. package/cli/fragments/archive/gl.md +96 -96
  12. package/cli/fragments/archive/none.md +75 -75
  13. package/cli/fragments/guardrails/codegraph.md +5 -5
  14. package/cli/fragments/guardrails/humanizer.md +4 -4
  15. package/cli/fragments/guardrails/memory.md +4 -4
  16. package/cli/fragments/guardrails/rtk.md +3 -3
  17. package/cli/fragments/guardrails/simple-english.md +4 -4
  18. package/cli/fragments/ops-backlog/az.md +28 -28
  19. package/cli/fragments/ops-backlog/gh.md +28 -28
  20. package/cli/fragments/ops-backlog/jira.md +28 -28
  21. package/cli/fragments/ops-review/az.md +62 -62
  22. package/cli/fragments/ops-review/gh.md +51 -51
  23. package/cli/fragments/ops-review/gl.md +55 -55
  24. package/cli/fragments/ops-ship/az.md +81 -81
  25. package/cli/fragments/ops-ship/gh.md +67 -67
  26. package/cli/fragments/ops-ship/gl.md +84 -84
  27. package/cli/index.js +116 -116
  28. package/cli/presets/agents-content.json +34 -34
  29. package/cli/presets/browser.json +10 -10
  30. package/cli/presets/clean.json +21 -21
  31. package/cli/presets/models.json +68 -68
  32. package/cli/presets/optimization.json +32 -32
  33. package/cli/presets/platforms.json +76 -76
  34. package/cli/presets/source.json +23 -23
  35. package/cli/steps/browser/index.js +48 -48
  36. package/cli/steps/clean/index.js +120 -120
  37. package/cli/steps/copy/agents.js +120 -120
  38. package/cli/steps/copy/commands.js +79 -79
  39. package/cli/steps/copy/fullstack-engineer.js +89 -89
  40. package/cli/steps/copy/index.js +88 -88
  41. package/cli/steps/copy/opencode-json.js +324 -324
  42. package/cli/steps/copy/skills.js +316 -316
  43. package/cli/steps/metadata/index.js +115 -115
  44. package/cli/steps/models/format.js +88 -88
  45. package/cli/steps/models/index.js +64 -64
  46. package/cli/steps/models/write.js +38 -38
  47. package/cli/steps/openspec/index.js +136 -136
  48. package/cli/steps/optimization/codegraph.js +141 -141
  49. package/cli/steps/optimization/detect.js +66 -66
  50. package/cli/steps/optimization/humanizer.js +17 -17
  51. package/cli/steps/optimization/index.js +158 -158
  52. package/cli/steps/optimization/memory.js +91 -91
  53. package/cli/steps/optimization/patch-guardrails.js +111 -111
  54. package/cli/steps/optimization/simple-english.js +17 -17
  55. package/cli/steps/optimization/skills-lock.js +30 -30
  56. package/cli/steps/platform/index.js +109 -109
  57. package/cli/steps/source/index.js +123 -123
  58. package/cli/utils/agent-color.js +111 -111
  59. package/cli/utils/copy.js +134 -134
  60. package/cli/utils/exec-spinner.js +47 -47
  61. package/cli/utils/exec.js +134 -134
  62. package/cli/utils/legacy-check.js +30 -30
  63. package/cli/utils/models-cache.js +58 -58
  64. package/cli/utils/models-pricing.js +42 -42
  65. package/cli/utils/paths.js +81 -81
  66. package/cli/utils/process.js +3 -3
  67. package/cli/utils/terminal.js +6 -6
  68. package/cli/utils/update-manifest.js +75 -75
  69. package/harness/.opencode/_gitignore +10 -10
  70. package/harness/.opencode/commands/init.md +5 -5
  71. package/harness/.opencode/commands/make-architecture.md +5 -5
  72. package/harness/.opencode/commands/make-design.md +5 -5
  73. package/harness/.opencode/commands/make-engineer.md +5 -5
  74. package/harness/.opencode/commands/make-guardrails.md +5 -5
  75. package/harness/.opencode/commands/make-user-model.md +5 -5
  76. package/harness/.opencode/commands/ops-backlog.md +10 -10
  77. package/harness/.opencode/commands/ops-review.md +10 -10
  78. package/harness/.opencode/commands/ops-ship.md +9 -9
  79. package/harness/.opencode/commands/plan-apply.md +9 -9
  80. package/harness/.opencode/commands/plan-archive.md +7 -7
  81. package/harness/.opencode/commands/plan-explore.md +11 -11
  82. package/harness/.opencode/commands/plan-goal.md +5 -5
  83. package/harness/.opencode/commands/plan-propose.md +11 -11
  84. package/harness/.opencode/commands/plan-quick.md +7 -7
  85. package/harness/.opencode/commands/plan-story.md +11 -11
  86. package/harness/.opencode/commands/repo-audit.md +7 -7
  87. package/harness/.opencode/commands/repo-help.md +5 -5
  88. package/harness/.opencode/commands/repo-initialize.md +5 -5
  89. package/harness/.opencode/commands/repo-onboard.md +5 -5
  90. package/harness/.opencode/commands/repo-verify.md +5 -5
  91. package/harness/.opencode/package.json +5 -5
  92. package/harness/.opencode/plugins/pc-commit-coauthor.js +41 -0
  93. package/harness/.opencode/plugins/pc-subagent-monitor.js +184 -184
  94. package/harness/.opencode/plugins/pc-subagent-tiers.js +367 -367
  95. package/harness/.opencode/plugins/pc-system-reminders.js +404 -386
  96. package/harness/.opencode/scripts/check-diff.mjs +279 -252
  97. package/harness/.opencode/scripts/code-rules.mjs +288 -288
  98. package/harness/.opencode/scripts/platform-manifest.mjs +112 -0
  99. package/harness/AGENTS.md +49 -49
  100. package/harness/ARCHITECTURE.md +13 -13
  101. package/harness/DESIGN.md +13 -13
  102. package/harness/opencode.jsonc +36 -36
  103. package/harness/openspec/config.yaml +20 -20
  104. package/harness/skills-lock.json +17 -17
  105. package/package.json +14 -12
  106. package/skills/README.md +18 -18
  107. package/skills/agent-harness-cli/SKILL.md +86 -86
  108. package/skills/browser-automation/SKILL.md +72 -72
  109. package/skills/pc-guardrails-generic/SKILL.md +53 -53
  110. package/skills/pc-guardrails-project/SKILL.md +8 -8
  111. package/skills/pc-make-architecture/SKILL.md +33 -32
  112. package/skills/pc-make-architecture/structure-template.md +64 -64
  113. package/skills/pc-make-design/SKILL.md +45 -45
  114. package/skills/pc-make-engineer/SKILL.md +59 -59
  115. package/skills/pc-make-engineer/signal-mapping.md +53 -53
  116. package/skills/pc-make-engineer/template.md +36 -36
  117. package/skills/pc-make-guardrails/SKILL.md +44 -44
  118. package/skills/pc-make-guardrails/category-reference.md +112 -112
  119. package/skills/pc-make-merge-risk-assess/SKILL.md +70 -70
  120. package/skills/pc-make-merge-risk-assess/category-reference.md +114 -114
  121. package/skills/pc-make-user-model/SKILL.md +56 -56
  122. package/skills/pc-ops-ship/SKILL.md +22 -22
  123. package/skills/pc-plan-apply/SKILL.md +88 -88
  124. package/skills/pc-plan-apply/simple-mode.md +21 -21
  125. package/skills/pc-plan-archive/SKILL.md +66 -66
  126. package/skills/pc-plan-explore/SKILL.md +21 -21
  127. package/skills/pc-plan-goal/SKILL.md +91 -91
  128. package/skills/pc-plan-goal/branching.md +39 -39
  129. package/skills/pc-plan-goal/failure-policy.md +30 -30
  130. package/skills/pc-plan-goal/output-mode.md +10 -10
  131. package/skills/pc-plan-goal/output.md +71 -71
  132. package/skills/pc-plan-propose/SKILL.md +125 -125
  133. package/skills/pc-plan-propose/task-annotation.md +39 -39
  134. package/skills/pc-plan-quick/SKILL.md +46 -46
  135. package/skills/pc-plan-story/SKILL.md +93 -93
  136. package/skills/pc-repo-audit/SKILL.md +44 -44
  137. package/skills/pc-repo-help/SKILL.md +87 -87
  138. package/skills/pc-repo-initialize/SKILL.md +119 -119
  139. package/skills/pc-repo-onboard/SKILL.md +32 -32
  140. package/skills/pc-repo-verify/SKILL.md +150 -150
  141. package/skills/pc-userstory-az/SKILL.md +71 -71
  142. package/skills/pc-userstory-browser/SKILL.md +64 -64
  143. package/skills/pc-userstory-gh/SKILL.md +63 -63
  144. package/skills/pc-userstory-jira/SKILL.md +74 -74
@@ -1,44 +1,44 @@
1
- ---
2
- name: pc-repo-audit
3
- description: Audit every configured repository source root against the fullstack engineer's abilities and guardrails. Read-only. Invoked by the /repo-audit command.
4
- license: MIT
5
- ---
6
-
7
- # Repo Audit
8
-
9
- Audit the repository without modifying files, installing dependencies, creating backlog items, pushing, or contacting external platforms.
10
-
11
- ## Step 1: Load the audit rules
12
-
13
- 1. Read `.opencode/agents/fullstack-engineer.md`.
14
- 2. Parse every `@skill-name` in its `## Abilities` section.
15
- 3. Load every listed skill, guardrails first. If a referenced skill is missing, record it as a finding and continue with the installed abilities.
16
-
17
- ## Step 2: Establish scope
18
-
19
- 1. Read `.opencode/source-roots.json` when it exists. Use its non-empty `roots` array; otherwise use the repository root.
20
- 2. Inventory every root before judging it. Identify applications, services, libraries, tests, frontend or website projects, infrastructure, CI, package manifests, lockfiles, and generated-output rules.
21
- 3. Keep every read and command inside a configured source root or the repository root.
22
-
23
- ## Step 3: Audit every project
24
-
25
- Apply the loaded abilities and guardrails to each discovered project. Assess:
26
-
27
- - Architecture, module boundaries, naming, and duplicated responsibilities.
28
- - Tests, linting, type checks, builds, CI, and whether their configured commands match the project.
29
- - Dependency manifests, lockfiles, package-manager declarations, runtime versions, and workspace configuration.
30
- - Security and repository hygiene, including generated files, ignored artifacts, and likely secrets in tracked files.
31
- - Documentation and configuration drift across `AGENTS.md`, architecture/design documents, project scripts, and CI.
32
-
33
- For dependency findings, identify the exact manifest and lockfile involved. State the repository-defined remediation and immutable dependency validation command; never run a mutation-capable install during this audit.
34
-
35
- ## Step 4: Report
36
-
37
- Deduplicate findings across roots and report them grouped by project. Every finding must include:
38
-
39
- - Severity: critical, high, medium, or low.
40
- - Affected root and path.
41
- - Evidence and the applicable guardrail or ability, when one exists.
42
- - Impact and a concrete remediation or verification command.
43
-
44
- End with the projects audited, checks that could not run and why, and a short prioritized remediation list. If no findings exist, state that explicitly and list residual verification gaps.
1
+ ---
2
+ name: pc-repo-audit
3
+ description: Audit every configured repository source root against the fullstack engineer's abilities and guardrails. Read-only. Invoked by the /repo-audit command.
4
+ license: MIT
5
+ ---
6
+
7
+ # Repo Audit
8
+
9
+ Audit the repository without modifying files, installing dependencies, creating backlog items, pushing, or contacting external platforms.
10
+
11
+ ## Step 1: Load the audit rules
12
+
13
+ 1. Read `.opencode/agents/fullstack-engineer.md`.
14
+ 2. Parse every `@skill-name` in its `## Abilities` section.
15
+ 3. Load every listed skill, guardrails first. If a referenced skill is missing, record it as a finding and continue with the installed abilities.
16
+
17
+ ## Step 2: Establish scope
18
+
19
+ 1. Read `.opencode/source-roots.json` when it exists. Use its non-empty `roots` array; otherwise use the repository root.
20
+ 2. Inventory every root before judging it. Identify applications, services, libraries, tests, frontend or website projects, infrastructure, CI, package manifests, lockfiles, and generated-output rules.
21
+ 3. Keep every read and command inside a configured source root or the repository root.
22
+
23
+ ## Step 3: Audit every project
24
+
25
+ Apply the loaded abilities and guardrails to each discovered project. Assess:
26
+
27
+ - Architecture, module boundaries, naming, and duplicated responsibilities.
28
+ - Tests, linting, type checks, builds, CI, and whether their configured commands match the project.
29
+ - Dependency manifests, lockfiles, package-manager declarations, runtime versions, and workspace configuration.
30
+ - Security and repository hygiene, including generated files, ignored artifacts, and likely secrets in tracked files.
31
+ - Documentation and configuration drift across `AGENTS.md`, architecture/design documents, project scripts, and CI.
32
+
33
+ For dependency findings, identify the exact manifest and lockfile involved. State the repository-defined remediation and immutable dependency validation command; never run a mutation-capable install during this audit.
34
+
35
+ ## Step 4: Report
36
+
37
+ Deduplicate findings across roots and report them grouped by project. Every finding must include:
38
+
39
+ - Severity: critical, high, medium, or low.
40
+ - Affected root and path.
41
+ - Evidence and the applicable guardrail or ability, when one exists.
42
+ - Impact and a concrete remediation or verification command.
43
+
44
+ End with the projects audited, checks that could not run and why, and a short prioritized remediation list. If no findings exist, state that explicitly and list residual verification gaps.
@@ -1,87 +1,87 @@
1
- ---
2
- name: pc-repo-help
3
- description: The full command reference for this project - every /command with when to use it and the typical workflows. Load when the user asks for help, the command list, or at the end of repo initialization. Invoked by the /repo-help command and the repo-initialize flow.
4
- license: MIT
5
- ---
6
-
7
- # Repo Help
8
-
9
- Display the following reference to the user exactly as written. Do not summarize.
10
-
11
- ## Commands
12
-
13
- ### Not sure where to start?
14
-
15
- **`/init`** (alias: `/repo-initialize`): Initialize the project. Presents a single form with all setup questions (project type, history, architecture, design, evidence), then executes the selected steps.
16
-
17
- **`/repo-onboard`**: Guided tour of the project and its agentic infrastructure. Explains agents, commands, skills, OpenSpec workflow, and configuration. Read-only: no files modified.
18
-
19
- **`/repo-audit`**: Read-only health audit of every configured source root. Loads the fullstack engineer's abilities, checks guardrails, architecture, tooling, dependencies, lockfiles, tests, and CI, then reports prioritized findings.
20
-
21
- **`/plan-explore`**: Your backlog is unclear, you have a half-formed idea, or you need to think through a problem before committing to a plan. This is a thinking partner, not an executor.
22
-
23
- **`/plan-story <feature or need>`**: Write a detailed, repo-aware user story from a feature idea. Loads the `@user-story` skill (Mike Cohn format + Gherkin acceptance criteria), analyzes your codebase for concrete context, and produces a development-ready story with specific personas, real outcomes, and testable criteria grounded in your actual file paths, component names, and data models. No files written — just the story.
24
-
25
- **`/plan-propose <url or idea>`**: You have a work item URL, or a clear idea and you want to turn it into a structured plan (proposal, specs, tasks). Enriches each task with the best matching agent and model before showing you the plan. Nothing is implemented until you confirm.
26
-
27
- ---
28
-
29
- ### Ready to implement?
30
-
31
- **`/plan-quick <task>`**: Quick plan for focused changes. Reads the codebase, creates a task checklist in the Todo pane. No files, no OpenSpec. Then you decide: `/plan-apply` to implement, or `/plan-propose` for a full OpenSpec plan.
32
-
33
- **`/plan-apply`**: Implement a plan. Detects the source automatically: OpenSpec-annotated tasks (from `/plan-propose`) run as parallel subagent waves; Todo pane tasks (from `/plan-quick`) run sequentially in-session.
34
-
35
- **`/plan-goal <feature or URL>`**: Fully autonomous, no confirmations. Branches off `main`, then runs propose → apply → archive on that branch (each phase its own commit). Default: merges to `main` and deletes the branch. Add `push` keyword to push the branch only. Add `pr` keyword to push + create a PR. Built for loop-engineering / unattended runs. Stops only on a hard failure, leaving the branch unmerged.
36
-
37
- ---
38
-
39
- ### Done implementing?
40
-
41
- **`/ops-ship`**: Create a PR for the current feature branch with screenshots if UI changed.
42
-
43
- **`/ops-review`**: Read and triage PR review feedback. If you share a PR URL or say "I've added comments to the PR", it reads and classifies the review comments so you know what to fix. Fixing is done via `/plan-apply`.
44
-
45
- **`/ops-backlog`**: Create an issue in the backlog platform (GitHub, Azure DevOps, Jira) from a description.
46
-
47
- **`/plan-archive`**: Mark a completed change as archived in OpenSpec. Run this after the PR is merged.
48
-
49
- ---
50
-
51
- ### Maintaining the project?
52
-
53
- **`/make-engineer`**: Add a custom specialist engineer to the team. Interactive persona-driven form: pick a persona, then confirm an inspected-and-recommended set of skills (architecture/patterns like FSD or design patterns, framework, testing, infra) before anything installs. Future `/plan-apply` runs will prefer it when its domain matches.
54
-
55
- **`/make-architecture`**: Regenerate `ARCHITECTURE.md` from the current codebase. Safe to rerun any time the architecture evolves.
56
-
57
- **`/make-design`**: Regenerate `DESIGN.md` from the design system (Tailwind, CSS vars, tokens, etc.).
58
-
59
- **`/make-guardrails`**: Generate a `pc-guardrails-project` skill from `ARCHITECTURE.md` and project config files. Extracts concrete rules (architecture boundaries, naming, code style, testing, git workflow) that all agents must follow. Updates every `*-engineer.md` to load the skill.
60
-
61
- **`/repo-verify`**: Write the verification plan for the current branch's change: a journey through the new functionality as a fenced YAML block in `verification-plan.md`, stored with the change. The evidence workflow from `@plainconceptsplatform/workflows` replays it in headless Chromium when the pull request merges and archives one screenshot per waypoint in an `evidence/` folder beside the plan. Backend-only changes are traced through to the frontend when their contract is consumed there; a `not-applicable` stub is written when no UI surface is reachable. Does not run checks or take screenshots. Runs automatically in `/plan-goal`.
62
-
63
- **`/make-user-model <tier> <model>`**: Set the model for a tier (`plan`, `build`, or `fast`). Writes to `.opencode/harness.json` (`models`). Use `user` prefix for a personal override: `/make-user-model user fast opencode/big-pickle`. Use a model id or `current` for the active session model. Restart opencode for the `pc-subagent-tiers` plugin to rebuild tier agents.
64
-
65
- ---
66
-
67
- ### Typical workflows
68
-
69
- **Complex change:**
70
- ```
71
- /plan-explore ← optional: think it through first
72
- /plan-propose ← create the plan
73
- /plan-apply ← implement with the team
74
- /ops-ship ← ship
75
- /plan-archive ← close out
76
- ```
77
-
78
- **Quick change:**
79
- ```
80
- /plan-quick ← create a focused task list
81
- /plan-apply ← implement
82
- ```
83
-
84
- **Unattended / loop-engineering:**
85
- ```
86
- /plan-goal <description> ← full pipeline, no interaction
87
- ```
1
+ ---
2
+ name: pc-repo-help
3
+ description: The full command reference for this project - every /command with when to use it and the typical workflows. Load when the user asks for help, the command list, or at the end of repo initialization. Invoked by the /repo-help command and the repo-initialize flow.
4
+ license: MIT
5
+ ---
6
+
7
+ # Repo Help
8
+
9
+ Display the following reference to the user exactly as written. Do not summarize.
10
+
11
+ ## Commands
12
+
13
+ ### Not sure where to start?
14
+
15
+ **`/init`** (alias: `/repo-initialize`): Initialize the project. Presents a single form with all setup questions (project type, history, architecture, design, evidence), then executes the selected steps.
16
+
17
+ **`/repo-onboard`**: Guided tour of the project and its agentic infrastructure. Explains agents, commands, skills, OpenSpec workflow, and configuration. Read-only: no files modified.
18
+
19
+ **`/repo-audit`**: Read-only health audit of every configured source root. Loads the fullstack engineer's abilities, checks guardrails, architecture, tooling, dependencies, lockfiles, tests, and CI, then reports prioritized findings.
20
+
21
+ **`/plan-explore`**: Your backlog is unclear, you have a half-formed idea, or you need to think through a problem before committing to a plan. This is a thinking partner, not an executor.
22
+
23
+ **`/plan-story <feature or need>`**: Write a detailed, repo-aware user story from a feature idea. Loads the `@user-story` skill (Mike Cohn format + Gherkin acceptance criteria), analyzes your codebase for concrete context, and produces a development-ready story with specific personas, real outcomes, and testable criteria grounded in your actual file paths, component names, and data models. No files written — just the story.
24
+
25
+ **`/plan-propose <url or idea>`**: You have a work item URL, or a clear idea and you want to turn it into a structured plan (proposal, specs, tasks). Enriches each task with the best matching agent and model before showing you the plan. Nothing is implemented until you confirm.
26
+
27
+ ---
28
+
29
+ ### Ready to implement?
30
+
31
+ **`/plan-quick <task>`**: Quick plan for focused changes. Reads the codebase, creates a task checklist in the Todo pane. No files, no OpenSpec. Then you decide: `/plan-apply` to implement, or `/plan-propose` for a full OpenSpec plan.
32
+
33
+ **`/plan-apply`**: Implement a plan. Detects the source automatically: OpenSpec-annotated tasks (from `/plan-propose`) run as parallel subagent waves; Todo pane tasks (from `/plan-quick`) run sequentially in-session.
34
+
35
+ **`/plan-goal <feature or URL>`**: Fully autonomous, no confirmations. Branches off `main`, then runs propose → apply → archive on that branch (each phase its own commit). Default: merges to `main` and deletes the branch. Add `push` keyword to push the branch only. Add `pr` keyword to push + create a PR. Built for loop-engineering / unattended runs. Stops only on a hard failure, leaving the branch unmerged.
36
+
37
+ ---
38
+
39
+ ### Done implementing?
40
+
41
+ **`/ops-ship`**: Create a PR for the current feature branch with screenshots if UI changed.
42
+
43
+ **`/ops-review`**: Read and triage PR review feedback. If you share a PR URL or say "I've added comments to the PR", it reads and classifies the review comments so you know what to fix. Fixing is done via `/plan-apply`.
44
+
45
+ **`/ops-backlog`**: Create an issue in the backlog platform (GitHub, Azure DevOps, Jira) from a description.
46
+
47
+ **`/plan-archive`**: Mark a completed change as archived in OpenSpec. Run this after the PR is merged.
48
+
49
+ ---
50
+
51
+ ### Maintaining the project?
52
+
53
+ **`/make-engineer`**: Add a custom specialist engineer to the team. Interactive persona-driven form: pick a persona, then confirm an inspected-and-recommended set of skills (architecture/patterns like FSD or design patterns, framework, testing, infra) before anything installs. Future `/plan-apply` runs will prefer it when its domain matches.
54
+
55
+ **`/make-architecture`**: Regenerate `ARCHITECTURE.md` from the current codebase. Safe to rerun any time the architecture evolves.
56
+
57
+ **`/make-design`**: Regenerate `DESIGN.md` from the design system (Tailwind, CSS vars, tokens, etc.).
58
+
59
+ **`/make-guardrails`**: Generate a `pc-guardrails-project` skill from `ARCHITECTURE.md` and project config files. Extracts concrete rules (architecture boundaries, naming, code style, testing, git workflow) that all agents must follow. Updates every `*-engineer.md` to load the skill.
60
+
61
+ **`/repo-verify`**: Write the verification plan for the current branch's change: a journey through the new functionality as a fenced YAML block in `verification-plan.md`, stored with the change. The evidence workflow from `@plainconceptsplatform/workflows` replays it in headless Chromium when the pull request merges and archives one screenshot per waypoint in an `evidence/` folder beside the plan. Backend-only changes are traced through to the frontend when their contract is consumed there; a `not-applicable` stub is written when no UI surface is reachable. Does not run checks or take screenshots. Runs automatically in `/plan-goal`.
62
+
63
+ **`/make-user-model <tier> <model>`**: Set the model for a tier (`plan`, `build`, or `fast`). Writes to `.opencode/harness.json` (`models`). Use `user` prefix for a personal override: `/make-user-model user fast opencode/big-pickle`. Use a model id or `current` for the active session model. Restart opencode for the `pc-subagent-tiers` plugin to rebuild tier agents.
64
+
65
+ ---
66
+
67
+ ### Typical workflows
68
+
69
+ **Complex change:**
70
+ ```
71
+ /plan-explore ← optional: think it through first
72
+ /plan-propose ← create the plan
73
+ /plan-apply ← implement with the team
74
+ /ops-ship ← ship
75
+ /plan-archive ← close out
76
+ ```
77
+
78
+ **Quick change:**
79
+ ```
80
+ /plan-quick ← create a focused task list
81
+ /plan-apply ← implement
82
+ ```
83
+
84
+ **Unattended / loop-engineering:**
85
+ ```
86
+ /plan-goal <description> ← full pipeline, no interaction
87
+ ```
@@ -1,119 +1,119 @@
1
- ---
2
- name: pc-repo-initialize
3
- description: "Initialize the project. Presents a single form with all setup questions, then executes selected steps. Invoked by the /init command (alias: /repo-initialize)."
4
- license: MIT
5
- ---
6
-
7
- First read `AGENTS.md`. Without the `<!-- PC-NOT-INITIALIZED -->` marker the project is already initialized: say so, and point at `/make-architecture` or `/make-design` for a refresh. With it, run the sequence below.
8
-
9
- ## Rules
10
-
11
- - Write only to `ARCHITECTURE.md`, `DESIGN.md`, `AGENTS.md`, `openspec/` and `.agents/skills/`. Source files are read for analysis, never edited: init sets a project up, it does not implement anything, and it creates no branches or pull requests.
12
- - Ask the five questions in one `question` call. Five separate prompts is five chances for the user to walk away from a setup that does nothing until it finishes.
13
- - A step whose answer was No is skipped, not approximated.
14
-
15
- ## Step 1, Ask everything at once
16
-
17
- ```json
18
- {
19
- "questions": [
20
- {
21
- "header": "Type",
22
- "question": "What type of project is this?",
23
- "options": [
24
- { "label": "brownfield", "description": "Existing codebase. Generate docs from your code." },
25
- { "label": "greenfield", "description": "Starting from scratch, little or no existing code." }
26
- ]
27
- },
28
- {
29
- "header": "History",
30
- "question": "Archive project history into OpenSpec?",
31
- "options": [
32
- { "label": "Yes", "description": "Scan codebase for existing docs, changelogs, decisions and archive them." },
33
- { "label": "No", "description": "Skip history archival." }
34
- ]
35
- },
36
- {
37
- "header": "Architecture",
38
- "question": "Generate ARCHITECTURE.md from the codebase?",
39
- "options": [
40
- { "label": "Yes", "description": "Analyze project structure and generate architecture documentation." },
41
- { "label": "No", "description": "Skip, leave as placeholder." }
42
- ]
43
- },
44
- {
45
- "header": "Design",
46
- "question": "Generate DESIGN.md from the design system?",
47
- "options": [
48
- { "label": "Yes", "description": "Analyze Tailwind, CSS vars, tokens and generate design documentation." },
49
- { "label": "No", "description": "Skip, leave as placeholder." }
50
- ]
51
- },
52
- {
53
- "header": "Evidence",
54
- "question": "Record how the app starts and how a person signs in locally, so merged changes get screenshots?",
55
- "options": [
56
- { "label": "Yes", "description": "Fill the project environment in pc-repo-verify: start command, URL, local sign-in, seeded data." },
57
- { "label": "No", "description": "Skip; the verification plans will look for the sign-in themselves." }
58
- ]
59
- }
60
- ]
61
- }
62
- ```
63
-
64
- ## Step 2, Sync skills
65
-
66
- Always. `npx skills experimental_install --yes` in the project root installs what onboarding queued in `skills-lock.json`. A failure here is a warning, not a stop: the optional ones can be added later.
67
-
68
- ## Step 3, Archive project history
69
-
70
- If Yes. Scan the roots in `.opencode/source-roots.json` (plus this repo's own docs and config) for documentation, changelogs, ADRs, READMEs and anything else that records how the project got here. Then:
71
-
72
- ```bash
73
- openspec new change "project-history"
74
- ```
75
-
76
- Write a `proposal.md` in it covering what the project is, the decisions already taken, the tech debt and constraints the code shows, and where things stand. Archive it immediately, with `-y` so it cannot block:
77
-
78
- ```bash
79
- openspec archive "project-history" -y
80
- ```
81
-
82
- ## Step 4, Generate ARCHITECTURE.md
83
-
84
- If Yes. Load `pc-make-architecture`.
85
-
86
- ## Step 5, Generate DESIGN.md
87
-
88
- If Yes. Load `pc-make-design`.
89
-
90
- ## Step 6, Generate guardrails
91
-
92
- Always. Load `pc-make-guardrails`.
93
-
94
- ## Step 7, Visual evidence
95
-
96
- If Yes. Every change's verification plan (`pc-repo-verify`) is replayed in headless Chromium by the evidence workflow when its pull request merges, from a freshly started app with nothing in the browser. Find in the source, and confirm by reading the root `package.json`, `.env.example` and the local auth setup:
97
-
98
- - the command that starts the whole stack with mock authentication (normally `pnpm run dev` at the root),
99
- - the URL the web app answers on,
100
- - the local sign-in: the exact steps and visible labels of the mock account picker or dev login,
101
- - the data a fresh start seeds (accounts, records) that a journey can rely on.
102
-
103
- Write them as the bullet list between `<!-- PC-PROJECT-ENVIRONMENT-START -->` and `<!-- PC-PROJECT-ENVIRONMENT-END -->` in `.agents/skills/pc-repo-verify/SKILL.md`, replacing the placeholder bullets. Only that slot: the rest of the file is the harness's, and an update keeps only the slot.
104
-
105
- ## Step 8, Show help
106
-
107
- Load `pc-repo-help` and display the command reference as written.
108
-
109
- ## Step 9, Confirm
110
-
111
- ```
112
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
113
- Initialization complete.
114
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
115
-
116
- Restart OpenCode now.
117
- Nothing will work correctly until you do.
118
- After restarting you are ready to work.
119
- ```
1
+ ---
2
+ name: pc-repo-initialize
3
+ description: "Initialize the project. Presents a single form with all setup questions, then executes selected steps. Invoked by the /init command (alias: /repo-initialize)."
4
+ license: MIT
5
+ ---
6
+
7
+ First read `AGENTS.md`. Without the `<!-- PC-NOT-INITIALIZED -->` marker the project is already initialized: say so, and point at `/make-architecture` or `/make-design` for a refresh. With it, run the sequence below.
8
+
9
+ ## Rules
10
+
11
+ - Write only to `ARCHITECTURE.md`, `DESIGN.md`, `AGENTS.md`, `openspec/` and `.agents/skills/`. Source files are read for analysis, never edited: init sets a project up, it does not implement anything, and it creates no branches or pull requests.
12
+ - Ask the five questions in one `question` call. Five separate prompts is five chances for the user to walk away from a setup that does nothing until it finishes.
13
+ - A step whose answer was No is skipped, not approximated.
14
+
15
+ ## Step 1, Ask everything at once
16
+
17
+ ```json
18
+ {
19
+ "questions": [
20
+ {
21
+ "header": "Type",
22
+ "question": "What type of project is this?",
23
+ "options": [
24
+ { "label": "brownfield", "description": "Existing codebase. Generate docs from your code." },
25
+ { "label": "greenfield", "description": "Starting from scratch, little or no existing code." }
26
+ ]
27
+ },
28
+ {
29
+ "header": "History",
30
+ "question": "Archive project history into OpenSpec?",
31
+ "options": [
32
+ { "label": "Yes", "description": "Scan codebase for existing docs, changelogs, decisions and archive them." },
33
+ { "label": "No", "description": "Skip history archival." }
34
+ ]
35
+ },
36
+ {
37
+ "header": "Architecture",
38
+ "question": "Generate ARCHITECTURE.md from the codebase?",
39
+ "options": [
40
+ { "label": "Yes", "description": "Analyze project structure and generate architecture documentation." },
41
+ { "label": "No", "description": "Skip, leave as placeholder." }
42
+ ]
43
+ },
44
+ {
45
+ "header": "Design",
46
+ "question": "Generate DESIGN.md from the design system?",
47
+ "options": [
48
+ { "label": "Yes", "description": "Analyze Tailwind, CSS vars, tokens and generate design documentation." },
49
+ { "label": "No", "description": "Skip, leave as placeholder." }
50
+ ]
51
+ },
52
+ {
53
+ "header": "Evidence",
54
+ "question": "Record how the app starts and how a person signs in locally, so merged changes get screenshots?",
55
+ "options": [
56
+ { "label": "Yes", "description": "Fill the project environment in pc-repo-verify: start command, URL, local sign-in, seeded data." },
57
+ { "label": "No", "description": "Skip; the verification plans will look for the sign-in themselves." }
58
+ ]
59
+ }
60
+ ]
61
+ }
62
+ ```
63
+
64
+ ## Step 2, Sync skills
65
+
66
+ Always. `npx skills experimental_install --yes` in the project root installs what onboarding queued in `skills-lock.json`. A failure here is a warning, not a stop: the optional ones can be added later.
67
+
68
+ ## Step 3, Archive project history
69
+
70
+ If Yes. Scan the roots in `.opencode/source-roots.json` (plus this repo's own docs and config) for documentation, changelogs, ADRs, READMEs and anything else that records how the project got here. Then:
71
+
72
+ ```bash
73
+ openspec new change "project-history"
74
+ ```
75
+
76
+ Write a `proposal.md` in it covering what the project is, the decisions already taken, the tech debt and constraints the code shows, and where things stand. Archive it immediately, with `-y` so it cannot block:
77
+
78
+ ```bash
79
+ openspec archive "project-history" -y
80
+ ```
81
+
82
+ ## Step 4, Generate ARCHITECTURE.md
83
+
84
+ If Yes. Load `pc-make-architecture`.
85
+
86
+ ## Step 5, Generate DESIGN.md
87
+
88
+ If Yes. Load `pc-make-design`.
89
+
90
+ ## Step 6, Generate guardrails
91
+
92
+ Always. Load `pc-make-guardrails`.
93
+
94
+ ## Step 7, Visual evidence
95
+
96
+ If Yes. Every change's verification plan (`pc-repo-verify`) is replayed in headless Chromium by the evidence workflow when its pull request merges, from a freshly started app with nothing in the browser. Find in the source, and confirm by reading the root `package.json`, `.env.example` and the local auth setup:
97
+
98
+ - the command that starts the whole stack with mock authentication (normally `pnpm run dev` at the root),
99
+ - the URL the web app answers on,
100
+ - the local sign-in: the exact steps and visible labels of the mock account picker or dev login,
101
+ - the data a fresh start seeds (accounts, records) that a journey can rely on.
102
+
103
+ Write them as the bullet list between `<!-- PC-PROJECT-ENVIRONMENT-START -->` and `<!-- PC-PROJECT-ENVIRONMENT-END -->` in `.agents/skills/pc-repo-verify/SKILL.md`, replacing the placeholder bullets. Only that slot: the rest of the file is the harness's, and an update keeps only the slot.
104
+
105
+ ## Step 8, Show help
106
+
107
+ Load `pc-repo-help` and display the command reference as written.
108
+
109
+ ## Step 9, Confirm
110
+
111
+ ```
112
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
113
+ Initialization complete.
114
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
115
+
116
+ Restart OpenCode now.
117
+ Nothing will work correctly until you do.
118
+ After restarting you are ready to work.
119
+ ```
@@ -1,32 +1,32 @@
1
- ---
2
- name: pc-repo-onboard
3
- description: Walk the user through the project and its agentic infrastructure. Explains what exists, how agents work, and how to use the system. Invoked by the /repo-onboard command.
4
- license: MIT
5
- ---
6
-
7
- A guided tour of this repository and the harness installed in it, for somebody who has just arrived. Read and explain; change nothing.
8
-
9
- ## Rules
10
-
11
- - Never write, edit, or create a file, and never run a command from the tour to demonstrate it. The output is the explanation.
12
- - Never describe an agent, command, skill or setting that is not in this repository. The tour is worth having because it is specific: read `.opencode/agents/`, `.opencode/commands/`, `.agents/skills/`, `.opencode/harness.json`, `AGENTS.md`, `ARCHITECTURE.md` and `DESIGN.md` and report what is actually there.
13
-
14
- ## Cover, in this order
15
-
16
- 1. **The project.** Three to five bullets: what it is, the stack, the directories that matter.
17
- 2. **The agents.** One table row per file in `.opencode/agents/`, with its tier and purpose. Then the selection model: `build` and `plan` are the only two a human picks and both run the `fullstack-engineer` body, `plan` can neither edit nor spawn, everything else is `mode: subagent` and reached through `task()`, and a missing specialist is made with `/make-engineer`.
18
- 3. **The commands**, grouped by what they are for:
19
-
20
- | Group | Commands |
21
- |---|---|
22
- | Planning | `/plan-explore`, `/plan-story`, `/plan-propose`, `/plan-quick`, `/plan-goal` |
23
- | Implementation | `/plan-apply`, `/plan-archive` |
24
- | Maintenance | `/make-architecture`, `/make-design`, `/make-engineer`, `/make-guardrails` |
25
- | Shipping | `/ops-ship`, `/ops-review`, `/ops-backlog` |
26
- | Quality | `/repo-audit` (read-only), `/repo-verify` (writes the verification plan) |
27
- | Setup | `/init`, `/make-user-model`, `/repo-help` |
28
-
29
- 4. **The skills** installed in `.agents/skills/`, one line each, marking which are platform-specific.
30
- 5. **The OpenSpec lifecycle**: explore, propose, apply, archive, and what `openspec/config.yaml` controls.
31
- 6. **The configuration** in `.opencode/harness.json`: what each section governs, that `/make-user-model` changes a tier's model, and what `agents.maxConcurrent` caps.
32
- 7. **Where to start.** `/plan-goal` with a description of the work, `/repo-help` for everything else, and `npx @plainconceptsplatform/agent-harness` to refresh the harness after changing config.
1
+ ---
2
+ name: pc-repo-onboard
3
+ description: Walk the user through the project and its agentic infrastructure. Explains what exists, how agents work, and how to use the system. Invoked by the /repo-onboard command.
4
+ license: MIT
5
+ ---
6
+
7
+ A guided tour of this repository and the harness installed in it, for somebody who has just arrived. Read and explain; change nothing.
8
+
9
+ ## Rules
10
+
11
+ - Never write, edit, or create a file, and never run a command from the tour to demonstrate it. The output is the explanation.
12
+ - Never describe an agent, command, skill or setting that is not in this repository. The tour is worth having because it is specific: read `.opencode/agents/`, `.opencode/commands/`, `.agents/skills/`, `.opencode/harness.json`, `AGENTS.md`, `ARCHITECTURE.md` and `DESIGN.md` and report what is actually there.
13
+
14
+ ## Cover, in this order
15
+
16
+ 1. **The project.** Three to five bullets: what it is, the stack, the directories that matter.
17
+ 2. **The agents.** One table row per file in `.opencode/agents/`, with its tier and purpose. Then the selection model: `build` and `plan` are the only two a human picks and both run the `fullstack-engineer` body, `plan` can neither edit nor spawn, everything else is `mode: subagent` and reached through `task()`, and a missing specialist is made with `/make-engineer`.
18
+ 3. **The commands**, grouped by what they are for:
19
+
20
+ | Group | Commands |
21
+ |---|---|
22
+ | Planning | `/plan-explore`, `/plan-story`, `/plan-propose`, `/plan-quick`, `/plan-goal` |
23
+ | Implementation | `/plan-apply`, `/plan-archive` |
24
+ | Maintenance | `/make-architecture`, `/make-design`, `/make-engineer`, `/make-guardrails` |
25
+ | Shipping | `/ops-ship`, `/ops-review`, `/ops-backlog` |
26
+ | Quality | `/repo-audit` (read-only), `/repo-verify` (writes the verification plan) |
27
+ | Setup | `/init`, `/make-user-model`, `/repo-help` |
28
+
29
+ 4. **The skills** installed in `.agents/skills/`, one line each, marking which are platform-specific.
30
+ 5. **The OpenSpec lifecycle**: explore, propose, apply, archive, and what `openspec/config.yaml` controls.
31
+ 6. **The configuration** in `.opencode/harness.json`: what each section governs, that `/make-user-model` changes a tier's model, and what `agents.maxConcurrent` caps.
32
+ 7. **Where to start.** `/plan-goal` with a description of the work, `/repo-help` for everything else, and `npx @plainconceptsplatform/agent-harness` to refresh the harness after changing config.