Skip to content
cccskills
FreePublished on GitHub

record

Durable categorized record-keeping for any predicate-enabled walk. Trigger when: - Classifying a step's output for recording (decision, finding, debt, feedback). - Promoting a scratch artifact to the ledger, to repo/docs, or to a category home (.ledger/tech-debt/, .ledger/process-feedback/). - Auditing whether a draft is structurally ready for its destination. - Running a zero-context sensibility read before committing to promotion. - Recording a known limitation as a tech-debt entry (not prose in the log). - Recording a friction, miss, improvement, or process amendment. - Prompt contains: /record, record-keeping, promote, ledger note, zettelkasten, scratch-to-ledger, zero-context read, over-strip, classification trigger, tech-debt, process-feedback, amendment.

The English summary is being prepared. Showing the original description.

See how to install

Files included (5)

  • SKILL.md12.1 KB
  • process_feedback_apply.ncl606 B
  • process_feedback.ncl3.0 KB
  • tech_debt_apply.ncl571 B
  • tech_debt.ncl2.7 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Record — Durable Categorized Records

Ambient — applies to every predicate-enabled walk, not campaign-only.

The RECORD primitive manages durable artifacts across three complementary substrates. What distinguishes it from generic note-taking is the category model: each category of durable artifact has a defined contract (machine-checkable shape), a .ledger home, and a trigger (when to record into it).


Category model

Who holds the pen. One writer per node-kind-and-namespace, whoever it is (the pen law — docs/entries.md): testimony is signed by the walker who witnessed it and committed by that walker, append-only, into .ledger/deposits/<topic>/<signer>/; synthesis, decision, and narrative nodes — and every promotion — are the composer's. In a solo predicate walk there is no composer: the walker signs everything and executes this skill directly. Two writers interleaving one namespace is how a zettelkasten becomes a shoebox.

Each category = {contract, .ledger home, trigger}. Categories are extensible: adding a fourth later is cheap — add the contract, home, and trigger row.

categorycontract.ledger hometrigger
flight-lognarrative; no formal contract.ledger/log/at every significant step: decision, pivot, finding
tech-debtskills/record/tech_debt.ncl.ledger/tech-debt/when a limitation is accepted rather than fixed
process-feedbackskills/record/process_feedback.ncl.ledger/process-feedback/when friction, a miss, an improvement, or a live process amendment is identified

The flight-log category (existing)

Narrative zettelkasten — linked, curated trail of how the space was explored: decisions, pivots, adjustments. NOT exhaustive; navigable graph. See Recording (continuous) and Promotion for the full flight-log model.

The tech-debt category (new)

A first-class, machine-shaped entry for a known limitation or deferred decision — absorbs the campaign's "accepted limitations / tail" so they are trackable and actionable rather than buried in prose log entries.

Fields: id (unique), claim (falsifiable statement), location (file:line, gate, or component), severity (critical|high|medium|low), why_deferred, signpost (what would resolve or invalidate it).

Instance format: YAML, validated via:

nickel export <file>.yaml --apply-contract skills/record/tech_debt_apply.ncl

Trigger: when you accept a limitation rather than fix it — record it here, not in prose. A signpost is required so the debt is not just named but actionable.

The process-feedback category (new)

Captures friction, missed signals, improvements, and AMENDMENTS. An AMENDMENT is the highest-stakes kind: the agent changed a live process rule and it was a good idea. This makes process changes durable rather than living only in conversation recall.

Fields: id (unique), kind (friction|miss|improvement|amendment), context (situation that triggered it), outcome (what changed or what it means).

Instance format: YAML, validated via:

nickel export <file>.yaml --apply-contract skills/record/process_feedback_apply.ncl

Trigger: when friction surfaces, a signal is missed, the process improved, or a live rule was amended. AMENDMENT kind requires that the rule change was nrd-approved or demonstrably beneficial — it is a record of accepted change, not a unilateral rewrite.


Three substrates with distinct roles

substraterolecharacter
scratchexhaustive working detail; coherent context being builtdefault ephemeral; sometimes a draft staged for promotion
ledger (.ledger/)all category homes: flight-log, tech-debt, process-feedbackcurated, linked, durable; each category in its own home dir
repo/docs/promoted durable artifacts (a design that graduated)permanent

Promotion is the combinator promote(from, to) over {scratch, ledger, repo}. The destination is routed by purpose, not by artifact type.


Recording (continuous)

At each significant step, classify the output and record it — this is a classification trigger, not a rulebook. Ask: what kind of thing just happened?

