skillsimprover

package
v0.1.21 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 27, 2026 License: MIT Imports: 15 Imported by: 0

Documentation

Index

Constants

View Source
const (
	PluginID = "skills-improver"
)

Variables

This section is empty.

Functions

func Hooks

func Hooks(ctx Context) []agent.HookHandler

func Skill

func Skill() *skills.Skill

func SortEvidence

func SortEvidence(evs []Evidence)

func Tools

func Tools(ctx Context) []core.Tool

Types

type Context

type Context struct {
	DataDir       string
	WorkspaceRoot string
}

type Evidence

type Evidence struct {
	ID                string         `json:"id"`
	CreatedAt         time.Time      `json:"created_at"`
	Kind              string         `json:"kind"`
	SessionID         string         `json:"session_id,omitempty"`
	Turn              int            `json:"turn,omitempty"`
	Skill             string         `json:"skill,omitempty"`
	Prompt            string         `json:"prompt,omitempty"`
	ToolName          string         `json:"tool_name,omitempty"`
	ToolArgsSummary   string         `json:"tool_args_summary,omitempty"`
	ToolResultSummary string         `json:"tool_result_summary,omitempty"`
	AssistantSummary  string         `json:"assistant_summary,omitempty"`
	Metadata          map[string]any `json:"metadata,omitempty"`
}

type Proposal

type Proposal struct {
	ID                 string    `json:"id"`
	CreatedAt          time.Time `json:"created_at"`
	Skill              string    `json:"skill"`
	SkillFilePath      string    `json:"skill_file_path"`
	OriginalSHA256     string    `json:"original_sha256"`
	Summary            string    `json:"summary"`
	Risk               string    `json:"risk,omitempty"`
	ProposedSkillMD    string    `json:"proposed_skill_md"`
	EvidenceIDs        []string  `json:"evidence_ids,omitempty"`
	AppliedAt          time.Time `json:"applied_at,omitempty"`
	AppliedSkillSHA256 string    `json:"applied_skill_sha256,omitempty"`
}

type Status

type Status struct {
	EvidenceCount int
	ProposalCount int
	DataDir       string
	Recent        []Evidence
}

type Store

type Store struct {
	// contains filtered or unexported fields
}

func NewStore

func NewStore(dataDir, workspaceRoot string) *Store

func StoreFor

func StoreFor(ctx Context) *Store

func (*Store) AppendEvidence

func (s *Store) AppendEvidence(ev Evidence) (Evidence, error)

func (*Store) ApplyProposal

func (s *Store) ApplyProposal(id string) (Proposal, error)

func (*Store) DataDir

func (s *Store) DataDir() string

func (*Store) HasUnsummarizedSessionEvidence

func (s *Store) HasUnsummarizedSessionEvidence(sessionID string) bool

func (*Store) LatestUnsummarizedSessionEvidence

func (s *Store) LatestUnsummarizedSessionEvidence(sessionID string) (Evidence, bool)

func (*Store) ListEvidence

func (s *Store) ListEvidence(skill string, limit int) ([]Evidence, error)

func (*Store) ListProposals

func (s *Store) ListProposals() ([]Proposal, error)

func (*Store) ReadProposal

func (s *Store) ReadProposal(id string) (Proposal, error)

func (*Store) SaveProposal

func (s *Store) SaveProposal(p Proposal) (Proposal, error)

func (*Store) Status

func (s *Store) Status() (Status, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL