Summary
In a gh-aw workflow using:
engine: copilot
- APM-imported skills via
shared/apm.md
- a prompt that explicitly instructs the agent to invoke skills using the exact form
skill(skill: <name>)
…the Copilot agent still emits the shorthand form skill(<name>), which then fails with Skill not found.
At the same time, the APM job succeeds and the restored bundle clearly contains the skills.
This makes it look like either:
- the Copilot runtime is ignoring the requested invocation syntax and rewriting it to the wrong call shape, or
- the skill tool contract for APM-restored skills under Copilot is different from what the prompt/runtime suggests.
What we verified
APM succeeds
The workflow imports skills through APM, and the APM pack/unpack steps succeed. The bundle contents show the expected skills are present:
AW_APM_PACKAGES: ["elastic/elastic-docs-skills/skills/review/docs-check-style", ...]
...
[+] github.com/elastic/elastic-docs-skills/skills/review/docs-check-style
...
skills/: applies-to-tagging, content-type-checker, docs-check-style, flag-jargon-skill, frontmatter-audit
The prompt explicitly instructs exact-name invocation
The released workflow prompt tells the Copilot agent to use:
- `skill(skill: docs-check-style)`
- `skill(skill: docs-flag-jargon-skill)`
- `skill(skill: docs-frontmatter-audit)`
- `skill(skill: docs-content-type-checker)`
- `skill(skill: docs-applies-to-tagging)`
It also explicitly says:
Do not guess alternate invocation formats.
The runtime still emits the old shorthand form
In the agent log, the model says:
Now let me run the docs skills in parallel to review the changed content.
✗ skill(docs-check-style) Skill not found: docs-check-style
So despite the updated prompt, the runtime behavior is still:
- emitting
skill(docs-check-style)
- not
skill(skill: docs-check-style)
- and failing with
Skill not found
Environment
Why I think this is a gh-aw/runtime issue
This does not look like an APM packaging failure:
- the APM job completes successfully,
- the unpacked bundle contains the skills,
- and the prompt delivered to the agent includes the exact invocation syntax.
But the agent still uses the wrong call shape at runtime.
Expected behavior
One of these should be true:
- If
skill(skill: docs-check-style) is the correct invocation form for Copilot + APM-restored skills, the agent should actually emit that call and succeed.
- If a different invocation form is required, the runtime/tooling/docs should expose that clearly so workflows can instruct the agent correctly.
Actual behavior
The Copilot agent ignores the explicit prompt guidance and emits skill(docs-check-style), which fails with Skill not found.
Request
Could you clarify / investigate:
- what the correct runtime invocation shape is for APM-restored skills under
engine: copilot, and
- whether the Copilot agent/runtime is incorrectly normalizing
skill(skill: ...) into skill(...)?
If helpful, I can provide the exact private workflow logs and the full released workflow source that produced this behavior.
Summary
In a
gh-awworkflow using:engine: copilotshared/apm.mdskill(skill: <name>)…the Copilot agent still emits the shorthand form
skill(<name>), which then fails withSkill not found.At the same time, the APM job succeeds and the restored bundle clearly contains the skills.
This makes it look like either:
What we verified
APM succeeds
The workflow imports skills through APM, and the APM pack/unpack steps succeed. The bundle contents show the expected skills are present:
The prompt explicitly instructs exact-name invocation
The released workflow prompt tells the Copilot agent to use:
It also explicitly says:
The runtime still emits the old shorthand form
In the agent log, the model says:
So despite the updated prompt, the runtime behavior is still:
skill(docs-check-style)skill(skill: docs-check-style)Skill not foundEnvironment
gh-awworkflow usingengine: copilotelastic/docs-actions1.11.1#103: Tighten docs-review skill invocation guidanceWhy I think this is a gh-aw/runtime issue
This does not look like an APM packaging failure:
But the agent still uses the wrong call shape at runtime.
Expected behavior
One of these should be true:
skill(skill: docs-check-style)is the correct invocation form for Copilot + APM-restored skills, the agent should actually emit that call and succeed.Actual behavior
The Copilot agent ignores the explicit prompt guidance and emits
skill(docs-check-style), which fails withSkill not found.Request
Could you clarify / investigate:
engine: copilot, andskill(skill: ...)intoskill(...)?If helpful, I can provide the exact private workflow logs and the full released workflow source that produced this behavior.