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
7 changes: 4 additions & 3 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ jobs:
run: |
$package = Get-Content package.json -Raw | ConvertFrom-Json
if ($env:GITHUB_REF_NAME -ne "v$($package.version)") { throw 'Tag must match package.json version.' }
"VSIX_PATH=artifacts/$($package.name)-$($package.version).vsix" | Out-File -FilePath $env:GITHUB_ENV -Append -Encoding utf8
if (-not $env:VSCE_PAT) { throw 'VSCE_PAT repository secret is required.' }
$visibility = gh repo view "$env:GITHUB_REPOSITORY" --json visibility --jq .visibility
if ($visibility -ne 'PUBLIC') { throw 'Repository must be public before Marketplace publication.' }
Expand All @@ -36,11 +37,11 @@ jobs:
- run: npm run package
- run: pwsh -NoProfile -File scripts/verify-vsix.ps1
- name: Publish to Visual Studio Marketplace
run: npx --no-install vsce publish --skip-duplicate --packagePath artifacts/gh-aw-visual-editor-0.1.0.vsix
run: npx --no-install vsce publish --skip-duplicate --packagePath "$env:VSIX_PATH"
- name: Publish to Open VSX
if: ${{ env.OVSX_PAT != '' }}
run: npx --yes ovsx publish artifacts/gh-aw-visual-editor-0.1.0.vsix --pat "$env:OVSX_PAT"
run: npx --yes ovsx publish "$env:VSIX_PATH" --pat "$env:OVSX_PAT"
- name: Create GitHub Release
env:
GH_TOKEN: ${{ github.token }}
run: gh release create "$env:GITHUB_REF_NAME" artifacts/gh-aw-visual-editor-0.1.0.vsix --generate-notes --verify-tag
run: gh release create "$env:GITHUB_REF_NAME" "$env:VSIX_PATH" --generate-notes --verify-tag
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
# Change Log

## [0.1.1] - 2026-09-27

- Add Agent Job prompt assistance for sections, inline sub-agents and skills, runtime imports, run information, checklists, output examples and conditional prompts.
- Preserve definition boundaries, nested headings, pending inputs and language-switch drafts while editing instructions.
- Resolve ranged runtime imports to the underlying file for dependency tracking and navigation, and detect duplicate definition names inside conditional prompts.
- Update the English and Japanese documentation and the Japanese first-workflow walkthrough to match the current editing flow.

## [0.1.0] - 2026-09-25

Initial release of Agentic Workflow Designer. Edit GitHub Agentic Workflows Markdown alongside VS Code's source editor, inspect jobs and dependencies, and compile with `gh aw v0.89.21`. Includes English and Japanese UI text and two example workflows.
62 changes: 41 additions & 21 deletions README.ja.md

Large diffs are not rendered by default.

