You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
fix: APM skill.ts — YAML escaping, type safety, and test coverage #924
Reviewer: River (TypeScript Architect) via @diberry Original PR:#876
Critical
No YAML value escaping — skill names/descriptions containing colons, hashes, quotes, or newlines produce invalid YAML in publish() and generateApmYml()
Hand-rolled YAML parser in installFromGitHub — line-splitting and regex will break on multi-line strings, quoted values with colons. Consider yaml npm package (0 deps, 50KB).
Medium
catch (err: any) x2 should be catch (err: unknown) with narrowing (skill.ts:1057, 1171)
as { name: string; path: string } x3 should use type guards (skill.ts:1117, 1125, 1131)
Non-null assertions (!) x6 — regex groups and array indices not narrowed by TS
parseFrontMatter returns Record<string, string> — no compile-time contract (skill.ts:819)
ApmManifest declared but never validated at runtime
Low
generateApmYml uses sync fs (writeFileSync) while skill.ts is fully async
Silent error swallowing in collectSkills, readProjectName, listSkills
568 lines in one file — needs splitting
Action Items (priority order)
Add YAML value escaping for all publish/init output paths
Add unit tests for YAML parsing — at least 5 cases
Replace catch (err: any) with catch (err: unknown)
Add parseApmManifest() runtime validator
Consider yaml npm package vs maintaining regex parser
Maybe .copilot/skills is not supposed to be triggered outside the squad.agent.md agent workflow, i could be wrong in my understanding about the direction that this is going. I am totally ok if this is by design, just didnt want anything to be missed if they are supposed to be triggerable.
More CLI Testing: Insiders Branch
Notice that the Copilot CLI ignores the added vscode locations settings for .copilot/skill:
Activity
fix: address post-merge review findings (github#876, github#900, gith…
Omzig commentedon Apr 9, 2026
Assumption?
Maybe .copilot/skills is not supposed to be triggered outside the squad.agent.md agent workflow, i could be wrong in my understanding about the direction that this is going. I am totally ok if this is by design, just didnt want anything to be missed if they are supposed to be triggerable.
More CLI Testing:
InsidersBranchNotice that the Copilot CLI ignores the added vscode locations settings for .copilot/skill:
Omzig commentedon Apr 9, 2026
Stay safe @tamirdresher, praying for you guys.
fix: address post-merge review findings (#876, #900, #875)
bradygaster commentedon Apr 12, 2026
Resolved by PR #963 — type safety, YAML escaping, and test coverage fixes are all in. Thanks @tamirdresher!
fix: address post-merge review findings (#876, #900, #875) (#963)
fix: address post-merge review findings (#876, #900, #875) (#963)