// internal/skills/org/skill.go package org import ( "context" "encoding/json" "github.com/mathiasbq/supervisor/internal/registry" "github.com/mathiasbq/supervisor/internal/tier" ) // TierFn returns the current tier. Injected for testability. type TierFn func(ctx context.Context) tier.Info // Config holds org skill configuration. type Config struct { TierFn TierFn } // Skill implements registry.Skill for the tier tool. type Skill struct { cfg Config } // New constructs an org Skill. func New(cfg Config) *Skill { return &Skill{cfg: cfg} } // Name returns the skill name. func (s *Skill) Name() string { return "org" } // Tools returns the MCP tool definitions. func (s *Skill) Tools() []registry.ToolDef { return []registry.ToolDef{ { Name: "tier", Description: "Returns the current operating tier: 1=full-online (Claude+Ollama+Managed Agents), 2=lan-only (Ollama only), 3=airplane (minimal). Call at session start to know which models and capabilities are available.", InputSchema: json.RawMessage(`{"type":"object","properties":{}}`), }, } }