project-setup-applier

project-setup-applier is an agent for Claude Code from BostonOrange/claude-code-framework. It costs 100 tokens per session (3,283 once invoked), scanned B, original, MIT.

An onboarding agent that safely applies confirmed project settings and guidance to a repository's files.

In plain words
What is it for?
Use it after setup detection to update CLAUDE.md, rules, skills, settings, and .gitignore from an approved proposal.
Why use it?
It prevents setup changes from being applied before the user confirms them and protects existing files with checks and snapshots.

Agent for Claude Code

Written for Claude Code: a Claude Code subagent (agents/*.md). Also seen: model in frontmatter; reads .claude/ paths; mentions CLAUDE.md.

Good fit Use it after setup detection to update CLAUDE.md, rules, skills, settings, and .gitignore from an approved proposal.

Compare 6 agents from other repositories ↓
Install with agentmods
npx agentmods add agents/bostonorange/claude-code-framework/project-setup-applier
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Clone the repo
git clone --depth 1 https://github.com/BostonOrange/claude-code-framework

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for project-setup-applier

README.md
[![agentmods](https://agentmods.dev/badge/agents/bostonorange/claude-code-framework/project-setup-applier/github.svg)](https://agentmods.dev/agents/bostonorange/claude-code-framework/project-setup-applier)
Your own site
<a href="https://agentmods.dev/agents/bostonorange/claude-code-framework/project-setup-applier"><img src="https://agentmods.dev/badge/agents/bostonorange/claude-code-framework/project-setup-applier/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for project-setup-applier

Your own site · 80×15
<a href="https://agentmods.dev/agents/bostonorange/claude-code-framework/project-setup-applier"><img src="https://agentmods.dev/badge/agents/bostonorange/claude-code-framework/project-setup-applier.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 100 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 3,283 The whole file, excluding the scripts and references it only reads on demand.
Security scan B 1 finding. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00100 $0.03283
Opus 5.5 $0.00040 $0.01313
Sonnet 5.5 $0.00020 $0.00657
Haiku 4.5 $0.00010 $0.00328

Measured 1mo ago against content hash bbc683d0db8e, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade B, and why

project-setup-applier scanned grade B with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Reads agent configuration directoriesmediumAgent snooping

.claude/, .codex/, .gemini/ hold keys, settings and other credentials a mod has no legitimate need for.

if [ -f .gitignore ] && ! grep -qE '^\.claude/state/?$' .gitignore; then
templates/agents/project-setup-applier.md · 194 lines

How it starts

The opening of the file, as written. The whole thing — 194 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Project Setup Applier

You are the write half of the framework's first-touch onboarding. The detector produced .claude/state/setup-proposal.md; the orchestrating /setup skill collected user replies and wrote a ## Confirmed by user section. Your job is to apply those substitutions safely.

You operate per the applier contract in docs/applier-pattern.md (gate template, manifest format, recovery bash, smoke-check pattern, lockfile spec, auto-rollback). The gates and steps below are domain-specific (project-setup); the structural primitives come from the pattern doc.

You only run when invoked with --apply and a path to the confirmed proposal. You refuse to run if pre-conditions aren't met. The detector handles all detection; you never re-detect.

Paired with

  • project-setup-detector (templates/agents/project-setup-detector.md) — the read-only half that produced the proposal
  • Orchestrated by /setup (skills/setup/SKILL.md)
  • See docs/agent-patterns.md for the detector/applier pattern catalog

Pre-apply Gates (refuse to run if any fail)

Run these checks first. If any fail, halt immediately with a clear error and produce no Edits/Writes.

  1. Concurrent-invocation lock. Read .claude/state/setup.lock. Per docs/applier-pattern.md "Lockfile spec": three-line format (<PID>\n<ISO timestamp>\n<process info>); halt if lock is held by a live PID with age <1hr; remove if stale (PID dead, age >1hr, or sanity-check fails on the timestamp — clock skew). Acquire/release per the canonical spec.

  2. Proposal file exists. Read .claude/state/setup-proposal.md. If missing, halt: "No proposal found — run /setup first." Compute a sha256 hash of the file contents and store in memory as PROPOSAL_HASH_AT_GATE — this is the TOCTOU baseline; you will re-verify it before each Edit.

  3. ## Confirmed by user section is populated. The section must exist and contain at least one row in its table. If empty, halt: "Proposal not yet confirmed — the /setup skill must collect user decisions before applying." Also halt if any layer in the proposal table with Status: needs-decision OR Status: needs-confirmation is missing from ## Confirmed by user.

Read the full file on GitHub · 194 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 1mo ago First seen · 194 lines · 100 tokens per session scan B bbc683d0db8e

Subscribe to this mod's changes

project-setup-applier is an agent published in the GitHub repository BostonOrange/claude-code-framework (3 stars, last pushed 3mo ago), licensed MIT. It adds 100 tokens to every session and 3,283 once invoked, about $0.0004 per session on Opus 5.5. A static security scan graded it B with 1 finding (reads agent configuration directories). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.

Related

Other agents, from other repositories