Decision Trigger Mapper
revfactory/harness-100
A specialized skill for designing decision trigger maps and strategy option portfolios within scenario response strategies.
A skill your agent uses when an operator wants to run a small or mid-sized project from a flat file instead of standing up Jira or Asana — dated milestones each with one named owner and a binary…
$ npx skills add ericrisco/rsc-harness --skill project-ops -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install ericrisco/rsc-harness project-ops --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/ericrisco/rsc-harness.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/project-ops .claude/skills/project-ops && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "project-ops" agent skill from https://github.com/ericrisco/rsc-harness/tree/main/skills/project-ops into .claude/skills/project-ops/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "project-ops", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/ericrisco/rsc-harness/tree/main/skills/project-opsType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add ericrisco/rsc-harness --skill project-ops -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install ericrisco/rsc-harness project-ops --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ericrisco/rsc-harness.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/project-ops .agents/skills/project-ops && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "project-ops" agent skill from https://github.com/ericrisco/rsc-harness/tree/main/skills/project-ops into .agents/skills/project-ops/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "project-ops", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ericrisco/rsc-harness --skill project-ops -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install ericrisco/rsc-harness project-ops --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ericrisco/rsc-harness.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/project-ops .cursor/skills/project-ops && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "project-ops" agent skill from https://github.com/ericrisco/rsc-harness/tree/main/skills/project-ops into .cursor/skills/project-ops/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "project-ops", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/ericrisco/rsc-harness.git --path skills/project-ops--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add ericrisco/rsc-harness --skill project-ops -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install ericrisco/rsc-harness project-ops --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ericrisco/rsc-harness.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/project-ops .gemini/skills/project-ops && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "project-ops" agent skill from https://github.com/ericrisco/rsc-harness/tree/main/skills/project-ops into .gemini/skills/project-ops/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "project-ops", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install ericrisco/rsc-harness project-opsInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add ericrisco/rsc-harness --skill project-ops -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/ericrisco/rsc-harness.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/project-ops .github/skills/project-ops && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "project-ops" agent skill from https://github.com/ericrisco/rsc-harness/tree/main/skills/project-ops into .github/skills/project-ops/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "project-ops", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ericrisco/rsc-harness --skill project-ops -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install ericrisco/rsc-harness project-ops --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ericrisco/rsc-harness.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/project-ops .opencode/skills/project-ops && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "project-ops" agent skill from https://github.com/ericrisco/rsc-harness/tree/main/skills/project-ops into .opencode/skills/project-ops/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "project-ops", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
project-opsA skill your agent uses when an operator wants to run a small or mid-sized project from a flat file instead of standing up Jira or Asana — dated milestones each with one named owner and a binary…
Project Ops is an agent skill from ericrisco/rsc-harness. Use when an operator wants to run a small or mid-sized project from a flat file instead of standing up Jira or Asana — dated milestones each with one named owner and a binary done-test, rule-driven RAG status, a RAID log, slippage detection, and a two-minute weekly status report. NOT sequencing the engineering work inside one approved plan (that is tasks).
Its SKILL.md is about 2.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 8 other files, including scripts and reference files (for example `evals/README.md`, `evals/cases.yaml` and `references/raid-and-rag.md`).
It sits in Product & Project Management, covering Project management, Internal communications and CSV and tabular files. It works with Asana and Jira. The repository describes itself as: Your agent invents things because it has no memory, and can't touch your database because it has no arms. rsc is the meta-harness that gives it both, plus the trade to know the… The licence is MIT.
Read from SKILL.md and the folder at commit e3d5b33. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 1 file in scripts/ (Shell), which the agent can run.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Project Ops loads about 2.4k tokens when it runs, and up to ~4.2k if it reads all its reference files. Until then it costs about 93 tokens; SKILL.md has 1,142 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from ericrisco/rsc-harness at commit e3d5b33, republished under its MIT licence (© ericrisco). 1,142 words, ~2,429 tokens.
.claude/skills/project-ops/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.You run a project from one flat file, not a PM tool. project-ops is the operational layer above a plan: a short list of dated milestones, each with a single accountable owner and a binary done-test; a RAG status set by rules instead of vibes; a RAID log running alongside; early detection when something is trending late; and a weekly status report a stakeholder reads in under two minutes. Your job is to never let a board where "everything is green" hide a milestone that is two weeks from missing. You do not sequence engineering tasks (that is ../tasks/SKILL.md) and you do not write the architecture plan (that is ../plan/SKILL.md) — you keep the whole project honest above both.
Before any process, there is one file. Everything else updates it. A milestone table:
| id | milestone | owner | target | status | done_test | depends_on |
|----|-----------|-------|--------|--------|-----------|------------|
| M1 | Pricing copy approved | @ana | 2026-06-10 | done | Final copy signed off in doc | |
| M2 | Pricing page built | @ben | 2026-06-18 | amber | URL returns 200 with new copy | M1 |
| M3 | Page live in prod | @ben | 2026-06-24 | green | prod URL 200, analytics firing | M2 |Columns are a fixed contract — id | milestone | owner | target | status | done_test | depends_on. CSV with the same header is equivalent and is what scripts/verify.sh lints. This file is the single source of truth; the status report is a view of it, never a second copy that drifts.
Rules for the contract, each with its why:
id is unique and stable — depends_on references it, so renaming breaks the graph.owner is exactly one person, with an @handle — "accountability without a named owner defaults to no accountability." Never a team (@marketing) or two people.target is an ISO date (YYYY-MM-DD) — so "trending late" is arithmetic, not opinion.status is one of {green, amber, red, done} — a closed set the report and the linter both trust.done_test is binary and verifiable — you can point at it and say yes/no, no "improve" or "work on".depends_on is a comma-separated list of real ids — the dependency edges that reveal the critical path.A milestone is a checkpoint that marks a significant achievement — it has a target date but no duration. The smaller actionable steps that get you there are tasks; track milestones at the project level, not every task. Each milestone proves a SMART-shaped goal (the done-test is the "Measurable").
Bad → Good, because most plans fail right here:
Bad: "Marketing improvements" (no owner, no date, not testable)
Good: | M7 | Landing page live | @ana | 2026-06-15 | green | prod URL returns 200 with new hero | M6 |
Bad: "Ben & Ana own the launch" (accountability split = no accountability)
Good: owner @ben on M2; @ana is named in done_test as reviewer if needed — still one A.
Bad: done_test = "page is better" (not binary — never finishable)
Good: done_test = "Lighthouse perf >= 90 on /pricing, checked in CI"If the operator hands you a loose goal, decompose it into 3–8 milestones with one owner and a binary done-test each, then draw depends_on edges. More than ~10 milestones means you are tracking tasks — push those down to ../tasks/SKILL.md.
Set status by the table below and write the reason next to any non-green item. Re-evaluate every milestone at each update.
| Condition | Status |
|---|---|
| On track; on or ahead of date; dependencies met | green |
Trending late: days of slip accumulating, OR a blocking depends_on has shifted, OR past ~halfway to target with little visible progress | amber |
| Missed its target, OR critically late with no credible recovery, OR a hard blocker with no owner-driven mitigation | red |
| Done-test satisfied and verified | done |
Two rules that do the real work:
The critical path is the longest chain of depends_on edges that sets the finish date — its milestones have zero buffer, so any slip there slips the whole project. Mark which milestones are on it. Watch near-critical paths too: a small slip there can promote them onto the critical path.
At every update: re-confirm which milestones are critical (the path moves as dates change), track days of slip per milestone (today minus target for anything late), and surface any milestone whose amber rule just tripped. The full early-warning decision table and a worked slippage example live in references/raid-and-rag.md.
Run a RAID log alongside the milestone table from project initiation. Four buckets — keep them distinct, because the confusion between a risk and an issue is where projects rot:
depends_on edges).Each item carries: description, likelihood, impact/severity, owner, and a review date. Review the log at least weekly and at every phase transition — phase boundaries are exactly when hidden risks surface and old assumptions break. Example rows and the RACI-on-milestones note are in references/raid-and-rag.md.
A status report is scannable in under 2 minutes and takes you under 15 minutes to write. It is a delta view, not a re-dump of the plan. Structure:
## Status — Pricing launch — week of 2026-06-02
**Overall: AMBER** — M2 slipped 3 days; recovery in place, finish date still 2026-06-24.
### Hit this week
- M1 Pricing copy approved (@ana) — done, signed off.
### Next steps
- M2 Pricing page built — @ben — due 2026-06-18 (was 06-15; +3 days)
- M3 Page live — @ben — due 2026-06-24
### Blockers / escalations
- M2: design assets arrived 2 days late (dependency). Mitigation: @ben cut scope of v1 hero. No decision needed.
### RAID changes
- New RISK: analytics tag may not fire on prod CDN (owner @ben, review 06-16).
- Moved to ISSUE: staging deploy flaky → now blocking M2 testing.The honesty rule, non-negotiable: name at least one amber/red item with its mitigation, and if a milestone slipped, lead with it and the recovery plan. Stakeholders who discover problems late lose trust permanently; a credible report surfaces the bad news first. The fill-in template and a fully worked example are in references/status-report-template.md.
| Anti-pattern | Why it fails | Do instead |
|---|---|---|
Owner is a team (@marketing) or two people | Accountability splits to nobody; nobody chases the slip | Exactly one named @owner per milestone |
| Status set by gut feel | Two people disagree; amber never trips early | Apply the RAG rule table; write the reason |
| Tracking every task as a milestone | The board becomes a to-do list, signal drowns | 3–8 milestones; tasks go to ../tasks/SKILL.md |
done_test = "improve X" / "work on Y" | Never binary, so never finishable | A yes/no check: "URL 200", "signed off in doc" |
| Board is always green | You are not tracking, or not honest | Expect ≥1 amber; state "all green" explicitly if true |
| Only flag red on the due date | Too late to recover | Trip amber early on the trending-late rule |
| RAID created once, never reviewed | Stale risks, broken assumptions go unseen | Review weekly + at every phase transition |
| Status report re-dumps the whole plan | Nobody reads 3 pages; the delta is buried | Report deltas only: hit / next / blockers / RAID changes |
depends_on points at a deleted id | Critical path is wrong; slip propagation invisible | Keep ids stable; verify.sh catches dangling refs |
references/status-report-template.md — the fill-in weekly report, a worked Good example, and the artifact column contract verify.sh enforces.references/raid-and-rag.md — RAID bucket definitions with example rows, the full RAG + early-warning decision table, and the RACI-on-milestones note for teams that need it.Run scripts/verify.sh against the milestone file to lint structure (unique ids, one owner, parseable date, allowed status, non-empty done-test, resolvable depends_on) and to audit the status-report honesty rule. It is a structural lint, never a judgement of whether the plan is good.
© ericrisco, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 5 other files (scripts, references) in skills/project-ops of ericrisco/rsc-harness.
Open the folder on GitHubat commit e3d5b33
Project Ops next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Project Ops this skillericrisco/rsc-harness | 167 | — | ~2.4k | Automated safety check: Pass | MIT | |
| Decision Trigger Mapperrevfactory/harness-100 | 1.3k | — | ~1.2k | Automated safety check: Pass | Apache-2.0 | |
| Jira Natural Language Interfacejjmartres/opencode | 133 | 3 repos | ~1.7k | Automated safety check: Pass | MIT | |
| Tidycroffasia/itsaplan | 903 | — | ~2.8k | Automated safety check: Pass | AGPL-3.0 | |
| JiraRightNow-AI/openfang | 18k | — | ~694 | Automated safety check: Pass | Apache-2.0 | |
| Project ManagerRightNow-AI/openfang | 18k | — | ~960 | Automated safety check: Pass | Apache-2.0 |
revfactory/harness-100
A specialized skill for designing decision trigger maps and strategy option portfolios within scenario response strategies.
jjmartres/opencode
Lets an agent view, create, update and transition Jira issues in natural language, automatically choosing between the jira CLI and Atlassian MCP tools.
croffasia/itsaplan
Simplifies and refines code for clarity, consistency, and maintainability while preserving all functionality.
RightNow-AI/openfang
Jira project management expert for issues, sprints, workflows, and reporting
RightNow-AI/openfang
Project management expert for Agile, estimation, risk management, and stakeholder communication
alirezarezvani/claude-skills
A skill your agent uses when coordinating project-delivery work across the 8 project-management sub-skills — sprint/velocity analytics, portfolio health, Jira/JQL, Confluence, Atlassian admin…
ericrisco/rsc-harness
A skill your agent uses when designing or analyzing a controlled experiment — falsifiable hypothesis, sample size from an MDE, reading significance/CI/power, CUPED, or rescuing tests that won't go…
ericrisco/rsc-harness
A skill your agent uses when making a web UI conform to WCAG 2.2 Level AA — axe-core or Lighthouse a11y violations, keyboard operability, focus management, ARIA roles/names/live regions, contrast…
ericrisco/rsc-harness
A skill your agent uses when running or fixing paid acquisition on Google or Meta — campaign structure (Performance Max, Demand Gen, Search, Advantage+), platform-fit creative, budget/scaling rules…
ericrisco/rsc-harness
A skill your agent uses when measuring whether an LLM or agent system actually got better and gating merges on it: golden sets, fixing an inflated LLM-as-judge, scoring RAG (faithfulness, contextual…
ericrisco/rsc-harness
A skill your agent uses when a creative goal must become a finished media file: pick and order generative-media models per modality — AI voiceover, image-to-video clips, score — then glue them with…
ericrisco/rsc-harness
A skill your agent uses when instrumenting product or web analytics — GA4/PostHog SDK wiring, event taxonomy, funnels, double-counted events, consent gating, PII scrubbing.
A skill your agent uses when an operator wants to run a small or mid-sized project from a flat file instead of standing up Jira or Asana — dated milestones each with one named owner and a binary…. Project Ops is an agent skill from ericrisco/rsc-harness. Use when an operator wants to run a small or mid-sized project from a flat file instead of standing up Jira or Asana — dated milestones each with one named owner and a binary done-test, rule-driven RAG status, a RAID log, slippage detection, and a two-minute weekly status report.
Project Ops fits situations like: an operator wants to run a small; mid-sized project from a flat file instead of standing up Jira; asana — dated milestones each with one named owner and a binary done-test; rule-driven RAG status.
Run `npx skills add ericrisco/rsc-harness --skill project-ops -a claude-code`. Or copy the skill folder (skills/project-ops in ericrisco/rsc-harness) into .claude/skills/project-ops in your project. Claude Code loads it when a task matches its description.
Run `npx skills add ericrisco/rsc-harness --skill project-ops -a codex`. Or copy the skill folder (skills/project-ops in ericrisco/rsc-harness) into .agents/skills/project-ops in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ericrisco/rsc-harness --skill project-ops -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/project-ops, .gemini/skills/project-ops, .github/skills/project-ops and .opencode/skills/project-ops in your project.
Going by SKILL.md and its folder, Project Ops needs a shell for the scripts in its folder. Our summary lists: A Bash shell.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Project Ops is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.4k tokens (SKILL.md is roughly 9.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.7k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Project Ops: Decision Trigger Mapper (revfactory/harness-100, 1.3k stars), Jira Natural Language Interface (jjmartres/opencode, 133 stars), Tidy (croffasia/itsaplan, 903 stars) and Jira (RightNow-AI/openfang, 18k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
ericrisco (a GitHub user) maintains it in ericrisco/rsc-harness, which has 167 GitHub stars. The repository holds 227 skills in this directory. The repository was last updated on October 7, 2026.
Source: ericrisco/rsc-harness on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.