-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Open
Labels
Description
Description
When using -p/--prompt mode, skill files (slash commands like /my-skill) referenced in the prompt text are not loaded. The agent receives the literal /my-skill text but never sees the skill file contents (SKILL.md). In interactive mode, the same /my-skill reference loads and executes correctly.
Reproduction
1. Create a skill
mkdir -p ~/.claude/skills/test-greeting/
cat > ~/.claude/skills/test-greeting/SKILL.md << 'SKILL'
---
name: test-greeting
description: "Always respond with GREETING_PROTOCOL_ACTIVE as your first line"
user-invokable: true
---
# Test Greeting Skill
**You MUST begin your response with the exact text: `GREETING_PROTOCOL_ACTIVE`**
Then answer the user's question.
SKILL2. Test in interactive mode (works)
copilot
# Type: /test-greeting What is 2+2?
# Expected: Response starts with GREETING_PROTOCOL_ACTIVE
# Result: ✅ Skill loads, protocol followed3. Test in prompt mode (fails)
copilot -p "/test-greeting What is 2+2?" -s
# Expected: Response starts with GREETING_PROTOCOL_ACTIVE
# Result: ❌ Skill not loaded, agent answers without the protocolExpected behavior
Skills referenced via /skill-name in -p mode should load the skill file contents the same way they do in interactive mode.
Actual behavior
The /skill-name reference is passed as literal text. The skill file is never read or injected into the agent's context.
Impact
This prevents using skills for non-interactive/automated workflows (-p + --yolo + --autopilot), which is a primary use case for CI/CD pipelines and orchestrated agent sessions.
Environment
- copilot-cli version: 1.0.5
- OS: Ubuntu Linux (6.8.0-101-generic)
Possible approaches
- Load and expand skill references during prompt parsing, before sending to the model
- Add a
--skill <name>flag that explicitly loads a skill into context for-pmode - Treat
/skill-nameat the start of--prompttext the same way the interactive REPL does
Reactions are currently unavailable