| name | gi-brief-extractor |
| description | Extract structured briefs from GreatInvert source material (Playbook chapters, blog drafts, transcripts, notes). Use when Tim says "brief this," "extract a brief," "structure this source," or drops source content and wants it turned into a reusable messaging brief for the asset pipeline. Produces a completed Structured Brief with audience, problem, promise, takeaways, objections, CTAs, and visual metaphors, then writes it to the tracker spreadsheet and saves a Markdown document. |
| metadata | {"author":"tim-dickey","version":"1.0","project":"greatinvert"} |
GreatInvert Structured Brief Extractor
When to Use This Skill
Use when the user:
- Says "brief this," "extract a brief," or "structure this"
- Drops source material (Playbook chapter, blog draft, transcript, notes) and wants it processed through the asset pipeline
- Asks to populate the Structured Briefs tab of the tracker
- Wants to turn raw content into reusable messaging blocks
Prerequisites
- The GreatInvert asset pipeline tracker spreadsheet (
.xlsx with a "Structured Briefs" tab)
- Source material to extract from (text, document, or file content)
Instructions
Step 1: Locate the tracker
Find the tracker spreadsheet. Check these locations in order:
- User's workspace: look for
*pipeline*tracker*.xlsx or *greatinvert*tracker*.xlsx
- Google Drive: search for "greatinvert-asset-pipeline-tracker" using the files connector
- Ask the user where their tracker is
Store the local path for use in Step 5.
Step 2: Read the source material
Read the full source content. This may be:
- A file the user attached or pointed to
- Content from a Google Drive document
- Text pasted directly in the conversation
- A URL to fetch
Get the complete text — do not truncate. If the source is long (e.g., a full Playbook chapter), read it all. The quality of the brief depends on having the full context.
Step 3: Extract the structured brief
Read the schema reference at references/brief-schema.md for field-level guidance.
Analyze the source material and extract every field. Apply these rules:
Audience: Be specific about the professional role and context. "Product managers navigating AI adoption in enterprise teams" not "product people."
Funnel stage: Match to where this content sits in the buyer journey. Playbook chapters are typically Consideration. Launch announcements are Conversion. Thought leadership is Awareness.
Core Problem / Promise / Key Insight: These three form the editorial backbone. The problem should sting. The promise should feel attainable. The insight should be surprising or counterintuitive.
Takeaways (3): These become social posts, quote cards, and section headers. Each must stand alone. Keep under 12 words.
Objections (2): Write in the skeptic's voice. These drive FAQ content and objection-handling copy.
CTAs: Primary matches funnel stage. Secondary is a lower-commitment step.
Visual Metaphors (2): Conceptual, not literal. Must align with Great Inversion brand — editorial, strategic, grounded. Never suggest robots, circuit boards, glowing orbs, or generic AI imagery.
Tone Notes: Reference the brand voice — editorial, grounded, practical, strategic — and note any specific tonal nuances from this particular source.
Priority: High if it directly supports the Playbook or an active campaign. Medium for upcoming releases. Low for future/archival.
Approved: Always "No" — the human approves after review.
Output the brief as a JSON object with all 19 fields.
Step 4: Present the brief for review
Display the extracted brief to the user in a clean readable format before writing anything. Let them see all fields and confirm or request changes. Show it as a table or structured list, not raw JSON.
Step 5: Write to the tracker spreadsheet
After the user confirms (or immediately if they've indicated they don't need to review):
- Save the brief JSON to a temp file
- Run the tracker update script:
python skills/gi-brief-extractor/scripts/update_tracker.py \
<tracker_path> \
/tmp/brief_data.json \
--source-json /tmp/source_data.json
- The script auto-generates the Brief_ID and appends the row.
Step 6: Save the brief document
Save a readable Markdown version of the brief:
python skills/gi-brief-extractor/scripts/save_brief_doc.py \
/tmp/brief_data.json \
/home/user/workspace/pipeline-docs/02-Structured-Briefs/<brief-type>/BRF-XXX_<slug>.md
Choose the subfolder based on content:
Product-Briefs/ — briefs about the Playbook or other products
Chapter-Briefs/ — briefs from individual Playbook chapters
Campaign-Briefs/ — briefs for specific campaigns or launches
Visual-Direction/ — briefs focused on visual identity
Step 7: Upload to Google Drive
If the Google Drive connector is available:
- Export the updated tracker spreadsheet back to Drive (replacing the existing file)
- Export the brief Markdown to the matching
02-Structured-Briefs/ subfolder in Drive
Step 8: Confirm completion
Tell the user:
- The Brief_ID assigned
- Where the brief document was saved
- That the tracker was updated
- That the brief is marked "Approved: No" and needs their review to flip to Yes
- Suggest next steps: "You can now use this brief to generate assets in Step 3 of the pipeline"
Multiple Briefs from One Source
A single source document (especially a Playbook chapter) can yield multiple briefs — one per audience segment, funnel stage, or channel angle. When the source is rich enough:
- Ask the user if they want a single brief or multiple angles
- If multiple, extract each as a separate brief with its own Brief_ID
- Each brief should have a distinct Audience, Funnel_Stage, and editorial angle
- Run the tracker script once per brief
Quality Checklist
Before presenting the brief, verify: