| 51 | } |
| 52 | |
| 53 | func (e *SkillExecutor) Execute(ctx context.Context, skill SkillSpec, args, sessionID string, approveProjectShell func(SkillShellPermissionRequest) bool, baseRegistry *coretools.ToolRegistry, parentState any, extraContext coretools.ExecutionContext) (SkillExecutionResult, error) { |
| 54 | if skill.Frontmatter.Context == "fork" { |
| 55 | return e.ExecuteFork(ctx, skill, args, sessionID, approveProjectShell, baseRegistry, parentState, extraContext) |
| 56 | } |
| 57 | return e.ExecuteInline(skill, args, sessionID, approveProjectShell) |
| 58 | } |
| 59 | |
| 60 | func (e *SkillExecutor) ExecuteFork(ctx context.Context, skill SkillSpec, args, sessionID string, approveProjectShell func(SkillShellPermissionRequest) bool, baseRegistry *coretools.ToolRegistry, parentState any, extraContext coretools.ExecutionContext) (SkillExecutionResult, error) { |
| 61 | loaded := e.Loader.LoadFullContent(skill) |