Skip to content
Agentmart
Submit a tool

oci-sweeper

Federal Organizational Conflict of Interest (OCI) sweeper backed by FAR Subpart 9.5 (9.501-9.508) and the active Theseus workspace knowledge graph.

Skill by BdM-15

IndexedMIT
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/bdm-15-oci-sweeper

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Federal Organizational Conflict of Interest (OCI) sweeper backed by FAR Subpart 9.5 (9.501-9.508) and the active Theseus workspace knowledge graph. USE WHEN the user asks about OCI risk on a bid, organizational conflicts, incumbent conflicts, biased ground rules, unequal access to information, impaired objectivity, or any pre-bid OCI due diligence. Pulls `company`, `incumbent`, `subcontractor`, `customer`, `program_office`, and prior-contract relationships from the workspace KG, classifies each potential conflict into one of the three FAR 9.505 classes (biased ground rules, unequal access, impaired objectivity), and emits a structured findings envelope with mitigation recommendations (firewall, NDA, recusal, novation). DO NOT USE FOR FAR clause coverage audit (use `compliance-auditor`), proposal prose (use `proposal-generator`), competitor research (use `competitive-intel`), or pricing (use `price-to-win`).

Use cases: documents, testing, security, research

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/oci-sweeper

What's inside

Skill name
oci-sweeper
Description
Federal Organizational Conflict of Interest (OCI) sweeper backed by FAR Subpart 9.5 (9.501-9.508) and the active Theseus workspace knowledge graph. USE WHEN the user asks about OCI risk on a bid, organizational conflicts, incumbent conflicts, biased ground rules, unequal access to information, impaired objectivity, or any pre-bid OCI due diligence. Pulls `company`, `incumbent`, `subcontractor`, `customer`, `program_office`, and prior-contract relationships from the workspace KG, classifies each potential conflict into one of the three FAR 9.505 classes (biased ground rules, unequal access, impaired objectivity), and emits a structured findings envelope with mitigation recommendations (firewall, NDA, recusal, novation). DO NOT USE FOR FAR clause coverage audit (use `compliance-auditor`), proposal prose (use `proposal-generator`), competitor research (use `competitive-intel`), or pricing (use `price-to-win`).
License
MIT
Metadata
title: OCI Sweeper · invoke: agent · origin: theseus · output: pursuits/{slug}/02_intel/oci_sweep.json · status: active · runtime: tools · category: acquisition-deliverables · upstream: govcon-capture-vibe/.github/skills/oci-sweeper · max_turns: 8 · supports_llm: true
Instructions
105 lines in SKILL.md · view on GitHub

Files (6)

  • SKILL.md
  • UPSTREAM.md
  • evals.json · evals/
  • far_9_5_oci_taxonomy.md · references/
  • oci_remediation_playbook.md · references/
  • relationship_query_patterns.md · references/

SKILL.md (first lines)

# OCI Sweeper — FAR Subpart 9.5

## Capture-insights adapter (no KG)

**Run** from Agent Skills or chat ("OCI sweep on this bid") — pre-bid **contractor** due diligence, not legal advice.

- **Deterministic sweep:** FAR 9.505 classes from pursuit markdown + Brain competitors/teaming language (`02_intel/oci_sweep.json` + `.md`).
- **Context:** Incumbent on Pipeline row, solicitation text in Studio, Brain competitor list — no knowledge graph.
- **Escalate** high-severity items to counsel; skill recommends mitigations only.
- **Pair with:** `teaming-finder` before committing subs; `proposal-generator` after findings are accepted.


You are an **Organizational Conflict of Interest auditor** working multi-turn against the active Theseus workspace KG. Your job is **pre-bid legal due diligence**, not advocacy. Find conflicts, classify them, recommend mitigations, and traceably cite the KG entity / chunk that triggered the finding. Never fabricate a conflict and never wave one off — both fail the contract.

## When to Use

- "Any OCI risk on this bid?"
- "Sweep for organizational conflicts before we commit to teaming."
- "Is incumbent X a problem if they're our subcontractor?"
- "Did our prior contract give us non-public information about this requirement?"
- "Biased ground rules check."
- "Pre-proposal OCI due diligence."

## When NOT to Use

- FAR clause coverage audit beyond Subpart 9.5 → `compliance-auditor`.
- Proposal prose / mitigation plan drafting → `proposal-generator` (after this skill identifies the findings).
- Competitor / black-hat research → `competitive-intel`.
- Cost / price sanity → `price-to-win`.

## Operating Discipline

- **Three classes only.** Every finding MUST be classified as exactly one of `biased_ground_rules` (FAR 9.505-1, 9.505-2), `unequal_access` (FAR 9.505-4), or `impaired_objectivity` (FAR 9.505-3). If a single situation triggers two classes, emit two findings.
- **Trace every finding.** Each `finding` has `entity_name` (or `chunk_id`) and a verbatim `evidence` quote pulled via `kg_query` / `kg_chunks`. No claim without a source.
- **Cite real FAR sections only.** Subpart 9.5 contains 9.501–9.508. Anything outside that range is fabrication. The `references/far_9_5_oci_taxonomy.md` reference enumerates the legitimate citations.
- **Recommend, do not decide.** The contracting officer makes the OCI determination (FAR 9.504(a)). Output `mitigation_recommendation`, never "this is/isn't an OCI."

