parametrize-and-cite

Transform any data, document, deck, README, manifest, config, or report by (1) extracting every piece of dynamic information — names, links, statistics, costs, identifiers, dates, thresholds — into configurable variables instead of hard-coding, and (2) enforcing that every factual assertion carries at least two independent citations. Triggers on "remove branding," "make this reusable," "transmute this," "parametrize," "no hard-coded values," "configurable," "needs citations," "verify these claims," or any request to convert a one-off artifact into a parameterized template.

Best use case

parametrize-and-cite is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Transform any data, document, deck, README, manifest, config, or report by (1) extracting every piece of dynamic information — names, links, statistics, costs, identifiers, dates, thresholds — into configurable variables instead of hard-coding, and (2) enforcing that every factual assertion carries at least two independent citations. Triggers on "remove branding," "make this reusable," "transmute this," "parametrize," "no hard-coded values," "configurable," "needs citations," "verify these claims," or any request to convert a one-off artifact into a parameterized template.

Teams using parametrize-and-cite should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/parametrize-and-cite/SKILL.md --create-dirs "https://raw.githubusercontent.com/organvm-iv-taxis/a-i--skills/main/distributions/claude/skills/parametrize-and-cite/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/parametrize-and-cite/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How parametrize-and-cite Compares

Feature / Agentparametrize-and-citeStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Transform any data, document, deck, README, manifest, config, or report by (1) extracting every piece of dynamic information — names, links, statistics, costs, identifiers, dates, thresholds — into configurable variables instead of hard-coding, and (2) enforcing that every factual assertion carries at least two independent citations. Triggers on "remove branding," "make this reusable," "transmute this," "parametrize," "no hard-coded values," "configurable," "needs citations," "verify these claims," or any request to convert a one-off artifact into a parameterized template.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

Related Guides

SKILL.md Source

# Parametrize and Cite

Two universal mandates apply to any data or compilation thereof:

1. **All dynamic information is a configurable environment variable.** Names, links, statistics, costs, identifiers, dates, thresholds, contact details — never hard-coded. The structure is reusable; the particulars are injected.
2. **All assertions require multiple citations.** Every factual claim carries at least two independent sources. Single-source claims are flagged, not shipped.

These are not stylistic preferences. They are substrate disciplines that determine whether an artifact survives time (parametrization protects against drift; multi-citation protects against epistemic collapse).

## When this skill fires

Apply this skill whenever the input is a "compiled artifact" — anything that bundles structure with particulars:

- pitch decks, one-pagers, sales sheets, README files
- competitive analyses, market reports, research summaries
- configuration files, manifests, deployment templates
- onboarding docs, runbooks, SOPs, playbooks
- any document that mixes "the pattern" with "this specific instance"
- any document that makes claims (numbers, attributions, characterizations)

If the artifact has a brand-shaped surface AND reusable bones, this skill fires. If it makes assertions, this skill fires.

## The transformation pipeline

Run the artifact through five phases in order. Don't skip phases — each one catches a different class of issue.

### Phase 1: Audit

Read the artifact end-to-end before transforming anything. Build two inventories:

- **Dynamic-information inventory**: every concrete particular (see the taxonomy below).
- **Assertion inventory**: every factual claim, with its current citation count.

Note: an "assertion" is anything stated as fact that the reader is expected to believe. Opinions and recommendations are not assertions. Numbers, attributions, comparisons, and historical claims are.

### Phase 2: Identify dynamics

Categorize each particular by what makes it dynamic. Use this taxonomy:

| Category | Examples | Env var prefix |
|---|---|---|
| Identity | company name, person name, project name, brand | `IDENTITY_*` |
| Locator | URL, repo path, email, phone, address | `LINK_*` / `CONTACT_*` |
| Quantitative | revenue, count, percentage, ratio, score | `STAT_*` |
| Monetary | price, cost, budget, fee, salary | `COST_*` |
| Temporal | date, deadline, duration, period | `DATE_*` / `DURATION_*` |
| Threshold | limit, quota, target, SLA | `THRESHOLD_*` |
| Credential | API key, token, account ID | `SECRET_*` (never default) |
| Categorical | tier, plan, region, jurisdiction | `CATEGORY_*` |

Anything that *could* differ between instances of this artifact's reuse is dynamic, even if it feels permanent today. "Our company name" is dynamic — the artifact might be reused by an acquirer, a fork, a parallel project, or a customer-facing variant.

### Phase 3: Parametrize

Replace each dynamic particular with an env-var reference. Choose a template syntax that matches the artifact's medium:

- **Markdown / prose docs**: `{{ IDENTITY_COMPANY_NAME }}` (Mustache-style) or `${IDENTITY_COMPANY_NAME}` (shell-style)
- **YAML / JSON configs**: `${IDENTITY_COMPANY_NAME}` (envsubst-style) or platform-native (`!Ref`, `${{ vars.X }}`, etc.)
- **Code files**: language-idiomatic (`os.environ["IDENTITY_COMPANY_NAME"]`, `process.env.IDENTITY_COMPANY_NAME`)

