Table agent_skills { id uuid [pk, default: `gen_random_uuid()`] name text [unique, not null] description text [not null, default: ''] content text [not null] tags "text[]" [not null, default: `'{}'`] created_at timestamptz [not null, default: `now()`] updated_at timestamptz [not null, default: `now()`] } Table agent_guardrails { id uuid [pk, 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 { project_id uuid [not null, ref: > projects.guid] skill_id uuid [not null, ref: > agent_skills.id] created_at timestamptz [not null, default: `now()`] indexes { (project_id, skill_id) [pk] project_id } } Table project_guardrails { project_id uuid [not null, ref: > projects.guid] guardrail_id uuid [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.guid [delete: cascade] Ref: project_guardrails.project_id > projects.guid [delete: cascade]