Skip to content

5.2: Extract pipeline steps into standalone SkillCard files #39

Description

@savitharaghunathan

5.2: Extract pipeline steps into standalone SkillCard files

Part of Stream 5: Harness → AgentPlaybookRun alignment

Migration logic is currently embedded in Go packages (internal/plan, internal/execute, internal/verify, internal/fixloop) and custom recipe YAML files (harness/recipes/*.yaml). Per ADR-0001, each pipeline step should be a standalone SkillCard with a SKILL.md at /opt/skills/{name}/SKILL.md, following the skillimage.io/v1alpha1 format.

Tasks

  • Create skills/plan/SKILL.md — reads repo, runs graphify, writes PLAN.md (no source changes)
  • Create skills/execute/SKILL.md — reads PLAN.md, applies transformations file by file
  • Create skills/verify/SKILL.md — runs build, parses errors, applies conservative fixes, iterates up to max iterations
  • Add skill.yaml metadata for each skill (for future OCI packaging with skillimage)
  • Include reference files alongside each skill (e.g. skills/execute/references/javaee-quarkus.md)
  • Remove harness/skill-bundle/goose-migration/ embedded bundle
  • Remove harness/recipes/*.yaml custom recipe format
  • Remove recipe parser (internal/goose/recipe.go)

Acceptance Criteria

  • Each pipeline step is a self-contained skill directory under skills/ with a SKILL.md and optional references/ subdirectory
  • Skills follow the skillimage.io/v1alpha1 SkillCard format (YAML frontmatter with name, description, type)
  • The harness Go code has no knowledge of pipeline steps — it discovers and loads whatever skill is at /opt/skills/*/SKILL.md
  • Old recipe YAML format and embedded skill bundle are removed

References

  • ADR-0001 §Skill mounting: one directory
  • ADR-0001 §Skill and rule packaging via skillimage
  • PR ✨ Harness init #33

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

Status
🏗 In progress

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions