Claude Skill

brand-lock-extractor

Extract a production-ready brand-lock.md from a brand's existing assets. Point it at a website URL, a brand book PDF, screenshots, or a written description and it produces the nine-section brand-lock the rest of shotkit consumes, with a confidence and source noted for every value

LLM Mart · 0 points · 0 views 6 listing impressions 0 install-command copies
Virus-scanned Reviewed automatically before listing.

Full trust report

Download whystrohm-shotkit-skills_brand-lock-extractor-1b56831.zip · 10 KB
Part of whystrohm/shotkit — 5 skills

Install

skills CLI npx skills add https://github.com/whystrohm/shotkit/tree/main/skills/brand-lock-extractor
Claude Code claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install whystrohm-shotkit@llmmart
Git git clone https://github.com/whystrohm/shotkit.git

The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole whystrohm/shotkit collection as a plugin from our marketplace. Git is the plain clone.

Skill manifest

Brand Lock Extractor

The blank brand-packs/_template.md is the single biggest point of friction in shotkit. Nobody wants to hand-author nine sections of brand parameters before they can produce a single storyboard. This skill removes that wall: hand it what you already have, get a filled brand-lock back.

The output is a brand-lock.md in the exact format tools/validate_brand_lock.py validates and every other skill consumes. Same file the pipeline reads, produced from your assets instead of from scratch.

This skill extracts. It does not invent. Every value is sampled from a real asset or flagged as an estimate the user must confirm. A confident-sounding wrong hex is worse than a flagged guess.

When to use

Trigger when the user:

  • Wants to onboard a brand into shotkit and has assets (a site, a brand book, screenshots)
  • Says "extract my brand", "build a brand lock", "make a brand pack from my site/PDF"
  • Hands over a URL, a PDF, image files, or a written brand description and asks for a brand-lock
  • Has a brand-lock that is half-filled and wants the gaps extracted from assets

If the user has nothing but a vague idea (no assets, no description), they are not extracting, they are authoring. Point them at brand-packs/_template.md and help them fill it directly.

Inputs

You can work from any one of these. More sources is a better extraction.

Source How you read it Best for
Website URL WebFetch homepage + about + one more page Voice, positioning, palette, type
Brand book PDF Read the PDF Palette (exact hex), type, motion rules
Screenshots / image files Read the images Palette (sample pixels), mood, layout
Written description Use directly Identity, archetype, voice posture

At minimum you need one source. If the user offers none, ask for the one they have: "What can I work from, a website URL, a brand book PDF, screenshots, or a short description?" One question.

Workflow

Step 1. Gather the source material

  • URL: WebFetch the homepage, then try the about page (/about, /about-us, /our-story) and one more (/services, /work, recent blog). Skip pages that 404. The homepage is the floor.
  • PDF / images: Read each file. Brand books carry exact hex and type; screenshots are for sampling color and reading mood.
  • Description: take it as written.

Tell the user what you are pulling. Do not ask follow-ups yet, extract first, confirm gaps at the end.

Step 2. Extract each section

Read references/extraction-rubric.md. It maps every brand-lock section to where the signal lives and how to read it. Work the nine sections in order:

  1. Identity (brand, one-line description, archetype, voice posture)
  2. Palette (sampled hex, by role)
  3. Typography (display, body, optional mono, with weights)
  4. Mood adjectives (3-5, specific, contrast clauses preferred)
  5. Never list (what the brand avoids, inferred from consistency)
  6. Aspect ratios
  7. Color grade direction (one sentence)
  8. Motion language (one paragraph)
  9. Voice rules (copy-level constraints)

For every value, hold two things: the value, and where it came from (which asset, which quote, which sampled swatch). You will need the source for the confidence pass.

Step 3. Assign confidence and flag estimates

Each value is one of:

  • extracted, read directly from an asset (a hex in the brand book, a font in the CSS, a quote from the site). State it plainly.
  • inferred, reasoned from evidence but not stated (archetype from positioning, never-list from consistency). Reasonable to ship, worth noting.
  • needs confirmation, your best estimate where the assets were silent or ambiguous (a color sampled from a JPEG with compression, a font you could not identify). Fill it, then flag it.

Step 4. Write the brand-lock

