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/jrenaldi79/harness-engineering/setupnpx skills add jrenaldi79/harness-engineering --skill setupgit clone --depth 1 https://github.com/jrenaldi79/harness-engineeringWhat 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.00067 | $0.02431 |
| Opus 5 | $0.00034 | $0.01215 |
| Sonnet 5 | $0.00013 | $0.00486 |
| Haiku 4.5 | $0.00007 | $0.00243 |
Grade D, and why
setup scanned grade D with 2 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 2d 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.
SKILL_DIR=$(find ~/.claude/plugins -path "*/setup/SKILL.md" -print -quit | xargs dirname) Recursive force deletehighDestructive command
rm -rf with a variable or a broad path is one typo away from removing the wrong tree.
- `.claude/settings.json` with pre-approved commands (test, lint, build, git) and a deny list blocking destructive operations (rm -rf /, git push --force, etc.). Normal file removal still works — Claude prompts for appro How it starts
The opening of the file, as written. The whole thing — 203 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Resource Resolution Preamble
Before any other step, resolve the skill's install directory:
SKILL_DIR=$(find ~/.claude/plugins -path "*/setup/SKILL.md" -print -quit | xargs dirname)
SCRIPTS_DIR=$SKILL_DIR/scripts
TEMPLATES_DIR=$SKILL_DIR/templates
REFERENCES_DIR=$SKILL_DIR/references
If SKILL_DIR is empty, halt and tell the user: "Could not locate the setup plugin directory under ~/.claude/plugins. Verify the plugin is installed."
Phase 1: Detect Environment
Check the working directory for these manifest files: package.json, pyproject.toml, CMakeLists.txt, go.mod, Cargo.toml, Makefile.
Also check for: .git/, src/, existing CLAUDE.md.
Determine:
- New project — no manifest, no
.git/, effectively an empty directory - Existing project — manifest file present; infer language and stack from it
For existing projects, record the detected stack so Phase 2 questions can be skipped where answers are already known.
Phase 2: Socratic Questions
Use the AskUserQuestion tool for each question, one at a time. Adapt or skip questions based on what was detected in Phase 1.
Q1 — Purpose (always ask): "What are you building?" — understand whether this is a web app, REST API, CLI tool, data pipeline, ML project, firmware, mobile app, etc.
Q2 — Language/stack (skip if inferred from manifest): "What language/stack would you like to use?"
Recommend based on the answer to Q1:
- UI/web app → Node/TypeScript (default recommendation)
- Backend API → Node/TypeScript or Python
- Data science / ML → Python
- Firmware / embedded → C/C++
- Systems programming or CLI → Go or Rust
Q3 — Framework (skip if inferred; options depend on stack chosen):
- Node/TS: Express, Fastify, Next.js, NestJS, or none
- Python: FastAPI, Flask, Django, or none
- Go: net/http, Gin, Echo, or none
- C/C++: ask about build system (CMake, Make, Meson) instead of framework
Q4 — Project name (new projects only): "What should the project be called?" — suggest the current directory name as the default.
What ships with it
27 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- references/claude-md-guide.md 4.2 KB
- references/enforcement-scripts.md 7.8 KB
- references/stack-node-typescript.md 2.8 KB
- scripts/generate-claude-md.js 5.5 KB runs code
- scripts/hooks/pre-commit 431 B
- scripts/hooks/pre-push 710 B
- scripts/init-project.js 3.8 KB runs code
- scripts/install-enforcement.js 6.5 KB runs code
- scripts/lib/check-file-sizes.js 3.4 KB runs code
- scripts/lib/check-secrets.js 4.0 KB runs code
- scripts/lib/check-test-colocation.js 3.2 KB runs code
- scripts/lib/generate-docs-helpers.js 8.7 KB runs code
- scripts/lib/generate-docs.js 8.7 KB runs code
- scripts/lib/validate-docs.js 6.4 KB runs code
- templates/.env.example 61 B
- templates/.prettierrc 68 B
- templates/eslint-base.js 581 B runs code
- templates/gitignore-template 72 B
- templates/global-claude.md 11 KB
- templates/lint-staged.config.js 54 B runs code
- templates/project-claude.md 11 KB
- templates/rules/code-quality.md 1.3 KB
- templates/rules/react.md 2.5 KB
- templates/rules/tdd.md 3.9 KB
- templates/rules/testing.md 904 B
- templates/rules/typescript.md 1.4 KB
- templates/settings.json 1.2 KB
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.
- 2d ago First seen · 203 lines · 67 tokens per session scan D c7c020fb76b8
setup is a skill published in the GitHub repository jrenaldi79/harness-engineering (66 stars, last pushed 5mo ago), licensed MIT. It adds 67 tokens to every session and 2,431 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it D with 2 findings (reads agent configuration directories, recursive force delete). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
nv-context
Set up state-of-the-art context engineering for any repository. Analyzes codebase, generates multi-level CLAUDE.md/AGENTS.md hierarchy, hooks, session management, and token budgets. Based on 200+ sources including ETH Zurich, Anthropic, Google DeepMind, and Manus production data. For engineers who ship with AI agents.
talk-like-scarletkc
按 scarletkc 本人的自然表达习惯撰写、改写、润色和翻译文本,覆盖推文、微博、评论、聊天消息、技术观点、项目介绍、GitHub 文本(README、issue、PR、发布说明)和正式通信。当用户要求用自己的口吻写东西、把 AI 腔文字改自然、发推、回评论、点评模型或开发工具、写项目公告、写礼貌但直接的客服或正式邮件,或要求翻译时保留语气和立场,都使用本 skill,即使用户没有点名 scarletkc 或提出风格要求。.
marketing-copy
Write outbound promotional copy for a product or project: launch and update posts for community platforms and social media, store page descriptions and short blurbs, landing page headlines and calls to action, press-style announcements, and the naming of a product for another language or market. Covers what may be…
scoped-change
Judgment rules for locating the correct boundary of a requested change: staying inert outside it while completing every required site inside it. Use when scope is ambiguous, a diff touches neighboring surfaces, required dependent edits are unclear, or a proposed compatibility layer, migration, fallback, flag…
agentic-code-review
Use when reviewing a diff, pull request, branch, or AI-generated code for correctness, security, regression, test, performance, and maintainability risks before merge.
hooksmith
Use when designing or reviewing safe Grok Build hooks for linting, tests, formatting, notifications, command guards, lifecycle automation, or project hook trust decisions.