what happenedwhere it goesminimum record
decision / pivot / adjustmentlinked ledger note (flight-log)what, why, which [[decisions/KUs]] it changes; link to superseded/resolved notes
finding (new R/I/U item)update the live R/I/U tracker; ledger note if it pivots directiontracker entry with grounding + last_validated + signpost
accepted limitation.ledger/tech-debt/<id>.yamltech-debt record validated against tech_debt.ncl
process friction / miss / improvement / amendment.ledger/process-feedback/<id>.yamlprocess-feedback record validated against process_feedback.ncl
working detail / draftscratchno ceremony; stage for promotion when ready

Linking discipline (flight-log). Ledger notes are a zettelkasten: each note links (supersedes, resolves, blocks, see-also) to the nodes it affects. The ledger is a navigable graph, not a flat append log. Every-touch-commit (Sketch Commit Discipline) keeps the graph linear and reconstructable.


Promotion

Destination routing (the combinator's dispatch table)

promote(from, to) routes by the artifact's purpose:

  • needed to reconstruct how/why but not general documentation → ledger (zettelkasten; future agents in this exploration)
  • a durable artifact useful to someone who never saw the exploration → repo/docs (a user / zero-context agent)
  • cross-cases: scratch → ledger, scratch → repo, ledger → repo

The "stranger" for the zero-context sensibility read is parameterized by the destination's audience. The over-strip line moves with the destination:

  • ledger stranger — a future agent reconstructing this campaign; still needs decisions + why
  • repo stranger — a user who never saw the exploration; needs none of the session context

Gate 1 — structural readiness (machine-checkable)

The artifact must conform to its destination's contract before promotion:

  • a tech-debt record must pass nickel export ... --apply-contract tech_debt_apply.ncl
  • a process-feedback record must pass nickel export ... --apply-contract process_feedback_apply.ncl
  • a draft IBC must pass worker_ibc.ncl export
  • a DAG node must export cleanly against dag.ncl
  • a skill draft must carry valid YAML frontmatter (this file's own gate)
  • a doc must have valid local links and header structure

Does not export / does not conform → not ready. Do not proceed to Gate 2. This makes "structurally ready" machine-checkable rather than a judgment call.

Gate 2 — sensibility (zero-context multi-round read)

A quality mechanism, not a box to tick. Read the draft as a stranger with only its stated purpose; surface everything that is only meaningful in-session:

  • references to "what we discussed" or "as above"
  • implicit assumptions the reader cannot recover
  • scratch-isms (abbreviations, shorthand, agent-internal labels)

Strip or make-explicit each; iterate until a context-free read is fully sensible.

Over-strip guard — strip only what is session-meaningful AND not needed for the stated purpose. Before stripping anything, ask:

Does a stranger with the stated purpose need this to understand / use the artifact?

Yes → keep and make explicit. "Merely discussed in session" → strip. Never strip load-bearing rationale. A sensibility read that removes rationale is a context-destroyer, not a quality pass.

Depth scales with stakes and destination:

  • routine scratch note → ledger: self-administered flush-read
  • architectural or doctrine artifact → repo: decorrelated agent review (refine REVIEW semantics)

Gate 3 — role authorization (privileged)

Promotion is role-gated:

artifact classwho may promote
testimony (deposits, assessments, findings) → ledgerthe witnessing walker, signed
narrative / synthesis / promotion notes → ledgerthe composer (solo: the walker)
full architecture / spec → repo/docsarchitect-tier
doctrine edits (rules.md, ambient.md, formalism)Reserved halt — human approval required before merge

A worker cannot unilaterally promote to durable doctrine. On doctrine promotion, emit the draft and halt for human review before touching the destination.

On promote: link the durable artifact

After promotion:

  1. Strip ephemera (Gate 2 already handled this).
  2. Write a ledger note recording the promotion: what was promoted, where it landed, and why it graduated. This keeps the zettelkasten honest about the artifact's provenance.

Project-local validation

A project (predicate-self-hosting + downstream) records its own tech-debt and process-feedback through the project-local gate mechanism. Register a gate script in .ledger/gates/ that validates the records:

#!/usr/bin/env bash
# .ledger/gates/10-validate-records.sh
# Validates all tech-debt and process-feedback YAML instances.
set -euo pipefail
root="${1:-}"
skill_dir="$root/skills/record"

for f in "$root/.ledger/tech-debt"/*.yaml 2>/dev/null; do
  [[ -f "$f" ]] || continue
  nickel export "$f" --apply-contract "$skill_dir/tech_debt_apply.ncl" >/dev/null \
    || { echo "tech-debt record failed: $f" >&2; exit 1; }
done

for f in "$root/.ledger/process-feedback"/*.yaml 2>/dev/null; do
  [[ -f "$f" ]] || continue
  nickel export "$f" --apply-contract "$skill_dir/process_feedback_apply.ncl" >/dev/null \
    || { echo "process-feedback record failed: $f" >&2; exit 1; }
done

The project-gates.sh runner discovers and executes this script automatically on each commit when a walk is registered. Projects with no .ledger/gates/ directory incur zero overhead (the runner is a clean no-op).


Adaptive extension

This skeleton fleshes against the concrete R/I/U at hand. Minimum floor:

  • Recording: classify the step; write the minimum record for its class.
  • Promotion: pass structural readiness (Gate 1) before touching Gate 2.

Extend selectively when not converged: add rounds to the sensibility read when the artifact is high-stakes or the over-strip risk is real; add a decorrelated reviewer when promoting doctrine; tighten the linking discipline when the ledger is the primary reconstruction surface.

The skeleton supports shape AND flexibility — it does not prevent movement. Do not inflate it into an exhaustive script.


Two-purpose inheritance

Following P-GROUND's two-purpose principle:

  • Recording — formal gate: did you classify and record the step? (presence- checkable); substantive gate: is the trail reconstructable? (closed by review).
  • Promotion — formal gate: does the artifact pass structural readiness? (machine-checkable via contract conformance); substantive gate: is the zero-context read fully sensible? (closed by the multi-round read + role-gated reviewer, depth-to-stakes).

The contract is the "did-they-try" floor that feeds the review; the review is where substance is judged. Do not fake a smarter contract.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

SOP for auditing AI-generated code. Trigger when: - Reviewing, refactoring, or cleaning up AI-generated code to prevent regressions or hallucinated APIs. - Prompt contains: /ai-audit, code audit, AI cleanup, common flaws.

The English summary is being prepared. Showing the original description.

nrdxp/predicate10Updated Sep 1, 2026

Protocol for auditing API surface coherence and type safety. Trigger when: - Evaluating API designs, interface type safety, or design elegance. - Prompt contains: /api-audit, API surface, API coherence, type safety.

The English summary is being prepared. Showing the original description.

nrdxp/predicate10Updated Sep 1, 2026

Normative sufficiency conditions for Initial Boundary Conditions (IBCs) and the SOP for the cheap-tier boundary refinement loop (/boundary). Trigger when: - Crafting, auditing, or refining a prompt/IBC destined for an expensive (architect-class) model or an autonomous worker dispatch. - Evaluating whether a task frame is sufficient to bound an agent walk. - Prompt contains: /boundary, IBC, initial boundary condition, boundary contract, sufficiency conditions, worker prompt, prompt refinement.

The English summary is being prepared. Showing the original description.

nrdxp/predicate10Updated Sep 1, 2026

SOP for the architect-tier campaign workflow (/campaign): exhaustive survey, mitigation planning, tiered orchestration, and reconciliation. Trigger when: - Running a multi-workstream initiative where an expensive architect-tier council surveys, plans, emits worker prompts, and judges landed work. - Conducting production-readiness assessments that fan out into autonomous mitigation dispatches across model tiers. - Prompt contains: /campaign, campaign workflow, survey, orchestrate, reconcile, premise freshness, tier routing, worker IBC, scratch.

The English summary is being prepared. Showing the original description.

nrdxp/predicate10Updated Sep 1, 2026

Maintain and update the persistent project chronicle (docs/chronicle.md). Trigger when: - The human requests a history summary or chronicle update. - Starting work on a new codebase and needing context on its evolution. - Prompt contains keywords: /chronicle, chronicle, project history, git log summary, history summary.

The English summary is being prepared. Showing the original description.

nrdxp/predicate10Updated Sep 1, 2026

Rules, conventions, and constraints for formatting git commit messages and committing at logical boundaries. Trigger when: - Drafting, revising, or validating git commit messages. - Pausing at commit boundaries under the CORE or CONTINUE workflows. - Evaluating whether a changeset should be split into multiple commits. - Prompt contains keywords: commit message, git commit, conventional commits, commit hygiene, commit guidelines, logical boundary, spaghetti diff, atomic commit, commit boundary.

The English summary is being prepared. Showing the original description.

nrdxp/predicate10Updated Sep 1, 2026

See all skills by nrdxp

Report a problem with this skill