Dog-food intentional-cognition-os against the operator's own system. Discovers a target — a folder of markdown docs, a project, or an ecosystem — creates an isolated ICO workspace outside the target tree, ingests and compiles its docs, runs a hand-authored question bank against it, verifies each citation by deterministic source-grep, and produces a structured receipts trail with receipts, verifications, friction logs, and a sanitized summary. Sanitized per-run summaries are written into the target repo's dogfood directory; raw answer content and workspace stay in the user cache. Use when validating ICO works on real corpora, generating dog-food proof artifacts, or surfacing ICO bugs to file as beads. Trigger with /ico-your-internals, dog-food ICO, analyze my system with ICO.
Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.
Quelldateien prüfen
Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.
Mit Codex oder Claude installieren Kopieren Sie diesen Prompt, fügen Sie ihn in Codex, Claude oder einen anderen Assistant ein und lassen Sie die Skill-Seite prüfen und installieren.
Ein direkter Befehl überspringt den Prüf-Prompt. Prüfen Sie die Quelle, bevor Sie ihn ausführen.
Dog-food intentional-cognition-os against the operator's own system. Discovers a target — a folder of markdown docs, a project, or an ecosystem — creates an isolated ICO workspace outside the target tree, ingests and compiles its docs, runs a hand-authored question bank against it, verifies each citation by deterministic source-grep, and produces a structured receipts trail with receipts, verifications, friction logs, and a sanitized summary. Sanitized per-run summaries are written into the target repo's dogfood directory; raw answer content and workspace stay in the user cache. Use when validating ICO works on real corpora, generating dog-food proof artifacts, or surfacing ICO bugs to file as beads. Trigger with /ico-your-internals, dog-food ICO, analyze my system with ICO.
Requires Claude Code, intentional-cognition-os installed globally via npm install -g intentional-cognition-os, an ANTHROPIC_API_KEY environment variable, plus python3 and jq on PATH. The target repo should have a dogfood directory with question-banks subfolder.
ico-your-internals — dog-food ICO against your own system
Invocation: "/ico-your-internals" · "dog-food ICO" · "analyze my system with ICO" · "run a dog-food session against ".
The operator-facing skill that exercises intentional-cognition-os end-to-end against a real corpus and produces a structured receipts trail. v0.1 covers single-target runs against a hand-authored question bank with deterministic citation verification.
Overview
This skill answers one question: does ICO actually work on real corpora? It exercises the full ICO pipeline (init → mount → ingest → compile → ask) against a doc-heavy target the operator points it at, then verifies every citation ICO produces against the source it claims via deterministic substring grep. The output is a structured receipts trail — committed sanitized rollups for proof-of-use, plus local-only raw answers for forensic inspection.
The skill is the kernel of a build-in-public dog-food loop. Every run produces one number (citation-verify rate) that goes into dogfood/progress.md and trends over time. Friction in ICO itself surfaces as friction.jsonl entries that become bead candidates on the ICO repo.
What this skill does NOT do:
Build new corpora (it only runs ICO against existing markdown documentation)
Auto-commit results (operator decides what lands in the repo)
Make any Claude API call without an explicit budget estimate and operator confirmation above the $0.50 threshold
Prerequisites
Before invoking:
ICO installed: npm install -g intentional-cognition-os. Verify with ico --version returning a real semver string (≥ 1.1.2 recommended).
Anthropic credentials: ANTHROPIC_API_KEY exported in the shell environment.
POSIX tooling: python3 (≥ 3.10) and jq on PATH. Standard bash, find, awk are assumed.
A target: an absolute path to a project or doc directory with at least one .md file. The target is mounted read-only — the skill never writes inside it.
A question bank: a YAML file matching the schema in references/question-bank-spec.md. For session-0 scaffolds the bank must have non-empty questions — empty banks halt the skill.
Optional: the target repo has a dogfood/ directory (created when running against the ICO repo itself). When absent, sanitized rollups land alongside the cache and the operator manually moves them.
Hard rules — do not violate
Never write inside the target tree. The target is mounted read-only. All ICO writes go to ~/.cache/ico-your-internals/runs/<run-id>/workspace/.
Never commit raw answer content or source-grep evidence. Those live local-only in ~/.cache/. Only sanitized per-run summaries (summary.md, metrics.json, friction.jsonl) get copied back into the repo's dogfood/runs/<run-id>/.
Always show a token-budget estimate before any Claude API call. Use AskUserQuestion to confirm proceed when estimated cost > $0.50. No surprise bills.
Never cd or run mutating git commands inside the target tree. Read-only is the contract.
Idempotent re-runs. Same target + same question bank + already-compiled workspace → re-use the workspace; only the Q/A loop runs. Cheap second runs.
The skill never auto-commits. It writes files; the operator runs git add && git commit when they're satisfied with the receipts.
Verify ico --version succeeds. If not, surface clearly: "Install with npm install -g intentional-cognition-os first."
Verify ANTHROPIC_API_KEY is set. If absent, halt with a clear message.
Verify the target path exists and contains either .md files or CLAUDE.md (i.e. is a real doc-bearing project).
Verify the question bank YAML exists and parses. If empty (e.g. session-0 scaffold), halt with: "Bank has no questions. Author them first per the schema in the YAML."
Create both. The $WORKSPACE is where ICO writes. The $PUBLIC_DIR is where the sanitized rollup will land for git add.
Step 3 — Token-budget estimate
Use scripts/estimate-budget.sh (or inline math): rough word count of the target's .md files × 1.3 (tokens-per-word) × (compile passes ≈ 6) → upper-bound input tokens. Add per-question token budget × question count. Multiply by current Claude pricing to dollar-estimate.
If estimate > $0.50, prompt the operator via AskUserQuestion before proceeding.
If compile fails or returns non-zero, capture the error to friction.jsonl and halt — surface the failure to the operator before running the Q/A loop. There's no point asking questions of a broken workspace.
Step 5 — Ask loop
For each question in the bank:
Generate q_id and correlation_id.
Run ico ask "<question>" --workspace <workspace> --json and capture the answer JSON.
Where the local-only artifacts live (so they can grep raw receipts if curious)
Where the public-safe artifacts landed (so they can git add if satisfied)
Any friction surfaced — with explicit "consider filing as bead" prompts for substantive bugs
Do NOT commit. The operator decides.
Output
Every successful run produces two parallel artifact sets:
Local-only (in ~/.cache/ico-your-internals/runs/<run-id>/):
File
What's in it
workspace/
The full ICO workspace — compiled wiki, audit traces, source manifest
receipts.jsonl
One line per question with the full answer text, citations, trace correlation id, tokens, latency
verifications.jsonl
One line per citation with verdict (VERIFIED/CHALLENGED/UNVERIFIED), grep evidence, line numbers
cost.jsonl
Per-API-call token + dollar ledger
summary.md
Full run summary including raw answer excerpts (for forensic inspection)
manifest.json
Run metadata: target path, ICO version, bank version, timestamps
Committed sanitized (in <repo>/dogfood/runs/<run-id>/):
File
What's in it
summary.md
Counts + verify-rate + friction list — no raw answer content
metrics.json
Machine-readable per-run rollup with per-question breakdowns
friction.jsonl
Bug/error/timeout records — bead candidates
manifest.json
Same as local copy
The skill also appends one row to <repo>/dogfood/progress.md with the headline metrics (run id, target, citations, verified, verify_rate, tokens, friction count).
Full record contract: references/receipt-schema.md. Key shapes:
The skill is designed to fail loudly and recoverably. Every failure mode either halts cleanly with a clear message or captures the error to friction.jsonl as a bead candidate.
Failure mode
Stage
Detection
Recovery
ICO not installed
preflight
command -v ico returns non-zero
Halt with: "Install with npm install -g intentional-cognition-os first."
ANTHROPIC_API_KEY unset
preflight
env check
Halt with clear message
Target path missing or not a directory
preflight
[ -d "$TARGET" ]
Halt; do not create the workspace
Question bank empty (session-0 scaffold)
preflight
YAML parse + questions length check
Halt with: "Bank has no questions. Author them per schema."
Budget estimate exceeds threshold
budget
estimate-budget.sh > $0.50
AskUserQuestion prompt; abort cleanly on decline
ico init fails
init
non-zero exit
Append friction entry; halt before any Claude calls
ico mount add fails
mount
non-zero exit
Append friction entry; halt
ico ingest fails
ingest
non-zero exit
Capture stderr to friction entry; halt
ico compile fails
compile
non-zero exit
Capture stderr to friction entry; halt — no point asking questions of a broken workspace
ico ask times out (>180s)
ask
Python subprocess timeout
Friction entry; continue to next question
ico ask returns non-JSON stdout
ask
json.JSONDecodeError
Friction entry; continue to next question
Cited source not found in target tree
verify
filesystem check after prune
Verdict UNVERIFIED; continue
Cited source exists but no expected_substring matched
verify
grep miss
Verdict CHALLENGED; continue
Workspace already exists (re-run)
init
directory present
Idempotent re-use — only the Q/A loop runs, no recompile
Every friction entry with recommend_bead: true is a bug-discovery signal. Triage them into beads on the intentional-cognition-os repo. Re-running a failed run with no Claude calls is cheap via --probe <run-id> (verify step only).
Examples
v0.1 first real run — against intent-eval-core:
# 1. From the intentional-cognition-os repo root:
plugin/skills/ico-your-internals/scripts/run.sh \
--target ~/000-projects/intent-eval-platform/intent-eval-core \
--bank dogfood/question-banks/intent-eval-core-v1.yaml
# 2. After receipts written, verify citations:
plugin/skills/ico-your-internals/scripts/verify.py \
2026-05-21T0300Z-intent-eval-core-v1
# 3. Render sanitized rollup into dogfood/runs/<run-id>/:
plugin/skills/ico-your-internals/scripts/render-summary.py \
2026-05-21T0300Z-intent-eval-core-v1 --repo-root .
# 4. Inspect the trend signal:cat dogfood/progress.md
# 5. If receipts look good, commit:
git add dogfood/runs/2026-05-21T0300Z-intent-eval-core-v1/ \
dogfood/progress.md dogfood/JOURNAL.md
git commit -m "dogfood: first run against intent-eval-core"
Re-verify an already-completed run after fixing a question bank:
# Edit dogfood/question-banks/intent-eval-core-v1.yaml — adjust expected_substrings
plugin/skills/ico-your-internals/scripts/verify.py \
2026-05-21T0300Z-intent-eval-core-v1
plugin/skills/ico-your-internals/scripts/render-summary.py \
2026-05-21T0300Z-intent-eval-core-v1 --repo-root .
# No new Claude calls — verify is pure local grep against captured receipts.
Invoke via Claude Code skill registration (after plugin install):