diff --git a/README.md b/README.md index d3cc656..30e6448 100644 --- a/README.md +++ b/README.md @@ -80,17 +80,45 @@ This reduces improvisation without creating an agent-only Git abstraction. ## Install `git fix-author` -Install the reference operation somewhere on `PATH`: +Install the skill the same way as any other community skill: ```console -install -m 0755 \ - skills/git-fix-author/scripts/git-fix-author \ +npx skills add uklok/git-intent -g +``` + +The installed skill root remains the source of truth. Expose the same executable +on `PATH` with a symlink; do not copy it: + +```console +mkdir -p "$HOME/.local/bin" +ln -sf "$HOME/.agents/skills/git-fix-author/scripts/git-fix-author" \ + "$HOME/.local/bin/git-fix-author" +``` + +Update the skill in place. The symlink keeps resolving to the same file: + +```console +npx skills update git-fix-author -g +``` + +From a local checkout, symlink the tree instead of copying: + +```console +mkdir -p "$HOME/.local/bin" +ln -sf "$PWD/skills/git-fix-author/scripts/git-fix-author" \ "$HOME/.local/bin/git-fix-author" ``` Git discovers executables named `git-`, so the installed program is available as either `git-fix-author` or `git fix-author`. +Verify that the symlink resolves to an executable operation: + +```console +command -v git-fix-author +git fix-author --help +``` + Preview an inclusive rewrite range: ```console diff --git a/docs/architecture.md b/docs/architecture.md index 0130301..dcb9bc8 100644 --- a/docs/architecture.md +++ b/docs/architecture.md @@ -37,8 +37,8 @@ The README is human-facing packaging documentation. The skill entry point stays compact and routes to references only when their details affect a decision. The executable is the single implementation source. Human installation exposes -the same `git-` file on `PATH`, where Git discovers it as -`git `. +that same file on `PATH` with a symlink into the installed skill root, where Git +discovers it as `git `. ## Stable contracts, replaceable engines @@ -60,4 +60,4 @@ shared need before common machinery is extracted. The repository is a collection of independently useful Agent Skills. Existing skill ecosystems can distribute them; Git Intent does not operate a separate -marketplace. +marketplace. The community install is `npx skills add uklok/git-intent`. diff --git a/skills/git-fix-author/README.md b/skills/git-fix-author/README.md index 4d3f793..c5de500 100644 --- a/skills/git-fix-author/README.md +++ b/skills/git-fix-author/README.md @@ -4,16 +4,44 @@ Safely repair author and committer attribution across an inclusive commit range. ## Install -Copy the canonical executable to a directory on `PATH`: +Install the skill the same way as any other community skill: ```console -install -m 0755 \ - skills/git-fix-author/scripts/git-fix-author \ +npx skills add uklok/git-intent -g +``` + +The installed skill root remains the source of truth. Expose the same executable +on `PATH` with a symlink; do not copy it: + +```console +mkdir -p "$HOME/.local/bin" +ln -sf "$HOME/.agents/skills/git-fix-author/scripts/git-fix-author" \ + "$HOME/.local/bin/git-fix-author" +``` + +Update the skill in place. The symlink keeps resolving to the same file: + +```console +npx skills update git-fix-author -g +``` + +From a local checkout, symlink the tree instead of copying: + +```console +mkdir -p "$HOME/.local/bin" +ln -sf "$PWD/skills/git-fix-author/scripts/git-fix-author" \ "$HOME/.local/bin/git-fix-author" ``` Git exposes `git-fix-author` as `git fix-author`. +Verify that the symlink resolves to an executable operation: + +```console +command -v git-fix-author +git fix-author --help +``` + ## Preview, then execute ```console