Skip to content

v1.7.0: dangling symlink at .claude/skills/career-ops/SKILL.md breaks /career-ops #596

@jeromepowell

Description

@jeromepowell

Code of Conduct

Existing issues

  • I searched existing issues and this hasn't been reported yet

What happened?

The v1.7.0 auto-update converts .claude/skills/career-ops/SKILL.md from a regular file into a symlink pointing to ../../../.agents/skills/career-ops/SKILL.md, but the target directory .agents/skills/career-ops/ is never created. The symlink dangles, so Claude Code (and any CLI scanning .claude/skills/) cannot load the skill, and /career-ops stops being recognized as a slash command.

The dangling symlink is committed at HEAD:

$ git ls-tree HEAD .claude/skills/career-ops/SKILL.md
120000 blob 82b454738b2a048650713a9e6a9f502e156c0440  .claude/skills/career-ops/SKILL.md

$ git cat-file -p 82b454738b2a048650713a9e6a9f502e156c0440
../../../.agents/skills/career-ops/SKILL.md

$ ls .agents
ls: .agents: No such file or directory

Introduced in commit 79534d4 ("chore: auto-update system files to v1.7.0"), which deletes the original 95-line SKILL.md and replaces it with the dangling symlink in a single change. No .agents/ tree is added in the same commit.

npm run doctor does not catch this (all checks pass), so users only discover it the next time they try to invoke /career-ops.

Steps to reproduce

  1. Start from a working v1.6.0 install where /career-ops is recognized.
  2. Apply the v1.7.0 update (node update-system.mjs apply) or fresh-clone the repo at HEAD.
  3. Restart your CLI so it re-scans .claude/skills/.
  4. Try to invoke /career-ops. The slash command is no longer recognized.
  5. Confirm with readlink .claude/skills/career-ops/SKILL.md and ls .agents (target does not exist).

Expected behavior

Either:

  • The update creates the .agents/skills/career-ops/SKILL.md target alongside the symlink, so the link resolves, or
  • .claude/skills/career-ops/SKILL.md remains a regular file until the .agents/ layout is fully introduced.

Bonus: doctor.mjs could verify that any symlinks under .claude/skills/ resolve to existing files, since this failure mode is silent today.

CLI tool

Claude Code

OS and Node.js version

macOS 26.1 / Node v22.14.0

Output of npm run doctor

> career-ops@1.7.0 doctor
> node doctor.mjs

career-ops doctor
================

✓ Node.js >= 18 (v22.14.0)
✓ Dependencies installed
✓ Playwright chromium installed
✓ cv.md found
✓ config/profile.yml found
✓ portals.yml found
✓ Fonts directory ready
✓ data/ directory ready
✓ output/ directory ready
✓ reports/ directory ready

Result: All checks passed. You're ready to go! Run `claude` to start.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions