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
34 changes: 34 additions & 0 deletions .github/skills/agentic-workflow-designer/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -157,9 +157,30 @@ Present a structured summary and ask for approval before generation.
| User says... | Maps to |
|---|---|
| "calls an external API" | ask for exact FQDN/wildcard, then add to `network.allowed` |
| "reads GitHub data / clones repos" | include `github` in `network.allowed` |
| "uses GitHub Actions artifacts or cache" | include `github-actions` in `network.allowed` |
| "installs npm packages" | include `node` in `network.allowed` |
| "runs pip install" | include `python` in `network.allowed` |
| "builds Go code" | include `go` in `network.allowed` |
| "installs gems / uses Bundler" | include `ruby` in `network.allowed` |
| "runs cargo build" | include `rust` in `network.allowed` |
| "uses NuGet / .NET restore" | include `dotnet` in `network.allowed` |
| "builds with Maven / Gradle" | include `java` in `network.allowed` |
| "uses Docker / pulls container images / pushes to GHCR" | include `containers` in `network.allowed` |
| "runs Playwright browser tests" | include `playwright` in `network.allowed` |
| "runs apt install / yum / apk" | include `linux-distros` in `network.allowed` |
| "uses Terraform / HashiCorp registry" | include `terraform` in `network.allowed` |
| "connects to localhost / loopback / local services" | include `local` in `network.allowed` |
| "uses Swift Package Manager" | include `swift` in `network.allowed` |
| "uses Composer / PHP packages" | include `php` in `network.allowed` |
| "uses pub.dev / Dart packages" | include `dart` in `network.allowed` |
| "uses Hackage / Haskell packages" | include `haskell` in `network.allowed` |
| "uses CPAN / Perl packages" | include `perl` in `network.allowed` |
| "serves or loads web fonts" | include `fonts` in `network.allowed` |
| "uses Deno or JSR packages" | include `deno` in `network.allowed` |
| "uses Elixir / Hex packages" | include `elixir` in `network.allowed` |
| "uses Bazel build" | include `bazel` in `network.allowed` |
| "uses R / CRAN packages" | include `r` in `network.allowed` |

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[/grill-with-docs] 14 ecosystem identifiers from network.md are still absent from this table after the expansion.

The PR description claims to cover "all high-frequency ecosystem identifiers plus additional long-tail ones", but network.md lists 39 identifiers total and the SKILL.md now covers 26 — leaving these still unmapped:

clojure, julia, kotlin, lua, node-cdns, ocaml, powershell, scala, zig, dev-tools, chrome, latex, lean, python-native

Some of these (node-cdns, dev-tools, chrome, powershell, kotlin) are plausible choices in CI/CD workflows.

💡 Suggested additions

High-priority missing entries:

User says... Maps to
"uses CDN / jsdelivr / unpkg" include node-cdns in network.allowed
"uses Renovate / Codecov / shields.io" include dev-tools in network.allowed
"runs Chrome or Chromium" include chrome in network.allowed
"uses PowerShell Gallery" include powershell in network.allowed
"uses Kotlin / JetBrains packages" include kotlin in network.allowed

Or, if the intent is intentional curation rather than exhaustive coverage, update the PR description to say so.

| "no external access" | `network.allowed: [defaults]` (or `[]` if explicitly zero network) |

### Tool Mapping
Expand All @@ -184,6 +205,19 @@ Present a structured summary and ask for approval before generation.
| "monitor workflow failures and trends" | `MonitorOps` |
| "process a big backlog in chunks" | `BatchOps` |
| "run manually with input parameters" | `DispatchOps` |
| "apply a label-based workflow" | `LabelOps` |
| "operate across multiple repositories" | `MultiRepoOps` |
| "coordinate multiple sub-agents" | `Orchestration` |

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wrong pattern name: Orchestration does not exist — the canonical name is OrchestratorOps and will not match any documentation link or search.

💡 Suggested fix

Both pattern doc files (orchestration.md and orchestrator-ops.md) declare title: OrchestratorOps. Using Orchestration here means every agent following this heuristic will recommend a pattern name that users cannot find in the docs.

