Feature: Per-dossier content type configuration file
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:
- Look for
/dossiers/[name]/config.yaml - If exists: use specified content types
- 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
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