<!--
OKF bundle (Open Knowledge Format v2.0.0) — exported from AskMojo.
Scope: public. Concepts: 8.
This file concatenates several concepts (markdown + YAML frontmatter).
Each concept is delimited by a `<!-- FILE: <path> -->` marker.
Import it as-is into Claude / Gemini / any agent: paste this file
as base knowledge. Links between concepts are bundle-relative (/labs/x.md).
-->


<!-- FILE: index.md -->

---
okf_version: 2.0.0
title: OKF bundle — scope public
source: askmojo
scope: public
concept_counts:
  lab: 1
  magik: 5
  creator: 1
  output: 1
---

# OKF bundle (scope `public`)

Open Knowledge Format v2.0.0 bundle — markdown + YAML frontmatter. The AskMojo database stays the source of truth; this bundle is an exported view filtered by scope.

## Concepts

- **lab** : 1

- **magik** : 5

- **creator** : 1

- **output** : 1

## Indexes

- [creators](/creators/index.md)

- [labs](/labs/index.md)

- [outputs](/outputs/index.md)


<!-- FILE: creators/index.md -->

---
title: Creators
description: Creators index
count: 1
---

# Creators

- [Maya Brooks](/creators/maya-brooks.md) (`public`)


<!-- FILE: creators/maya-brooks.md -->

---
type: creator
title: Maya Brooks
description: I'm a freelance creative running a one-woman studio, and I used to let my best projects sit unseen on a hard drive. Now my labs turn every shoot, every event, every finished project into content that finds clients. The admin handles itself too.
resource: /creators/maya-brooks
timestamp: '2026-06-30T09:44:18.226Z'
visibility: public
---

I'm a freelance creative running a one-woman studio, and I used to let my best projects sit unseen on a hard drive. Now my labs turn every shoot, every event, every finished project into content that finds clients. The admin handles itself too.


<!-- FILE: labs/index.md -->

---
title: Labs
description: Labs index
count: 6
---

# Labs

- [Social Studio](/labs/social-studio.md) (`public`)
- [Build my idea bank](/labs/social-studio/magiks/build-my-idea-bank.md) (`public`)
- [Blog post from an idea](/labs/social-studio/magiks/linkedin-post-from-an-idea.md) (`public`)
- [Repurpose this content](/labs/social-studio/magiks/repurpose-this-content.md) (`public`)
- [My posting week](/labs/social-studio/magiks/my-posting-week.md) (`public`)
- [Setup voice & pillars](/labs/social-studio/magiks/setup-voice-and-pillars.md) (`public`)


<!-- FILE: labs/social-studio.md -->

---
type: lab
title: Social Studio
description: Turn what you believe into a stocked idea bank, draft blog posts in your voice, and repurpose each one into social posts on a rhythm you can keep.
resource: /labs/social-studio
timestamp: '2026-07-01T06:53:57.594Z'
visibility: public
language: en
creator: /creators/maya-brooks.md
---

# Social Studio

My lab for showing up on social media without it eating your week. Stock your idea bank once, pick an idea, and leave with a blog post in your voice, platform-ready posts, and a calendar you can actually follow.

I built this lab to run a real content engine, starting with ours: the posts you see from AskMojo come out of this lab. Four magiks do the work. One interviews you to stock your idea bank with what you actually believe and want to be known for. One turns any idea into a blog post in your voice, the atomic piece you publish once and own. One repurposes that post into platform-ready content for your social networks, each with its own angle. And one plans your posting week so you stop deciding what to publish at 9pm on a Tuesday. Copy the lab, stock your bank, and publishing becomes a habit instead of a chore.

Creator : [/creators/maya-brooks.md](/creators/maya-brooks.md)

## Magiks

- [Build my idea bank](/labs/social-studio/magiks/build-my-idea-bank.md) — Answer a few questions and I dig out what you actually believe, name your content pillars, and stock your idea bank with posts only you could write.

- [Blog post from an idea](/labs/social-studio/magiks/linkedin-post-from-an-idea.md) — Give me a raw idea, even half-formed, and I draft a blog post in your voice: the atomic piece you publish once, then repurpose everywhere.

- [Repurpose this content](/labs/social-studio/magiks/repurpose-this-content.md) — Paste a link to a blog post, article or video you made and I turn it into a set of social posts for your platforms, each with its own angle, so one piece of work feeds weeks of presence.

