Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,19 @@ Overview: Added M-TRANSLATE.md workflow for sync from upstream GSD, updated gsd-
- Updated agent call syntax from `task()` to `@subagent_type prompt` format in discuss-phase workflow in `gsd-opencode/get-shit-done/workflows/discuss-phase.md`
- Enhanced discovery-phase workflow with improved formatting for library resolution in `gsd-opencode/get-shit-done/workflows/discovery-phase.md`

## [1.33.2] - 2026-04-12

Overview: Added regex translation rule for Agent() background task calls in autonomous workflows, converting OpenCode-incompatible Agent() syntax to @gsd-xxx shorthand with dynamic agent name extraction.

### Added

- Translation rule 21 in `assets/configs/remove-task.json` for converting `Agent(description=..., run_in_background=true, prompt=...)` calls to `@gsd-<agent>` shorthand syntax, extracting agent name from `skill="gsd:<agent>"` patterns

### Changed

- Converted `Agent()` background task dispatch calls to `@gsd-plan-phase` and `@gsd-execute-phase` shorthand in `gsd-opencode/get-shit-done/workflows/autonomous.md` for OpenCode compatibility
- Updated skill invocation syntax from `skill="gsd:plan-phase"` to `skill="gsd-plan-phase"` (colon to dash) in autonomous workflow agent prompts

## [1.33.0] - 2026-04-06

Overview: Major upstream sync from GSD v1.33.0 introducing security auditing pipeline, automated documentation generation with codebase verification, dependency analysis, and discuss-phase power mode. Enhanced planner with scope reduction prohibition and decision coverage matrices. Added response language support, worktree isolation control, Kilo runtime support, and schema drift detection across 150 files.
Expand Down
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,10 @@ I just love both GSD and OpenCode. I felt like having GSD available only for Cla

— **Roman**

## Version 1.33.2

Added support for translating `Agent()` background task calls to OpenCode-compatible `@gsd-<agent>` shorthand syntax. The new translation rule 21 in `assets/configs/remove-task.json` dynamically extracts agent names from `skill="gsd-<agent>"` patterns and converts them to the OpenCode format. This update fixes two `Agent()` calls in `autonomous.md` workflow for plan and execute phase dispatch, ensuring full OpenCode compatibility.

## Version 1.33.0

Again we keep up with the original GSDv1 [v1.33.0](https://github.com/gsd-build/get-shit-done/releases/tag/v1.33.0) (2026-04-04).
Expand Down
8 changes: 8 additions & 0 deletions assets/configs/remove-task.json
Original file line number Diff line number Diff line change
Expand Up @@ -208,6 +208,14 @@
"isRegex": true,
"caseSensitive": true,
"description": "Replace task(subagent_type=general, prompt=triple-quoted) with @general shorthand"
},
{
"_comment": "21. Agent() with skill(skill=\"gsd:xxx\", ...) in prompt → @gsd-xxx shorthand",
"pattern": "Agent\\(\\s*\\r?\\n\\s*description=\"[^\"]*\",\\s*\\r?\\n\\s*run_in_background=true,\\s*\\r?\\n\\s*prompt=\"Run ([^\"]+) for phase \\$\\{PHASE_NUM\\}: skill\\(skill=\\\\\"gsd:([^\\\\\"]+)\\\\\", args=\\\\\"([^\\\\\"]+)\\\\\"\\)\"\\s*\\r?\\n\\s*\\)",
"replacement": "@gsd-$2 \"Run $1 for phase ${PHASE_NUM}: skill(skill=\\\"gsd-$2\\\", args=\\\"$3\\\")\"",
"isRegex": true,
"caseSensitive": true,
"description": "Replace Agent() with gsd skill reference to @gsd-xxx shorthand, extracting agent name from skill=\"gsd:xxx\" and converting to gsd-xxx"
}
]
}
12 changes: 2 additions & 10 deletions gsd-opencode/get-shit-done/workflows/autonomous.md
Original file line number Diff line number Diff line change
Expand Up @@ -319,11 +319,7 @@ UI_SPEC_FILE=$(ls "${PHASE_DIR}"/*-UI-SPEC.md 2>/dev/null | head -1)
**If `INTERACTIVE` is set:** Dispatch plan as a background agent to keep the main context lean. While plan runs, the workflow can immediately start discussing the next phase (see step 4).

```
Agent(
description="Plan phase ${PHASE_NUM}: ${PHASE_NAME}",
run_in_background=true,
prompt="Run plan-phase for phase ${PHASE_NUM}: skill(skill=\"gsd:plan-phase\", args=\"${PHASE_NUM}\")"
)
@gsd-plan-phase "Run plan-phase for phase ${PHASE_NUM}: skill(skill=\"gsd-plan-phase\", args=\"${PHASE_NUM}\")"
```

Store the agent task_id. After discuss for the next phase completes (or if no next phase), wait for the plan agent to finish before proceeding to execute.
Expand All @@ -341,11 +337,7 @@ Verify plan produced output — re-run `init phase-op` and check `has_plans`. If
**If `INTERACTIVE` is set:** Wait for the plan agent to complete (if not already), verify plans exist, then dispatch execute as a background agent:

```
Agent(
description="Execute phase ${PHASE_NUM}: ${PHASE_NAME}",
run_in_background=true,
prompt="Run execute-phase for phase ${PHASE_NUM}: skill(skill=\"gsd:execute-phase\", args=\"${PHASE_NUM} --no-transition\")"
)
@gsd-execute-phase "Run execute-phase for phase ${PHASE_NUM}: skill(skill=\"gsd-execute-phase\", args=\"${PHASE_NUM} --no-transition\")"
```

Store the agent task_id. The workflow can now start discussing the next phase while this phase executes in the background. Before starting post-execution routing for this phase, wait for the execute agent to complete.
Expand Down
Loading