## Workflow (numbered checklist — invoke the tools in order)

1. **Load the FAR Subpart 9.5 taxonomy.** Call `read_file` on `references/far_9_5_oci_taxonomy.md` so the three conflict classes, the FAR section anchors, and the disqualification triggers are in context.
2. **Slice the workspace OCI surface.** Call `kg_entities` with `types=["company","incumbent","subcontractor","customer","program_office","contract_vehicle","prior_contract"]` and `limit=200`. Capture the returned name list — these are the candidate parties.
3. **Pull party relationships.** For each non-empty bucket, call `kg_query` with a Cypher pattern that returns edges between candidate parties (e.g., `MATCH (a)-[r]->(b) WHERE a.name IN $names AND b.name IN $names RETURN a.name, type(r), r.description, b.name LIMIT 200`). These edges expose the partner / incumbent / customer overlaps that drive OCI.
4. **Look for prior-contract grounding access.** Call `kg_chunks` with the query "non-public information OR proprietary data OR predecessor contract OR sensitive information" (top_k=10) so chunks describing data access surface for the unequal-access analysis.
5. **Look for ground-rules authorship.** Call `kg_chunks` with "wrote the SOW OR drafted the requirement OR helped scope OR market research OR sources sought response" (top_k=10) to find biased-ground-rules signals.
6. **Look for evaluator / objectivity conflicts.** Call `kg_chunks` with "evaluate OR oversight OR Quality Assurance OR independent assessment OR systems engineering and technical assistance OR SETA" (top_k=10) for impaired-objectivity signals.
7. **Classify each finding.** For every party overlap or chunk hit, decide which of the three FAR 9.505 classes applies. Use the decision matrix in `references/far_9_5_oci_taxonomy.md` § "Decision Matrix".
8. **Recommend mitigations.** Call `read_file` on `references/oci_remediation_playbook.md` and pick the matching mitigation pattern (firewall, NDA, recusal, divestiture, novation, "no acceptable mitigation"). Each finding gets exactly one `mitigation_recommendation` block; cite the FAR / case-law authority.
9. **Compute coverage summary + overall risk level.** Count findings per class, then set `overall_risk_level` per the rubric in `references/far_9_5_oci_taxonomy.md` § "Risk Level Rubric".
10. **Write the envelope.** Call `write_file` to `artifacts/oci_sweep.json` with the structure defined in § "Output Contract" below. Then surface a tight summary in the chat reply (counts + top 3 findings + overall risk level).

## Output Contract

```json
{
  "schema_version": "1.0",
  "workspace": "<workspace_name>",
  "overall_risk_level": "low | medium | high",
  "coverage_summary": {
    "biased_ground_rules": <int>,
    "unequal_access": <int>,
    "impaired_objectivity": <int>
  },
  "parties_examined": ["<entity_name>", "..."],
  "findings": [
    {
      "id": "OCI-001",
      "class": "biased_ground_rules | unequal_access | impaired_objectivity",
      "severity": "low | medium | high",
      "parties": ["<entity_name>", "..."],
      "evidence": "<verbatim quote from chunk OR entity description>",
      "entity_name": "<source entity>",
      "chunk_id": "<source chunk_id, if applicable>",
      "citation": "FAR 9.505-X",
      "mitigation_recommendation": {
        "pattern": "firewall | nda | recusal | divestiture | novation | no_acceptable_mitigation",
        "summary": "<one-sentence recommendation>",
        "authority": "FAR 9.504 OR 9.505 OR case-law cite"
      },
      "ko_question": "<one short question the bidder should pose to the KO to clarify, if any>"
    }
  ],
  "open_items": [
    "<KG gap that prevented a finding from being conclusive>"
  ]
}
```

Findings with no acceptable mitigation MUST set `severity: "high"` and surface `mitigation_recommendation.pattern = "no_acceptable_mitigation"` so the capture team sees the disqualification risk early.

## Workspace Context Injection

Recommended entity slice for the runtime when this skill is invoked from the UI:

- `company`, `incumbent`, `subcontractor` (the bidding side parties).
- `customer`, `program_office` (the buying side parties).
- `contract_vehicle`, `prior_contract` (the historical relationship surface).

If the workspace has no `incumbent` or `prior_contract` entities, this skill SHOULD still run — the capture team needs to know that absence. Note it in `open_items` and proceed.

## Boundaries

- This skill produces a **legal-due-diligence work product**, not legal advice.
- Final OCI determinations belong to the contracting officer (FAR 9.504(a)). The skill output is _input_ to the bidder's go / no-go and to any FAR 9.503 waiver request.
- See `references/far_9_5_oci_taxonomy.md` § "Scope Limits" for what is intentionally outside this skill's purview (e.g., personal conflicts of interest under FAR 3.11, post-employment restrictions under 18 U.S.C. § 207).

From BdM-15/capture-insights, MIT.

More from BdM-15/capture-insights

Signals

Stars
0
Forks
0
Open issues
0
Last commit (this folder)
Jun 9, 2026 (4 months ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from BdM-15

Cite this page

oci-sweeper skill. Agent Mart. https://agentmart.dev/skills/bdm-15-oci-sweeper (last updated 2026-10-24)