- [My posting week](/labs/social-studio/magiks/my-posting-week.md) — Tell me your themes and goals and I build your posting calendar for the week: one slot per post, its angle, its format, and why that day.

- [Setup voice & pillars](/labs/social-studio/magiks/setup-voice-and-pillars.md) — Interview to capture your content pillars, tone rules and banned words, then save them as this lab's voice profile — applied to every magik.

## Widgets

- **How this studio works** (note, mode=static)

- **Content calendar** (list, mode=static)

- **Suggest a new post** (suggestion, mode=static)

- **Idea bank** (list, mode=static)

- **Drop an idea** (collection-form, mode=static)

- **Build my idea bank** (run-magik, mode=static)

- **Coming up** (upcoming, mode=static)

- **Create a blog post** (run-magik, mode=static)


<!-- FILE: labs/social-studio/magiks/build-my-idea-bank.md -->

---
type: magik
title: Build my idea bank
description: Answer a few questions and I dig out what you actually believe, name your content pillars, and stock your idea bank with posts only you could write.
resource: /labs/social-studio?magik=build-my-idea-bank
timestamp: '2026-06-29T08:30:18.401Z'
visibility: public
language: en
lab: /labs/social-studio.md
output_type: markdown
---

# Build my idea bank

Answer a few questions and I dig out what you actually believe, name your content pillars, and stock your idea bank with posts only you could write.

Lab : [/labs/social-studio.md](/labs/social-studio.md)

## Skill

---
name: build-my-idea-bank
description: Interview the user to surface their philosophy and fill their idea bank.
output_type: markdown
tools: collection_list, collection_add
---

# Build my idea bank

## Goal

Surface the ideas the user already carries: what they believe, what they want to be known for, the stories only they can tell. Turn that into a stocked idea bank so no posting day starts from a blank page.

## Inputs

- Whatever the user brings: a brain dump, an old bio, a rant. If they arrive empty-handed, run the interview below.
- The lab's "Idea bank" collection uses these fields: idea, pillar, why_it_matters, status.

## Steps

1. Interview, one question at a time, five questions maximum: What do you want to be known for a year from now? What do you believe about your field that most people disagree with? What lesson did you learn the hard way? What do people always come to you for? What work story do you end up telling at dinner?
2. From the answers, name 3 to 5 pillars: themes the user can feed for months without faking it.
3. Generate 8 to 12 idea entries spread across the pillars. Each entry: the idea in one punchy line, its pillar, why it matters in one line. Concrete and personal beats generic.
4. Call collection_list on the "Idea bank" collection to see what is already there, then call collection_add to write the NEW entries directly into it. Each record: {"idea": "...", "pillar": "...", "why_it_matters": "...", "status": "new"}. For the 3 ideas with the most energy in the user's own words, use "status": "draft-first" instead.
5. Never invent beliefs the user did not express. The bank holds their philosophy, not mine.

## Output format

First a short "What you stand for" block: the pillars, one line each, in the user's words. Then state clearly how many entries you added to the Idea bank collection (e.g. "Added 10 ideas to your Idea bank"), listing each idea on one line with its pillar. Then the 3 ideas to draft first. Do NOT output a copy-paste table: the entries are already saved in the collection.

## Tone

Curious and direct. Good questions, short reflections back, no flattery. Never use em-dashes.


<!-- FILE: labs/social-studio/magiks/linkedin-post-from-an-idea.md -->

---
type: magik
title: Blog post from an idea
description: 'Give me a raw idea, even half-formed, and I draft a blog post in your voice: the atomic piece you publish once, then repurpose everywhere.'
resource: /labs/social-studio?magik=linkedin-post-from-an-idea
timestamp: '2026-06-29T08:30:18.401Z'
visibility: public
language: en
lab: /labs/social-studio.md
output_type: markdown
---

# Blog post from an idea

Give me a raw idea, even half-formed, and I draft a blog post in your voice: the atomic piece you publish once, then repurpose everywhere.

Lab : [/labs/social-studio.md](/labs/social-studio.md)

## Skill

---
name: blog-post-from-an-idea
description: Draft a blog post in the user's voice from a raw idea.
output_type: markdown
---

# Blog post from an idea

## Goal

Turn a raw idea into a blog post that sounds like the user wrote it on a good day. The blog post is the atomic unit: written once, repurposed everywhere after.

