feat(skills): add effective skill resolution and actions (#377)

* feat(skills): add effective skill resolution and actions

* refactor(workspace): normalize skill-related env and prompt

* chore(api): regenerate skills OpenAPI and SDK artifacts

* feat(web): surface effective skill state in console

* test(skills): cover API and runtime effective state

* fix(web): show adopt action for discovered skills

* fix(web): align skill header and show stateful visibility icon

* refactor(web): compact skill metadata on narrow layouts

* fix(web): constrain long skill text in cards

* refactor(skills): narrow default discovery roots

* fix(skills): harden managed skill path validation

* feat: add path in the results of `use_skill`

---------

Co-authored-by: Acbox <acbox0328@gmail.com>
This commit is contained in:
Chrys
2026-04-16 13:50:39 +08:00
committed by GitHub
parent 8e1ed3683f
commit 33e18e7e64
27 changed files with 2223 additions and 209 deletions
+2 -1
View File
@@ -19,6 +19,7 @@ import (
"github.com/memohai/memoh/internal/bots"
"github.com/memohai/memoh/internal/config"
"github.com/memohai/memoh/internal/mcp"
skillset "github.com/memohai/memoh/internal/skills"
"github.com/memohai/memoh/internal/workspace"
)
@@ -276,7 +277,7 @@ func (h *SupermarketHandler) InstallSkill(c echo.Context) error {
}
defer func() { _ = gz.Close() }()
skillDir := path.Join(skillsDirPath, skillID)
skillDir := path.Join(skillset.ManagedDir(), skillID)
if err := client.Mkdir(ctx, skillDir); err != nil {
return echo.NewHTTPError(http.StatusInternalServerError, fmt.Sprintf("mkdir failed: %v", err))
}