Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsCommunityBlog
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Harnesses

ASecurity

Generate project-adapted enterprise-configuration assets (CI, scanning, supply-chain, content) into /harnesses, record them in the lock file, and surface each for approval so the engine can verify them.

7 stars
0 votes
0 copies
0 views
Added 9/20/2026
ai-agentsgogit

Security Analysis

A100/100

Scanned 9/20/2026

Install to Claude Code

$npx -y skills add akka/ai-marketplace --skill harnesses --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Harnesses?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Harnesses
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/akka-harnesses/badge)](https://www.skillsdirectory.com/skills/akka-harnesses)

More formats (shields.io, HTML) on the badges page.

Download with Pro
Files
SKILL.md
---
name: harnesses
description: "Generate project-adapted enterprise-configuration assets (CI, scanning, supply-chain, content) into /harnesses, record them in the lock file, and surface each for approval so the engine can verify them."
---

## User Input

You **MUST** consider the user input before proceeding (if not empty).

## Purpose

`/akka:harnesses` is a generator. It writes the enterprise-configuration assets a
project needs — CI workflows, scanner configs, supply-chain steps, content style
packages — into `/harnesses/<surface>/`, records what it generated in
`.akka/harnesses.lock`, and surfaces each asset for approval. The engine does not
generate anything and does not call a model: generation lives here in the
assistant; the engine detects surfaces, verifies the generated assets
deterministically, and records attestations you submit. This command is paired
with the harness exit-condition family (activated / configured / attested), the
same way `/akka:specify` is paired with the functional and data-integrity family.

## The three auditor kinds

Every required surface resolves as one of three kinds. Which one it is decides
whether you generate an asset and how the engine verifies it.

| Kind | Where the check runs | Asset generated | How it resolves |
|---|---|---|---|
| Introspective | the project's own tree (a compiler, test runner, linter, prose linter over `docs/`) | none | verified locally — green or red |
| Provisioned | a generated asset (a CI workflow, scanner config, IaC module, style package) wired to an external system | yes — one per surface under `/harnesses/<surface>/` | verified where inspectable — present, correct, and enforcing — otherwise `open` with the tool or environment gap named |
| Delegated | a check that runs only in an external system, or needs a judgment the engine cannot make | a config stub, optional | resolved by an attestation you submit; otherwise stays `open` with `needs-user-action` until the receipt is recorded |

## Outline

1. **Detect the required surfaces.** Read the policy's `required_surfaces` (the
   enterprise-mandated set: SAST, secret scanning, SBOM, signing, identity, and
   so on). Detect the project's own surfaces from tree markers (a GitHub
   directory, `pom.xml`, `package.json`, `go.mod`). The gap is the set of
   required surfaces with no covering harness. Introspective surfaces (a coverage
   gate a local tool already runs) need no asset — note them and move on.

2. **Generate a project-adapted asset for each provisioned gap.** For each
   uncovered provisioned surface, write one asset into `/harnesses/<surface>/`,
   adapted to this project's modules and detected surfaces — not a copied
   template:
   - `/harnesses/ci/` — a CI workflow that runs the enterprise-mandated steps and
     the `akka` conformance step, gating the merge.
   - `/harnesses/scanning/` — the mandated SAST / secret-scanner config, pointed
     at this project's modules.
   - `/harnesses/supply-chain/` — SBOM and signing steps wired to the mandated
     registry or signing service.
   - `/harnesses/content/` — the content style package (`.vale.ini`, `styles/`)
     for the content governance family, plus `diagram_check.py` copied from
     `plugins/akka/harnesses/content/` — the structural checker for generated
     diagrams. Both feed CONTENT-LANGUAGE; see `/akka:docs`.
   Use the enterprise's target values, mandated vendors, and privileged endpoints
   where the policy supplies them. Leave the last-mile connection the developer
   alone can make — adding a secret, enabling a workflow, linking an account — as
   an explicit instruction, not a fabricated credential.

3. **Write the lock file as the currency contract.** Write `.akka/harnesses.lock`
   recording the policy version and, per asset, its path, the surface it covers,
   and a content signature. This is what lets the provisioned auditor prove
   currency: it reds when the policy version moves, when the surface signature
   changes, or when a managed asset was hand-edited. Presence alone never passes.
   A project that passed on day one cannot go stale silently. Do not hand-edit a
   generated asset outside this command — re-run `/akka:harnesses` so the lock
   stays authoritative.

4. **Run the adversarial self-check.** Before recording an asset as covering,
   construct the case where it passes while its invariant is false, and treat that
   case as failing:
   - a CI job that contains the mandated step but sets `continue-on-error: true`
     is not enforcing — treat it as failing.
   - a job that runs a scanner but does not gate the merge (the result is ignored,
     the step is not a required check) is not enforcing — treat it as failing.
   - a scanner config that excludes the modules it is meant to cover is hollow —
     treat it as failing.
   Fix the asset so the mandated step runs and blocks the merge, then re-check.

