Skip to content

feat: pilot loadout-managed project skill discovery#15

Merged
pentaxis93 merged 4 commits intomainfrom
issue-14-loadout-skills-pilot
Mar 3, 2026
Merged

feat: pilot loadout-managed project skill discovery#15
pentaxis93 merged 4 commits intomainfrom
issue-14-loadout-skills-pilot

Conversation

@pentaxis93
Copy link
Owner

@pentaxis93 pentaxis93 commented Mar 3, 2026

Summary

  • pilot loadout-managed project skill discovery in agentd
  • move tracked skill source from .agents/skills to skills/
  • add repo-local pilot config at .loadout/agentd.toml
  • enable loadout-managed ground, land, issue-craft, planning with explicit sibling source precedence
  • add BDD pilot behavioral spec and smoke test for Codex/Claude/OpenCode parity
  • update docs (README, AGENTS, personal overlay + rollback) and ignore generated target dirs

Verification

  • LOADOUT_CONFIG=$PWD/.loadout/agentd.toml loadout list
  • LOADOUT_CONFIG=$PWD/.loadout/agentd.toml loadout validate
  • LOADOUT_CONFIG=$PWD/.loadout/agentd.toml loadout check
  • LOADOUT_CONFIG=$PWD/.loadout/agentd.toml loadout install --dry-run
  • bash tests/loadout_pilot_smoke.sh
  • cargo test --workspace

Notes

Closes #14

Implements issue #14 by moving tracked skills to a neutral source, adding repo-local loadout config, documenting pilot and rollback flow, and adding a behavioral smoke test for cross-tool parity.

Also includes loadout-owned sourcing for land, issue-craft, and planning from sibling skill repositories.
Remove trailing slashes in root-anchored ignore patterns so .agents/.claude/.opencode skill targets are ignored whether they are directories or symlinks. Add regression smoke test via git check-ignore.
@pentaxis93
Copy link
Owner Author

Addressed review feedback on ignore-pattern regression.

Changes in commit 30d1398:

  • switched managed target ignore rules to root-anchored path form without trailing slash:
    • /.agents/skills
    • /.claude/skills
    • /.opencode/skills
  • added regression smoke test: tests/gitignore_skill_targets_smoke.sh
  • updated overlay docs to state both directory and symlink forms are ignored

Verification run:

  • bash tests/gitignore_skill_targets_smoke.sh
  • git check-ignore -v .agents/skills .claude/skills .opencode/skills .agents/skills/ .claude/skills/ .opencode/skills/
  • cargo test --workspace

Make project skill defaults self-contained and reproducible from this repo by using skills.manifest.toml, repo-local loadout sources, and scripted sync/verify workflow. Vendor only the curated project set: ground, bdd, land, issue-craft, planning.

Add CI checks for manifest coherence, loadout smoke tests, and workspace tests.
@pentaxis93
Copy link
Owner Author

Implemented the self-contained, manifest-driven skills model.

New commit: a09d2aa

What changed:

  • vendored a curated project skill set into repo skills/:
    • ground, bdd, land, issue-craft, planning
  • added skills.manifest.toml as source-of-truth for vendored set + upstream paths
  • added sync/verify tooling:
    • scripts/skills_sync.sh
    • scripts/skills_verify.sh
    • Makefile targets: skills-sync, skills-verify
  • made .loadout/agentd.toml repo-only and reproducible:
    • [sources].skills = ["../skills"]
    • [global].skills = ["ground", "bdd", "land", "issue-craft", "planning"]
  • updated docs + pilot spec to reflect self-contained onboarding and actual remove flow (clean + install)
  • added CI workflow .github/workflows/skills.yml to enforce:
    • manifest/config coherence
    • loadout smoke tests
    • gitignore smoke test
    • cargo workspace tests

Verification run locally:

  • ./scripts/skills_verify.sh
  • LOADOUT_CONFIG=$PWD/.loadout/agentd.toml loadout list
  • LOADOUT_CONFIG=$PWD/.loadout/agentd.toml loadout validate
  • LOADOUT_CONFIG=$PWD/.loadout/agentd.toml loadout check
  • LOADOUT_CONFIG=$PWD/.loadout/agentd.toml loadout install --dry-run
  • ./tests/loadout_pilot_smoke.sh
  • ./tests/gitignore_skill_targets_smoke.sh
  • cargo test --workspace

Restrict disable-step config rewrite to [global].skills so [sources].skills remains intact and the test accurately validates reconfiguration behavior.
@pentaxis93
Copy link
Owner Author

Addressed P2 smoke-test mutation bug in commit b89af4b.

Change:

  • tests/loadout_pilot_smoke.sh now rewrites only [global].skills via section-scoped awk
  • [sources].skills remains unchanged during the disable/reinstall phase

This restores the intended behavior under test: disable enabled skills while preserving source configuration.

Verification:

  • ./tests/loadout_pilot_smoke.sh
  • ./tests/gitignore_skill_targets_smoke.sh
  • ./scripts/skills_verify.sh

@pentaxis93 pentaxis93 merged commit 0a459fa into main Mar 3, 2026
2 checks passed
@pentaxis93 pentaxis93 deleted the issue-14-loadout-skills-pilot branch March 3, 2026 14:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Pilot loadout for agentd skills after Codex compatibility is available

1 participant