28 changes: 26 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,12 @@ gh extension install github/gh-aw
gh aw version
```

Install **Agentic Workflow Designer** from the VS Code Extensions view after publication. Alternatively, download `gh-aw-visual-editor-0.1.0.vsix` from a GitHub Release and use **Extensions: Install from VSIX…**. Open your local repository folder, then run **Agentic Workflows: Check Environment**. The editor never installs or updates tools automatically. GitHub authentication and engine credentials are separate prerequisites for running a workflow on GitHub.
Install **Agentic Workflow Designer** from the VS Code Extensions view. Alternatively, download `gh-aw-visual-editor-0.1.1.vsix` from a GitHub Release and use **Extensions: Install from VSIX…**. Open your local repository folder, then run **Agentic Workflows: Check Environment**. The editor never installs or updates tools automatically. GitHub authentication and engine credentials are separate prerequisites for running a workflow on GitHub.

## Use

For a step-by-step walkthrough, see [First workflow practice (Japanese)](docs/first-workflow.ja.md), which covers instructions, settings, and generated jobs while building a repository improvement report.

Run **Agentic Workflows: New Workflow**, select a template, and enter a file name without `.md`. Templates cover a minimal workflow, repository investigation, issue triage and scheduled reports. You can also duplicate an existing Markdown document. Files are created under `.github/workflows/` without overwriting existing files. Multi-folder workspaces prompt for the destination.

Two [sample workflows](sample/README.md) are included for inspection. They reference repository-specific automation and need review before use elsewhere.
Expand All @@ -36,16 +38,38 @@ Right-click a Markdown file under `.github/workflows/` and choose **Open Designe
| View | Use |
|---|---|
| Settings | Choose a configuration section and edit triggers, engine, tools, permissions, safe outputs and other fields. |
| Markdown body | Select a heading from the outline. Edit its title and text, use formatting buttons, and add, reorder or delete sections. |
| Markdown body | Add, edit, reorder or delete prompt sections and inline agent/skill definitions. Insert imports, run information and conditional prompts. |
| Jobs and steps | Create custom jobs and steps, or add supported Markdown settings to compiler-generated jobs. |
| Flow view | See declared job dependencies and expected gh-aw jobs in a vertical diagram. Select a job to open its editor. Dashed elements are inferred from observed compiler behavior, not confirmed execution. |

Start in **Markdown body**, write the agent's instructions and choose **Apply instructions**. The Markdown beside the helper updates immediately. **Save and check** saves the source and runs the official compiler. Use **Jobs and steps** for fixed commands or Actions. Placing the Markdown cursor on `jobs:` or a job name opens the corresponding editor. A custom `report` job can define its runner, dependencies and complete steps. Generated jobs such as `agent` and `safe_outputs` expose supported additions and a route to their feature settings; the compiler still creates the job and retains its required dependencies. Use **Agentic Workflows: Open Generated YAML** from the command palette when you need to inspect the compiler output.

Select an Action step with `uses:` to edit its `with:` inputs by name. Text, number, and boolean values can be added, changed, and removed. Existing reusable-workflow jobs with `uses:` expose the same input editor. Complex input structures lead to the matching Markdown source.

Added dependencies, conditions, and permissions on generated jobs are combined with compiler-generated values rather than replacing the job or its required dependencies. `setup-steps` cannot be added to `activation` or `pre_activation`, and ordinary `steps` are shown only on supported jobs. If you configure a generated job not present in the last compiled result, enabling its trigger or feature may be required. Save and compile to verify against the actually generated jobs.

Instruction sections describe the order requested of the agent; they are not independent Actions jobs. The helper does not show a live GitHub run. Check again after source changes.

### Prompt assistance

Choose **Edit instructions and definitions** on the generated `agent` job. In **Markdown body**, open **Add section or definition** and choose a prompt section, sub-agent or inline skill. Enter its name and instructions. Sub-agents accept optional description and model fields; inline skills accept description. Existing definition YAML remains editable in the text area, preserving authored fields. Definitions are listed separately from normal sections and can be renamed, reordered or deleted.

| Item | Helper and behavior |
|---|---|
| Prompt section | Enter a section title and instructions. |
| Sub-agent | Add a ``## agent: `reviewer` `` definition and matching end marker. Accepts optional `description` and `model`. |
| Inline skill | Add a ``## skill: `review-checklist` `` definition and matching end marker. The YAML frontmatter supports `description`. |
| Formatting / examples | Insert checklists and expected output example blocks. |
| External content | Insert `{{#runtime-import .github/rules.md}}`. Supports public HTTP(S) URLs, line ranges, and optional skipping when missing. |
| Run information | Select repository, actor, Issue or PR number, and insert in `${{ github.repository }}` format. |
| Conditional prompt | Wrap selected text in `{{#if ...}}` and `{{/if}}` for Issue, PR, or manual-run conditions. |

**Insert into instructions** provides checklists, output examples, `${{ ... }}` run information, file/URL runtime imports, optional imports and line ranges. Select text to wrap it in an Issue, pull request or manual-run condition. Insertions stay in the draft until **Apply instructions**; apply pending instructions before adding another section or definition.

Definitions use matching `## end agent:` / `## end skill:` markers so nested `##` headings remain inside their definition. gh-aw extracts definitions from the parent prompt at runtime. Ask the parent to use the named agent or skill; defining one does not invoke it. Models and invocation behavior depend on the engine. See the [inline sub-agent reference](https://github.github.com/gh-aw/reference/inline-sub-agents/) and [inline skill implementation](https://github.com/github/gh-aw/blob/v0.89.21/actions/setup/js/extract_inline_skills.cjs).

Runtime-import files must stay inside `.github`; public HTTP(S) URLs are also supported. Conditions do not support nesting or `else`. Prompt expressions cannot access secrets or environment variables. Edit advanced expressions in Markdown and validate them with the installed CLI. See [Templating](https://github.github.com/gh-aw/reference/templating/).

The jobs list separates **custom jobs** from **generated jobs**. Custom jobs own their steps; generated jobs accept only supported source settings. Imports remain references. Compiled output opens read-only from the command palette.

Apply each form explicitly. **Go to source** and **Open Markdown** reuse the visible Markdown editor. All sections share one document and Undo/Redo history. Moving the source cursor selects the corresponding helper section, except while a form has unapplied input. New Workflow, Open Generated YAML, and Check Environment remain available from the command palette.
Expand Down
5 changes: 4 additions & 1 deletion docs/compatibility.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,8 @@ The extension accepts the installed `gh aw` when its version command succeeds. I
| Custom jobs | Add/remove `jobs.<id>`; edit scalar `name`, `runs-on`, `if`, and explicit `needs` arrays; edit `on.needs` for jobs that must finish before the agent |
| Generated job settings | Add `jobs.<built-in>.if`, additive `needs`, additive permission scopes, and `timeout-minutes` on `agent`/`detection`; remove individual added settings without deleting the generated job |
| Steps | Add run/uses steps to custom `steps`, `pre-steps`, `setup-steps`, top-level `steps` and `post-steps`; add `pre-steps` and supported `setup-steps`/`steps` to generated jobs; edit scalar name/run/uses/if/shell/working-directory; reorder/remove ordinary sequences |
| Instructions | Preserve Markdown as source; `##` sections outside fenced code and HTML comments become editable, reorderable steps; introductory content stays first |
| Instructions | Add/edit/reorder prompt sections and inline agent/skill definitions; preserve nested headings inside explicit end markers and conditionals; fenced code and HTML comments do not define section boundaries |
| Prompt assistance | Agent name/description/model; inline skill name/description; checklists/output examples; allowed run-context suggestions; file/URL/optional/ranged runtime imports; Issue/PR/manual-run conditions |
| Generated graph | Parse current `.lock.yml` jobs/needs and ordered steps before any saved snapshot; label a file that differs from the extension record unverified; no live run status |

The official compiler decides whether a combination is valid. For example, a permission value can exist in the schema but still be rejected under strict mode. The editor does not silently escalate permissions or supply missing scopes.
Expand All @@ -30,4 +31,6 @@ Generated job `needs` augment existing dependencies, `if` combines with the comp

Compilation can update the target `.lock.yml`, `.gitattributes`, `.github/aw/actions-lock.json`, and auxiliary files for advanced configurations. Review repository changes after compiling.

Inline definitions are extracted at runtime and must be invoked by name from the parent instructions. Added definitions have explicit end markers. Existing definitions without end markers require source editing before moving; appending a section after a final implicit definition closes it first. Inline skill YAML supports `description`, while agents preserve authored settings. Invocation and models depend on the selected engine. See [Inline Sub-Agents](https://github.github.com/gh-aw/reference/inline-sub-agents/), the [v0.89.21 skill extractor](https://github.com/github/gh-aw/blob/v0.89.21/actions/setup/js/extract_inline_skills.cjs), and [Templating](https://github.github.com/gh-aw/reference/templating/).

Windows desktop and local file workspaces are supported. WSL, SSH, containers, Codespaces, virtual workspaces, and browser VS Code are outside the supported target.
Loading
Loading