Skip to content

feat: DIAL prompts as skills #229#230

Open
ypldan wants to merge 4 commits intodevelopmentfrom
feat/229-dial-prompts-as-skills
Open

feat: DIAL prompts as skills #229#230
ypldan wants to merge 4 commits intodevelopmentfrom
feat/229-dial-prompts-as-skills

Conversation

@ypldan
Copy link
Copy Markdown
Collaborator

@ypldan ypldan commented Apr 16, 2026

Applicable issues

Description of changes

Allow users to configure agent skills sourced from DIAL prompts via a new skills config field (preview feature). DIAL prompts with valid Agent Skills frontmatter are fetched at request time, merged with predefined skills, and surfaced to the agent through the same XML metadata and read_skill tool.

Key changes:

  • Make PromptPartProvider and MessagesTransformer interfaces async
  • Add SkillConfig discriminated union and ApplicationConfig.skills field
  • Extract parse_frontmatter and XML generation to shared modules
  • Refactor AgentSkillsProvider to pure data store; add SkillsRegistry
  • Add DialPromptSkillResolver with parallel fetch and graceful degradation
  • Wire DialPromptSkillsModule as @preview_module in AppFactory

Checklist

  • Title of the pull request follows Conventional Commits specification
  • Design documented is updated/created and approved by the team (if applicable)
  • Documentation is updated/created (if applicable)
  • Changes are tested on review environment
  • App schema changes are backward compatible, or breaking changes are documented with a migration guide
  • Integration tests pass

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Allow users to configure agent skills sourced from DIAL prompts via a new
`skills` config field (preview feature). DIAL prompts with valid Agent Skills
frontmatter are fetched at request time, merged with predefined skills, and
surfaced to the agent through the same XML metadata and `read_skill` tool.

Key changes:
- Make PromptPartProvider and MessagesTransformer interfaces async
- Add SkillConfig discriminated union and ApplicationConfig.skills field
- Extract parse_frontmatter and XML generation to shared modules
- Refactor AgentSkillsProvider to pure data store; add SkillsRegistry
- Add DialPromptSkillResolver with parallel fetch and graceful degradation
- Wire DialPromptSkillsModule as @preview_module in AppFactory

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@ypldan ypldan linked an issue Apr 16, 2026 that may be closed by this pull request
ypldan and others added 3 commits April 16, 2026 16:28
Surface DIAL prompt skill resolution warnings to users via stages instead
of server logs: parse_frontmatter raises SkillValidationError, resolver
returns structured warnings, and SkillsRegistry renders them in a
user-facing stage. Add GET /skills listing and POST /skills/validate
endpoints to configuration support controller.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…prompts-as-skills

# Conflicts:
#	poetry.lock
- Bump aidial-client to released 0.7.0 (drop temp branch dep)
- Raise on compatibility > 500 chars instead of silent truncation
- Return 401 on missing/invalid api-key in validate endpoint
- Accept SkillConfig union in validate endpoint; dispatch by type
- Thread prompt URL through resolver so collision warnings show it
- Render catastrophic failure via dedicated stage path
- Guard SkillsRegistry._resolve with asyncio.Lock
- Move ResolvedDialPromptSkill to dial_prompt_skills package

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@ypldan ypldan marked this pull request as ready for review April 20, 2026 12:31
@ypldan
Copy link
Copy Markdown
Collaborator Author

ypldan commented Apr 20, 2026

/deploy-review

GitHub actions run: 24666601383

Stage Status
deploy-review Success ✅
matrix.application Skipped ➖

@ypldan ypldan requested a review from korotaav48 April 20, 2026 12:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

DIAL Prompts as skills

1 participant