microsoft / microsoft/GitHub-Copilot-for-Azure
Replace deploy skill local Docker build/tag/push steps with a script
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 250
- Forks
- 204
- Avg merge
- 1d 12h
- Merged PRs (30d)
- 67
Description
## Summary
Copilot has identified a portion of a skill that is a good candidate for replacement with a script.
The candidate is the **local Docker build → tag → push sequence** in the `foundry-agent/deploy` skill (`deploy.md`).
## Candidate description
**Local Docker build → tag → push sequence (Step 3)**
A fixed 4-command sequence (`docker build` → `az acr login` → `docker tag` → `docker push`) with essentially no branching (only the optional `wsl -e` prefix). It is a well-defined series of steps, easy to wrap in a parameterized script `(image, tag, acrName, repository)`.
## Affected file and lines
- [`deploy.md` — Step 3: Local Docker Build (L146–L152)](https://github.com/microsoft/GitHub-Copilot-for-Azure/blob/164e0cda7b9d75d6e0d64b235d17bd7ff5e2909e/plugin/skills/microsoft-foundry/foundry-agent/deploy/deploy.md#L146-L152)
## Next steps
1. **Evaluate the candidate** — confirm the steps are stable and parameterizable, and that the script captures everything the skill needs.
2. **Create both a bash _and_ a PowerShell version** of the script so the skill works across platforms.
3. **Run integration tests** to verify the scripts behave correctly and the skill still completes end-to-end.
## Background Information
### Why replace regular steps with scripts
Replacing a regular, well-defined series of steps with a script can:
- **Reduce token usage** — the skill no longer needs to spell out each command and parse large command output inline; the agent invokes one script and reads a compact result.
- **Improve reliability** — the logic is written and tested once, instead of being re-derived by the agent on every run.
- **Improve determinism** — the same inputs always produce the same steps and output, removing run-to-run variation.
- **Improve speed of execution** — a single script call replaces multiple round-trips of command generation, execution, and large-output parsing.
### Authoring notes for the scripts
- **Reference scripts with markdown links**, not just a bare path to the script file.
- **Include examples** in the skill showing how to run each script (sample invocation with arguments).
- **Briefly explain what each script does** where it is referenced.
- **The script output should explain what it did**, so the agent and user can understand the result without re-inspecting raw command output.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with deploy.md Step 3 at L146–L152 and inspect the surrounding foundry-agent/deploy skill conventions for referenced scripts. Create bash and PowerShell versions covering the local Docker build, az acr login, tag, and push flow, update the skill with linked references and invocation examples, and run the integration tests to verify end-to-end completion.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- azure, bash, docker, powershell
- Domain
- cloud, devops, tooling
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 66/100