## Inputs

- The idea, in whatever state it arrives: a sentence, a rant, a screenshot of notes.
- The user's voice. On the first run, ask for 2-3 pieces they liked writing, or a few lines about how they talk: direct or nuanced, personal stories or frameworks. Remember it for next runs.

## Steps

1. Find the one claim inside the idea. A post carries one idea, not three.
2. Propose a working title that creates a gap the reader wants closed. No clickbait the body cannot pay off.
3. Outline first: hook, 3 to 5 sections that each move the claim forward, ending.
4. Write the full post in the user's voice: short paragraphs, concrete examples, subheadings that could stand alone.
5. End with an opening, not a summary: a question, a position to react to, a next step.
6. Propose 2 alternative titles so the user can choose.
7. Never use em-dashes. Plain sentences, commas, periods.

## Output format

The post ready to publish (markdown, with title and subheadings), then the 2 alternative titles, then one line on which sections to repurpose first with "Repurpose this content".

## Tone

The user's, not mine. If their voice is not known yet, ask before writing.


<!-- FILE: labs/social-studio/magiks/my-posting-week.md -->

---
type: magik
title: My posting week
description: 'Tell me your themes and goals and I build your posting calendar for the week: one slot per post, its angle, its format, and why that day.'
resource: /labs/social-studio?magik=my-posting-week
timestamp: '2026-06-29T08:30:18.401Z'
visibility: public
language: en
lab: /labs/social-studio.md
output_type: markdown
---

# My posting week

Tell me your themes and goals and I build your posting calendar for the week: one slot per post, its angle, its format, and why that day.

Lab : [/labs/social-studio.md](/labs/social-studio.md)

## Skill

---
name: my-posting-week
description: Plan a week of social posts from the user's themes and goals.
output_type: markdown
---

# My posting week

## Goal

Decide the whole week of social publishing in one sitting, so no evening is lost wondering what to post.

## Inputs

- The user's themes (what they want to be known for) and this week's context: launches, events, things on their mind.
- Posting frequency. If unknown, ask. Default to 3 posts per week, sustainable beats ambitious.
- Past posts or known voice if available from previous runs.

## Steps

1. Spread the themes across the week so two consecutive posts never cover the same ground.
2. Vary the formats: a personal story, a how-to, a position, a question to the audience. Formats are rhythm.
3. For each slot: the day, the working title, the angle in one line, the format, and the first line of the hook to make writing easy later.
4. Flag which post is the priority of the week, the one to write even if the rest slips.
5. Keep it honest: a plan the user will actually follow beats an impressive one.

## Output format

A markdown calendar: one section per posting day with title, angle, format, draft hook. Then the priority post flagged, and one carry-over idea for next week.

## Tone

Practical and light. The plan should feel like relief, not homework.


<!-- FILE: labs/social-studio/magiks/repurpose-this-content.md -->

---
type: magik
title: Repurpose this content
description: Paste a link to a blog post, article or video you made and I turn it into a set of social posts for your platforms, each with its own angle, so one piece of work feeds weeks of presence.
resource: /labs/social-studio?magik=repurpose-this-content
tags:
  - exa
  - perplexity
  - firecrawl
timestamp: '2026-07-03T23:51:55.940Z'
visibility: public
language: en
lab: /labs/social-studio.md
output_type: markdown
---

# Repurpose this content

Paste a link to a blog post, article or video you made and I turn it into a set of social posts for your platforms, each with its own angle, so one piece of work feeds weeks of presence.

Lab : [/labs/social-studio.md](/labs/social-studio.md)

## Skill

---
name: repurpose-this-content
description: Turn an article or video into several social posts with distinct angles.
output_type: markdown
tools:
  - exa
  - perplexity
---

# Repurpose this content

## Goal

Extract every social post hiding inside a piece of content the user already made, so the work they did once keeps paying.

## Inputs

- A link to the content (article, video, podcast episode) or the content pasted directly.
- If a link: fetch and read it with the research tools before doing anything.
- Optional: how many posts they want (default 4) and the user's voice if known from previous runs.

## Steps

1. Read the source in full. List its distinct ideas: claims, stories, numbers, contrarian takes, lessons.
2. Keep the ideas that stand alone. A good repurposed post does not need the source to make sense.
3. Give each post its own angle: the story, the number, the mistake, the how-to, the unpopular opinion. Never two posts saying the same thing differently.
4. Write each post complete: hook, body, conversational ending. In the user's voice.
5. One post may link back to the source, the others must not depend on it.
6. Never use em-dashes.

