Skip to content

feat(skills): load repo scoped skills#90

Merged
corylanou merged 3 commits into
mainfrom
symphony/digitaldrywood_symphony_87
May 22, 2026
Merged

feat(skills): load repo scoped skills#90
corylanou merged 3 commits into
mainfrom
symphony/digitaldrywood_symphony_87

Conversation

@corylanou
Copy link
Copy Markdown

@corylanou corylanou commented May 22, 2026

Context

Fixes #87. Symphony needs repo-scoped procedural memory in agent prompts, including runs dispatched to SSH workers.

TL;DR

Load repo skills into first-turn prompts from local or remote workspaces.

Summary

  • Add repo skills metadata loading and first-turn prompt injection.
  • Report malformed skills on the issue while keeping dispatch non-blocking.
  • Add SSH-backed skills discovery for remote worker workspaces.
  • Document config and add a dogfood tracker-adapter skill.
  • Rebase onto current main and isolate lessons temp dirs across repeated local runs.

Alternatives

  • Full skill bodies stay out of prompts so large skill repos do not bloat context.
  • Remote workers read SKILL.md over SSH instead of assuming shared storage.

Test Plan

  • make -C elixir all
  • mix test test/symphony_elixir/lessons_test.exs test/symphony_elixir/agent_runner_skills_test.exs test/symphony_elixir/skills/loader_test.exs

@corylanou corylanou added the symphony Managed by Symphony label May 22, 2026
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 5f617f351e

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread elixir/lib/symphony_elixir/agent_runner.ex Outdated
@corylanou
Copy link
Copy Markdown
Author

Rework

P2 from Codex on 5f617f3 — substantive, not minor:

When a run is dispatched to an SSH worker, workspace points to the worker's filesystem, but skill loading reads from the local filesystem. The feature is silently broken on SSH-dispatched agents.

Fix: Route skill loading through the same SSH path used elsewhere (cat the remote .symphony/skills/*.md and parse). Mirror the pattern from the worker_host-aware code paths (workspace.ex remote helpers).

Add a test exercising skill loading against a fake remote worker — assert skills are read from the worker's filesystem when worker_host is configured.

@corylanou
Copy link
Copy Markdown
Author

Note

CI didn't run on commit e1b7cb6 ("no checks reported on the branch"). The agent's rework looks correct from the description, but without CI signal we can't verify. Moving the linked issue back to Todo so Symphony re-dispatches — the fresh agent run should push a commit that retriggers PR workflows.

If this recurs, file an issue about CI not auto-triggering on Symphony agent pushes.

@corylanou corylanou force-pushed the symphony/digitaldrywood_symphony_87 branch from e1b7cb6 to 1dfdc7f Compare May 22, 2026 14:34
corylanou and others added 3 commits May 22, 2026 09:37
Summary:
- Add a repo skill loader for agentskills.io-style SKILL.md files.
- Inject valid skill names and use guidance into first-turn prompts.
- Add agent.skills config, docs, examples, tests, and a dogfood skill.

Rationale:
- Keep skill bodies out of the prompt while making repo procedures
  discoverable before dispatch.
- Report malformed skills without blocking valid work from starting.

Tests:
- make all

Co-authored-by: Codex <codex@openai.com>
Summary:
- Pass the selected worker host into repo skills discovery.
- Add SSH-backed skill file loading for remote workspaces.
- Cover remote success, invalid payloads, command failures, and timeouts.

Rationale:
- SSH worker sessions run Codex in the worker filesystem, so skills must be
  indexed from that same workspace instead of the orchestrator disk.

Tests:
- mix test test/symphony_elixir/agent_runner_skills_test.exs test/symphony_elixir/skills/loader_test.exs
- make all

Co-authored-by: Codex <codex@openai.com>
@corylanou corylanou force-pushed the symphony/digitaldrywood_symphony_87 branch from 1dfdc7f to a457c25 Compare May 22, 2026 14:39
@corylanou corylanou merged commit 867b8e1 into main May 22, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

symphony Managed by Symphony

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(skills): repo-scoped procedural memory loaded into agent prompt

1 participant