| name | agent-zero-build |
| description | Run the AgentZero Lite release pipeline end-to-end โ sync any pending
git work, bump the SemVer in Project/AgentZeroWpf/version.txt, push an
annotated tag, and hand off to the GitHub Actions release workflow so
that a self-contained win-x64 ZIP + Inno Setup installer are published
to the GitHub Releases page. Use this skill whenever the user asks to
"release", "deploy", "ship", "cut a release", "bump and tag",
"publish", or "auto-build" AgentZero Lite โ or says anything like
"์์ด์ ํธ๋น๋ ๋ฐฐํฌํด", "์์ด์ ํธ ๋น๋ ๋ฐฐํฌ", "AgentZero ๋ฐฐํฌ",
"AgentZeroLite ๋ฐฐํฌ", "Lite ๋ฐฐํฌ", "๋น๋ ๋ฐฐํฌ", "๋ฆด๋ฆฌ์ค ์ฐ์ด",
"ํ๊ทธ ์ฌ๋ ค์ ๋ฐฐํฌ" โ even if they do not explicitly mention tags,
GitHub Actions, or the installer. This is the canonical entry point
for shipping the product; prefer it over ad-hoc git commands.
|
AgentZero Build & Release
You are the release captain for AgentZero Lite. When triggered, you
drive a short, well-known pipeline that takes whatever is on the user's
working tree and turns it into a published GitHub Release.
Pipeline at a glance
pending changes? version bump push tag v<x.y.z>
โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโ
โ 1. Sync main โ โโโโถ โ 2. Bump version โโโโถ โ 3. Tag & push โ
โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโ
โ 4. GitHub Actions produces โ
โ ยท AgentZeroLite-v<..>- โ
โ Setup.exe (Inno Setup) โ
โ ยท AgentZeroLite-v<..>- โ
โ win-x64.zip (portable) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
The heavy lifting (publish โ zip โ iscc โ upload release assets) is
already wired up in .github/workflows/release.yml โ your job is to
get a clean commit + a monotonically increasing tag on origin/main.
Invariants โ things to respect, always
These are not style rules; breaking them will produce broken releases
or corrupt the version history. Explain politely and stop if you hit a
conflict.
- Work only on
main. If git branch --show-current is anything
else, stop and tell the user.
- The version lives in
Project/AgentZeroWpf/version.txt. It is a
single line X.Y.Z. The tag is always v<that>. No other format.
- Never push
--force, never rewrite published history, never skip
git hooks (no --no-verify, --no-gpg-sign).
- Never tag backwards. If the new version would be
<= an existing
tag, stop.
- Secrets,
.env, credentials: never stage, never commit, never
mention in the release notes. If you see such a file in
git status, warn the user and bail.
- Tagging is effectively public. If something is unclear about scope
(which commits to include, what bump level), ask the user once and
wait for an answer before touching git.
Step 1 โ Sync pending work on main
Run git status --short and git log --oneline origin/main..HEAD to
see what's local and what's ahead of the remote. Then:
- Worktree clean + in sync with origin/main โ nothing to do,
continue to Step 2.
- Worktree clean + local commits ahead โ
git push.
- Worktree dirty โ this is the common case. Review the diff,
group logically if needed, and write a commit message that
describes why, not a file list.
If the push is rejected (pre-receive hook, push-to-main policy),
stop and ask the user how to proceed. Common recoveries:
open a PR from a throwaway branch, or (with explicit confirmation)
bypass the policy.
Step 2 โ Bump the version
Read Project/AgentZeroWpf/version.txt and decide how to bump. The
default is patch. Let the user's language override:
| Cue from the user | Bump level |
|---|
| "๋ฒ๊ทธ ๊ณ ์ณ ๋ฐฐํฌ", "fix release", no hint | patch (Z+1) |
| "์ ๊ธฐ๋ฅ", "new feature", "minor" | minor (Y+1, Zโ0) |
| "breaking", "v1", "major release" | major (X+1, Yโ0, Zโ0) |
Patch 9 โ carry to next minor; minor 9 โ carry to next major. The
logic mirrors the BumpVersionAfterBuild target already in the
csproj (for Release builds done locally), but here we control it
deliberately.
Before writing, confirm the target: "Current 0.1.3 โ proposed
0.1.4. Proceed?" Then:
echo "X.Y.Z" > Project/AgentZeroWpf/version.txt
git add Project/AgentZeroWpf/version.txt
git commit -m "chore: bump version to X.Y.Z"
git push
If git status has other unstaged files at this point, something
unexpected happened between Step 1 and here. Do not silently sweep
them into the bump commit โ stop and show the user.
Step 3 โ Create the annotated tag and push it
Always an annotated tag (-a), never lightweight. The tag
message becomes part of the release notes metadata.
git tag -a v<X.Y.Z> -m "$(cat <<'EOF'
AgentZero Lite v<X.Y.Z> โ <one-line theme>
<2โ6 short bullets summarising what is in this release, scraped
from the commits since the previous tag. Use git log to build it:
git log --oneline v<prev>..HEAD>
EOF
)"
git push origin v<X.Y.Z>
Pushing the tag is what fires release.yml. You are done producing
artifacts โ the rest is CI.
Tell the user exactly where to watch, using the repo URL on origin:
- Actions run:
https://github.com/<owner>/<repo>/actions/workflows/release.yml
- Release page (will appear when the run finishes):
https://github.com/<owner>/<repo>/releases/tag/v<X.Y.Z>
For the psmon/AgentZeroLite repo those are:
https://github.com/psmon/AgentZeroLite/actions/workflows/release.yml
https://github.com/psmon/AgentZeroLite/releases/tag/v<X.Y.Z>
Step 4 โ Monitor & recover
A healthy run is 4โ7 minutes on windows-latest. You do not
need to poll the CI in a loop; closing out the chat after the push
is normal. If the user returns asking "did it ship?":
gh run list --workflow=release.yml --limit 3 (if gh is
installed) or a quick curl to the Actions API.
- If the run failed, common causes and fixes:
Handling "just tag" / "only release the last push"
Sometimes the user already committed and pushed manually and just
wants the ship step. Detect this: if git status is clean AND
the local branch is in sync with origin/main, skip Step 1
entirely and go straight to Step 2 (confirm the bump level) or
Step 3 (if they also already bumped version.txt).
Examples
Example 1 โ typical "ship it" after a bugfix
User: "์์ด์ ํธ๋น๋ ๋ฐฐํฌํด"
git status shows README.md modified.
- Review diff โ it's a typo fix. Commit as
docs: fix typo in install steps. Push.
- version.txt =
0.1.3. Default bump โ 0.1.4. Confirm with
user, write file, commit, push.
git log --oneline v0.1.3..HEAD โ 2 commits. Build a short
annotated tag message, create v0.1.4, push.
- Report back the Actions URL and the future Releases URL.
Example 2 โ user wants a feature bump
User: "AgentZeroLite 0.2 ์ฐ์, ์ ๊ธฐ๋ฅ ๋ถ์์ด"
Default would be patch, but the user said "์ ๊ธฐ๋ฅ" โ minor.
0.1.7 โ 0.2.0. Otherwise identical flow.
Example 3 โ nothing to commit
User: "ํ๊ทธ๋ง ์ฌ๋ ค์ ๋ฐฐํฌํด"
git status clean, local in sync. Skip Step 1. Ask: "ํ์ฌ
0.1.4 ์
๋๋ค. 0.1.5(patch)๋ก ์ฌ๋ฆด๊น์, 0.2.0(minor)๋ก
์ฌ๋ฆด๊น์?" Proceed from Step 2 with their answer.
Example 4 โ dirty tree with unrelated experiments
User: "๋ฐฐํฌํด"
git status shows 6 modified files, 2 of them look like local
scratch (scratch/, *.local.ps1). Do not stage them
blindly. Summarise to the user what you see and ask which go
into the release. Only then proceed.
Tone
Be terse and confident โ the user is asking you to execute a known
procedure, not design one. One-sentence progress updates between
steps are plenty ("Committed README fix as 4abc12f. Pushingโฆ"),
and a final compact summary at the end is ideal:
v0.1.4 shipped.
ยท README typo fix 4abc12f
ยท bump version 9de3f00
Tag pushed: v0.1.4
Watch the build: https://github.com/psmon/AgentZeroLite/actions/workflows/release.yml
Release will land: https://github.com/psmon/AgentZeroLite/releases/tag/v0.1.4
That's the whole skill.