Skip to main content

Content Creator

Content Creator helps people produce consistent, reviewable content without giving an AI control of their identity, opinions, or publication decisions.

Each author works in a small, independent repository containing their voices, agents, learning, drafts, and approved content. This Core repository supplies the reusable workflow, validation, and safety boundaries.

Read Why not just use a chat app? for the design rationale.

Content Creator Core is distributed through PyPI as content-creator. Author workspaces pin an exact package version so installation and upgrades remain reproducible.

The quickest way to start

Give this request to Codex, Claude Code, or another coding assistant with terminal and filesystem access:

Use Content Creator Core to create a thin content workspace for me. Do not clone or copy Core. Follow its workspace-creation guide, ask me for the author and content choices you need, install the workspace, and validate it.

The assistant will ask about the author, intended content, writing evidence, and model provider. It will then create a separate workspace pinned to an immutable Core release.

Prefer doing it yourself? Follow Create a thin content workspace for the complete terminal instructions and configuration options.

How it works

The author moves from a versioned workspace to a reviewed draft through one guided flow. Core's rules remain authoritative underneath every agent:

flowchart LR
    A["Create or open<br/>an author workspace"] --> B["Start / Overview<br/>inspect persisted state"]
    B --> C{"Choose a voice route"}

    C -->|"Authorised writing"| V["Voice agents<br/>Voice Analyst → Profile Critic<br/>Voice Evaluator"]
    C -->|"No writing yet"| S["Clear Professional Starter<br/>neutral writing policy"]
    V --> VA["Human review<br/>activate immutable voice version"]
    S --> VA

    VA --> D["Describe the content<br/>in ordinary language"]
    D --> O["Core Coordinator<br/>resolve voice, pack, provider,<br/>perspective and research route"]
    O --> P["Content agents<br/>Briefing Agent → Researcher (optional)<br/>Writer → Critic → Attribution Reviewer<br/>plus deterministic validators"]
    P --> H{"Human checkpoints<br/>research approval when required<br/>and final editorial review"}
    H -->|"Explicit approval"| F["Save approved content<br/>inside the author repository"]
    F --> L["Learning Extractor<br/>update only the active voice's learning"]
    L -. "future runs" .-> O

    R["Core rules<br/>Persisted state, never chat history<br/>No silent voice or perspective changes<br/>No invented identity, experience or evidence<br/>Voice and learning isolation<br/>No-research routes stay no-research<br/>No external publication"] -. "govern" .-> O
    R -. "constrain" .-> P
    R -. "require approval" .-> H

1. Create an author workspace

The generated repository belongs to the author. It keeps their editorial material separate from the reusable engine and can have its own writer, researcher, critic, policies, and learning.

Core is installed as a versioned dependency; its source code is not copied into each content repository.

2. Choose a voice route

The author chooses one of two starting points:

  • Use previous writing to build a reviewable voice candidate from authorised documents or URLs.
  • Start without previous writing using the neutral Clear Professional Starter, which does not claim to imitate the author.

No candidate becomes active without human approval. A new subject also does not automatically require a new voice; it may be better represented as a separately governed perspective.

See Voice onboarding for the commands and lifecycle, or How voice is derived for the underlying analysis and safeguards.

3. Ask for content naturally

Open the author workspace in a supported coding assistant and describe what you need:

Write a short LinkedIn post explaining why calculus matters to sixth-form students. No external research is required.

The Content Creator Coordinator reads the workspace state, proposes the appropriate voice and format, follows the required research and review checkpoints, and preserves the run artifacts.

Automation and agent hosts can attach an --idempotency-key to a run. An equivalent retry returns the existing run_id and state instead of executing the content route twice; conflicting reuse fails safely. Intentional revisions use a new key plus --parent-run.

The result always comes back for human review. “Publish” means saving an approved copy inside the author repository; Core does not post to external platforms.

Recovered Core diagnostics remain out of the editorial conversation until the author approves the piece. At that publication boundary, Core presents one sanitised, consolidated support candidate and keeps external issue submission under explicit human control. Fatal Core diagnostics are surfaced immediately.

