.agents/skills/agent-symlink-init/SKILL.md
Initialize or migrate agent-skill symlinks in any repository. Use when a project needs `.claude/skills` linked to `.agents/skills`, `AGENTS.md` linked to `CLAUDE.md`, migration away from `.ruler`-based AI rules, or removal of legacy `sync-llm-skills` copy/sync setups. Trigger on requests about Claude/Codex skill symlinks, AGENTS/CLAUDE symlinks, `.claude/skills` setup, replacing copied skill folders with symlinks, or cleaning old ruler/sync automation.
npx skillsauth add adonis0123/adonis-skills agent-symlink-initInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Set up or migrate a repository to the symlink-based agent-skill layout.
.agents/skills the source of truth..claude/skills points at the repository's .agents/skills directory.AGENTS.md is a symlink to CLAUDE.md when CLAUDE.md exists.Work only from the repository root. Require either .git/ or package.json.
Inspect these paths first:
.agents/skills.claude/skillsCLAUDE.mdAGENTS.mdpackage.json.gitignoreClassify the work into these modules:
symlink-init
Run when .claude/skills is missing or does not point at the repository's .agents/skills directory, or when AGENTS.md should point to CLAUDE.md but does not.migrate-from-ruler
Run when a .ruler directory exists or package.json still contains ruler-related scripts or postinstall fragments.migrate-from-sync
Run when a sync-llm-skills.ts file exists under scripts/ or package.json still contains skills:sync:llm or --sync-llm.Summarize the detected modules before making destructive changes. If the migration will delete the .ruler directory or sync scripts, tell the user exactly what will be removed.
symlink-init.agents/skills exists:mkdir -p .agents/skills
.claude exists:mkdir -p .claude
.claude/skills is a regular directory or file instead of a symlink, preserve it before replacing it:
ln -sfn ../.agents/skills .claude/skills
CLAUDE.md exists, ensure AGENTS.md points to it:
AGENTS.md is a regular file, back it up before replacing itln -sfn CLAUDE.md AGENTS.md
.gitignore:
# Agent skills (symlinked), # START Ruler Generated Files).migrate-from-rulerRun this module only when ruler artifacts still exist.
package.json:
ruler:apply or ruler:checkpostinstallpostinstall entirely if nothing remains.gitignore:
/CLAUDE.md, /AGENTS.md if they were ruler-generated ignores)/AGENTS.md to .gitignore — the symlink must be tracked by gitCLAUDE.md unless the user explicitly asks. The goal is to replace the automation mechanism, not to discard the current source-of-truth document.migrate-from-syncRun this module only when legacy copy/sync automation is present.
scripts/ if it exists.package.json:
scripts["skills:sync:llm"]--sync-llm flag from skills:test:local if the rest of the command is still validpostinstallpostinstall entirely if nothing remains.gitignore:
.agents/skills contents in place. Migrate the linkage model, not the skill payload itself.package.json scripts.postinstall, remove only the obsolete command fragment and keep remaining commands in order.Run lightweight checks after editing:
test -L .claude/skills && readlink .claude/skills
test -f CLAUDE.md && test -L AGENTS.md && readlink AGENTS.md
Also inspect:
package.json for stale ruler or sync commands.gitignore for duplicate or contradictory entriesgit diff --stat or equivalent to summarize the migrationReturn:
postinstall behavior changeddevelopment
Use this skill when the user wants to set, write, or use a goal or /goal that makes a coding agent keep working until a verifiable done condition is met. This skill configures the autonomy and stopping contract for Codex, Claude Code, or portable agent prompts; it does not perform the underlying task. Trigger on requests like 'should I set a goal?', 'set up a durable goal', 'give me a /goal prompt', 'keep refactoring until tests pass', 'I am stepping away, have the agent finish this', or goal prompts for migrations, refactors, ports, spec implementations, eval loops, backlog cleanup, or multi-checkpoint work. Do not use for single quick edits, running tests once, OKR/scrum goal questions, recurring reminders, or token-budget settings.
testing
Create safe Git feature or hotfix branches with concise names. Use this whenever the user asks to create a branch, start work on a new feature or fix, wants a `feat/...` or `hotfix/...` branch name, asks for a short branch slug from a task description, or wants help before beginning local Git work. Default to recommending the branch name and command first, then create only after user confirmation. Do not push, commit, rebase, or create PRs.
tools
Use when the user's pain is "adding/removing one more X means editing N files" and X is a recurring variant kind: popup, banner, modal, ad slot, payment method, AI model/tool, form field type, connector, sub-site, command, menu item, agent, extension point, or data source. Use when they want to design, refactor, review, name, or explain a pluggable mechanism using registry, interface/trait contract, runtime core, and convention folders; mention pluginize, pluggable, plugin architecture, extension point, registry pattern, or extensibility. Use when explaining the first-principles rationale, DDD/SOLID/OCP mapping, or industry analogies behind that structure. Use for cross-stack mapping to VSCode contributes, Webpack/Vite plugins, Rust/Tauri connectors, Python entry_points, or cargo features. Skip one variant's internals/styles/hooks/copy/bugs, and skip register/registry meaning DI container, user signup, or package registry.
development
Use BEFORE heavier workflow skills when route choice matters. Route creative work without a design doc/spec to Brainstorm; destructive or hard-to-reverse work to Discuss; unresolved decisions, Plan/Full fan-out, ship checks, unclear bugs, and fresh-eyes fix-then-re-review need this gate. Skip single-line read-only lookups, pure typo/formatting edits, trivial safe one-line fixes, and clearly safe named-skill requests. Outputs Route, Runtime skill, Fallback alias, and Execution path.