fix(skills) Apply PR #14 review fixes and the scp-style marketplace URL #17

Merged
araemer merged 3 commits from workflow-review-fixes into main 2026-09-27 05:06:21 +00:00
Owner

Follow-up to #14. The review fixes were pushed after #14 was merged, so they never reached main, and installing the plugin showed that the marketplace URL form doesn't work.

1. PR #14 review fixes (cf18def, cherry-picked from the #14 branch)

See review 38 and the reply on #14 for the full discussion.

  • Affected repos: the architect agent fills in a new Affected Repos section of the spec, and you approve it at GATE A. plan-feature, implement-feature and review-feature spawn sub-agents only in affected repos, using one prompt per role with the repo as a parameter. A missing plan for an affected repo stops the process.
  • PRs by default: implement-plan ends with an open PR; --no-pr stops before it.
  • Verification: implement-plan counts every verification the repo's CLAUDE.md requires (e.g. verify-ui) and reports what it couldn't run instead of counting it as done.
  • Rename: review-plan is now review-implementation, which also checks those verifications.
  • No history in ADRs: all skill and agent ADRs state reasons, not history, and the adr skill says so.

2. Marketplace URL (c006343)

  • claude plugin marketplace add rejects ssh:// URLs. Marketplace sources must be https://… or the scp form user@host:path.
  • .claude/settings.json now uses git@git.raemer.net:araemer/recipe-platform.git, the same source the plugin was installed with. A different source in project settings would make Claude Code re-fetch from it.
  • The scp form carries no port, so ONBOARDING.md now requires an ~/.ssh/config entry for git.raemer.net with Port 2222. It also lists the explicit install commands, including the colon-vs-slash pitfall.
  • The git clone ssh://…:2222 commands in ONBOARDING.md and check-workspace still work and are unchanged.

3. Forgejo credentials

ONBOARDING.md step 2 and CLAUDE.md now name the env block of the user-level ~/.claude/settings.json as the default place for FORGEJO_TOKEN and FORGEJO_USER. That's set once for all three repos and never inside a repo folder. Each repo's .claude/settings.local.json is the alternative when the token should reach only these repos. Before, the docs named only settings.local.json, which didn't match the actual setup.

Merge order

  1. This PR
  2. The recipe-backend and recipe-app PRs that switch their settings to the same URL (branch fix-plugin-marketplace-url)

🤖 Generated with Claude Code

Follow-up to #14. The review fixes were pushed after #14 was merged, so they never reached `main`, and installing the plugin showed that the marketplace URL form doesn't work. ## 1. PR #14 review fixes (cf18def, cherry-picked from the #14 branch) See review 38 and the reply on #14 for the full discussion. - **Affected repos:** the `architect` agent fills in a new **Affected Repos** section of the spec, and you approve it at GATE A. `plan-feature`, `implement-feature` and `review-feature` spawn sub-agents only in affected repos, using one prompt per role with the repo as a parameter. A missing plan for an affected repo stops the process. - **PRs by default:** `implement-plan` ends with an open PR; `--no-pr` stops before it. - **Verification:** `implement-plan` counts every verification the repo's `CLAUDE.md` requires (e.g. `verify-ui`) and reports what it couldn't run instead of counting it as done. - **Rename:** `review-plan` is now `review-implementation`, which also checks those verifications. - **No history in ADRs:** all skill and agent ADRs state reasons, not history, and the `adr` skill says so. ## 2. Marketplace URL (c006343) - `claude plugin marketplace add` rejects `ssh://` URLs. Marketplace sources must be `https://…` or the scp form `user@host:path`. - `.claude/settings.json` now uses `git@git.raemer.net:araemer/recipe-platform.git`, the same source the plugin was installed with. A different source in project settings would make Claude Code re-fetch from it. - The scp form carries no port, so `ONBOARDING.md` now requires an `~/.ssh/config` entry for `git.raemer.net` with `Port 2222`. It also lists the explicit install commands, including the colon-vs-slash pitfall. - The `git clone ssh://…:2222` commands in `ONBOARDING.md` and `check-workspace` still work and are unchanged. ## 3. Forgejo credentials `ONBOARDING.md` step 2 and `CLAUDE.md` now name the `env` block of the user-level `~/.claude/settings.json` as the default place for `FORGEJO_TOKEN` and `FORGEJO_USER`. That's set once for all three repos and never inside a repo folder. Each repo's `.claude/settings.local.json` is the alternative when the token should reach only these repos. Before, the docs named only `settings.local.json`, which didn't match the actual setup. ## Merge order 1. This PR 2. The recipe-backend and recipe-app PRs that switch their settings to the same URL (branch `fix-plugin-marketplace-url`) 🤖 Generated with [Claude Code](https://claude.com/claude-code)
- The architect decides the affected repos in the spec (new Affected Repos
  section), approved at GATE A; plan-, implement- and review-feature spawn
  sub-agents only in those repos, with one prompt per role.
- implement-plan opens the PR by default (--no-pr stops before it) and
  counts every verification the repo's CLAUDE.md requires, e.g. verify-ui,
  reporting anything it cannot run instead of counting it as done.
- review-plan is renamed to review-implementation and checks those
  verifications.
- Skill and agent ADRs state reasons, not history; the adr skill says so.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
fix(claude) Use the scp-style URL for the plugin marketplace
All checks were successful
/ typecheck-contract (pull_request) Successful in 18s
c0063439d1
Claude Code accepts marketplace URLs only as https:// or user@host:path;
`claude plugin marketplace add` rejects ssh:// URLs, and a different
source in project settings than the registered one makes Claude Code
re-fetch from the settings source. The scp form carries no port, so
ONBOARDING now requires an SSH config entry for git.raemer.net with
Port 2222 and lists the explicit install commands.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
docs(claude) Document user-level settings as the default place for Forgejo credentials
All checks were successful
/ typecheck-contract (pull_request) Successful in 18s
4f3df4fea1
The credentials are set once in the env block of ~/.claude/settings.json,
which reaches all three repos and never sits inside a repo folder. A
repo's gitignored .claude/settings.local.json stays the alternative when
the token should reach only these repos.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
araemer/recipe-platform!17
No description provided.