mirror of
https://github.com/cexll/myclaude.git
synced 2026-02-10 03:14:32 +08:00
feat(skills): add per-task skill spec auto-detection and injection
Replace external inject-spec.py hook with built-in zero-config skill detection in codeagent-wrapper. The system auto-detects project type from fingerprint files (go.mod, package.json, etc.), maps to installed skills, and injects SKILL.md content directly into sub-agent prompts. Key changes: - Add DetectProjectSkills/ResolveSkillContent in executor/prompt.go - Add Skills field to TaskSpec with parallel config parsing - Add --skills CLI flag for explicit override - Update /do SKILL.md Phase 4 with per-task skill examples - Remove on-stop.py global hook (not needed) - Replace inject-spec.py with no-op (detection now internal) - Add 20 unit tests covering detection, resolution, budget, security Security: path traversal protection via validSkillName regex, 16K char budget with tag overhead accounting, CRLF normalization. Generated with SWE-Agent.ai Co-Authored-By: SWE-Agent.ai <noreply@swe-agent.ai>
This commit is contained in:
@@ -337,6 +337,16 @@ func DefaultRunCodexTaskFn(task TaskSpec, timeout int) TaskResult {
|
||||
}
|
||||
task.Task = WrapTaskWithAgentPrompt(prompt, task.Task)
|
||||
}
|
||||
// Resolve skills: explicit > auto-detect from workdir
|
||||
skills := task.Skills
|
||||
if len(skills) == 0 {
|
||||
skills = DetectProjectSkills(task.WorkDir)
|
||||
}
|
||||
if len(skills) > 0 {
|
||||
if content := ResolveSkillContent(skills, 0); content != "" {
|
||||
task.Task = task.Task + "\n\n# Domain Best Practices\n\n" + content
|
||||
}
|
||||
}
|
||||
if task.UseStdin || ShouldUseStdin(task.Task, false) {
|
||||
task.UseStdin = true
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user