Skip to content

Extract SkillOpt to separate package under RobotSail #1342

Description

@osilkin98

Context

As part of the repo-wide dead-code cleanup (see PR #1302, issue #1301), SkillOpt needs to be extracted to a separate package under the RobotSail GitHub account. SkillOpt is active R&D work (generalized backpropagation for prompt optimization) but is not invoked by the two core modes (create + design) or the inner/outer loop abstractions.

What to do

  1. Create a new repo under RobotSail/ (e.g., remote-factory-skillopt or skillopt)
  2. Move the following from this repo to the new one:
    • factory/skillopt/ (all files EXCEPT yaml_surface.py — that one stays, it's lazily imported by factory workflow run --from-yaml)
    • Files to move: reflect.py, trainer.py, gate.py, clip.py, aggregate.py, failure_tracker.py, slow_update.py, adapters/, prompts/, __main__.py
    • Related test files: tests/test_skillopt.py, tests/test_skillopt_adapters.py, tests/test_skillopt_integration.py
  3. Set up the new package with its own pyproject.toml, CI, etc.
  4. Update this repo:
    • Delete the moved files from factory/skillopt/
    • Keep factory/skillopt/yaml_surface.py and factory/skillopt/__init__.py (minimal)
    • Remove skill-refine workflow mode from factory/workflow/definitions.py registry
    • Delete skills/workflow-skill-refine/SKILL.md
    • Remove skill_reviewer agent role and prompt
  5. Update any import paths or cross-references

Why

SkillOpt is valuable ongoing R&D but outside the stated scope of the lean core (create + design + inner/outer loop + refactory). Extracting it preserves the work while reducing the core repo's surface area.

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementImproves existing feature/functionality or code quality, does not change behavior of codebase

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions