Files
amcs/schema/skills.dbml
Hein (Warky) 1ceb317f4b
Some checks failed
CI / build-and-test (push) Failing after -29m56s
feat(skills): enhance agent skills with additional tags and commands
- Added language_tags, library_tags, framework_tags, and domain_tags to agent skills.
- Introduced new commands: get_skill and get_guardrail for fetching specific skills and guardrails.
- Updated database schema and migration scripts to accommodate new fields.
- Enhanced skill listing functionality to support filtering by new tags.
- Improved error handling and response structures for skill-related operations.
2026-05-05 09:24:58 +02:00

57 lines
1.8 KiB
Plaintext

Table agent_skills {
id bigserial [pk]
guid uuid [unique, not null, default: `gen_random_uuid()`]
name text [unique, not null]
description text [not null, default: '']
content text [not null]
tags "text[]" [not null, default: `'{}'`]
language_tags "text[]" [not null, default: `'{}'`]
library_tags "text[]" [not null, default: `'{}'`]
framework_tags "text[]" [not null, default: `'{}'`]
domain_tags "text[]" [not null, default: `'{}'`]
created_at timestamptz [not null, default: `now()`]
updated_at timestamptz [not null, default: `now()`]
}
Table agent_guardrails {
id bigserial [pk]
guid uuid [unique, not null, default: `gen_random_uuid()`]
name text [unique, not null]
description text [not null, default: '']
content text [not null]
severity text [not null, default: 'medium']
tags "text[]" [not null, default: `'{}'`]
created_at timestamptz [not null, default: `now()`]
updated_at timestamptz [not null, default: `now()`]
}
Table project_skills {
id bigserial [pk]
project_id bigint [not null, ref: > projects.id]
skill_id bigint [not null, ref: > agent_skills.id]
created_at timestamptz [not null, default: `now()`]
indexes {
(project_id, skill_id) [pk]
project_id
}
}
Table project_guardrails {
id bigserial [pk]
project_id bigint [not null, ref: > projects.id]
guardrail_id bigint [not null, ref: > agent_guardrails.id]
created_at timestamptz [not null, default: `now()`]
indexes {
(project_id, guardrail_id) [pk]
project_id
}
}
// Cross-file refs (for relspecgo merge)
Ref: project_skills.project_id > projects.id [delete: cascade]
Ref: project_skills.skill_id > agent_skills.id [delete: cascade]
Ref: project_guardrails.project_id > projects.id [delete: cascade]
Ref: project_guardrails.guardrail_id > agent_guardrails.id [delete: cascade]