-| "coordinate multiple sub-agents" | `Orchestration` |
+| "coordinate multiple sub-agents" | `OrchestratorOps` |

Apply the same fix to pkg/cli/data/agentic_workflow_designer_skill.md.

| "manage project board items" | `ProjectOps` |
| "research, plan, and assign issues" | `ResearchPlanAssignOps` |
| "self-correcting / retry on failure" | `CorrectionOps` |

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[/grill-with-docs] The trigger phrase "self-correcting / retry on failure" does not match CorrectionOps.

CorrectionOps is defined in patterns.md as: "improve workflow behavior from trusted human corrections without retraining the model" — it is a human-feedback learning loop, not an automated retry mechanism.

A user describing "self-correcting / retry on failure" behaviour would be incorrectly routed to CorrectionOps.

💡 Suggested fix

Align the phrase with the actual pattern intent:

-| "self-correcting / retry on failure" | `CorrectionOps` |
+| "learn from human corrections without retraining" | `CorrectionOps` |

If retry-on-failure routing is also needed, add a separate row pointing to an appropriate pattern (e.g. BatchOps with retry logic).

| "run in a side/fork repo" | `SideRepoOps` |

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[/grill-with-docs] "run in a side/fork repo" conflates two distinct concepts.

SideRepoOps is defined as "low-friction reporting/automation from a side repository targeting a primary repository" — a side repo is a satellite/companion repository, not a git fork. Saying "fork repo" risks routing users who want to work with forked repositories (a common GitHub concept) into a pattern that's actually about companion automation repos.

💡 Suggested fix
-| "run in a side/fork repo" | `SideRepoOps` |
+| "run automation from a companion/satellite repository" | `SideRepoOps` |

| "write a spec before implementing" | `SpecOps` |

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[/grill-with-docs] "write a spec before implementing" is too narrow for SpecOps.

SpecOps is defined as "maintain formal specifications and propagate spec updates to consuming implementations" — it's a durable spec-lifecycle pattern, not just spec-first development. A user wanting spec-driven design for an existing system (updating a spec and pushing changes downstream) won't match this phrase.

💡 Suggested fix
-| "write a spec before implementing" | `SpecOps` |
+| "maintain a formal spec and propagate updates to implementations" | `SpecOps` |

| "A/B test workflow variants" | `TrialOps` |

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[/grill-with-docs] "A/B test workflow variants" is an imprecise match for TrialOps.

TrialOps is defined as "isolated trial repositories to validate workflows before production rollout" — it's about pre-production safety validation in isolated repos, not running simultaneous A/B comparisons. The phrase "A/B test" implies concurrent variant testing, which isn't what this pattern provides.

💡 Suggested fix
-| "A/B test workflow variants" | `TrialOps` |
+| "validate in an isolated trial repo before production" | `TrialOps` |

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Trigger phrase mismatches pattern purpose: TrialOps is about validating workflows in isolated trial repositories before deployment — not A/B testing variants.

💡 Details and suggested fix

The TrialOps docs describe a gh aw trial command that spins up a temporary private repo to safely validate one workflow before shipping it. There is also a separate A/B Experiments feature (experimental/experiments.md) for actual variant comparison.

A user asking to "A/B test workflow variants" will be steered to TrialOps when they likely need A/B Experiments or simply want to run two different workflows side-by-side.

Suggested trigger phrase that actually describes TrialOps:

-| "A/B test workflow variants" | `TrialOps` |
+| "validate a workflow in an isolated test repo before deploying" | `TrialOps` |

Apply the same fix to pkg/cli/data/agentic_workflow_designer_skill.md.

| "process items from a queue" | `WorkQueueOps` |
| "deterministic, no LLM needed" | `DeterministicOps` |

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[/grill-with-docs] The trigger phrase "deterministic, no LLM needed" contradicts the DeterministicOps pattern definition.

