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/harness/harness-ai/create-policynpx skills add harness/harness-ai --skill create-policygit clone --depth 1 https://github.com/harness/harness-aiWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/harness/harness-ai/create-policy)<a href="https://agentmods.dev/skills/harness/harness-ai/create-policy"><img src="https://agentmods.dev/badge/skills/harness/harness-ai/create-policy.svg" alt="Measured on agentmods" height="20"></a>What 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.1 | $0.00126 | $0.01717 |
| Opus 5 | $0.00063 | $0.00859 |
| Sonnet 5 | $0.00025 | $0.00343 |
| Haiku 4.5 | $0.00013 | $0.00172 |
Grade A, and why
create-policy scanned grade A with 0 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 6d 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.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
This is a copy
100% identical to create-policy — 0 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
How it starts
The opening of the file, as written. The whole thing — 185 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Create Policy
Create OPA governance policies for Harness Software Supply Chain Assurance (SCS) via MCP.
Instructions
Step 1: Identify Policy Requirements
Determine what the policy should enforce:
- What entity type is the policy targeting? (pipeline, service, environment, feature flag, etc.)
- What is the enforcement action (warn, deny)?
- What scope should the policy apply to?
- What action triggers the policy? (onrun, onsave, onstep, etc.)
For writing Rego policies, consult references/rego-writing-guide.md for the complete Rego writing rules, entity types, package names, and common patterns. For entity-specific schemas and examples, see the entity reference files listed in that guide.
Step 2: Create the Policy
Call MCP tool: harness_create
Parameters:
resource_type: "policy"
org_id: "<organization>"
project_id: "<project>"
body: <policy definition>
OPA policies are managed under the governance toolset — resource_type: "policy" supports full CRUD (list, get, create, update, delete).
Step 3: Verify Compliance Results
After a policy is created, check compliance status on artifacts or repositories:
Call MCP tool: harness_list
Parameters:
resource_type: "scs_compliance_result"
org_id: "<organization>"
project_id: "<project>"
Common Policy Patterns
Require SBOM Generation
Enforce that all artifacts have an SBOM before deployment:
package harness.artifact
deny[msg] {
not input.artifact.sbom
msg := "Artifact must have an SBOM before deployment"
}
Block Critical Vulnerabilities
Deny deployment of artifacts with critical CVEs:
package harness.artifact
deny[msg] {
vuln := input.artifact.vulnerabilities[_]
vuln.severity == "CRITICAL"
msg := sprintf("Critical vulnerability %s found in artifact", [vuln.cve_id])
}
Enforce Approved Base Images
Restrict container images to approved base images:
package harness.artifact
approved_bases := {"alpine", "distroless", "ubuntu"}
deny[msg] {
not approved_bases[input.artifact.base_image]
msg := sprintf("Base image '%s' is not in the approved list", [input.artifact.base_image])
}
What ships with it
18 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/advanced-patterns.md 18 KB
- references/entity-code-repository.md 4.2 KB
- references/entity-connector.md 6.4 KB
- references/entity-database.md 4.9 KB
- references/entity-feature-flag.md 12 KB
- references/entity-gitops.md 6.6 KB
- references/entity-override.md 1.8 KB
- references/entity-pipeline.md 37 KB
- references/entity-sbom.md 6.5 KB
- references/entity-secret.md 5.2 KB
- references/entity-security-tests.md 7.9 KB
- references/entity-service-env-infra.md 5.4 KB
- references/entity-template.md 3.0 KB
- references/entity-terraform.md 25 KB
- references/entity-upstream-firewall.md 2.7 KB
- references/entity-variable.md 1.5 KB
- references/quality-tests.md 5.8 KB
- references/rego-writing-guide.md 8.4 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.
- 6d ago First seen · 185 lines · 126 tokens per session scan A 3f0481f7def4
create-policy is a skill published in the GitHub repository harness/harness-ai (19 stars, last pushed 15d ago), licensed Apache-2.0. It adds 126 tokens to every session and 1,717 once invoked, about $0.0006 per session on Opus 5. A static security scan graded it A with 0 findings. It is 100% identical to create-policy, differing in 0 lines, and is treated as a copy.
Other skills, from other repositories
specification-writing
Write the full patent specification from claims and invention disclosure. Use when user says "撰写说明书", "write specification", "写说明书", "patent description", or wants to draft the complete patent specification.
regulatory-research-fallback
Fallback workflow for regulatory research when web extraction tools fail on government PDFs.
x-scorecard
OpenSSF Scorecard for assessing open source project security. Check security best practices and compliance. Dependency: This is an x-cmd module. Install x-cmd first (see x-cmd skill for installation options). see x-cmd skill for installation.
memstack-business-gdpr
Use this skill when the user says 'GDPR', 'data protection', 'privacy compliance', 'DPA', 'DSAR', 'data subject request', 'cookie consent', 'privacy audit', 'CCPA', or asks 'do I need GDPR for this repo'. Scans the repository to detect what personal data is collected, classifies sensitivity, determines whether GDPR…
gesellschaftsrechtliche-satzungen-agb
Für Gesellschaftsrechtliche Satzungen AGB Abgrenzung: ordnet Norm, Beweislast und Gegenargument; Ergebnis: Prüfprodukt mit Risiko und nächstem Schritt. Fachgebiet: AGB-Recht-Prüfer. Route: gesellschaftsrechtliche-satzungen-agb.
nda-review
Use when the user uploads or pastes a non-disclosure agreement and asks for review, redline, risk assessment, or a recommendation on whether to sign. Identifies missing standard protections, one-sided or unusual provisions, and operational issues; produces a structured report with severity ratings and citations to…