Install
$ agentstack add skill-jajupmochi-agent-harness-init-agent-config ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
/init-agent-harness
Compose agent-harness into a project — interactive scaffold that asks about project type and selects the right subset.
Master TOC
- [Pre-flight](#pre-flight)
- [Step 1: Detect the current project state](#step-1-detect-the-current-project-state)
- [Step 2: Ask the user 6 questions](#step-2-ask-the-user-6-questions)
- [Step 3: Resolve consumption mode](#step-3-resolve-consumption-mode)
- [Step 4: Compose the project](#step-4-compose-the-project)
- [Step 5: Post-setup verification](#step-5-post-setup-verification)
- [Step 6: Show summary + next steps](#step-6-show-summary--next-steps)
- [Idempotency](#idempotency)
Pre-flight
Verify (per plugin-preflight rule):
agent-harnessis locally cloned at~/.claude/agent-harness/OR the user has internet access for raw-URL imports OR the plugin is installed- The current directory is writable and the user is OK adding
CLAUDE.md/.claude// etc.
If agent-harness is not yet cloned and the user wants the local-clone consumption mode:
git clone https://github.com/jajupmochi/agent-harness.git ~/.claude/agent-harness
Ask the user before running this.
Step 1: Detect the current project state
# Check if directory is empty
ls -A | wc -l
# Check if it's a git repo
git rev-parse --is-inside-work-tree 2>/dev/null
# Check for existing CLAUDE.md
ls CLAUDE.md 2>/dev/null
# Detect language / framework hints
ls package.json pyproject.toml Cargo.toml go.mod 2>/dev/null
Branches:
- Empty directory → fresh scaffold from a
agent-harnesstemplate - Existing project, no CLAUDE.md → add
CLAUDE.md+.claude/on top of existing code - Existing project, with CLAUDE.md → ask the user: merge with existing? back up first? skip CLAUDE.md and only do
.claude/?
Step 2: Ask the user 6 questions
Use AskUserQuestion to gather:
- Project type (single-select):
- Python research package
- Static personal/portfolio site (HTML/CSS/JS)
- Frontend application (React / Vue / etc.)
- Other / custom (skip template, just add rules + tooling)
- Bilingual policy (single-select):
- Bilingual (EN canonical + zh mirror) for top-level docs
- English only
- Chinese only
- Other / let me decide later
- Final-output language preference (single-select):
- Chinese (中文) — apply
chinese-outputrule - English — skip the rule
- Other / let me decide later
- Context tags (multi-select — only the matching items get installed):
always(universal rules: pre-edit-confirmation, phased-planning, plugin-preflight)research-pkg(Python tooling: uv + ruff + pytest)ui-project(JS/UI/animation/build/test/style)static-site(HTML/CSS/JS, i18n, Lighthouse via chrome-devtools)ml-research(HF Hub, datasets, gpustat, orchestra-ml-skills)web-perf(Lighthouse + a11y tooling)image-or-video-work(sharp, ffmpeg, etc.)docs-site(mkdocs)electron-or-desktop(Electron + electron-builder)
- Consumption mode (single-select):
- Raw URL imports — always live, requires network
- Local clone (
~/.claude/agent-harness/) — fast, offline - Plugin install (P10+) — most native; only if
/plugin install jajupmochi/agent-harnesswas run
- Personal-preference rules (multi-select):
output-brevity— no end-of-batch recap, no echo, prefer Edit over Writetool-proactivity— fire installed tools without askingno-reread-files— trust in-session memory of file contents
Step 3: Resolve consumption mode
Build the @import paths based on the user's choice:
- Raw URL:
@https://raw.githubusercontent.com/jajupmochi/agent-harness/main/ - Local clone:
@~/.claude/agent-harness/ - Plugin: (no
@importlines — plugin auto-loads)
Step 4: Compose the project
Based on choices, do:
4.1 Copy the template (if a project type was selected)
# Python research:
cp -r ~/.claude/agent-harness/templates/research-package-py/. ./
# Static site:
cp -r ~/.claude/agent-harness/templates/personal-cite-static/. ./
4.2 Substitute placeholders
Ask the user for:
- `
,,,,` (research) - `
,,,,` (static)
Then run find ... -exec sed -i ... to replace.
4.3 Generate the project's CLAUDE.md
Take the template's CLAUDE.template.md, then:
- Uncomment the chosen consumption mode block
- Remove the other consumption mode comments
- Filter
@importlines to only those matching: - The user's selected context tags (Step 2.4)
- The user's personal-preference rules (Step 2.6)
- The user's language preference (Step 2.3 — include
chinese-outputonly if Chinese) - The user's bilingual choice (Step 2.2 — include
bilingual-docsonly if bilingual)
Save as CLAUDE.md.
4.4 Set up .claude/settings.json
Start from the template's .claude/settings.template.json (rename → settings.json).
Add hook snippets based on context tags:
research-pkg→ ruff-format-on-edit hook (already in research-package-py template)static-site→ jq-validate-json hook (already in personal-cite-static template)
Merge with jq -s '.[0] * .[1]' if multiple snippets need to combine.
4.5 Set up .claude/settings.local.json (per-user, gitignored)
Apply tooling/permissions-allowlist/settings.local.snippet.json — common safe Bash patterns.
4.6 Install bundled skills
For the chosen template, the project-specific skills (verify, preview, verify-visual, i18n-sync) come from the template directly.
For general skills (long-running-tasks, privacy-redact), symlink or copy from ~/.claude/agent-harness/skills/general/:
# Symlink (if local clone consumption):
mkdir -p .claude/skills
for skill in long-running-tasks privacy-redact verify-visual; do
ln -s ~/.claude/agent-harness/skills/general/$skill .claude/skills/$skill
done
# Or copy (if raw-URL or plugin consumption — symlinks won't work for distribution):
for skill in long-running-tasks privacy-redact verify-visual; do
cp -r ~/.claude/agent-harness/skills/general/$skill .claude/skills/$skill
done
4.7 Apply tooling templates (if matching context tags)
research-pkgselected → referencetooling/python-uv-ruff/pyproject.template.toml(already in research-package-py template)ui-projectselected → referencetooling/node-nvm/always→ permissions-allowlist already applied in 4.5
4.8 Add recommendations note
Append to the project's README.md:
## Tooling references
This project follows conventions from [agent-harness](https://github.com/jajupmochi/agent-harness). For tool selection guidance, see:
- [recommendations/cli-tools.md](https://github.com/jajupmochi/agent-harness/blob/main/recommendations/cli-tools.md)
- [recommendations/.md](...)
(Filter the list to context tags the user picked.)
Step 5: Post-setup verification
Run:
# JSON validity for all settings.json files
for f in .claude/settings.json .claude/settings.local.json; do
[ -f "$f" ] && jq empty "$f" || echo "Invalid: $f"
done
# CLAUDE.md is non-empty and well-formed
head -20 CLAUDE.md
# (For research-pkg) pyproject is valid
[ -f pyproject.toml ] && python3 -c 'import tomllib; tomllib.load(open("pyproject.toml","rb"))'
# git status
git status --short 2>/dev/null
If anything fails, surface the error and ask the user how to proceed.
Step 6: Show summary + next steps
Output something like:
✓ /init-agent-harness complete
Composed:
- Project type:
- Consumption mode:
- Rules applied:
- Hooks:
- Skills:
Next steps:
1. Replace remaining in CLAUDE.md / pyproject.toml / README.md
2. (Research) uv sync --python 3.12 && uv pip install -e ".[dev]"
3. (Static) python3 -m http.server 8000
4. git init && git add . && git commit -m "chore: initialize from agent-harness"
Idempotency
If /init-agent-harness is run a second time in the same project:
- Detect existing
CLAUDE.mdand.claude/settings.json - Ask: "merge new selections / overwrite / skip"
- Default to merge (additive — new rules added, existing rules untouched)
This makes the skill safe to re-run when adding new context tags later (e.g., a research project that grows a UI dashboard).
Companion
- The
templates/directory provides the actual scaffolds recommendations/README.mddefines the context tags this skill usesrules/README.mdlists the workflow rules this skill composes
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: jajupmochi
- Source: jajupmochi/agent-harness
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.