## Output format

The posts numbered, each with a one-line label of its angle, ready to paste. Then a suggested order of publication.

## Tone

The user's voice. Variety in angle, consistency in voice.


<!-- FILE: labs/social-studio/magiks/setup-voice-and-pillars.md -->

---
type: magik
title: Setup voice & pillars
description: Interview to capture your content pillars, tone rules and banned words, then save them as this lab's voice profile — applied to every magik.
resource: /labs/social-studio?magik=setup-voice-and-pillars
timestamp: '2026-07-03T08:26:43.977Z'
visibility: public
language: en
lab: /labs/social-studio.md
output_type: markdown
---

# Setup voice & pillars

Interview to capture your content pillars, tone rules and banned words, then save them as this lab's voice profile — applied to every magik.

Lab : [/labs/social-studio.md](/labs/social-studio.md)

## Skill

---
name: setup-voice-and-pillars
description: Interview the user about their content pillars, tone and banned words, then save them as this lab's voice profile, applied to every magik.
output_type: markdown
---

# Setup voice & pillars

## Goal

Capture the user's content voice ONCE so every other magik in this lab respects it: their pillars (what they post about), how they want to sound, the words and tics they never want to see, and a couple of posts they love. The result is saved as this lab's voice profile and injected at the top of every run, so the user never has to re-explain their voice.

Run this first, before any writing magik. If the user reruns it later, the newest profile wins.

## Inputs

The user can arrive with material or empty-handed. Both are fine.

- If they paste posts they like, a voice note, an "about me", or a rant about AI writing they hate: read it first and pull the voice OUT of it, then confirm. Do not ignore what they gave you and ask from scratch.
- If they arrive empty-handed: run the interview below.

## Steps

