Skip to content

WIP: artifact-skill readiness probes (Refs #4407)#4461

Closed
CCChisato wants to merge 1 commit into
Hmbown:mainfrom
CCChisato:codex/fix-4407-skill-readiness
Closed

WIP: artifact-skill readiness probes (Refs #4407)#4461
CCChisato wants to merge 1 commit into
Hmbown:mainfrom
CCChisato:codex/fix-4407-skill-readiness

Conversation

@CCChisato

Copy link
Copy Markdown
Contributor

Summary

Capability-level readiness model for bundled artifact skills.

What works

  • SkillReadiness enum + ReadinessProbe trait + ProbeRegistry
  • MockProbe for test injection
  • PresentationsProbe, SpreadsheetsProbe (via BundledSkill.probe field)
  • doctor --json per-skill readiness + required_tools
  • Runtime API SkillEntry.readiness
  • Activation readiness notice for NeedsSetup/Partial skills

What does NOT work

  • TUI /skills display: badge IS in output string but transcript renderer eats it
  • Agent-update-readiness tool (deferred follow-up)

Design

  • Trait over hardcoded mapping via BundledSkill.probe field
  • ProbeRegistry as struct with global convenience
  • Phase 1/2 separation in install_system_skills()
  • Semantic honesty: unprobed skills = Unknown

Refs #4407

Add a capability-level readiness model for bundled artifact skills
(presentations, spreadsheets, PDFs, documents) that can distinguish
Ready, Partial, NeedsSetup, and Unknown states.

Changes:
- New SkillReadiness enum (Unknown/Ready/Partial/NeedsSetup) and
  
eadiness field on the Skill struct, defaulting to Unknown.
- New ReadinessProbe trait + ProbeRegistry struct owned by the
  skill system. Global convenience singleton preserved for production;
  tests can create an isolated ProbeRegistry::new().
- MockProbe for deterministic test injection (no real OS commands).
- PresentationsProbe (checks python3 + python-pptx) and
  SpreadsheetsProbe (checks python3 + openpyxl) registered via
  BundledSkill.probe field — probes are statically associated with
  skill entries, not hardcoded.
- doctor --json per-skill readiness output with required_tools.
- Runtime API SkillEntry.readiness populated on query.
- TUI /skills display and /skill preview show readiness badge
  (pending rendering pipeline fix — badge IS in output string).
- �ctivate_skill() appends readiness report instruction for
  NeedsSetup/Partial skills.
- BUNDLED_SKILL_VERSION kept at 4 (no content migration needed).
  Test probe registered only in debug builds.

Refs Hmbown#4407
@github-actions

Copy link
Copy Markdown
Contributor

Thanks @CCChisato for taking the time to contribute.

This repository is observing a maintainer-managed PR intake gate in dry-run mode, so this pull request is staying open. This note helps maintainers prepare the allowlist before any enforcement is considered.

Please read CONTRIBUTING.md for the expected contribution shape. A maintainer can grant recurring PR access by commenting /lgtm on a pull request.

@Hmbown Hmbown added this to the v0.9.1 milestone Jul 17, 2026
@Hmbown

Hmbown commented Jul 17, 2026

Copy link
Copy Markdown
Owner

Closing as superseded by your own v2, #4469 (codex/fix-4407-skill-readiness-v2), which carries the readiness work forward. Reopen if v2 was meant to be something separate — thanks for driving #4407!

@Hmbown Hmbown closed this Jul 17, 2026
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