Feature: Per-dossier content type configuration file

Resolved 💬 3 comments Opened Oct 14, 2025 by hjbarraza Closed Jan 11, 2026

Problem Statement

Currently, the content creation system (instant-create, ghostwrite) generates content for all platforms by default. However, not all dossiers need all content types.

Example:

  • paco-cabrera needs: newsletter, linkedin
  • paco-cabrera does NOT need: articles, tweets, tweet-threads

This leads to:

  • Wasted generation time creating unused content
  • Cluttered payload folders with irrelevant formats
  • Unnecessary QA validation overhead
  • Confusion about which content to actually publish

Proposed Solution

Add a dossier-level configuration file that specifies which content types are needed.

Configuration File Location

/dossiers/[name]/config.yaml

Configuration Structure

dossier: paco-cabrera
enabled_content_types:
  - newsletter
  - linkedin

disabled_content_types:
  - article
  - tweet
  - tweet-thread
  - atomic-essay
  - subatomic-essay

# Optional: Platform-specific settings
linkedin:
  default_count: 10
  
newsletter:
  default_count: 1

Alternative: Simple List Format

dossier: paco-cabrera
content_types:
  - newsletter
  - linkedin

Implementation Requirements

1. Configuration File Reading

Commands should check for config file:

  1. Look for /dossiers/[name]/config.yaml
  2. If exists: use specified content types
  3. If not exists: use all content types (backward compatible)

2. Command Behavior Changes

instant-create with --atomize:

Current behavior:

instant-create paco-cabrera "topic" --atomize
# Generates: article, newsletter, linkedin (10), tweet-thread (10), tweet (10)
# Total: 32 pieces

With config.yaml specifying only newsletter + linkedin:

instant-create paco-cabrera "topic" --atomize
# Generates: newsletter (1), linkedin (10)
# Total: 11 pieces
# Skips: article, tweet-thread, tweet

Single platform commands:

instant-create paco-cabrera tweet "topic"
# If tweets disabled in config: ERROR with helpful message
# "❌ Content type 'tweet' is disabled for dossier 'paco-cabrera'"
# "Enabled types: newsletter, linkedin"

3. Error Messages

When attempting to generate disabled content type:

❌ Error: Content type 'article' is not enabled for dossier 'paco-cabrera'

Enabled content types for this dossier:
- newsletter
- linkedin

To enable articles, add to /dossiers/paco-cabrera/config.yaml

4. Validation

When config.yaml exists:

  • Validate content_types are recognized values
  • Warn about typos or invalid types
  • Provide helpful suggestions

Benefits

Faster generation: Only create needed content (11 pieces vs 32)
Cleaner payloads: No unused content cluttering folders
Better UX: Clear indication of what content is relevant per dossier
Cost savings: Less API usage for unneeded content
QA efficiency: Only validate content that will be published

Example Use Cases

Use Case 1: Newsletter-Only Dossier

dossier: email-newsletter-client
content_types:
  - newsletter

Use Case 2: Social-Only Dossier

dossier: twitter-influencer
content_types:
  - tweet
  - tweet-thread

Use Case 3: Full Content Dossier

dossier: thought-leader
content_types:
  - article
  - newsletter
  - linkedin
  - tweet
  - tweet-thread

Use Case 4: Paco Cabrera (Current Example)

dossier: paco-cabrera
content_types:
  - newsletter
  - linkedin

# Optional settings
linkedin:
  default_count: 10  # Keep default batch size

Backward Compatibility

If no config.yaml exists:

  • System behaves exactly as before
  • All content types available
  • No breaking changes

Migration path:

  • Gradually add config.yaml to dossiers as needed
  • No immediate action required

Implementation Checklist

  • [ ] Define config.yaml schema
  • [ ] Add config reading logic to instant-create command
  • [ ] Add config reading logic to ghostwrite command
  • [ ] Update instant-content agent to respect config
  • [ ] Add validation for config.yaml format
  • [ ] Add helpful error messages for disabled types
  • [ ] Update documentation with config.yaml examples
  • [ ] Add --ignore-config flag for override if needed
  • [ ] Test backward compatibility (no config file)
  • [ ] Create config.yaml templates in base dossier

Priority

Medium-High - This improves efficiency significantly for dossiers with focused content strategies.

Related

  • Relates to instant-create optimization
  • Relates to payload folder structure
  • Relates to QA validation scope

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