Generate a paired `.env.example` (or platform-equivalent: `config.example.yaml`, `terraform.tfvars.example`, etc.) with every variable, a one-line comment describing what it controls, and a sample value drawn from the original artifact.

```
# Identity
IDENTITY_COMPANY_NAME="Example Corp"        # Replaces brand references in headers, footers
IDENTITY_PRODUCT_NAME="ExampleProduct"      # Used in feature descriptions

# Stats — quarterly report figures
STAT_Q4_REVENUE_USD=4200000                 # Q4 top-line revenue
STAT_Q4_GROWTH_PCT=23                       # YoY growth percentage

# Costs — pricing tier defaults
COST_TIER_STARTER_USD_MONTH=49              # Starter plan monthly price
```

**Never inline secrets even as examples.** For `SECRET_*` variables, the example file shows the variable name and a placeholder (`SECRET_API_KEY=changeme-in-production`), never a real key.

### Phase 4: Cite

For every assertion in the inventory, attach at least two independent citations. Define independence carefully:

- **Two sources from the same parent org are not independent.** A company's own homepage + its own blog = one source.
- **A primary source + a secondary that reports on the primary is not two independent sources.** That's one source plus its echo.
- **Two independent sources** = two organizations with no editorial or financial relationship, each having direct access to the underlying evidence (or each citing a distinct primary).

Citation format depends on the medium:

- **Prose docs**: inline footnotes `[^1]` + bibliography section
- **Slides / decks**: source line at bottom of slide, full sources in appendix
- **Data tables**: per-row source column + per-column source notes
- **Code comments**: `# Source: <url> (accessed YYYY-MM-DD); cross-checked: <url>`

Where you cannot find two independent citations, do one of the following — explicitly, never silently:

1. **Flag with `[CITATION-REQUIRED]`** in the output and list in a "Verification gap" section.
2. **Demote the assertion to a conditional**: "If [source] is correct, then…"
3. **Remove the assertion** if it's load-bearing but unsupportable.

Never invent or fabricate sources. Never paper over with weasel phrases ("studies have shown," "it is widely known").

### Phase 5: Emit

Produce four artifacts as a set:

1. **The transformed artifact** — original content with dynamics parametrized and assertions cited.
2. **`.env.example`** (or platform equivalent) — every variable with comment and sample value.
3. **`CITATIONS.md`** — full bibliography organized by section, with accessed-dates and brief notes on independence.
4. **`TRANSFORMATION_LOG.md`** — what was changed, what was flagged, what was removed, with rationale.

The four-artifact emission is non-negotiable. Shipping the transformed artifact without the `.env.example` strands the user; without `CITATIONS.md` the citations are unverifiable; without the log the user can't audit what you changed.

## What counts as dynamic — edge cases

Some particulars feel permanent but are dynamic on reuse. Treat each as a variable:

- **"The current year"** — `DATE_PUBLICATION_YEAR`, not literal `2026`
- **"Our team size"** — `STAT_TEAM_HEADCOUNT`, even if it changes annually
- **License names** — `IDENTITY_LICENSE_TYPE`, in case the template is reused under different terms
- **Tone-of-voice phrases unique to a brand** — these are dynamic; the structure of the sentence is reusable
- **Compliance thresholds tied to a jurisdiction** — `THRESHOLD_GDPR_RETENTION_DAYS`, in case the template moves to another regime

If you're unsure whether something is dynamic, parametrize it. The cost of an extra env var is near-zero. The cost of a hard-coded value that needed to vary is reissuing the whole artifact.

## What counts as an assertion — edge cases

These are assertions and require citation:

- "X is the largest provider in Y market"
- "23% of users churn within 30 days"
- "This complies with regulation Z"
- "Method A is faster than method B"
- "The acquisition closed on date D for price P"

These are NOT assertions (no citation needed):

- "We recommend X because…" (recommendation)
- "Consider whether Y applies to your context" (advice)
- "This document describes our approach to Z" (descriptive)
- "Section 3 covers configuration" (structural)

If a sentence both recommends AND asserts, split it: "Adopt approach X (recommendation). Approach X has been measured at 40% lower latency [^1][^2] (assertion)."

## Output verification checklist

Before declaring the transformation complete, verify:

