refactor: rename dev-workflow skill to implementation-orchestrator

The name dev-workflow described a category, not what the skill does. It
orchestrates implementation of already-planned tickets, so the new name
says that. Skill dir, docs page, name field and openai display name are
updated to match; validate-skill.sh moves with the dir and its paths are
fixed for the new depth and engineering/ layout.
This commit is contained in:
2026-08-30 13:40:27 -04:00
parent 3be0f20eef
commit b9567c5e39
5 changed files with 33 additions and 33 deletions
@@ -1,6 +1,6 @@
# Pi development workflow skill # Pi implementation orchestrator skill
`dev-workflow` implements already-planned tracker tickets from issue selection through isolated implementation worktrees, pull/merge requests, review, merge, and cleanup. `implementation-orchestrator` implements already-planned tracker tickets from issue selection through isolated implementation worktrees, pull/merge requests, review, merge, and cleanup.
It supports: It supports:
@@ -40,10 +40,10 @@ Invoke it with an optional ticket ID or URL:
```text ```text
# Process only ticket 43 # Process only ticket 43
/skill:dev-workflow 43 /skill:implementation-orchestrator 43
# Process all available tickets in the current repository # Process all available tickets in the current repository
/skill:dev-workflow /skill:implementation-orchestrator
``` ```
The ID must be a tracker issue/ticket, not a branch name, PR/MR ID, or session ID. With an ID, only that ticket is processed. With no ID, the skill considers all open tickets in the current repository. The ID must be a tracker issue/ticket, not a branch name, PR/MR ID, or session ID. With an ID, only that ticket is processed. With no ID, the skill considers all open tickets in the current repository.
@@ -1,26 +0,0 @@
#!/usr/bin/env bash
set -euo pipefail
root="$(cd "$(dirname "${BASH_SOURCE[0]}")/../../.." && pwd)"
skill="$root/skills/dev-workflow/SKILL.md"
shared_skill="$root/skills/forge-cli/SKILL.md"
recipes=(
"$root/skills/forge-cli/references/tea.md"
"$root/skills/forge-cli/references/gh.md"
"$root/skills/forge-cli/references/glab.md"
)
[[ -f "$skill" && -f "$shared_skill" && -f "${recipes[0]}" && -f "${recipes[1]}" && -f "${recipes[2]}" ]] || {
echo 'Missing skill or reference file' >&2
exit 1
}
head -1 "$skill" | grep -qx -- '---'
grep -q '^name: dev-workflow$' "$skill"
grep -q '^description: ' "$skill"
head -1 "$shared_skill" | grep -qx -- '---'
grep -q '^name: forge-cli$' "$shared_skill"
grep -q '^description: ' "$shared_skill"
node -e 'JSON.parse(require("fs").readFileSync(process.argv[1], "utf8"))' "$root/package.json"
bash -n "$root/skills/forge-cli/scripts/detect-forge.sh"
printf '%s\n' 'dev-workflow skill is valid'
@@ -1,10 +1,10 @@
--- ---
name: dev-workflow name: implementation-orchestrator
description: Implements ready-for-agent tracker tickets through isolated worktrees, pull requests, review, conflict resolution, and merge. Use after wayfinder and planning have produced tickets, with or without a ticket ID/URL; no ticket ID/URL means process available tickets. Does not create planning tickets. description: Implements ready-for-agent tracker tickets through isolated worktrees, pull requests, review, conflict resolution, and merge. Use after wayfinder and planning have produced tickets, with or without a ticket ID/URL; no ticket ID/URL means process available tickets. Does not create planning tickets.
disable-model-invocation: true disable-model-invocation: true
--- ---
# Development workflow # Implementation orchestrator
Use this skill only after the human-led wayfinder, plan, spec, and ticket phases. **A tracker ticket ID or URL is optional. Without one, process all eligible open tickets in the current repository.** With an argument, process only that ticket. An ID means the forge's issue/ticket identifier, not a branch, session, or PR ID. Use this skill only after the human-led wayfinder, plan, spec, and ticket phases. **A tracker ticket ID or URL is optional. Without one, process all eligible open tickets in the current repository.** With an argument, process only that ticket. An ID means the forge's issue/ticket identifier, not a branch, session, or PR ID.
@@ -1,5 +1,5 @@
interface: interface:
display_name: "Development Workflow" display_name: "Implementation Orchestrator"
short_description: "Implements ready-for-agent tracker tickets through isolated worktrees" short_description: "Implements ready-for-agent tracker tickets through isolated worktrees"
policy: policy:
allow_implicit_invocation: false allow_implicit_invocation: false
@@ -0,0 +1,26 @@
#!/usr/bin/env bash
set -euo pipefail
root="$(cd "$(dirname "${BASH_SOURCE[0]}")/../../../.." && pwd)"
skill="$root/skills/engineering/implementation-orchestrator/SKILL.md"
shared_skill="$root/skills/engineering/forge-cli/SKILL.md"
recipes=(
"$root/skills/engineering/forge-cli/references/tea.md"
"$root/skills/engineering/forge-cli/references/gh.md"
"$root/skills/engineering/forge-cli/references/glab.md"
)
[[ -f "$skill" && -f "$shared_skill" && -f "${recipes[0]}" && -f "${recipes[1]}" && -f "${recipes[2]}" ]] || {
echo 'Missing skill or reference file' >&2
exit 1
}
head -1 "$skill" | grep -qx -- '---'
grep -q '^name: implementation-orchestrator$' "$skill"
grep -q '^description: ' "$skill"
head -1 "$shared_skill" | grep -qx -- '---'
grep -q '^name: forge-cli$' "$shared_skill"
grep -q '^description: ' "$shared_skill"
node -e 'JSON.parse(require("fs").readFileSync(process.argv[1], "utf8"))' "$root/package.json"
bash -n "$root/skills/engineering/forge-cli/scripts/detect-forge.sh"
printf '%s\n' 'implementation-orchestrator skill is valid'