Use templates/brand-lock.md.tpl. Fill every required section, no placeholders left behind. Then append an ## Extraction notes section that lists every inferred and needs confirmation value with its source and your reasoning. This section is the audit trail; it does not break validation (the validator checks the nine required sections are present, extra sections are fine).

Set the footer: Last updated to today, Owner to the user or "extracted", Version: 1.0.

Step 5. Self-check, then hand off

Before you present it, confirm the file would pass validation:

  • All nine required sections present: Identity, Palette, Typography, Mood adjectives, Never list, Aspect ratios, Color grade direction, Motion language, Voice rules.
  • Identity contains all four fields: Brand, One-line description, Archetype, Voice posture.
  • Palette has at least one real #RRGGBB hex (not a placeholder).

Then hand off:

"Here is your brand-lock. I sampled the palette and type from your assets and flagged N values that need your eyes (see Extraction notes). Drop it in brand-packs/, confirm the flagged values, and run python tools/validate_brand_lock.py path/to/file.md to verify. Then: '30-second explainer. Use brand-packs/your-brand.md as the brand lock.'"

Hard rules

Rule 1. Never invent a hex value

Colors are sampled, never guessed. Read them from a brand book, from CSS, or by sampling pixels in a screenshot. If you genuinely cannot determine a color, fill your closest estimate and mark it needs confirmation in Extraction notes. "Navy" is not a palette entry. #0F1F3A is. A wrong hex stated confidently corrupts every downstream prompt.

Rule 2. Never fabricate a typeface

Identify fonts from the brand book, the site's CSS/font files, or clear visual match. If you cannot identify one, say so and flag it, do not name a plausible-sounding font you did not verify.

Rule 3. Source everything

Every extracted value traces to an asset. Every inferred value traces to reasoning. This is the same audit-trail discipline as the brand-lock snapshot, applied at extraction time.

Rule 4. The never-list is the highest-value section

It is also the hardest to extract, because brands document what they do, not what they avoid. Infer it from consistency: if every image avoids stock-photo gloss, that is a never. If copy never uses exclamation points, that is a never. Read references/extraction-rubric.md for the method. Do not ship an empty never-list.

Rule 5. Mood adjectives must be specific

"Professional, modern, clean" describes every brand and constrains nothing. Extract contrast clauses that do work: "operator not creator", "warm not precious", "confident without volume". If the assets only support generic adjectives, that is a needs confirmation flag, not a license to ship filler.

Rule 6. No emojis, no hype

The output is a clinical specification. It models the standards the brand-lock enforces. No emojis anywhere. No marketing adjectives about the brand in your own voice, report what the assets show.

Reference

  • references/extraction-rubric.md, section-by-section extraction method and confidence definitions.

Example

examples/ contains a worked extraction: the source material provided (input-brief.md) and the brand-lock.md produced from it, including the Extraction notes audit trail. Use it to calibrate the level of specificity and the confidence flagging.