- [ ] Every concrete particular from the original is either parametrized or explicitly retained with rationale
- [ ] `.env.example` has one line per variable, with comment and sample
- [ ] No secret has a real value in the example file
- [ ] Every assertion has ≥2 independent citations OR is flagged / demoted / removed
- [ ] Bibliography lists every cited source with URL and accessed-date
- [ ] Transformation log enumerates every change
- [ ] Re-reading the transformed artifact with only the env-var names in place still makes structural sense (sentences don't collapse into nonsense when the particulars are abstracted)

The last check matters: if the artifact becomes incoherent when the particulars are removed, the artifact was *about* the particulars and parametrization is the wrong move — surface this to the user rather than ship a degraded version.

## Reference

For detailed pattern examples by artifact type (decks, READMEs, configs, reports), see `references/transformation-patterns.md`.

For citation-independence judgment calls (when is a source "the same parent org"? when does a secondary count as independent?), see `references/citation-independence.md`.

Related Skills

taxonomy-modeling-design

5
from organvm-iv-taxis/a-i--skills

Phase 2 of the pentaphase structural-overhaul protocol. Classifies entities, standardizes attributes, establishes relationships, and designs the access framework. Use when the user invokes phase 2 of an overhaul, asks to "design the taxonomy" or "model the structure", or has completed a landscape audit and is ready to redesign. Consumes phase-1-landscape-report.md; produces phase-2-taxonomy-model.md.

systemic-ingestion-normalization

5
from organvm-iv-taxis/a-i--skills

Phase 4 of the pentaphase structural-overhaul protocol. Purges redundancies, enriches and aligns legacy entities to the new schema, executes phased ingestion into the new environment, and audits integrity. Use when the user invokes phase 4 of an overhaul, asks to "migrate the data" or "ingest into the new system", or has a configured environment ready to accept legacy entities. Consumes phase-3-environment-spec.md; produces phase-4-ingestion-report.md.

system-environment-configuration

5
from organvm-iv-taxis/a-i--skills

Phase 3 of the pentaphase structural-overhaul protocol. Translates the taxonomy model into objective technical criteria, evaluates candidate mechanisms or frameworks, instantiates the chosen architecture, and programs validation rules. Use when the user invokes phase 3 of an overhaul, asks to "select a system" or "configure the environment", or has a taxonomy model and is ready to choose technology. Consumes phase-2-taxonomy-model.md; produces phase-3-environment-spec.md.

pentaphase-orchestrator

5
from organvm-iv-taxis/a-i--skills

Threads the full five-phase structural-overhaul protocol — landscape discovery, taxonomy design, environment configuration, systemic ingestion, governance evolution — for any substrate the user names. Use when the user requests a structural overhaul, system redesign, or end-to-end restructuring of a documentation system, asset registry, code monorepo, knowledge base, or operational workflow; or when they explicitly invoke the pentaphase methodology. Coordinates handoffs between phase-skills and seats validation gates between phases.

landscape-discovery-audit

5
from organvm-iv-taxis/a-i--skills

Phase 1 of the pentaphase structural-overhaul protocol. Inventories assets, maps current flow, identifies friction, and defines value metrics for any substrate. Use when the user invokes phase 1 of an overhaul, requests a baseline audit, asks to "discover the landscape" of a system, or wants to understand current state before redesigning. Produces phase-1-landscape-report.md.

governance-evolution-protocol

5
from organvm-iv-taxis/a-i--skills

Phase 5 of the pentaphase structural-overhaul protocol. Codifies operational protocols, onboards the ecosystem of participants, programs behavior monitoring, and establishes an iteration cadence so the substrate evolves rather than calcifies. Use when the user invokes phase 5 of an overhaul, asks to "establish governance" or "lock in the protocols", or has completed ingestion and is ready to declare the substrate operational. Consumes phase-4-ingestion-report.md; produces phase-5-governance-charter.md, which closes the protocol.

dimension-surfacing

5
from organvm-iv-taxis/a-i--skills

Surfaces the parallel domain dimensions implicit in a dense or minimal prompt. Use when a user prompt is small on the surface but plainly implies multiple independent domains needing different expertise; when explicitly invoked by the coliseum-orchestrator skill as Phase 1; or when the user asks "what dimensions does this prompt encode" or "what axes does this break into." Produces a named dimension set where each dimension is independently executable and not a paraphrase of another.

coliseum-dispatch

5
from organvm-iv-taxis/a-i--skills

Dispatches a composed set of assignment envelopes to domain-expert subagents in parallel, in a single message with multiple Agent tool calls. Enforces the no-pingpong gate via the pingpong-detector agent before any dispatch fires. Use when invoked by the coliseum-orchestrator as Phase 3; when envelopes are already composed and the next step is parallel execution; or when the user asks to "fan out" or "dispatch in parallel." Produces a dispatch log capturing what was sent, when, and where returns land.

assignment-composition

5
from organvm-iv-taxis/a-i--skills

Wraps each surfaced dimension as a self-contained 9-section autonomous-work-assignment envelope — scope, context, success criteria, allowed tools, return format, handoff — all the recipient subagent needs to execute without coming back. Use when invoked by coliseum-orchestrator as Phase 2; when dimensions are named and the next step is to make each independently dispatchable; or when the user asks "compose this as an assignment." The no-pingpong gate validates each envelope before dispatch.

workspace-autopsy-governance

5
from organvm-iv-taxis/a-i--skills

Conducts a full automated autopsy of the current workspace directory to map files, identifies structural issues, proposes a restructuring plan (the signal), and establishes unified governance using templates. Use this skill when a user asks to map, restructure, reorganize, or apply new governance to an existing messy repository.

workshop-presentation-design

5
from organvm-iv-taxis/a-i--skills

Design engaging workshops, conference talks, and educational presentations. Covers learning objectives, activity design, slide craft, and facilitation techniques. Triggers on workshop design, presentation prep, talk structure, or training session requests.

webhook-integration-patterns

5
from organvm-iv-taxis/a-i--skills

Designs reliable webhook systems with proper delivery guarantees, retry logic, signature verification, and idempotent processing for event-driven integrations.