Skip to content

feat(agents): cross-tool skill layout — html-deck + s3-now, curated hermes profile#43

Open
alycda wants to merge 3 commits into
mainfrom
agents/html-deck-skill
Open

feat(agents): cross-tool skill layout — html-deck + s3-now, curated hermes profile#43
alycda wants to merge 3 commits into
mainfrom
agents/html-deck-skill

Conversation

@alycda

@alycda alycda commented Jul 10, 2026

Copy link
Copy Markdown
Owner

First two skills promoted onto the cross-tool layout (issue #40 shape: canonical declared content in dotfiles, each runtime mounts natively), plus a hermes profile with a hand-curated skill surface.

  • agent-skills.nix — new mounting surface; imported by desktop profiles only (oosSymlink targets assume ~/dotfiles, which does not hold in the devcontainer)
  • html-deck: moved to tools/agents/skills/, mounted for Claude + Hermes (creative category)
  • s3-now: captured (was live-only) + mounted for both (productivity); scanned for AWS identifiers before tracking — none present
  • curated hermes profile: gpt-5.6-sol via openai-codex OAuth, .no-bundled-skills seeding opt-out, skills added one at a time as they get ported

Verification: nix flake check clean; full darwin-rebuild switch on the dotfiles-ci tart VM (exit 0); all nine deployed paths verified resolving. Post-activation on a real machine: hermes profile use curated && hermes login --provider openai-codex once.

Note for #39: when it rebases onto this, its claude.nix/hermes.nix html-deck mounts should defer to agent-skills.nix.

🤖 Generated with Claude Code

alycda added 3 commits July 10, 2026 14:10
First skill promoted onto the cross-tool layout (issue #40 shape:
canonical declared content in dotfiles, each runtime mounts natively).
html-deck is tool-agnostic — it generates self-contained single-file
HTML decks — so one canonical source serves both runtimes with no fork.

Introduces home-manager/modules/tools/agent-skills.nix as the mounting
surface. Imported by the desktop profiles only (home.nix / work.nix),
not common.nix: its oosSymlink targets assume the ~/dotfiles checkout
path, which does not hold in the dev devcontainer.

Specific changes:
- Capture skill at tools/agents/skills/html-deck/ (SKILL.md + template)
- agent-skills.nix: mount ~/.claude/skills/html-deck and
  ~/.hermes/skills/creative/html-deck (hermes nests skills by category)
- home.nix / work.nix: import the new module
Second skill on the cross-tool layout. s3-now (private-S3 +
pre-signed-URL sharing from the personal AWS scratchpad) was live-only
in ~/.claude/skills — never captured — so this both captures and ports.

Scanned before tracking: no account IDs, bucket names (derived at
runtime as s3now-{account-id}), or SSO URLs in the content; only the
local AWS profile name alyssa-scratch, which carries no secret.

Specific changes:
- Capture ~/.claude/skills/s3-now -> tools/agents/skills/s3-now/
- agent-skills.nix: mount ~/.claude/skills/s3-now and
  ~/.hermes/skills/productivity/s3-now
- The live unmanaged ~/.claude/skills/s3-now dir gets .hm-backup
  treatment on first switch (backupFileExtension already on main)
A hermes profile whose skill surface is hand-curated: bundled-skill
seeding is disabled via the .no-bundled-skills marker, and only skills
already ported onto the cross-tool layout get mounted — currently
html-deck and s3-now. Model is gpt-5.6-sol via openai-codex OAuth
(ChatGPT subscription; the enterprise Claude/Gemini plans prohibit
API-key use from third-party harnesses).

Auth stays runtime state (hermes owns auth.json): after activation run
`hermes profile use curated` and `hermes login --provider openai-codex`.

Specific changes:
- tools/hermes/profiles/curated/{config.yaml,SOUL.md}: tracked profile
- agent-skills.nix: mount profile config, seed opt-out marker, and the
  two curated skill mounts
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.

1 participant