Files (shotkit)
  • examples
    • brand-lock.md 3.5 KB
      # Brand Lock: Northwind Coffee Roasters
      
      ## Identity
      
      **Brand:** Northwind Coffee Roasters
      **One-line description:** Small-batch coffee, roasted and shipped the same morning, with full origin transparency, for people who want real coffee and no subscription to babysit.
      **Archetype:** Maker, with a Rebel edge against pretension (frames the category's problem as cheap beans hidden behind burnt roasts and luxury pricing).
      **Voice posture:** Plainspoken and confident. Short declaratives, dry, no decoration.
      
      ## Palette
      
      Every hex value here is allowed. Anything outside this list is not.
      
      | Role | Hex | Use |
      |---|---|---|
      | Background | `#F4EFE6` | Paper cream, primary canvas |
      | Ink | `#2B2018` | Espresso brown, primary text and dark elements |
      | Accent | `#C5562B` | Ember, highlights and CTAs |
      | Muted | `#8A8076` | Stone, secondary text and captions |
      | Rule | `#DCD3C4` | Borders and dividers |
      
      ## Typography
      
      **Display font:** `Tiempos Headline Semibold`, serif
      **Body font:** `Söhne Regular`, sans-serif, Medium for emphasis
      
      ## Mood adjectives
      
      - plainspoken, not precious
      - warm, not cozy-cute
      - honest about origin
      - unhurried
      
      ## Never list
      
      - never use stock smiles or posed lifestyle photography
      - never use latte art as decoration
      - never use the word "artisanal"
      - never use exclamation points
      - never shoot glossy product-on-white; matte and natural-light only
      - never lean on burnt, dark-roast cliche imagery
      
      ## Aspect ratios
      
      Default: 4:5 and 9:16 for social, 16:9 for the web hero.
      
      ## Color grade direction
      
      > Matte, low contrast, natural window light, warm but restrained. Reminiscent of Kinfolk editorial photography. Never glossy commercial product lighting.
      
      ## Motion language
      
      > Minimal and unhurried. Static or slow push only. Cuts land on action, not on a timer. Type sets in place, it does not bounce or wobble. No fast cuts, no whip pans.
      
      ## Voice rules
      
      - no exclamation points, anywhere
      - never the word "artisanal" (or "curated", "elevated")
      - short declarative sentences; cut adjectives before nouns that do not need them
      - prefer specific origin claims (farm, region, roast date) over vague quality words
      - no hype words ("best", "premium", "game-changing")
      
      ## Extraction notes
      
      Audit trail for this extraction. Values not listed here were read directly from an asset (`extracted`): the four palette hex from the site CSS, both font names from the CSS, the never-list lines from the brand sheet, and the aspect ratios from the brand sheet.
      
      **Inferred** (reasoned from evidence, reasonable to ship):
      - Archetype "Maker / Rebel", from "we are roasters, not a lifestyle brand. The coffee does the talking" and the framing of competitors as burnt-cheap or overpriced.
      - Mood adjectives, from the plainspoken homepage copy and the matte, natural-light photography described on the brand sheet.
      - Color grade direction, inferred from the brand sheet's photography notes (matte, low-contrast, window light); no graded footage was provided.
      
      **Needs confirmation** (best estimate, please verify):
      - Rule color `#DCD3C4`, no divider/border color was given; estimated as a darker tint of the paper background. Confirm or replace.
      - Font weights (Tiempos Headline Semibold, Söhne Regular/Medium), fonts are confirmed from CSS, weights are estimated from visual weight. Confirm against the brand book.
      - Motion language, no motion assets were provided; this is a conservative default consistent with the Plainspoken/Confident posture. Confirm against any existing video.
      
      ---
      
      **Last updated:** 2026-06-18
      **Owner:** extracted
      **Version:** 1.0
      
    • input-brief.md 1.4 KB
      # Example input: what the user handed over
      
      This is the raw source material for the worked extraction. The user provided a URL and a one-page brand sheet. The `brand-lock.md` in this folder is what the skill produced from it.
      
      ## Source 1: website (fetched)
      
      **Homepage hero:**
      > Northwind Coffee Roasters
      > Small-batch coffee, roasted the morning it ships.
      > No subscriptions to forget about. No bitter shortcuts. Just coffee that tastes like someone cared.
      
      **About page excerpt:**
      > We started Northwind in a one-car garage in Duluth because the coffee we could buy locally was either burnt to hide cheap beans or priced like a luxury good. We roast in small batches, ship the same day, and tell you exactly where the beans came from and who grew them. We are roasters, not a lifestyle brand. The coffee does the talking.
      
      **CSS (from the page source):**
      ```
      --paper: #F4EFE6;
      --espresso: #2B2018;
      --ember: #C5562B;
      --stone: #8A8076;
      font-family: "Tiempos Headline", Georgia, serif;   /* headings */
      font-family: "Söhne", -apple-system, sans-serif;    /* body */
      ```
      
      ## Source 2: one-page brand sheet (read)
      
      - Logo: wordmark only, espresso brown on paper cream. No icon.
      - Photography: matte, low-contrast, natural window light. Beans, hands, kraft bags. Never glossy product-on-white.
      - "We don't do: stock smiles, latte art as decoration, exclamation points, or the word 'artisanal'."
      - Formats noted: Instagram (4:5 and 9:16), website hero (16:9).
      
  • references
    • extraction-rubric.md 5.7 KB
      # Extraction rubric
      
      How to read each brand-lock section out of real assets. For every section: where the signal lives, how to read it, and how to assign confidence.
      
      ## Confidence levels
      
      Apply one to every value.
      
      - **extracted**, read directly from an asset. A hex in the brand book PDF. A `font-family` in the site CSS. A verbatim quote from the homepage. Ship it plainly.
      - **inferred**, reasoned from evidence, not stated. Archetype from how the brand frames problems. Never-list from what the assets consistently avoid. Ship it, note the reasoning.
      - **needs confirmation**, a best estimate where assets were silent, compressed, or contradictory. A color sampled from a low-quality JPEG. A font you could not positively identify. Fill it so the file is complete, then flag it in Extraction notes.
      
      ## Identity
      
      **Brand:** the name. Extracted from the logo, the title tag, or the description.
      
      **One-line description:** what the brand does and who for. This is the load-bearing sentence; a generator implicitly references it on every prompt. Pull it from the hero headline plus the about page. Prefer concrete over abstract: "Managed bookkeeping for solo law firms" beats "Financial services for professionals." If the site only offers a vague tagline, sharpen it from the services/about copy and flag it `needs confirmation`.
      
      **Archetype:** one word, Operator, Sage, Caregiver, Rebel, Creator, Jester, Ruler, Everyman, etc. Almost always `inferred`. Read it from how the brand frames the customer's problem:
      - frames problems as systems to engineer -> Operator
      - frames problems as questions to investigate -> Sage
      - frames problems as people to support -> Caregiver
      - frames problems as a status quo to break -> Rebel
      
      **Voice posture:** Confident / Warm / Sharp / Quiet / Playful / Authoritative. Read from sentence length, punctuation, and word choice in the body copy. Short declaratives -> Sharp/Confident. Long, soft, second-person -> Warm. Cite a representative sentence.
      
      ## Palette
      
      A table of `#RRGGBB` by role: Background, Ink, Accent, Muted, Rule, plus any brand-specific roles. Up to 8; past that the brand stops being recognizable.
      
      How to get real hex:
      - **Brand book PDF:** read the swatches directly. Highest confidence.
      - **Website:** the CSS holds exact values (`background`, `color`, CSS custom properties like `--accent`). Highest confidence after a brand book.
      - **Screenshots:** sample the dominant background, the text color, and the one or two accent colors. Compression shifts color slightly, so flag screenshot-sampled values `needs confirmation` unless they are clearly flat brand colors.
      
      **Never guess a hex.** If you cannot read or sample one, estimate, label it `needs confirmation`, and tell the user exactly which role to verify. (See SKILL.md Rule 1.)
      
      ## Typography
      
      Display font, body font, optional mono, each with weight (`Inter Black 900`, not `Inter Bold`).
      
      - **Website:** `font-family` declarations and loaded font files (`fonts.googleapis.com`, `@font-face`, `.woff2` names) name the fonts exactly. Weights come from `font-weight`.
      - **Brand book:** named directly.
      - **Screenshots:** identify by eye only if confident; otherwise flag `needs confirmation`. Do not invent a plausible name (Rule 2).
      
      Two fonts max; three only if one is mono for code/data.
      
      ## Mood adjectives
      
      3-5 adjectives, specific, contrast clauses preferred. Read tone from the body copy and the imagery together.
      
      Reject generic fillers ("professional, modern, clean"), they describe everything and constrain nothing. Push to contrast clauses that do work: "operator not creator", "warm not precious", "plainspoken not corporate". If the assets only support generic adjectives, flag `needs confirmation`. Cite the copy or image that supports each adjective.
      
      ## Never list
      
      The hardest and most valuable section. Brands document what they do; you infer what they avoid from consistency across the assets.
      
      Method, look for what is conspicuously absent:
      - Imagery: no stock-photo gloss? no people? no gradients? no clip-art icons? Each absence is a never.
      - Copy: no exclamation points? no hype words ("revolutionary", "game-changing")? no emojis? no questions in headlines? Each pattern is a never.
      - Color/layout: never full-bleed photography? never more than one accent? never centered body text?
      
      Turn each observed constraint into a `never` line. Be specific: "never use stock-photo aesthetic" beats "keep it authentic". Aim for 5+. Never ship an empty list (Rule 4).
      
      ## Aspect ratios
      
      The ratios the brand renders for. Default to `9:16, 16:9, 1:1, 4:5`. If the assets reveal a bias (a vertical-only social brand, a cinematic 21:9 site hero), reflect it and note the evidence.
      
      ## Color grade direction
      
      One sentence on how footage and generated images should be graded, with a reference point where possible (Kodak Portra 400, Apple keynote photography, A24 film grade). Infer from the existing photography's warmth, contrast, and saturation. If there is no photography to read, base it on the palette and flag `needs confirmation`.
      
      ## Motion language
      
      One paragraph: camera moves, cut style, text animation, pacing. Read from any existing video or motion on the site; if there is none, infer a conservative default consistent with the voice posture (a Quiet/Authoritative brand -> minimal, slow, deliberate) and flag `needs confirmation`. Keep it to one coherent motion language, do not blend "minimal and deliberate" with "energetic whip pans".
      
      ## Voice rules
      
      Copy-level constraints for VO and on-screen text. Many overlap the never-list but are phrased as authoring rules: "no em dashes", "sentences under 14 words", "prefer specific numbers over vague claims", "no exclamation points in headlines". Extract from observed copy patterns. These become prompt constraints downstream, so make them enforceable, not aspirational.
      
  • templates
    • brand-lock.md.tpl 1.9 KB · in bundle
  • SKILL.md 7.8 KB
    ---
    name: brand-lock-extractor
    description: Extract a production-ready brand-lock.md from a brand's existing assets. Point it at a website URL, a brand book PDF, screenshots, or a written description and it produces the nine-section brand-lock the rest of shotkit consumes, with a confidence and source noted for every value. Use when the user wants to onboard a brand, says "build a brand lock", "extract my brand", "make a brand pack from my site", or hands over brand assets. The cold-start killer that turns a blank brand-pack template into a filled, validate-ready file. Pairs with storyboard-architect downstream.
    ---
    
    # Brand Lock Extractor
    
    The blank `brand-packs/_template.md` is the single biggest point of friction in shotkit. Nobody wants to hand-author nine sections of brand parameters before they can produce a single storyboard. This skill removes that wall: hand it what you already have, get a filled brand-lock back.
    
    The output is a `brand-lock.md` in the exact format `tools/validate_brand_lock.py` validates and every other skill consumes. Same file the pipeline reads, produced from your assets instead of from scratch.
    
    This skill extracts. It does not invent. Every value is sampled from a real asset or flagged as an estimate the user must confirm. A confident-sounding wrong hex is worse than a flagged guess.
    
    ## When to use
    
    Trigger when the user:
    
    - Wants to onboard a brand into shotkit and has assets (a site, a brand book, screenshots)
    - Says "extract my brand", "build a brand lock", "make a brand pack from my site/PDF"
    - Hands over a URL, a PDF, image files, or a written brand description and asks for a brand-lock
    - Has a brand-lock that is half-filled and wants the gaps extracted from assets
    
    If the user has nothing but a vague idea (no assets, no description), they are not extracting, they are authoring. Point them at `brand-packs/_template.md` and help them fill it directly.
    
    ## Inputs
    
    You can work from any one of these. More sources is a better extraction.
    
    | Source | How you read it | Best for |
    |---|---|---|
    | Website URL | `WebFetch` homepage + about + one more page | Voice, positioning, palette, type |
    | Brand book PDF | `Read` the PDF | Palette (exact hex), type, motion rules |
    | Screenshots / image files | `Read` the images | Palette (sample pixels), mood, layout |
    | Written description | Use directly | Identity, archetype, voice posture |
    
    At minimum you need one source. If the user offers none, ask for the one they have: **"What can I work from, a website URL, a brand book PDF, screenshots, or a short description?"** One question.
    
    ## Workflow
    
    ### Step 1. Gather the source material
    
    - **URL:** `WebFetch` the homepage, then try the about page (`/about`, `/about-us`, `/our-story`) and one more (`/services`, `/work`, recent blog). Skip pages that 404. The homepage is the floor.
    - **PDF / images:** `Read` each file. Brand books carry exact hex and type; screenshots are for sampling color and reading mood.
    - **Description:** take it as written.
    
    Tell the user what you are pulling. Do not ask follow-ups yet, extract first, confirm gaps at the end.
    
    ### Step 2. Extract each section
    
    Read `references/extraction-rubric.md`. It maps every brand-lock section to where the signal lives and how to read it. Work the nine sections in order:
    
    1. **Identity** (brand, one-line description, archetype, voice posture)
    2. **Palette** (sampled hex, by role)
    3. **Typography** (display, body, optional mono, with weights)
    4. **Mood adjectives** (3-5, specific, contrast clauses preferred)
    5. **Never list** (what the brand avoids, inferred from consistency)
    6. **Aspect ratios**
    7. **Color grade direction** (one sentence)
    8. **Motion language** (one paragraph)
    9. **Voice rules** (copy-level constraints)
    
    For every value, hold two things: the value, and where it came from (which asset, which quote, which sampled swatch). You will need the source for the confidence pass.
    
    ### Step 3. Assign confidence and flag estimates
    
    Each value is one of:
    
    - **extracted**, read directly from an asset (a hex in the brand book, a font in the CSS, a quote from the site). State it plainly.
    - **inferred**, reasoned from evidence but not stated (archetype from positioning, never-list from consistency). Reasonable to ship, worth noting.
    - **needs confirmation**, your best estimate where the assets were silent or ambiguous (a color sampled from a JPEG with compression, a font you could not identify). Fill it, then flag it.
    
    ### Step 4. Write the brand-lock
    
    Use `templates/brand-lock.md.tpl`. Fill **every** required section, no placeholders left behind. Then append an `## Extraction notes` section that lists every `inferred` and `needs confirmation` value with its source and your reasoning. This section is the audit trail; it does not break validation (the validator checks the nine required sections are present, extra sections are fine).
    
    Set the footer: `Last updated` to today, `Owner` to the user or "extracted", `Version: 1.0`.
    
    ### Step 5. Self-check, then hand off
    
    Before you present it, confirm the file would pass validation:
    
    - All nine required sections present: Identity, Palette, Typography, Mood adjectives, Never list, Aspect ratios, Color grade direction, Motion language, Voice rules.
    - Identity contains all four fields: Brand, One-line description, Archetype, Voice posture.
    - Palette has at least one real `#RRGGBB` hex (not a placeholder).
    
    Then hand off:
    
    > "Here is your brand-lock. I sampled the palette and type from your assets and flagged N values that need your eyes (see Extraction notes). Drop it in `brand-packs/`, confirm the flagged values, and run `python tools/validate_brand_lock.py path/to/file.md` to verify. Then: `'30-second explainer. Use brand-packs/your-brand.md as the brand lock.'`"
    
    ## Hard rules
    
    ### Rule 1. Never invent a hex value
    
    Colors are sampled, never guessed. Read them from a brand book, from CSS, or by sampling pixels in a screenshot. If you genuinely cannot determine a color, fill your closest estimate and mark it `needs confirmation` in Extraction notes. "Navy" is not a palette entry. `#0F1F3A` is. A wrong hex stated confidently corrupts every downstream prompt.
    
    ### Rule 2. Never fabricate a typeface
    
    Identify fonts from the brand book, the site's CSS/font files, or clear visual match. If you cannot identify one, say so and flag it, do not name a plausible-sounding font you did not verify.
    
    ### Rule 3. Source everything
    
    Every extracted value traces to an asset. Every inferred value traces to reasoning. This is the same audit-trail discipline as the brand-lock snapshot, applied at extraction time.
    
    ### Rule 4. The never-list is the highest-value section
    
    It is also the hardest to extract, because brands document what they do, not what they avoid. Infer it from consistency: if every image avoids stock-photo gloss, that is a never. If copy never uses exclamation points, that is a never. Read `references/extraction-rubric.md` for the method. Do not ship an empty never-list.
    
    ### Rule 5. Mood adjectives must be specific
    
    "Professional, modern, clean" describes every brand and constrains nothing. Extract contrast clauses that do work: "operator not creator", "warm not precious", "confident without volume". If the assets only support generic adjectives, that is a `needs confirmation` flag, not a license to ship filler.
    
    ### Rule 6. No emojis, no hype
    
    The output is a clinical specification. It models the standards the brand-lock enforces. No emojis anywhere. No marketing adjectives about the brand in your own voice, report what the assets show.
    
    ## Reference
    
    - `references/extraction-rubric.md`, section-by-section extraction method and confidence definitions.
    
    ## Example
    
    `examples/` contains a worked extraction: the source material provided (`input-brief.md`) and the `brand-lock.md` produced from it, including the Extraction notes audit trail. Use it to calibrate the level of specificity and the confidence flagging.
    

Comments (0)

Sign in to join the conversation.

No comments yet.

Reviews (0)

No reviews yet.

Related