Initial commit
This commit is contained in:
146
commands/content-extract-stories.md
Normal file
146
commands/content-extract-stories.md
Normal file
@@ -0,0 +1,146 @@
|
||||
---
|
||||
description: "Extract stories from Linear tasks and identify themes for content generation"
|
||||
---
|
||||
|
||||
# Extract Stories from Linear
|
||||
|
||||
## Mission
|
||||
|
||||
Connect to Linear, extract stories from as specified by user, identify recurring themes, and output structured theme data to `themes-memory.md`.
|
||||
|
||||
## Process
|
||||
|
||||
Follow the Story Extractor agent instructions (`agents/story-extractor.md`) to systematically:
|
||||
|
||||
1. **Connect to Linear MCP** and fetch task details
|
||||
2. **Analyze story content** for problems, insights, and emotional hooks
|
||||
3. **Identify recurring themes** (minimum 5)
|
||||
4. **Structure theme extraction** with all required sections
|
||||
5. **Write to themes-memory.md** in poasting repository
|
||||
6. **Update Linear tasks** with extraction confirmation
|
||||
|
||||
## Execution Steps
|
||||
|
||||
### Step 1: Verify Prerequisites
|
||||
|
||||
Check that required tools are available:
|
||||
|
||||
- [ ] Linear MCP installed and configured
|
||||
- [ ] LINEAR_API_KEY set in .env file
|
||||
- [ ] themes-memory.md path accessible: `./poasting/themes-memory.md`
|
||||
|
||||
### Step 2: Fetch Stories from Linear
|
||||
|
||||
Use Linear MCP commands to retrieve tasks POA-5 through POA-14:
|
||||
|
||||
```javascript
|
||||
// List all target issues
|
||||
mcp__linear__list_issues({
|
||||
"team": "YOUR_TEAM_ID",
|
||||
"filter": {
|
||||
"id": {
|
||||
"in": ["POA-{X}", "POA-{Y}"]
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
// For each task, get full details including comments
|
||||
mcp__linear__get_issue({
|
||||
"id": "POA-X",
|
||||
"include_comments": true
|
||||
})
|
||||
```
|
||||
|
||||
**Rate Limit**: 100 requests/minute. Batch requests when possible.
|
||||
|
||||
### Step 3: Extract and Structure Themes
|
||||
|
||||
For each identified theme, create structured output with:
|
||||
|
||||
- Theme name
|
||||
- Source task IDs
|
||||
- Problem statement
|
||||
- Emotional hook
|
||||
- Key insight
|
||||
- 5 content angles (Bold, Story, Problem-Solution, Data, Emotional)
|
||||
- Source story excerpt
|
||||
|
||||
**Minimum Output**: 5 distinct themes
|
||||
|
||||
### Step 4: Write to themes-memory.md
|
||||
|
||||
**Location**: `./poasting/themes-memory.md`
|
||||
|
||||
**Action**:
|
||||
- If file doesn't exist, create with header
|
||||
- If file exists, APPEND new themes (preserve existing)
|
||||
- Add extraction metadata timestamp
|
||||
|
||||
### Step 5: Update Linear Tasks
|
||||
|
||||
Add confirmation comment to each processed task:
|
||||
|
||||
```
|
||||
✅ Theme extracted: {Theme Name}
|
||||
Extracted to themes-memory.md on {YYYY-MM-DD}
|
||||
```
|
||||
|
||||
## Validation Checklist
|
||||
|
||||
Before marking extraction complete:
|
||||
|
||||
- [ ] Minimum 5 themes extracted
|
||||
- [ ] Each theme has all required sections
|
||||
- [ ] Themes are distinct (>70% different)
|
||||
- [ ] Source stories quoted accurately
|
||||
- [ ] themes-memory.md written successfully
|
||||
- [ ] Linear tasks updated with confirmations
|
||||
- [ ] No hallucinated information
|
||||
- [ ] Emotional authenticity preserved
|
||||
|
||||
## Example Output
|
||||
|
||||
```
|
||||
✅ Story Extraction Complete
|
||||
|
||||
Themes Extracted: n
|
||||
Source Tasks: POA-X to POA-Y
|
||||
Output File: themes-memory.md
|
||||
|
||||
Themes Identified:
|
||||
1. First Money From Code (POA-5, POA-8)
|
||||
2. Personal Pain → Product (POA-6, POA-9, POA-12)
|
||||
3. Learning Intensity vs Environment (POA-7, POA-10)
|
||||
4. Affordable Loss Decision Making (POA-5, POA-11)
|
||||
5. The Quit Day (POA-5, POA-13)
|
||||
6. Family-Influenced Products (POA-6, POA-14)
|
||||
7. Creative Reactivation After Engineering (POA-8, POA-10)
|
||||
|
||||
Linear tasks updated with extraction confirmations.
|
||||
Ready for content generation: /content-generate-drafts {theme}
|
||||
```
|
||||
|
||||
## Error Handling
|
||||
|
||||
**If Linear MCP fails**:
|
||||
- Check .env for LINEAR_API_KEY
|
||||
- Verify Linear MCP installation
|
||||
- Confirm team ID is correct
|
||||
|
||||
**If rate limit hit**:
|
||||
- Batch remaining requests
|
||||
- Wait 60 seconds before retry
|
||||
|
||||
**If stories are sparse**:
|
||||
- Extract what's available
|
||||
- Flag for user follow-up in Linear comment
|
||||
|
||||
## Next Steps
|
||||
|
||||
After successful extraction:
|
||||
|
||||
1. Review themes in themes-memory.md
|
||||
2. Select theme for content generation
|
||||
3. Run `/content-generate-drafts {theme-name}` to create variations
|
||||
|
||||
**Or run full pipeline**: `/content-full-pipeline` to execute all stages end-to-end
|
||||
Reference in New Issue
Block a user