See Content Creator Coordinator for conversational and direct terminal use.

What the author controls

The author workspace owns:

  • voice evidence, candidates, approvals, and immutable versions;
  • perspectives and their provenance;
  • repository-specific agents and editorial policies;
  • repository-wide and voice-scoped learning;
  • research, drafts, critiques, and run history; and
  • approved content.

Core owns the reusable orchestration, schemas, provider adapters, validation, checkpoints, safety rules, prompt composition, and workspace generator.

Important boundaries

  • The author remains the final editorial authority.
  • Core does not invent personal experience, beliefs, facts, or voice evidence.
  • Voices and learning are isolated from one another.
  • No-research requests remain no-research.
  • Voice activation and repository publication require explicit approval.
  • External publication is not supported.

Guides

Use the task-oriented documentation index to create a workspace, manage a voice, create content, maintain a downstream repository, or develop Core. Detailed terminal procedures remain in the focused guides.

Work on Content Creator Core

Clone this repository only when you want to inspect or change the reusable engine. The Core development guide covers installation, architecture, testing, and releases.

External code contributions are not currently accepted. Bug reports and feature requests are welcome through GitHub Issues; read Contributing first.

Licence

Content Creator is free and open-source software licensed under the GNU Affero General Public License, version 3 or later (AGPL-3.0-or-later). Commercial use is permitted subject to the licence terms. See Licensing for a plain-language overview.

Copyright © 2026 Bharath Vadhoola

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

content_creator-0.9.0.tar.gz (166.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

content_creator-0.9.0-py3-none-any.whl (160.8 kB view details)

Uploaded Python 3

File details

Details for the file content_creator-0.9.0.tar.gz.

File metadata

  • Download URL: content_creator-0.9.0.tar.gz
  • Upload date:
  • Size: 166.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for content_creator-0.9.0.tar.gz
Algorithm Hash digest
SHA256 6136040b828a1c23f27f9822e3f5383c347b47c3e302f3623ff8e7fa4c0efb3c
MD5 5b85baff38c9cc66f62b367db3c9f7f3
BLAKE2b-256 12c7cfff6e50f962cb14492f6d5042f5b9d37e40ce2878615a56e6f99b4e3a18

See more details on using hashes here.

Provenance

The following attestation bundles were made for content_creator-0.9.0.tar.gz:

Publisher: release.yml on vadhoob90/Content_Creator_Core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file content_creator-0.9.0-py3-none-any.whl.

File metadata

  • Download URL: content_creator-0.9.0-py3-none-any.whl
  • Upload date:
  • Size: 160.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for content_creator-0.9.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5eef3484ce6ccddf3b958f63045faf28cc51782bad16fcaa1ce69096fe37089f
MD5 67912e07b9bab1807267bfbceabc9d10
BLAKE2b-256 cafd698670231856f6008f45ccd145bd80a30e08c7f97dfbadf308d7533a11d1

See more details on using hashes here.

Provenance

The following attestation bundles were made for content_creator-0.9.0-py3-none-any.whl:

Publisher: release.yml on vadhoob90/Content_Creator_Core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

1.21.0

2 files

1.20.0

2 files

1.19.0

2 files

1.18.0

2 files

1.17.0

2 files

1.16.0

2 files

1.15.1

2 files

1.15.0

2 files

1.14.0

2 files

1.13.0

2 files

1.12.0

2 files

1.11.0

2 files

1.10.1

2 files

1.10.0

2 files

1.9.0

2 files

1.8.0

2 files

1.7.0

2 files

1.6.0

2 files

1.5.0

2 files

1.4.1

2 files

1.4.0

2 files

1.3.0

2 files

1.2.0

2 files

1.1.0

2 files

1.0.0

2 files

0.16.0

2 files

0.15.0

2 files

0.14.0

2 files

0.13.0

2 files

0.12.1

2 files

0.12.0

2 files

0.11.0

2 files

0.10.0

2 files

This release

0.9.0 This release

2 files

0.8.0

2 files

0.7.0

2 files

0.6.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page