Skip to content
Back to skills

Fact Cut Runner

ASecurity

Compose fact-intake L1: whole-doc cut and disposition classify.

  • 3 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 2, 2026
ai-agentspython

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned October 5, 2026

npx -y skills add lulufoo/lulu-workflow --skill fact-cut-runner --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Fact Cut Runner?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Fact Cut Runner
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/lulufoo-fact-cut-runner/badge)](https://www.skillsdirectory.com/skills/lulufoo-fact-cut-runner)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: fact-cut-runner
description: >-
  Compose fact-intake L1: whole-doc cut and disposition classify.
---

# fact-cut-runner

Read `$SOURCE_PATH` once and write classified seed atoms. Done when
`$FACTS_CTL validate --require-derivation` exits 0.

**Must:** `$FACT_CUT_BUILD context`; cut+tag+write.  
**Must not:** Confirm; Eval; `fact-store-runner`; edit source doc; write
`discovered`.

## Input

```text
REVISION_DIR: <abs revision root>
CYCLE_ID: <cycle id>
SOURCE_PATH: <abs intake SoT>
REQUIRE_SEED_ORIGIN: <true|false; default false>
```

## Cognition

Output terms carry the meanings defined in these units.

| Term | Unit |
|---|---|
| fact atom, `anchors`, `lens` | `../../references/cognition/fact.md` |
| `origin.type=seed`, `derivation.upstream_ref`, `disposition`, `rule_id` | `../../references/cognition/producer/provenance.md` |
| registry `intent`, `intent_boundary` | `../../references/cognition/lens.md` |
| role `consume_policy` | `../../references/cognition/profile/role.md` |

One verdict per atom, assigned while cutting:

```text
not_needed  ⇐ one consume_policy rule holds        (cite rule_id; omit lens)
carried     ⇐ some lens intent owns it             (lens = one key, chosen per lens.md)
quarantined ⇐ otherwise                            (omit lens)
```

One lens per fact: read its source section (`derivation.upstream_ref`) first;
if still ambiguous, take the lens whose intent is closest. Splitting is not
decided here. After the last atom, repair don't-list false kills.

## Script Macros

Contract in `--help`.

| Macro | Command |
|---|---|
| `$FACT_CUT_BUILD` | `python3 "$SKILL_ROOT/compose/fact-intake-runner/fact-cut-runner/scripts/fact_cut_build_control.py"` |
| `$FACTS_CTL` | `python3 "$SKILL_ROOT/compose/scripts/facts/facts_control.py"` |

## Boundaries

- Control calls: `context` once; `write` once; `validate --require-derivation` once. Add `--require-seed-origin` when `$REQUIRE_SEED_ORIGIN=true`. A failed call fails the pass.
- Evidence closure: `context` stdout, this SKILL, the Cognition units, and `$SOURCE_PATH`. Read nothing outside the closure.
- Do not list scripts or read another cycle's facts.
- Write seed + `upstream_ref` + disposition.

## Execution

1. Bind Input.  
2. `$FACT_CUT_BUILD context --revision-dir … --cycle-id …`  
3. Whole-doc cut; tag each atom; repair don't-list false kills.  
4. `$FACTS_CTL write`.  
5. `$FACTS_CTL validate --require-derivation`.

**Done:** validate exit 0.

## Summary

```text
Fact-cut complete.
  Facts: <path>
  Facts count: <N>
  Disposition counts: carried=<n> quarantined=<n> not_needed=<n>
  Status: ok
```

Files in this skill

  • SKILL.md1.9 KB
  • scripts/fact_cut_build_control.py2.9 KB

Attribution

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

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.