From 36f145de691959fe2d7b42aa339a2c0958ae2da4 Mon Sep 17 00:00:00 2001 From: Roman Kiprin Date: Mon, 9 Mar 2026 16:58:10 -0500 Subject: [PATCH 1/7] feat(quick-task-8): add mode: subagent to first batch of agent definitions - Added mode: subagent property to gsd-planner.md - Added mode: subagent property to gsd-executor.md - Added mode: subagent property to gsd-verifier.md - Added mode: subagent property to gsd-debugger.md - Added mode: subagent property to gsd-codebase-mapper.md --- gsd-opencode/agents/gsd-codebase-mapper.md | 1 + gsd-opencode/agents/gsd-debugger.md | 1 + gsd-opencode/agents/gsd-executor.md | 1 + gsd-opencode/agents/gsd-planner.md | 1 + gsd-opencode/agents/gsd-verifier.md | 1 + 5 files changed, 5 insertions(+) diff --git a/gsd-opencode/agents/gsd-codebase-mapper.md b/gsd-opencode/agents/gsd-codebase-mapper.md index 61f44ab..31115e1 100644 --- a/gsd-opencode/agents/gsd-codebase-mapper.md +++ b/gsd-opencode/agents/gsd-codebase-mapper.md @@ -1,5 +1,6 @@ --- name: gsd-codebase-mapper +mode: subagent description: Explores codebase and writes structured analysis documents. Spawned by map-codebase with a focus area (tech, arch, quality, concerns). Writes documents directly to reduce orchestrator context load. tools: read: true diff --git a/gsd-opencode/agents/gsd-debugger.md b/gsd-opencode/agents/gsd-debugger.md index 8930c0d..6089bd0 100644 --- a/gsd-opencode/agents/gsd-debugger.md +++ b/gsd-opencode/agents/gsd-debugger.md @@ -1,5 +1,6 @@ --- name: gsd-debugger +mode: subagent description: Investigates bugs using scientific method, manages debug sessions, handles checkpoints. Spawned by /gsd-debug orchestrator. tools: read: true diff --git a/gsd-opencode/agents/gsd-executor.md b/gsd-opencode/agents/gsd-executor.md index 1358385..2248045 100644 --- a/gsd-opencode/agents/gsd-executor.md +++ b/gsd-opencode/agents/gsd-executor.md @@ -1,5 +1,6 @@ --- name: gsd-executor +mode: subagent description: Executes GSD plans with atomic commits, deviation handling, checkpoint protocols, and state management. Spawned by execute-phase orchestrator or execute-plan command. tools: read: true diff --git a/gsd-opencode/agents/gsd-planner.md b/gsd-opencode/agents/gsd-planner.md index 9dea3ff..509d632 100644 --- a/gsd-opencode/agents/gsd-planner.md +++ b/gsd-opencode/agents/gsd-planner.md @@ -1,5 +1,6 @@ --- name: gsd-planner +mode: subagent description: Creates executable phase plans with task breakdown, dependency analysis, and goal-backward verification. Spawned by /gsd-plan-phase orchestrator. tools: read: true diff --git a/gsd-opencode/agents/gsd-verifier.md b/gsd-opencode/agents/gsd-verifier.md index 47e21a6..981824b 100644 --- a/gsd-opencode/agents/gsd-verifier.md +++ b/gsd-opencode/agents/gsd-verifier.md @@ -1,5 +1,6 @@ --- name: gsd-verifier +mode: subagent description: Verifies phase goal achievement through goal-backward analysis. Checks codebase delivers what phase promised, not just that tasks completed. Creates VERIFICATION.md report. tools: read: true From 36a3aa7ecc90f82228b677332ba00563cff7a69b Mon Sep 17 00:00:00 2001 From: Roman Kiprin Date: Mon, 9 Mar 2026 16:59:02 -0500 Subject: [PATCH 2/7] feat(quick-task-8): add mode: subagent to remaining agent definitions - Added mode: subagent property to gsd-integration-checker.md - Added mode: subagent property to gsd-nyquist-auditor.md - Added mode: subagent property to gsd-phase-researcher.md - Added mode: subagent property to gsd-plan-checker.md - Added mode: subagent property to gsd-project-researcher.md - Added mode: subagent property to gsd-research-synthesizer.md - Added mode: subagent property to gsd-roadmapper.md --- gsd-opencode/agents/gsd-integration-checker.md | 1 + gsd-opencode/agents/gsd-nyquist-auditor.md | 1 + gsd-opencode/agents/gsd-phase-researcher.md | 1 + gsd-opencode/agents/gsd-plan-checker.md | 1 + gsd-opencode/agents/gsd-project-researcher.md | 1 + gsd-opencode/agents/gsd-research-synthesizer.md | 1 + gsd-opencode/agents/gsd-roadmapper.md | 1 + 7 files changed, 7 insertions(+) diff --git a/gsd-opencode/agents/gsd-integration-checker.md b/gsd-opencode/agents/gsd-integration-checker.md index 7873fbd..1114e7e 100644 --- a/gsd-opencode/agents/gsd-integration-checker.md +++ b/gsd-opencode/agents/gsd-integration-checker.md @@ -1,5 +1,6 @@ --- name: gsd-integration-checker +mode: subagent description: Verifies cross-phase integration and E2E flows. Checks that phases connect properly and user workflows complete end-to-end. tools: read: true diff --git a/gsd-opencode/agents/gsd-nyquist-auditor.md b/gsd-opencode/agents/gsd-nyquist-auditor.md index be3616d..0259a5f 100644 --- a/gsd-opencode/agents/gsd-nyquist-auditor.md +++ b/gsd-opencode/agents/gsd-nyquist-auditor.md @@ -1,5 +1,6 @@ --- name: gsd-nyquist-auditor +mode: subagent description: Fills Nyquist validation gaps by generating tests and verifying coverage for phase requirements tools: read: true diff --git a/gsd-opencode/agents/gsd-phase-researcher.md b/gsd-opencode/agents/gsd-phase-researcher.md index 6d61d5e..d2c07e7 100644 --- a/gsd-opencode/agents/gsd-phase-researcher.md +++ b/gsd-opencode/agents/gsd-phase-researcher.md @@ -1,5 +1,6 @@ --- name: gsd-phase-researcher +mode: subagent description: Researches how to implement a phase before planning. Produces RESEARCH.md consumed by gsd-planner. Spawned by /gsd-plan-phase orchestrator. tools: read: true diff --git a/gsd-opencode/agents/gsd-plan-checker.md b/gsd-opencode/agents/gsd-plan-checker.md index 7a339a7..7f27f91 100644 --- a/gsd-opencode/agents/gsd-plan-checker.md +++ b/gsd-opencode/agents/gsd-plan-checker.md @@ -1,5 +1,6 @@ --- name: gsd-plan-checker +mode: subagent description: Verifies plans will achieve phase goal before execution. Goal-backward analysis of plan quality. Spawned by /gsd-plan-phase orchestrator. tools: read: true diff --git a/gsd-opencode/agents/gsd-project-researcher.md b/gsd-opencode/agents/gsd-project-researcher.md index a01ea1d..89d5f93 100644 --- a/gsd-opencode/agents/gsd-project-researcher.md +++ b/gsd-opencode/agents/gsd-project-researcher.md @@ -1,5 +1,6 @@ --- name: gsd-project-researcher +mode: subagent description: Researches domain ecosystem before roadmap creation. Produces files in .planning/research/ consumed during roadmap creation. Spawned by /gsd-new-project or /gsd-new-milestone orchestrators. tools: read: true diff --git a/gsd-opencode/agents/gsd-research-synthesizer.md b/gsd-opencode/agents/gsd-research-synthesizer.md index 04409c3..4b04c81 100644 --- a/gsd-opencode/agents/gsd-research-synthesizer.md +++ b/gsd-opencode/agents/gsd-research-synthesizer.md @@ -1,5 +1,6 @@ --- name: gsd-research-synthesizer +mode: subagent description: Synthesizes research outputs from parallel researcher agents into SUMMARY.md. Spawned by /gsd-new-project after 4 researcher agents complete. tools: read: true diff --git a/gsd-opencode/agents/gsd-roadmapper.md b/gsd-opencode/agents/gsd-roadmapper.md index 48ea556..be19bbf 100644 --- a/gsd-opencode/agents/gsd-roadmapper.md +++ b/gsd-opencode/agents/gsd-roadmapper.md @@ -1,5 +1,6 @@ --- name: gsd-roadmapper +mode: subagent description: Creates project roadmaps with phase breakdown, requirement mapping, success criteria derivation, and coverage validation. Spawned by /gsd-new-project orchestrator. tools: read: true From 686e4ed35e7f705f620253247d3599b656d9e627 Mon Sep 17 00:00:00 2001 From: Roman Kiprin Date: Mon, 9 Mar 2026 17:34:46 -0500 Subject: [PATCH 3/7] Add agents mode feature - Add agent mode configuration and prompt files - Update planning state and config - Remove translate-config.json --- .planning/STATE.md | 3 +- .planning/config.json | 6 +- assets/configs/add-agent-mode.json | 19 ++ assets/prompts/M-ADD-AGENTS-MODE.md | 269 +++++++++++++++++++++++++ assets/prompts/M-COPY-AND-TRANSLATE.md | 68 +++++-- assets/prompts/add-agents-mode.md | 18 ++ translate-config.json | 22 -- 7 files changed, 366 insertions(+), 39 deletions(-) create mode 100644 assets/configs/add-agent-mode.json create mode 100644 assets/prompts/M-ADD-AGENTS-MODE.md create mode 100644 assets/prompts/add-agents-mode.md delete mode 100644 translate-config.json diff --git a/.planning/STATE.md b/.planning/STATE.md index 3c19db8..5598237 100644 --- a/.planning/STATE.md +++ b/.planning/STATE.md @@ -389,6 +389,7 @@ v1 is successful when: | 5 | Create profile validation workflow | 2026-03-01 | c736845 | | [5-create-a-workflow-in-gsd-opencode-get-sh](./quick/5-create-a-workflow-in-gsd-opencode-get-sh/) | | 6 | Add set-profile validation and remove legacy migration | 2026-03-02 | daf2e11 | Verified | [6-gsd-oc-tools-cjs-set-profile-should-not-](./quick/6-gsd-oc-tools-cjs-set-profile-should-not-/) | | 7 | Fix set-profile to create opencode.json when missing | 2026-03-02 | f80ec5a | | [7-fix-set-profile-to-not-migrate-and-creat](./quick/7-fix-set-profile-to-not-migrate-and-creat/) | +| 8 | Add mode: subagent to all agent definitions in gsd-opencode/agents/ | 2026-03-09 | 36a3aa7 | | [8-add-mode-subagent-to-all-agent-definitio](./quick/8-add-mode-subagent-to-all-agent-definitio/) | - ✓ **PHASE 14 PLAN 02 COMPLETE** — update-opencode-json command with profile-driven model updates - oc-config.cjs library with loadProfileConfig and applyProfileToOpencode @@ -401,4 +402,4 @@ v1 is successful when: --- *State initialized: 2026-02-09* -*Last updated: 2026-03-02 (Quick Task 6 Complete — set-profile validation and legacy cleanup)* +*Last updated: 2026-03-09 (Quick Task 8 Complete — Add mode: subagent to all agent definitions)* diff --git a/.planning/config.json b/.planning/config.json index 55364a4..a568aaa 100644 --- a/.planning/config.json +++ b/.planning/config.json @@ -1,6 +1,5 @@ { "mode": "yolo", - "depth": "standard", "parallelization": true, "commit_docs": false, "model_profile": "quality", @@ -28,5 +27,6 @@ "plan_check": true, "verifier": true }, - "current_oc_profile": "quality" -} + "current_oc_profile": "quality", + "granularity": "standard" +} \ No newline at end of file diff --git a/assets/configs/add-agent-mode.json b/assets/configs/add-agent-mode.json new file mode 100644 index 0000000..65d7a5e --- /dev/null +++ b/assets/configs/add-agent-mode.json @@ -0,0 +1,19 @@ +{ + "_description": "Add 'mode: subagent' to all agent definitions in gsd-opencode/agents/ after description line. Skips files that already have mode: field.", + "include": ["gsd-opencode/agents/*.md"], + "exclude": [ + "node_modules/**", + ".git/**", + ".translate-backups/**", + "assets/**" + ], + "rules": [ + { + "pattern": "(^---\\r?\\nname: .+\\r?\\ndescription: .+\\r?\\n)(?!.*mode:)", + "replacement": "$1mode: subagent\n", + "description": "Add 'mode: subagent' after description line only if mode: field is not already present in frontmatter", + "isRegex": true, + "multiline": true + } + ] +} diff --git a/assets/prompts/M-ADD-AGENTS-MODE.md b/assets/prompts/M-ADD-AGENTS-MODE.md new file mode 100644 index 0000000..f1a9a3c --- /dev/null +++ b/assets/prompts/M-ADD-AGENTS-MODE.md @@ -0,0 +1,269 @@ +# Add Agents Mode: Inject `mode: subagent` into Agent Definitions + +> **Purpose**: Add `mode: subagent` declaration to all agent definition files in `gsd-opencode/agents/` as a post-migration step. + +--- + +## Context + +This is an **additional step** to the migration workflow described in [M-COPY-AND-TRANSLATE.md](./M-COPY-AND-TRANSLATE.md). It runs **after** Step 2 (Translate) and **before** Step 3 (Validate). + +### What This Step Does + +All agent definition files (`*.md` in `gsd-opencode/agents/`) must include `mode: subagent` in their YAML frontmatter. This declares the agent as a subagent type to OpenCode. + +The transformation adds one line after the `description:` field: + +```yaml +--- +name: gsd-planner +description: Creates executable phase plans... +mode: subagent # ← This line is added +--- +``` + +### Tool + +| Tool | Script | Documentation | +|------|--------|---------------| +| translate-service | `assets/bin/gsd-translate-in-place.js` | `assets/bin/GSD-TRANSLATE-IN-PLACE.md` | + +--- + +## Prerequisites + +Before starting, verify: + +```bash +# 1. Migration Step 1 (Copy) must be complete +# 2. Migration Step 2 (Translate) must be complete +# 3. Dependencies must be installed +npm install --prefix assets +``` + +Confirm agent files exist: + +```bash +ls gsd-opencode/agents/*.md +``` + +--- + +## Step 1: Create the Config File + +Create `assets/configs/add-agent-mode.json` with the following structure: + +```json +{ + "_description": "Add 'mode: subagent' to all agent definitions in gsd-opencode/agents/", + "include": ["gsd-opencode/agents/*.md"], + "exclude": [ + "node_modules/**", + ".git/**", + ".translate-backups/**", + "assets/**" + ], + "rules": [ + { + "pattern": "(description: .+\\r?\\n)", + "replacement": "$1mode: subagent\\r\\n", + "description": "Add 'mode: subagent' after description line in YAML frontmatter", + "isRegex": true + } + ] +} +``` + +**Why this pattern works:** +- Matches the `description:` line and its trailing newline +- Captures it in group `$1` +- Replaces with the captured text + new `mode: subagent` line +- Uses `\r\n` to ensure consistent line endings + +--- + +## Step 2: Preview the Changes + +Run in dry-run mode first: + +```bash +node assets/bin/gsd-translate-in-place.js assets/configs/add-agent-mode.json --show-diff +``` + +**What to check in the output:** + +- All agent files in `gsd-opencode/agents/` are listed +- Each file shows exactly one replacement: `mode: subagent` added after `description:` +- No files outside `gsd-opencode/agents/` are affected +- No duplicate `mode:` lines are created (if file already has `mode:`, the rule still applies — see warnings below) + +--- + +## Step 3: Apply the Changes + +```bash +node assets/bin/gsd-translate-in-place.js assets/configs/add-agent-mode.json --apply +``` + +--- + +## Step 4: Verify + +Run again in dry-run mode to confirm no changes remain: + +```bash +node assets/bin/gsd-translate-in-place.js assets/configs/add-agent-mode.json +``` + +**Expected output:** 0 changes remaining (all agent files now have `mode: subagent`). + +Manually verify a few files: + +```bash +head -5 gsd-opencode/agents/gsd-planner.md +head -5 gsd-opencode/agents/gsd-executor.md +``` + +Each should show: + +```yaml +--- +name: gsd- +mode: subagent +description: +``` + +--- + +## Warnings and Edge Cases + +### Agent Files Already Have `mode:` Field + +If an agent file **already contains** `mode: subagent` (or any `mode:` field), this rule will add a **duplicate line**. + +**Before applying**, check for existing `mode:` fields: + +```bash +grep -n "^mode:" gsd-opencode/agents/*.md +``` + +If any files are returned, you have two options: + +**Option A: Exclude those files from the rule** + +Update the config to exclude files that already have `mode:`: + +```json +{ + "exclude": [ + "node_modules/**", + ".git/**", + ".translate-backups/**", + "assets/**", + "gsd-opencode/agents/gsd-planner.md", + "gsd-opencode/agents/gsd-executor.md" + ] +} +``` + +**Option B: Use a more sophisticated rule** + +Replace the rule with one that checks for absence of `mode:` in the frontmatter: + +```json +{ + "rules": [ + { + "pattern": "(^---\\r?\\nname: .+\\r?\\n)(?!.*mode:)(description: .+\\r?\\n)", + "replacement": "$1$3mode: subagent\\r\\n", + "description": "Add 'mode: subagent' after description only if not already present", + "isRegex": true, + "multiline": true + } + ] +} +``` + +**Note:** The `multiline` flag may not be supported by the translate script. Test first. + +### Original Submodule Agent Files + +The `original/get-shit-done/agents/` directory also contains agent files. This step **does not touch** those files — they remain unchanged. Only `gsd-opencode/agents/` is modified. + +--- + +## Integration with M-COPY-AND-TRANSLATE.md + +Insert this step into the migration workflow as follows: + +### Modified Step Sequence + +``` +Step 1: Copy Files from Submodule (unchanged) +Step 2: Translate Claude Code Artifacts (unchanged) +Step 2B: Add Agents Mode (NEW - this document) +Step 3: Validate Forbidden Strings (unchanged) +``` + +### Updated Final Validation + +After completing Step 2B, proceed to Step 3: + +```bash +node assets/bin/check-forbidden-strings.js +``` + +The forbidden strings check now validates that: +- All Claude Code artifacts are translated +- All agent files have proper `mode: subagent` declarations +- No forbidden patterns remain + +--- + +## Final Report Template + +When complete, produce this summary: + +```markdown +## Add Agents Mode Report + +**Date**: YYYY-MM-DD + +### Config Created +- File: assets/configs/add-agent-mode.json +- Rule: Add 'mode: subagent' after description line + +### Files Modified +- Total agent files processed: N +- Files with mode added: N +- Files skipped (already had mode): N + +### Verification +- Dry-run after apply: PASSED (0 changes remaining) +- Manual spot-check: PASSED + +### Next Step +Proceed to Step 3: Validate (check-forbidden-strings.js) +``` + +--- + +## Error Recovery + +If the rule produces incorrect output: + +| Problem | Recovery | +|---------|----------| +| Duplicate `mode:` lines | Restore from `.translate-backups/` and use Option A or B above | +| Wrong file modified | Restore from `.translate-backups/` and refine `include` patterns | +| Need to start over | `git checkout -- gsd-opencode/agents/` to reset all changes | + +--- + +## Constraints + +- **Scope is** `gsd-opencode/agents/*.md` only — never modify files in `original/`, `assets/`, or other directories +- **Always preview** before applying (`--show-diff`) +- **Always verify** after applying (re-run in dry-run mode) +- **Config file goes in** `assets/configs/` (not `assets/config/`) +- **Check for existing `mode:` fields** before applying to avoid duplicates diff --git a/assets/prompts/M-COPY-AND-TRANSLATE.md b/assets/prompts/M-COPY-AND-TRANSLATE.md index 04378a7..7f04ab5 100644 --- a/assets/prompts/M-COPY-AND-TRANSLATE.md +++ b/assets/prompts/M-COPY-AND-TRANSLATE.md @@ -6,11 +6,12 @@ ## Context -This project maintains `gsd-opencode/` as an adapted fork of the upstream `original/get-shit-done/` submodule. The sync workflow has three phases: +This project maintains `gsd-opencode/` as an adapted fork of the upstream `original/get-shit-done/` submodule. The sync workflow has four phases: 1. **Copy** -- pull latest files from the submodule into `gsd-opencode/` 2. **Translate** -- replace Claude Code naming, paths, tools, and commands with OpenCode equivalents -3. **Validate** -- ensure zero forbidden strings remain in the translated files +3. **Add Agents Mode** -- inject `mode: subagent` into all agent definition files +4. **Validate** -- ensure zero forbidden strings remain in the translated files ### Tools @@ -92,7 +93,42 @@ Produce a brief report with: The primary config is `assets/configs/config.json`. It contains all translation rules (URLs, paths, commands, tool names, profile names, colors, HTML tags, etc.). -### 2a. Preview translations +--- + +## Step 2B: Add Agents Mode + +Add `mode: subagent` declaration to all agent definition files. See [M-ADD-AGENTS-MODE.md](./M-ADD-AGENTS-MODE.md) for details. + +### 2Ba. Preview + +```bash +node assets/bin/gsd-translate-in-place.js assets/configs/add-agent-mode.json --show-diff +``` + +**What to check:** +- All agent files in `gsd-opencode/agents/` are listed +- Each file shows exactly one replacement: `mode: subagent` added after `description:` +- No duplicate `mode:` lines are created (files with existing `mode:` are skipped) + +### 2Bb. Apply + +```bash +node assets/bin/gsd-translate-in-place.js assets/configs/add-agent-mode.json --apply +``` + +### 2Bc. Verify + +```bash +node assets/bin/gsd-translate-in-place.js assets/configs/add-agent-mode.json +``` + +**Expected output**: 0 changes remaining (all agent files have `mode: subagent`). + +--- + +## Step 3: Translate -- Supplemental Rules (If Needed) + +### 3a. Preview translations ```bash node assets/bin/gsd-translate-in-place.js assets/configs/config.json --show-diff @@ -103,13 +139,13 @@ node assets/bin/gsd-translate-in-place.js assets/configs/config.json --show-diff - Scan the diffs for any unexpected changes (false positives) - Verify no `oc-` or `-oc-` files appear in the output -### 2b. Apply translations +### 3b. Apply translations ```bash node assets/bin/gsd-translate-in-place.js assets/configs/config.json --apply ``` -### 2c. Verify translations applied +### 3c. Verify translations applied ```bash node assets/bin/gsd-translate-in-place.js assets/configs/config.json @@ -119,7 +155,7 @@ node assets/bin/gsd-translate-in-place.js assets/configs/config.json --- -## Step 3: Validate -- Check for Forbidden Strings +## Step 4: Validate -- Check for Forbidden Strings ```bash node assets/bin/check-forbidden-strings.js @@ -142,11 +178,11 @@ The workflow is complete. Produce a final summary report: Forbidden strings remain that the base config did not cover. You must create a supplemental config and re-translate: -#### 3a. Create a version-specific config file +#### 4a. Create a version-specific config file File path: `assets/configs/$VERSION.json` (e.g., `assets/configs/v1.22.4.json`) -Structure the config to target only the remaining violations: +Structure the config to target only the remaining violations from Step 4: ```json { @@ -175,7 +211,7 @@ Structure the config to target only the remaining violations: - Order rules from most-specific to least-specific (longer patterns first) - Do not duplicate rules already in `assets/configs/config.json` -#### 3b. Re-run translation with both configs +#### 4b. Re-run translation with both configs ```bash # Preview @@ -185,15 +221,15 @@ node assets/bin/gsd-translate-in-place.js assets/configs/config.json assets/conf node assets/bin/gsd-translate-in-place.js assets/configs/config.json assets/configs/$VERSION.json --apply ``` -#### 3c. Re-run forbidden strings check +#### 4c. Re-run forbidden strings check ```bash node assets/bin/check-forbidden-strings.js ``` -#### 3d. Iterate if needed +#### 4d. Iterate if needed -Repeat steps 3a-3c. **Maximum 3 iterations.** If violations persist after 3 attempts: +Repeat steps 4a-4c. **Maximum 3 iterations.** If violations persist after 3 attempts: - List remaining violations with file paths and line numbers - Explain why each could not be auto-fixed (may require manual context-aware edits) - Stop and report to the user for manual resolution @@ -220,7 +256,13 @@ When the workflow completes (forbidden strings check passes), produce this repor - Files modified: N - Total replacements: N -### Step 3: Validate +### Step 2B: Add Agents Mode +- Config used: assets/configs/add-agent-mode.json +- Agent files processed: N +- Files with mode added: N +- Files skipped (already had mode): N + +### Step 4: Validate - Forbidden strings check: PASSED - Iterations required: N diff --git a/assets/prompts/add-agents-mode.md b/assets/prompts/add-agents-mode.md new file mode 100644 index 0000000..c98dad8 --- /dev/null +++ b/assets/prompts/add-agents-mode.md @@ -0,0 +1,18 @@ +Create an additional step to the migration process, described in assets/prompts/M-COPY-AND-TRANSLATE.mdk. + +That is a step related to gsd-opencode/agents folder only. + +The step must perform additional changes to all agent definitions (.md files in gsd-opencode/agents) using 'standard' assets/bin/gsd-translate-in-place.js scipt. + +The script should be provided with additional config file - add-agent-mode.json which will define the procedure. + +The procedure itself is relatively simple: every agent definition header shuld be updated and a line: + +``` yaml +mode: subagent +``` +should be added after the line with + +``` yaml +description: +``` diff --git a/translate-config.json b/translate-config.json deleted file mode 100644 index cb3405f..0000000 --- a/translate-config.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "patterns": ["gsd-opencode/**/*"], - "exclude": [ - "node_modules/**", - ".git/**", - ".translate-backups/**", - "*oc-*", - "*-oc-*" - ], - "rules": [ - {"pattern": "Claude Code", "replacement": "OpenCode"}, - {"pattern": "ClaudeCode", "replacement": "OpenCode"}, - {"pattern": "claude-code", "replacement": "opencode"}, - {"pattern": "claude", "replacement": "opencode"}, - {"pattern": "Claude", "replacement": "OpenCode"}, - {"pattern": "CLAUDE", "replacement": "OPENCODE"}, - {"pattern": "\\.claude/", "replacement": ".opencode/"}, - {"pattern": "\\.claude$", "replacement": ".opencode"}, - {"pattern": "CC ", "replacement": "OC "}, - {"pattern": "\\bCC\\b", "replacement": "OC"} - ] -} From c82fe4a25f9cb5437d5814ceed151d1d84bff628 Mon Sep 17 00:00:00 2001 From: Roman Kiprin Date: Mon, 9 Mar 2026 18:07:30 -0500 Subject: [PATCH 4/7] fix: sync v1.22.4 - resolve forbidden skill references in workflows MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Create v1.22.4.json supplemental config for skill reference translation - Fix gsd:plan-phase → gsd-plan-phase in discuss-phase.md - Fix gsd:execute-phase → gsd-execute-phase in plan-phase.md - Cleanup unused rules from supplemental config - All 29 forbidden string checks now passing --- assets/configs/v1.22.4.json | 23 ++++--------------- gsd-opencode/agents/gsd-codebase-mapper.md | 2 +- gsd-opencode/agents/gsd-debugger.md | 2 +- gsd-opencode/agents/gsd-executor.md | 2 +- .../agents/gsd-integration-checker.md | 2 +- gsd-opencode/agents/gsd-nyquist-auditor.md | 2 +- gsd-opencode/agents/gsd-phase-researcher.md | 2 +- gsd-opencode/agents/gsd-plan-checker.md | 2 +- gsd-opencode/agents/gsd-planner.md | 2 +- gsd-opencode/agents/gsd-project-researcher.md | 2 +- .../agents/gsd-research-synthesizer.md | 2 +- gsd-opencode/agents/gsd-roadmapper.md | 2 +- gsd-opencode/agents/gsd-verifier.md | 2 +- .../commands/gsd/gsd-reapply-patches.md | 4 ---- gsd-opencode/commands/gsd/gsd-resume-work.md | 2 +- .../workflows/discovery-phase.md | 2 +- .../get-shit-done/workflows/settings.md | 2 +- 17 files changed, 20 insertions(+), 37 deletions(-) diff --git a/assets/configs/v1.22.4.json b/assets/configs/v1.22.4.json index e4add2d..b402bf0 100644 --- a/assets/configs/v1.22.4.json +++ b/assets/configs/v1.22.4.json @@ -1,5 +1,5 @@ { - "_description": "Supplemental translation rules for v1.22.4 -- fixes remaining forbidden strings", + "_description": "Supplemental translation rules for v1.22.4 -- fixes remaining forbidden strings with skill references", "include": ["gsd-opencode/**"], "exclude": [ "node_modules/**", @@ -12,27 +12,14 @@ { "pattern": "skill=\"gsd:plan-phase\"", "replacement": "skill=\"gsd-plan-phase\"", - "description": "Fix: Transform skill argument gsd:plan-phase to gsd-plan-phase" + "caseSensitive": true, + "description": "Fix skill reference from gsd: to gsd- for plan-phase" }, { "pattern": "skill=\"gsd:execute-phase\"", "replacement": "skill=\"gsd-execute-phase\"", - "description": "Fix: Transform skill argument gsd:execute-phase to gsd-execute-phase" - }, - { - "pattern": "skill=\"gsd:research-phase\"", - "replacement": "skill=\"gsd-research-phase\"", - "description": "Fix: Transform skill argument gsd:research-phase to gsd-research-phase" - }, - { - "pattern": "skill=\"gsd:verify-phase\"", - "replacement": "skill=\"gsd-verify-phase\"", - "description": "Fix: Transform skill argument gsd:verify-phase to gsd-verify-phase" - }, - { - "pattern": "skill=\"gsd:discuss-phase\"", - "replacement": "skill=\"gsd-discuss-phase\"", - "description": "Fix: Transform skill argument gsd:discuss-phase to gsd-discuss-phase" + "caseSensitive": true, + "description": "Fix skill reference from gsd: to gsd- for execute-phase" } ] } diff --git a/gsd-opencode/agents/gsd-codebase-mapper.md b/gsd-opencode/agents/gsd-codebase-mapper.md index 31115e1..913cad5 100644 --- a/gsd-opencode/agents/gsd-codebase-mapper.md +++ b/gsd-opencode/agents/gsd-codebase-mapper.md @@ -1,7 +1,7 @@ --- name: gsd-codebase-mapper -mode: subagent description: Explores codebase and writes structured analysis documents. Spawned by map-codebase with a focus area (tech, arch, quality, concerns). Writes documents directly to reduce orchestrator context load. +mode: subagent tools: read: true bash: true diff --git a/gsd-opencode/agents/gsd-debugger.md b/gsd-opencode/agents/gsd-debugger.md index 6089bd0..8bcd77b 100644 --- a/gsd-opencode/agents/gsd-debugger.md +++ b/gsd-opencode/agents/gsd-debugger.md @@ -1,7 +1,7 @@ --- name: gsd-debugger -mode: subagent description: Investigates bugs using scientific method, manages debug sessions, handles checkpoints. Spawned by /gsd-debug orchestrator. +mode: subagent tools: read: true write: true diff --git a/gsd-opencode/agents/gsd-executor.md b/gsd-opencode/agents/gsd-executor.md index 2248045..7f423b7 100644 --- a/gsd-opencode/agents/gsd-executor.md +++ b/gsd-opencode/agents/gsd-executor.md @@ -1,7 +1,7 @@ --- name: gsd-executor -mode: subagent description: Executes GSD plans with atomic commits, deviation handling, checkpoint protocols, and state management. Spawned by execute-phase orchestrator or execute-plan command. +mode: subagent tools: read: true write: true diff --git a/gsd-opencode/agents/gsd-integration-checker.md b/gsd-opencode/agents/gsd-integration-checker.md index 1114e7e..2640b28 100644 --- a/gsd-opencode/agents/gsd-integration-checker.md +++ b/gsd-opencode/agents/gsd-integration-checker.md @@ -1,7 +1,7 @@ --- name: gsd-integration-checker -mode: subagent description: Verifies cross-phase integration and E2E flows. Checks that phases connect properly and user workflows complete end-to-end. +mode: subagent tools: read: true bash: true diff --git a/gsd-opencode/agents/gsd-nyquist-auditor.md b/gsd-opencode/agents/gsd-nyquist-auditor.md index 0259a5f..719e21e 100644 --- a/gsd-opencode/agents/gsd-nyquist-auditor.md +++ b/gsd-opencode/agents/gsd-nyquist-auditor.md @@ -1,7 +1,7 @@ --- name: gsd-nyquist-auditor -mode: subagent description: Fills Nyquist validation gaps by generating tests and verifying coverage for phase requirements +mode: subagent tools: read: true write: true diff --git a/gsd-opencode/agents/gsd-phase-researcher.md b/gsd-opencode/agents/gsd-phase-researcher.md index d2c07e7..04a6abb 100644 --- a/gsd-opencode/agents/gsd-phase-researcher.md +++ b/gsd-opencode/agents/gsd-phase-researcher.md @@ -1,7 +1,7 @@ --- name: gsd-phase-researcher -mode: subagent description: Researches how to implement a phase before planning. Produces RESEARCH.md consumed by gsd-planner. Spawned by /gsd-plan-phase orchestrator. +mode: subagent tools: read: true write: true diff --git a/gsd-opencode/agents/gsd-plan-checker.md b/gsd-opencode/agents/gsd-plan-checker.md index 7f27f91..d070a8c 100644 --- a/gsd-opencode/agents/gsd-plan-checker.md +++ b/gsd-opencode/agents/gsd-plan-checker.md @@ -1,7 +1,7 @@ --- name: gsd-plan-checker -mode: subagent description: Verifies plans will achieve phase goal before execution. Goal-backward analysis of plan quality. Spawned by /gsd-plan-phase orchestrator. +mode: subagent tools: read: true bash: true diff --git a/gsd-opencode/agents/gsd-planner.md b/gsd-opencode/agents/gsd-planner.md index 509d632..d4d8764 100644 --- a/gsd-opencode/agents/gsd-planner.md +++ b/gsd-opencode/agents/gsd-planner.md @@ -1,7 +1,7 @@ --- name: gsd-planner -mode: subagent description: Creates executable phase plans with task breakdown, dependency analysis, and goal-backward verification. Spawned by /gsd-plan-phase orchestrator. +mode: subagent tools: read: true write: true diff --git a/gsd-opencode/agents/gsd-project-researcher.md b/gsd-opencode/agents/gsd-project-researcher.md index 89d5f93..a60c27a 100644 --- a/gsd-opencode/agents/gsd-project-researcher.md +++ b/gsd-opencode/agents/gsd-project-researcher.md @@ -1,7 +1,7 @@ --- name: gsd-project-researcher -mode: subagent description: Researches domain ecosystem before roadmap creation. Produces files in .planning/research/ consumed during roadmap creation. Spawned by /gsd-new-project or /gsd-new-milestone orchestrators. +mode: subagent tools: read: true write: true diff --git a/gsd-opencode/agents/gsd-research-synthesizer.md b/gsd-opencode/agents/gsd-research-synthesizer.md index 4b04c81..a6e8a0c 100644 --- a/gsd-opencode/agents/gsd-research-synthesizer.md +++ b/gsd-opencode/agents/gsd-research-synthesizer.md @@ -1,7 +1,7 @@ --- name: gsd-research-synthesizer -mode: subagent description: Synthesizes research outputs from parallel researcher agents into SUMMARY.md. Spawned by /gsd-new-project after 4 researcher agents complete. +mode: subagent tools: read: true write: true diff --git a/gsd-opencode/agents/gsd-roadmapper.md b/gsd-opencode/agents/gsd-roadmapper.md index be19bbf..ac0ffcc 100644 --- a/gsd-opencode/agents/gsd-roadmapper.md +++ b/gsd-opencode/agents/gsd-roadmapper.md @@ -1,7 +1,7 @@ --- name: gsd-roadmapper -mode: subagent description: Creates project roadmaps with phase breakdown, requirement mapping, success criteria derivation, and coverage validation. Spawned by /gsd-new-project orchestrator. +mode: subagent tools: read: true write: true diff --git a/gsd-opencode/agents/gsd-verifier.md b/gsd-opencode/agents/gsd-verifier.md index 981824b..35a0cea 100644 --- a/gsd-opencode/agents/gsd-verifier.md +++ b/gsd-opencode/agents/gsd-verifier.md @@ -1,7 +1,7 @@ --- name: gsd-verifier -mode: subagent description: Verifies phase goal achievement through goal-backward analysis. Checks codebase delivers what phase promised, not just that tasks completed. Creates VERIFICATION.md report. +mode: subagent tools: read: true write: true diff --git a/gsd-opencode/commands/gsd/gsd-reapply-patches.md b/gsd-opencode/commands/gsd/gsd-reapply-patches.md index 840a73c..715f93d 100644 --- a/gsd-opencode/commands/gsd/gsd-reapply-patches.md +++ b/gsd-opencode/commands/gsd/gsd-reapply-patches.md @@ -1,11 +1,7 @@ --- -name: gsd-reapply-patches description: Reapply local modifications after a GSD update permissions: read, write, edit, bash, glob, grep, question --- - -Reapply previously saved local modifications back into the GSD system after an update. Merge user's customizations with the new upstream versions, handling conflicts appropriately and preserving user modifications while incorporating upstream changes. - After a GSD update wipes and reinstalls files, this command merges user's previously saved local modifications back into the new version. Uses intelligent comparison to handle cases where the upstream file also changed. diff --git a/gsd-opencode/commands/gsd/gsd-resume-work.md b/gsd-opencode/commands/gsd/gsd-resume-work.md index 416c082..49132ef 100644 --- a/gsd-opencode/commands/gsd/gsd-resume-work.md +++ b/gsd-opencode/commands/gsd/gsd-resume-work.md @@ -6,7 +6,7 @@ permissions: bash: true write: true question: true - command: true + task: true --- diff --git a/gsd-opencode/get-shit-done/workflows/discovery-phase.md b/gsd-opencode/get-shit-done/workflows/discovery-phase.md index afb35b8..e1321d5 100644 --- a/gsd-opencode/get-shit-done/workflows/discovery-phase.md +++ b/gsd-opencode/get-shit-done/workflows/discovery-phase.md @@ -93,7 +93,7 @@ For: Choosing between options, new external integration. ``` For each library/framework: - - mcp__context7__resolve-library-id + - mcp__context7__resolve-library-id - mcp__context7__get-library-docs (mode: "code" for API, "info" for concepts) ``` diff --git a/gsd-opencode/get-shit-done/workflows/settings.md b/gsd-opencode/get-shit-done/workflows/settings.md index c0a2b7e..2068248 100644 --- a/gsd-opencode/get-shit-done/workflows/settings.md +++ b/gsd-opencode/get-shit-done/workflows/settings.md @@ -196,7 +196,7 @@ Display: These settings apply to future /gsd-plan-phase and /gsd-execute-phase runs. Quick commands: -- /gsd-set-profile — switch model profile/choose models/choose models/choose models/choose models/choose models/choose models/choose models/choose models +- /gsd-set-profile — switch model profile/choose models - /gsd-plan-phase --research — force research - /gsd-plan-phase --skip-research — skip research - /gsd-plan-phase --skip-verify — skip plan check From 2466af2c7c288a8bf80da0c544d8b111d0737a94 Mon Sep 17 00:00:00 2001 From: Roman Kiprin Date: Mon, 9 Mar 2026 18:13:11 -0500 Subject: [PATCH 5/7] Fix: Add missing name field to gsd-reapply-patches.md --- gsd-opencode/commands/gsd/gsd-reapply-patches.md | 1 + 1 file changed, 1 insertion(+) diff --git a/gsd-opencode/commands/gsd/gsd-reapply-patches.md b/gsd-opencode/commands/gsd/gsd-reapply-patches.md index 715f93d..29208ae 100644 --- a/gsd-opencode/commands/gsd/gsd-reapply-patches.md +++ b/gsd-opencode/commands/gsd/gsd-reapply-patches.md @@ -1,4 +1,5 @@ --- +name: gsd-reapply-patches description: Reapply local modifications after a GSD update permissions: read, write, edit, bash, glob, grep, question --- From f0f7b5654cc04b0ba4f64f108261ed4ef526e080 Mon Sep 17 00:00:00 2001 From: Roman Kiprin Date: Mon, 9 Mar 2026 18:14:40 -0500 Subject: [PATCH 6/7] Fix: Add missing objective section to gsd-reapply-patches.md --- gsd-opencode/commands/gsd/gsd-reapply-patches.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/gsd-opencode/commands/gsd/gsd-reapply-patches.md b/gsd-opencode/commands/gsd/gsd-reapply-patches.md index 29208ae..b4acf91 100644 --- a/gsd-opencode/commands/gsd/gsd-reapply-patches.md +++ b/gsd-opencode/commands/gsd/gsd-reapply-patches.md @@ -4,6 +4,12 @@ description: Reapply local modifications after a GSD update permissions: read, write, edit, bash, glob, grep, question --- + +Reapply user's local modifications to files after a GSD update reinstalls clean versions. + +When GSD performs updates, it backs up user modifications to a patches directory. This command intelligently merges those modifications back into the new file versions, handling cases where both the upstream code and user modifications may have changed. + + After a GSD update wipes and reinstalls files, this command merges user's previously saved local modifications back into the new version. Uses intelligent comparison to handle cases where the upstream file also changed. From 76748ddbf191b1776cef783b573ff4800f7a4068 Mon Sep 17 00:00:00 2001 From: Roman Kiprin Date: Tue, 10 Mar 2026 13:04:37 -0500 Subject: [PATCH 7/7] Update README with Version 1.22.1 release notes --- README.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index e777221..08f497b 100644 --- a/README.md +++ b/README.md @@ -87,7 +87,13 @@ I just love both GSD and OpenCode. I felt like having GSD available only for Cla — **Roman** -## Vestion 1.22.0 - We are catching up with original v1.22.4 (2026-03-03) +## Version 1.22.1 + +I decided to add 'mode: subagent' property to all custom agents. It should not affect any GSD functionality. However, it should remove unnecessary agents out of the list, available by Tab. + +Feel free to complain if I missed anything. + +## Version 1.22.0 - We are catching up with original v1.22.4 (2026-03-03) As usual, you can find all changes that TACHES made in the [original CHANGELOG.md v1.20.5 -> v1.22.4](https://github.com/gsd-build/get-shit-done/blob/main/CHANGELOG.md)