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.
npx agentmods add skills/atman-33/workhub/setup-project-contextnpx skills add atman-33/workhub --skill setup-project-contextgit clone --depth 1 https://github.com/atman-33/workhubWrote 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.
[](https://agentmods.dev/skills/atman-33/workhub/setup-project-context)<a href="https://agentmods.dev/skills/atman-33/workhub/setup-project-context"><img src="https://agentmods.dev/badge/skills/atman-33/workhub/setup-project-context.svg" alt="Measured on agentmods" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00038 | $0.00983 |
| Opus 5 | $0.00019 | $0.00491 |
| Sonnet 5 | $0.00008 | $0.00197 |
| Haiku 4.5 | $0.00004 | $0.00098 |
Grade A, and why
setup-project-context scanned grade A with 0 findings 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 3d 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.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 85 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Set up the per-project configuration consumed by the engineering plugin's
hooks. SessionStart reads .claude/project-context.json from the project root
and injects a <project-context> block (registered project absolute paths +
openspec docs folder) into Claude's context at session start.
Steps:
-
Check whether
.claude/project-context.jsonalready exists in the current project (read it).- If it exists, show its current contents and stop. Tell the user to edit it by hand, and that changes take effect on the next session start.
-
If it does not exist, create
.claude/project-context.jsonwith this template (replace the placeholder paths with the user's real absolute paths):{ "roleBasedDelegation": true, "openspecPath": "<absolute path to the openspec docs folder>", "postToolFormatCommands": [ "<optional global default command run in any target project root after Edit/Write>" ], "projects": [ { "name": "example-project", "path": "<absolute path to a frequently-used project>", "summary": "short one-line description (optional)", "postToolFormatCommands": [ "<project-specific command run in this project's root after Edit/Write>" ] } ] } -
Report what was done and remind the user:
roleBasedDelegation,openspecPath,postToolFormatCommands, andprojectsare all optional; omit any of them and the relevant hook skips that part. A missing file injects nothing.- A sibling repo's own guidance is injected lazily by the plugin's PreToolUse
hook (
inject-target-rules.mjs): when you Read/Edit/Write a file under a registered project, it injects that repo's root instruction file (CLAUDE.md, orAGENTS.mdif there is noCLAUDE.md) in full once per session, plus any.claude/rules/*.mdwhosepaths:front matter matches the touched file. Nothing is injected for files under the current working directory (that guidance loads natively). postToolFormatCommandsmay be set globally or inside a specificprojects[]entry. Project-specific commands override the global default. The hook runs each listed shell command sequentially after ClaudeEdit/Writeoperations for files under registered target projects outside the current working directory. Each command runs in the matched target project's root, and failures are reported in asystemMessagewithout blocking the main flow.openspecPathmay be left empty (or pointed at a missing folder); the hook then auto-resolves it to the working-directoryopenspec(<project-root>/openspec). Use the set-openspec-path skill to switch it later by picking a registered project from a menu.- Set
roleBasedDelegationtotrueto inject the engineering plugin's role-based delegation criteria (when/whom to delegate to thecode-explore,implementer,heavy-implementer, andtest-runnersub-agents) at session start. Leave it out to keep sessions lean. - Use absolute paths for the current environment. Windows and WSL use
different path forms (
C:/repos/...vs/mnt/c/repos/...), so if you run Claude Code in both on the same repo, the values must match the environment you launch from. - The new context is injected on the next session start (
/reload-pluginsdoes not re-run SessionStart; start a new session or/clear).
Output Format
- If
.claude/project-context.jsonalready exists, show its path and contents in a fencedjsonblock, then state that the user should edit it by hand and that changes take effect on the next session start. - If the file is created, state the path that was created and show the exact JSON
template in a fenced
jsonblock. - Always finish with a short reminder list covering optional fields, next-session
activation, and the purpose of
postToolFormatCommandswhen present.
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.
- 3d ago First seen · 85 lines · 38 tokens per session scan A 83c649c54efe
setup-project-context is a skill published in the GitHub repository atman-33/workhub (2 stars, last pushed today), licensed MIT. It adds 38 tokens to every session and 983 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
gonavi-cli
Operate databases through the GoNavi headless CLI — the gonavi executable shipped in verified GitHub Release archives. Covers listing/adding/importing saved connections, running SQL queries against saved connections or ad-hoc connection files, exporting result sets to csv/json/md/html/xlsx, batch-executing SQL files…
superbrain-distill
Internal SuperBrain skill — run by the detached capture child to distill a session-event delta into routed Obsidian notes. Not for direct user invocation.
memory
Use this skill when Pioneer should proactively use durable memory or recalled context: decide whether memory can improve a turn, answer from remembered user/project facts, request memory tools, search/list/get stored memories, save durable preferences or project decisions, forget memories, audit or clean up memory, or…
memo-writing
How to write effective session memos — format, frontmatter schema, observation extraction, topic-signal append. Trigger on /memex:save, "save this for later", "remember this", "save what we discussed", "document this session", "create a memo", or when the [memex] activity nudge appears in context. Do NOT trigger for…
trellis-brainstorm
Guides collaborative requirements discovery before implementation. Creates task directory, seeds PRD, asks high-value questions one at a time, researches technical choices, and converges on MVP scope. Use when requirements are unclear, there are multiple valid approaches, or the user describes a new feature or complex…
trellis-break-loop
Deep bug analysis to break the fix-forget-repeat cycle. Analyzes root cause category, why fixes failed, prevention mechanisms, and captures knowledge into specs. Use after fixing a bug to prevent the same class of bugs.