5. **Surface each asset at the exit-condition level.** Present the generated
   assets in plain language — *"I generated these harnesses,"* each with the
   surface it covers and how the engine will verify it — and ask the human to
   approve / adjust / skip. Never phrase this as "approve running a command"; it
   is always about the check the asset backs. Record and approve through the
   exit-condition flow (`akka_ec_capture`, then `akka_ec_approve` on approval),
   the same flow `/akka:specify` uses. Skipping a surface is a recorded waiver
   with a reason, not a silent omission.

6. **Attest delegated surfaces.** For a check that runs only in an external
   system — a scan enforced in a central SAST service, a control verified in the
   identity provider — the engine cannot inspect it. Confirm it is in place, then
   call `akka_harness_attest` with the capability / condition key and a receipt
   reference (a run URL, a ticket id, a policy id). The attestation is keyed to the
   current policy-and-surface signature, so a policy change invalidates it and the
   surface returns to `open` with reason `needs-user-action` until re-attested.
   Without an attestation a delegated surface stays `open` — it never false-passes
   to `green`.

7. **Report.** Call `akka_ec_conform`, then present `akka_ec_summary` to the user
   **verbatim** — the plain outcome. Do NOT restate internal condition ids, the
   words "auditor" / "coverage gate" / "currency", or the lock-file internals.
   Offer *"say 'show details' for the full checklist"* for the manifest.

## Key rules

- Generation is here; verification is in the engine. This command never asserts a
  surface is `green` — it writes the asset and records it; the engine's provisioned
  auditor decides present-correct-enforcing, or leaves the condition `open` with a
  reason.
- Nothing false-passes. A missing surface reds the coverage gate; a present-but-not-
  enforcing asset reds the adequacy self-check; a delegated surface with no
  attestation stays `open` with `needs-user-action`. A stall is the correct outcome,
  never a `green` pass.
- Currency is proven, not remembered. The lock file plus the provisioned auditor
  catch drift; a developer never has to notice that the policy moved.
- Same behavior wherever the exit-condition set is active. The generator and its
  checks exist in À la carte and Enforced mode alike; only ship-gating differs,
  advisory in À la carte and blocking in Enforced. Where the set is dormant the
  generator still produces its assets, but records no conditions and no gate —
  the harnesses are the deliverable, not the checking of them.

## Done When

- [ ] `required_surfaces` was read from policy and the uncovered set was computed against the project's detected surfaces; introspective surfaces were noted and skipped (no asset).
- [ ] For each provisioned gap, a project-adapted asset was written into `/harnesses/<surface>/`, using the enterprise's target values and mandated vendors, with the developer's last-mile step stated explicitly.
- [ ] `.akka/harnesses.lock` was written with the policy version and a per-asset record (path, surface, content signature) as the currency contract.
- [ ] The adversarial self-check ran on every generated asset; any asset that had the step but set `continue-on-error` or did not gate the merge was treated as failing and fixed.
- [ ] Each generated asset was surfaced at the exit-condition level for approve / adjust / skip via `akka_ec_capture` / `akka_ec_approve`; a skipped surface was recorded as a waiver with a reason.
- [ ] Every delegated surface was attested via `akka_harness_attest` with its capability / condition key and a receipt reference, or left `open` with reason `needs-user-action` — never marked `green` without an attestation.
- [ ] `akka_ec_conform` was called and the plain `akka_ec_summary` (never internal ids or the word "auditor") was shown to the user.

Attribution

akkaakka
View sourceMore from akka →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Caveman

Ultra-compressed communication mode that cuts output tokens while keeping technical accuracy. Levels: lite, full, ultra and the wenyan variants. Use for /caveman, "caveman mode", "talk like caveman", "be brief" or "less tokens".

1074701 votes

Hyperplan

Adversarial multi-agent planning skill. Self-orchestrates 5 hostile category members (unspecified-low, unspecified-high, deep, ultrabrain, artistry) via team-mode for ruthless cross-critique debate, distills only the defensible insights, then MANDATORILY hands the distilled insight bundle to the `plan` agent for executable plan formalization. Use when planning needs maximum rigor and surfacing of weak assumptions, blind spots, and over-engineering. Triggers: 'hyperplan', 'hpp', '/hyperplan', ...

693621 votes

Mcp Code Execution

Routes multi-tool workflows through MCP servers for large datasets and pipelines. Use when Bash tool overhead is limiting throughput on data-heavy tasks.

3351 votes

catchup

Recovers the conversation and failed tool calls of a previous Codex, Claude Code, Antigravity, Cline, Copilot CLI, Cursor, DeepSeek Harness, Kimi, OpenCode, Pi Agent, or ZCode session. Use when the user says "catch up", "what did the last session do", "get me up to speed", "I switched agents", asks to recover/summarize a previous session before continuing, or asks to diagnose or report a catchup failure. Do NOT use for the current conversation, git history, or any non-agent log.

691 votes

math-skill

A comprehensive mathematical reasoning skill for AI assistants — handles arithmetic to research-level problems with rigorous step-by-step reasoning, systematic verification, and transparent uncertainty handling

381 votes
View all in ai-agents →