Skip to main content
🤖AI-generated documentation curatedAI Generated
This page was drafted by an AI assistant and may contain inaccuracies. This content has been reviewed by a human curator.
About content generation types
🤖
AI GeneratedPage drafted entirely by AI from codebase or prompt instructions.
(e.g., docs generated from codebase analysis)
← this page
✋→🤖
AI TransformattedHuman provided raw material; AI restructured it into a different format.
(e.g., livestream → blog post, meeting notes → docs)
Human GeneratedPage written entirely by a human author.
(e.g., hand-written tutorial)
More info about content generation types ↗

AI Generated Banner

The AiGeneratedBanner component provides transparent content provenance for documentation pages. It tells readers how a page was created — whether by AI, by a human, or some combination — and gives them a path to report issues.

Why use it

FreeMoCap projects use AI assistants to help draft documentation. Being transparent about this builds trust with readers and makes it easy for them to flag inaccuracies. Every .mdx page in a skellydocs site should include the banner.

Basic usage

Add the banner at the top of any .mdx file, after the frontmatter and imports:

---
title: My Page
---

import { AiGeneratedBanner } from '@freemocap/skellydocs';

<AiGeneratedBanner />

# My Page

By default, the banner is collapsed and shows "AI-generated documentation" with an "AI GENERATED" badge. Clicking expands it to reveal a disclaimer, metadata, and an overview of all generation types.

Generation types

The generationType prop controls the banner's text and badge. There are three levels, representing a spectrum from fully-AI to fully-human:

"ai-generated" (default)

The page was drafted entirely by AI from codebase or prompt instructions (e.g., docs generated from codebase analysis).

🤖AI-generated documentation curatedAI Generated
This page was drafted by an AI assistant and may contain inaccuracies.
About content generation types
🤖
AI GeneratedPage drafted entirely by AI from codebase or prompt instructions.
(e.g., docs generated from codebase analysis)
← this page
✋→🤖
AI TransformattedHuman provided raw material; AI restructured it into a different format.
(e.g., livestream → blog post, meeting notes → docs)
Human GeneratedPage written entirely by a human author.
(e.g., hand-written tutorial)
More info about content generation types ↗
<AiGeneratedBanner />

"ai-transformatted"

Human provided raw material; AI restructured it into a different format (e.g., livestream → blog post, meeting notes → docs).

✋→🤖AI-transformatted documentation curatedAI Transformatted
This page was generated by AI from human-provided source material. It may contain inaccuracies.
About content generation types
🤖
AI GeneratedPage drafted entirely by AI from codebase or prompt instructions.
(e.g., docs generated from codebase analysis)
✋→🤖
AI TransformattedHuman provided raw material; AI restructured it into a different format.
(e.g., livestream → blog post, meeting notes → docs)
← this page
Human GeneratedPage written entirely by a human author.
(e.g., hand-written tutorial)
More info about content generation types ↗
<AiGeneratedBanner generationType="ai-transformatted" />

"human-generated"

The page was written entirely by a human author (e.g., hand-written tutorial).

Human-generated documentation curatedHuman Generated
This page was written by a human contributor.
About content generation types
🤖
AI GeneratedPage drafted entirely by AI from codebase or prompt instructions.
(e.g., docs generated from codebase analysis)
✋→🤖
AI TransformattedHuman provided raw material; AI restructured it into a different format.
(e.g., livestream → blog post, meeting notes → docs)
Human GeneratedPage written entirely by a human author.
(e.g., hand-written tutorial)
← this page
More info about content generation types ↗
<AiGeneratedBanner generationType="human-generated" />

Human curated

The humanCurated prop adds a green "✓ curated" badge to indicate a human has reviewed the content. It can be combined with any generation type:

🤖AI-generated documentation curatedAI Generated
This page was drafted by an AI assistant and may contain inaccuracies. This content has been reviewed by a human curator.
Curator notes: Verified all code examples compile and run correctly.
About content generation types
🤖
AI GeneratedPage drafted entirely by AI from codebase or prompt instructions.
(e.g., docs generated from codebase analysis)
← this page
✋→🤖
AI TransformattedHuman provided raw material; AI restructured it into a different format.
(e.g., livestream → blog post, meeting notes → docs)
Human GeneratedPage written entirely by a human author.
(e.g., hand-written tutorial)
More info about content generation types ↗
<AiGeneratedBanner humanCurated humanNotes="Verified all code examples compile and run correctly." />
✋→🤖AI-transformatted documentation curatedAI Transformatted
This page was generated by AI from human-provided source material. It may contain inaccuracies. This content has been reviewed by a human curator.
Curator notes: Edited for clarity and trimmed tangential sections from the original livestream.
About content generation types
🤖
AI GeneratedPage drafted entirely by AI from codebase or prompt instructions.
(e.g., docs generated from codebase analysis)
✋→🤖
AI TransformattedHuman provided raw material; AI restructured it into a different format.
(e.g., livestream → blog post, meeting notes → docs)
← this page
Human GeneratedPage written entirely by a human author.
(e.g., hand-written tutorial)
More info about content generation types ↗
<AiGeneratedBanner
generationType="ai-transformatted"
humanCurated
humanNotes="Edited for clarity and trimmed tangential sections from the original livestream."
/>

Metadata props

You can add generation metadata that appears when the banner is expanded:

<AiGeneratedBanner
generationType="ai-generated"
humanCurated
generatedAt="2026-03-15"
model="Claude Opus 4"
humanNotes="Reviewed for accuracy against the v2.0 API. Examples tested manually."
/>
🤖AI-generated documentation curatedAI Generated
This page was drafted by an AI assistant and may contain inaccuracies. This content has been reviewed by a human curator.
Generated: 2026-03-15Model: Claude Opus 4
Curator notes: Reviewed for accuracy against the v2.0 API. Examples tested manually.
About content generation types
🤖
AI GeneratedPage drafted entirely by AI from codebase or prompt instructions.
(e.g., docs generated from codebase analysis)
← this page
✋→🤖
AI TransformattedHuman provided raw material; AI restructured it into a different format.
(e.g., livestream → blog post, meeting notes → docs)
Human GeneratedPage written entirely by a human author.
(e.g., hand-written tutorial)
More info about content generation types ↗

Available props

PropTypeDefaultDescription
generationType"ai-generated" | "ai-transformatted" | "human-generated""ai-generated"Controls the summary text, icon, and badge
humanCuratedbooleanfalseAdds a green "✓ curated" badge indicating human review
generatedAtstringDate the content was generated (shown in expanded view)
modelstringAI model used (shown in expanded view)
humanNotesstringCurator notes displayed in an accented blockquote
moreInfoUrlstring"https://docs.freemocap.org/skellydocs/docs/ai-generated-banner"Link shown in expanded view pointing to documentation about generation types. Set to "" to hide.
  1. When AI drafts a page, use the default <AiGeneratedBanner />
  2. After a human reviews and edits, add humanCurated: <AiGeneratedBanner humanCurated />
  3. Optionally add generatedAt, model, and humanNotes for full traceability

This creates a clear audit trail of how each page in your documentation was produced.