Skip to content

feat: expand agent skill management - #35

Open
chaim0m wants to merge 2 commits into
mainfrom
codex/dci-skill-management
Open

feat: expand agent skill management#35
chaim0m wants to merge 2 commits into
mainfrom
codex/dci-skill-management

Conversation

@chaim0m

@chaim0m chaim0m commented Aug 2, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • add dci skill list with byte sizes and estimated token counts
  • add dci skill update [agent] with local-edit protection and --force
  • add --dir for non-standard agent configuration locations
  • add dci skill --all for every detected supported agent
  • keep installation idempotent and preserve existing install commands

Part of #13. Ambient customer, anomaly, and budget context is intentionally deferred because it needs a bounded API aggregate rather than multiple hidden client calls.

Test methods

Automated validation run on this branch:

go test ./...
go vet ./...

Manual validation in a disposable directory:

go build -o /tmp/dci-pr35 .
skill_dir=$(mktemp -d)
/tmp/dci-pr35 skill list --json | jq
/tmp/dci-pr35 skill codex --dir "$skill_dir"
echo 'local edit' >> "$skill_dir/skills/dci-cli/SKILL.md"
/tmp/dci-pr35 skill update codex --dir "$skill_dir"
/tmp/dci-pr35 skill update codex --dir "$skill_dir" --force

The first update should protect the local edit and refuse to overwrite it. The explicit --force update should restore the embedded skill.

Observed smoke test: the embedded payload contains 7 files, 18,804 bytes, and approximately 4,703 tokens.

Could this break things?

Risk: low-medium. This only writes inside a selected agent skill directory and does not call DCI APIs or touch customer data. Normal updates refuse to overwrite local edits. The main overwrite risk is an operator deliberately using --force or selecting the wrong --dir.

@chaim0m
chaim0m marked this pull request as ready for review August 2, 2026 13:38
@chaim0m
chaim0m requested a review from apgiorgi as a code owner August 2, 2026 13:38
Comment thread skill_management.go Outdated
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants