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/mifunedev/openharness/gitnpx skills add mifunedev/openharness --skill gitgit clone --depth 1 https://github.com/mifunedev/openharnessWhat 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.00092 | $0.03548 |
| Opus 5 | $0.00046 | $0.01774 |
| Sonnet 5 | $0.00018 | $0.00710 |
| Haiku 4.5 | $0.00009 | $0.00355 |
Grade C, and why
git scanned grade C 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 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.
Recursive force deletehighDestructive command
rm -rf with a variable or a broad path is one typo away from removing the wrong tree.
Worktrees older than 30 days without a corresponding open PR may be removed via `git worktree remove`; corrupted worktree directories may be removed with `rm -rf` after confirming they are not valid `git worktree list` e How it starts
The opening of the file, as written. The whole thing — 292 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Git Workflow
Always Load This Skill
Any time a chat mentions git, GitHub, branches, commits, pushes, pulls, PRs, issues, worktrees, merge conflicts, releases, changelog entries, or dirty workspace cleanup, read this skill before acting. Treat it as the source of truth for routing changes to the right remote and for preserving local work safely.
Repository and Memory Routing
This checkout commonly has two remotes:
upstream→mifunedev/openharness(public template/canonical upstream)origin→ your fork ofopenharness(private/operator fork)
Before every commit or PR, inspect the changed paths and choose the remote
explicitly. Do not assume origin is the public target.
Issue Titles
Format: <prefix>(<issue#>): <shortdesc>
<prefix> ∈ feat · bug · task · audit · skill · agent
(matches .github/ISSUE_TEMPLATE/<prefix>.md)
Example: feat(#42): slack thread replies
Create issue first so
<issue#>exists, then branch.
Branch Names
Format: <prefix>/<issue#>-<short-desc>
<short-desc>: kebab-case, ≤5 words- Base off default target branch (see below)
Example: feat/42-slack-thread-replies
Default Target Branch
Use first existing in repo:
development(preferred)main(fallback)master(fallback)
Detect via git show-ref --verify --quiet refs/heads/<name> (or remote refs/remotes/origin/<name>). PRs target this branch; new branches cut from it.
Git Authentication
Inside sandbox, run gh auth login && gh auth setup-git during onboarding. GitHub CLI installs credential helper — git push / git fetch use your GitHub token — no SSH keys required.
PR Titles
Format: FROM <source-branch> TO <target-branch> (literal)
Example: FROM feat/42-slack-thread-replies TO development
PR Bodies
- Link issue:
Closes #<issue#>(orFixes/Resolves) in the PR title or body - Target default target branch (
development→main→master, whichever exists)
Closes #Ncloses the issue on merge intodevelopment— the workflow does it, not GitHub. GitHub honors a closing trailer only on merge into the default branch. PRs here targetdevelopmentwhile the default branch ismain, so GitHub records the trailer as areferencedtimeline event and nothing else. Verified on #759 (whoseclosedevent carriescommit=none) and independently on #753 from PR #757..github/workflows/close-issues-on-development.ymlcloses the gap: on a merged PR intodevelopmentit parses the title and body for the nine closing keywords and closes each referenced issue ascompleted(#841).The trailer is therefore load-bearing — write it on every PR. Close by hand only when the automation cannot see the merge (a direct push, a merge into another branch, a PR whose body carried no trailer, or a PR opened from a fork, which gets a read-only token):
gh issue close <N> --repo <owner/name> --comment "Merged in #<PR>."
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 · 292 lines · 92 tokens per session scan C fac4f5f7d9cd
git is a skill published in the GitHub repository mifunedev/openharness (36 stars, last pushed 2d ago), licensed Apache-2.0. It adds 92 tokens to every session and 3,548 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it C with 1 finding (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
data-visualization
Use for creating publication-quality charts and multi-panel analysis summaries. Triggers when tasks involve visualizing data, plotting results, creating charts, or producing visual reports from analysis output.
cuml-machine-learning
Use for GPU-accelerated machine learning on tabular data using NVIDIA cuML. Triggers when tasks involve classification, regression, clustering, dimensionality reduction, or model training on datasets.
blog-post
Writes and structures long-form blog posts, creates tutorial outlines, and optimizes content for SEO with cover image generation. Use when the user asks to write a blog post, article, how-to guide, tutorial, technical writeup, thought leadership piece, or long-form content.
social-media
Drafts engaging social media posts, writes hooks, suggests hashtags, creates thread structures, and generates companion images. Use when the user asks to write a LinkedIn post, tweet, Twitter/X thread, social media caption, social post, or repurpose content for social platforms.
remember
Review the current conversation and capture valuable knowledge — best practices, coding conventions, architecture decisions, workflows, and user feedback — into persistent memory (AGENTS.md) or reusable skills. Use when the user says: (1) remember this, (2) save what we learned, (3) update memory, (4) capture…
textual-screenshot
Capture a Textual terminal UI as an SVG using its headless test harness. Use when asked to make, attach, or preview a screenshot of deepagents-code/dcode or another Textual app, visually verify a TUI state, or render a modal, screen, or widget without a desktop or browser.