DeterministicOps is defined as: "deterministic data collection steps followed by agentic analysis and reporting" — the second step explicitly uses an LLM. Routing a user who wants a fully LLM-free workflow to DeterministicOps will produce a design that doesn't match their intent.

💡 Suggested fix
-| "deterministic, no LLM needed" | `DeterministicOps` |
+| "deterministic data collection + agentic analysis" | `DeterministicOps` |

For users who truly want no LLM, the correct answer is a plain GitHub Actions workflow — not a pattern in this guide at all.

| "manage from a central repo" | `CentralRepoOps` |
| "track work via GitHub Projects" | `Monitoring with Projects` |

### Integration Auth Mapping

Expand Down
34 changes: 34 additions & 0 deletions pkg/cli/data/agentic_workflow_designer_skill.md
Original file line number Diff line number Diff line change
Expand Up @@ -157,9 +157,30 @@ Present a structured summary and ask for approval before generation.
| User says... | Maps to |
|---|---|
| "calls an external API" | ask for exact FQDN/wildcard, then add to `network.allowed` |
| "reads GitHub data / clones repos" | include `github` in `network.allowed` |
| "uses GitHub Actions artifacts or cache" | include `github-actions` in `network.allowed` |
| "installs npm packages" | include `node` in `network.allowed` |
| "runs pip install" | include `python` in `network.allowed` |
| "builds Go code" | include `go` in `network.allowed` |
| "installs gems / uses Bundler" | include `ruby` in `network.allowed` |
| "runs cargo build" | include `rust` in `network.allowed` |
| "uses NuGet / .NET restore" | include `dotnet` in `network.allowed` |
| "builds with Maven / Gradle" | include `java` in `network.allowed` |
| "uses Docker / pulls container images / pushes to GHCR" | include `containers` in `network.allowed` |
| "runs Playwright browser tests" | include `playwright` in `network.allowed` |
| "runs apt install / yum / apk" | include `linux-distros` in `network.allowed` |
| "uses Terraform / HashiCorp registry" | include `terraform` in `network.allowed` |
| "connects to localhost / loopback / local services" | include `local` in `network.allowed` |
| "uses Swift Package Manager" | include `swift` in `network.allowed` |
| "uses Composer / PHP packages" | include `php` in `network.allowed` |
| "uses pub.dev / Dart packages" | include `dart` in `network.allowed` |
| "uses Hackage / Haskell packages" | include `haskell` in `network.allowed` |
| "uses CPAN / Perl packages" | include `perl` in `network.allowed` |
| "serves or loads web fonts" | include `fonts` in `network.allowed` |
| "uses Deno or JSR packages" | include `deno` in `network.allowed` |
| "uses Elixir / Hex packages" | include `elixir` in `network.allowed` |
| "uses Bazel build" | include `bazel` in `network.allowed` |
| "uses R / CRAN packages" | include `r` in `network.allowed` |
| "no external access" | `network.allowed: [defaults]` (or `[]` if explicitly zero network) |

### Tool Mapping
Expand All @@ -184,6 +205,19 @@ Present a structured summary and ask for approval before generation.
| "monitor workflow failures and trends" | `MonitorOps` |
| "process a big backlog in chunks" | `BatchOps` |
| "run manually with input parameters" | `DispatchOps` |
| "apply a label-based workflow" | `LabelOps` |
| "operate across multiple repositories" | `MultiRepoOps` |
| "coordinate multiple sub-agents" | `Orchestration` |
| "manage project board items" | `ProjectOps` |
| "research, plan, and assign issues" | `ResearchPlanAssignOps` |
| "self-correcting / retry on failure" | `CorrectionOps` |
| "run in a side/fork repo" | `SideRepoOps` |
| "write a spec before implementing" | `SpecOps` |
| "A/B test workflow variants" | `TrialOps` |
| "process items from a queue" | `WorkQueueOps` |
| "deterministic, no LLM needed" | `DeterministicOps` |
| "manage from a central repo" | `CentralRepoOps` |
| "track work via GitHub Projects" | `Monitoring with Projects` |

### Integration Auth Mapping

Expand Down
Loading