1. If the user gave you material, mine it first: infer their likely pillars, tone and banned words, then reflect that back as a starting draft and ask them to correct it. Skip questions you can already answer from what they shared.
2. Otherwise interview them ONE question at a time. Never dump all the questions at once. Cover at most five:
   - What 2 to 3 themes do you want to be known for? (these become the pillars)
   - For each pillar, what is the angle in one line? What do you say that others in that space don't?
   - How do you want to sound? Give me three adjectives. (e.g. direct, warm, contrarian, plain-spoken)
   - Which words, phrases, emoji or punctuation should never appear? Always propose the em dash as banned by default, since it is the clearest AI tell, and let them keep it only if they insist.
   - Paste 1 or 2 posts you love (yours or someone else's) so the voice is grounded in real examples.
3. Hold the line at 3 pillars maximum unless the user truly insists. More pillars means a vaguer voice and worse output everywhere downstream. If they list five, help them merge or cut to three.
4. Reflect back a short draft of the profile in plain language and ask the user to confirm or correct it BEFORE saving. Never save on the first turn and never save an unconfirmed profile.
5. Once, and only once, the user confirms, produce the output described below.

## Output format

When the user has confirmed, your response has TWO parts, in this order:

1. A short human confirmation the user reads: "Saved your voice profile." followed by the pillars (one line each) and the banned words, in the user's own words. Keep it to a few lines, no preamble.
2. Immediately after, ONE fenced block tagged lab-voice containing the canonical profile in clean markdown. The system parses this block, saves it as the lab voice profile, and strips it from the displayed card, so the user never sees the raw block. Use exactly this structure:

```lab-voice
# Voice & pillars

## Pillars
1. **Pillar name** — the angle in one line.
2. **Pillar name** — the angle in one line.
3. **Pillar name** — the angle in one line.

## Tone rules
- Three to five short rules, in the imperative (e.g. "Lead with the claim, not the setup").

## Banned words & phrases
- em dash
- any word, emoji or tic the user named

## Posts I like (examples)
- A line or short quote per example the user gave, with who wrote it if known.
```

Rules for the block:
- Emit it ONLY after the user confirms. If they have not confirmed, do not emit it, just ask your next question.
- Real content only. No placeholders, no "[pillar here]", only what the user actually said.
- Valid markdown. Keep the four headings above even if a section is short. If the user gave no example posts, write "- (none yet)" rather than dropping the section.
- The block is the source of truth that every other magik in this lab will read, so be precise and concise.

## Edge cases

- User wants to change the profile later: tell them to just run this magik again. The newest profile replaces the old one.
- User pastes a wall of text: extract the voice, reflect a tight draft, confirm. Do not parrot the whole thing back.
- User gives vague answers ("just make it sound good"): offer two concrete tone options to react to, rather than pushing an open question again.
- User insists on more than 3 pillars: allow it, but warn once that focus drops.

## Tone

Curious and direct. Good questions, short reflections back, no flattery, no filler. Never use em dashes in what you write to the user.


<!-- FILE: log.md -->

---
scope: public
---

# Log

Historique des changements de visibilité / publication (dates ISO).

- 2026-06-11T08:19:21.488Z — lab published — [labs/social-studio.md](/labs/social-studio.md)


<!-- FILE: outputs/ce5a4490-344c-4bb0-ab63-733f8dcc2d46.md -->

---
type: output
title: Repurpose this content — July 3, 2026
resource: /o/ce5a4490-344c-4bb0-ab63-733f8dcc2d46
timestamp: '2026-07-04T00:14:36.645Z'
visibility: public
magik: /labs/social-studio/magiks/repurpose-this-content.md
---

# Repurpose this content — July 3, 2026

Généré par : [/labs/social-studio/magiks/repurpose-this-content.md](/labs/social-studio/magiks/repurpose-this-content.md)

# Four Social Posts from "Cloud AI Is Temporary"

*July 2026*

---

## Post 1
*The contrarian prediction*

Cloud AI is temporary.

Not "we'll use it less" temporary. Actually temporary.

In a few years, the most useful models will run on your device. No internet, no subscription, no company server. That's not a guess, it's embedded engineering, and the timeline gets shorter every six months.

The cloud made sense when compute was expensive and centralized. But that era is ending faster than most people realize.

The question isn't when local AI arrives. It's whether what you're building into AI today will still be yours when it does.

---

## Post 2
*The pattern we've seen before*

We've done this handover before.

Early web: your email lived on your hard drive, photos on your device, contacts in a local file. Clumsy but yours.

Then the cloud arrived. Gmail for email. iCloud for photos. Facebook for relationships.

Every time, the pitch was the same: simpler, works everywhere.

That was true. Still is.

What we didn't price in: control of our digital identity. Who we follow, what we search at 2am, what we buy. That data isn't anonymous. It's you, and it lives at someone else's address.

Not a conspiracy. A business model. And we said yes because it was convenient.

With AI, the same move gets sharper. You're not handing over behavior. You're handing over how you think.

---

## Post 3
*What you're actually giving away*

When you talk to an AI model about your projects, your hesitations, the way you work through a hard problem, you're not sharing behavior data.

You're sharing your thinking.

Your strategies. Your half-formed ideas. The exact way you break a problem down.

That's the most valuable thing you own.

And right now, most people are streaming it to third-party servers, training data included, because the interface is clean and it mostly works.

The cloud made us forget that convenience has a price. With AI, that price just went up.

---

## Post 4
*A lesson in infrastructure ownership*

Here's what I learned building with AI: the platform you start on shapes what you can do later.

Build your workflow on someone else's cloud AI, and when local models arrive (and they will), you start from scratch. Your prompts, your knowledge, your playbooks, all stuck in a system you don't control.

Or you design for ownership from day one. Portable prompts, your data on your terms, tools that work whether the model runs in a datacenter or on your laptop.

This isn't paranoia. It's the same lesson the web taught us with email and photos, just faster and with higher stakes.

Read the full argument: https://askmojo.ai/blog/own-your-ai

---

## Suggested Publishing Order

1. **Post 2** (Monday): Opens with a relatable pattern, establishes credibility
2. **Post 3** (Wednesday): Sharpens the stakes, personal and immediate  
3. **Post 1** (Friday): The bold prediction, conversation starter
4. **Post 4** (Following Tuesday): Practical takeaway with link back to source

Each post stands alone. Together they build a case for thinking differently about where you put your AI work.


<!-- FILE: outputs/index.md -->

---
title: Outputs
description: Outputs index
count: 1
---

# Outputs

- [Repurpose this content — July 3, 2026](/outputs/ce5a4490-344c-4bb0-ab63-733f8dcc2d46.md) (`public`)
