Skip to content

feat(init): scaffold dispatcher skill alongside the agent#1499

Merged
jamesadevine merged 1 commit into
mainfrom
feat/init-dispatcher-skill
Jul 13, 2026
Merged

feat(init): scaffold dispatcher skill alongside the agent#1499
jamesadevine merged 1 commit into
mainfrom
feat/init-dispatcher-skill

Conversation

@jamesadevine

Copy link
Copy Markdown
Collaborator

Summary

ado-aw init now scaffolds a dispatcher skill (.github/skills/ado-aw/SKILL.md) in addition to the existing dispatcher agent (.github/agents/ado-aw.agent.md). This matches how github/gh-aw init works — it emits both an agent (.github/agents/agentic-workflows.md) and a skill (.github/skills/agentic-workflows/SKILL.md) with the same routing content — so Copilot surfaces that consume skills also get the router.

The change is additive: the agent file is still written exactly as before.

Changes

  • src/data/init-skill.md (new) — SKILL.md-format dispatcher template (name: ado-aw + description), same create/update/debug routing and version-pinned prompt URLs as init-agent.md.
  • src/init.rs — additively creates .github/skills/ado-aw/SKILL.md, substituting {{ compiler_version }} and printing a ✓ Created line.
  • .github/skills/ado-aw/SKILL.md (new) — committed repo self-copy (byte-for-byte init output, carrying the literal version + x-release-please-version markers), mirroring how .github/agents/ado-aw.agent.md is committed.
  • release-please-config.json — added the new skill file to extra-files so its pinned URLs version-bump in lock-step with the agent file.
  • tests/init_tests.rs — new sync-guard test_committed_skill_file_matches_template_output plus skill assertions in the create-path test.
  • Docsdocs/cli.md init output bullet, AGENTS.md architecture tree (init.rs + src/data/), and the agent-docs workflow (.github/workflows/doc-freshness-check.md) audit scope now cover both the agent and skill scaffold files.

Distinct from the existing .github/skills/agentic-workflows/SKILL.md in this repo (that one is the gh-aw meta dispatcher) — no collision.

Test plan

  • cargo test --test init_tests → 10/10 passed, including the new byte-for-byte skill sync guard.
  • cargo clippy --all-targets --all-features → clean.
  • Manual ado-aw init --path <tmp> → both .github/agents/ado-aw.agent.md and .github/skills/ado-aw/SKILL.md are created with the version substituted.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 9d964cf9-4314-42e5-9e31-1793722e6a42
@jamesadevine
jamesadevine merged commit a2bd920 into main Jul 13, 2026
15 of 17 checks passed
@jamesadevine
jamesadevine deleted the feat/init-dispatcher-skill branch July 13, 2026 20:29
@github-actions

Copy link
Copy Markdown
Contributor

🔍 Rust PR Review

Summary: Looks good — clean additive change, well-tested, no logic or security issues.

Findings

⚠️ Suggestions

  • tests/init_tests.rs (sync guard error message): The assertion failure hint says "regenerate it with \ado-aw init --force`", but --forceis not a flag on theinitsubcommand —initalways unconditionally overwrites both the agent and skill files. A developer hitting this failure would search for a non-existent flag. Should just say"run `ado-aw init --path (repo-root)`"`.

✅ What Looks Good

  • {{ compiler_version }} substitution: Uses the same env!("CARGO_PKG_VERSION") + .replace() pattern as the existing agent path — consistent and correct; the test's !skill_content.contains("{{ compiler_version }}") assertion guards against future template regressions.
  • Error context: Both create_dir_all and write have .with_context(|| format!(...)) with the path — matches project convention.
  • Byte-for-byte sync guard: test_committed_skill_file_matches_template_output normalizes CRLF before comparing, protecting against Windows line-ending drift — good cross-platform hygiene.
  • release-please-config.json: Adding the skill file to extra-files ensures version URLs in the committed copy stay pinned in lock-step with the agent file — this is easy to forget and it's done correctly here.
  • Additive-only: No existing agent-file behaviour is changed; the skill scaffolding is fully parallel.

Generated by Rust PR Reviewer for #1499 · 31.9 AIC · ⌖ 5.6 AIC · ⊞ 6.2K ·

jamesadevine added a commit that referenced this pull request Jul 13, 2026
The committed .github/skills/ado-aw/SKILL.md carried stale v0.44.0
x-release-please-version markers (added in #1499) while the crate is at
0.44.1, so tests/init_tests.rs::test_committed_skill_file_matches_template_output
fails on main and on every PR branched from it. Regenerate the release-version
markers to match the template output. Pre-existing base-branch drift unrelated
to this PR's trigger-e2e changes, fixed here to unblock the required check.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: f30758a5-81c8-4024-ab01-52ad22b4f877
jamesadevine added a commit that referenced this pull request Jul 13, 2026
The committed .github/skills/ado-aw/SKILL.md carried stale v0.44.0
x-release-please-version markers (added in #1499) while the crate is at
0.44.1. tests/init_tests.rs::test_committed_skill_file_matches_template_output
regenerates the skill from src/data/init-skill.md and compares byte-for-byte,
so this drift fails the required Build & Test check on main and on every branch
cut from it. Bump the three prompt URLs + AGENTS.md reference to v0.44.1 to match
the template output.


Copilot-Session: f30758a5-81c8-4024-ab01-52ad22b4f877

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant