<!--
OKF bundle (Open Knowledge Format v2.0.0) — exported from Taquet.
Scope: public. Concepts: 45.
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: 4
  magik: 17
  output: 23
  creator: 1
---

# OKF bundle (scope `public`)

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

## Concepts

- **lab** : 4

- **magik** : 17

- **output** : 23

- **creator** : 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-08-14T07:52:22.393Z'
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/creative-studio.md -->

---
type: lab
title: Creative Studio
description: Find the visual style that fits you by reacting to real generated images, lock it, then create on-brand images for every post on demand.
resource: /labs/creative-studio
timestamp: '2026-07-01T06:53:57.594Z'
visibility: public
language: en
creator: /creators/maya-brooks.md
---

# Creative Studio

My lab for images with a constant style. First we find your style together: I suggest directions and generate real samples until one feels like you. Lock it, and every image you ask for after that comes out on brand.

I built this lab around one idea: the hard part of AI images is not generating one good picture, it is generating the twentieth that still looks like the first. Two magiks do the work. Create your style runs the exploration: tell me what you publish, I suggest style directions and generate real sample images until one feels like you, then we lock the charter in your Style guide. Generate an image does the daily work: give me a subject, a blog article, a launch, an event, and I deliver an image that follows your locked style. Think of a nonprofit illustrating its blog: adopt a style once, then every article gets an image that looks like the same hand made it. Copy the lab, lock your style, and your visuals stop looking like they came from five different freelancers.

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

## Magiks

- [Create your style](/labs/creative-studio/magiks/create-your-style-magik.md) — I suggest style directions and generate real sample images until one feels like you, then we lock the charter in your Style guide: palette, mood, light, all of it.

- [Generate an image](/labs/creative-studio/magiks/generate-an-image.md) — Give me a subject, a blog article, a launch, an event, and I generate the image in your locked style, so everything you publish looks like the same hand made it.

## Widgets

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

- **Style guide** (list, mode=static)


<!-- FILE: labs/creative-studio/magiks/create-your-style-magik.md -->

---
type: magik
title: Create your style
description: 'I suggest style directions and generate real sample images until one feels like you, then we lock the charter in your Style guide: palette, mood, light, all of it.'
resource: /labs/creative-studio?magik=create-your-style-magik
tags:
  - wavespeed
timestamp: '2026-07-08T04:02:17.505Z'
visibility: public
language: en
lab: /labs/creative-studio.md
output_type: image
---

# Create your style

I suggest style directions and generate real sample images until one feels like you, then we lock the charter in your Style guide: palette, mood, light, all of it.

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

## Skill

---
name: create-your-style
description: Explore style directions with real generated samples, then lock the charter.
output_type: image
tools:
  - wavespeed
---

# Create your style

## Goal

Find the visual style that fits the user by showing, not describing: real generated samples they react to, until one feels like them. Then lock it as a charter every future image follows.

## Inputs

- What they publish and for whom: a blog, a nonprofit's articles, product pages, social posts. Ask if unknown.
- Any starting point they have: colors they love, brands they admire, images they saved.

## Steps

1. Ask what they publish and the feeling they want their images to give. One question at a time.
2. Propose 3 distinct style directions, each in one line (palette, mood, light, treatment). Plain words, no jargon.
3. Generate one sample image per direction with the wavespeed tool, same subject for all three so the style is the only variable. Let them react.
4. Iterate on the preferred direction: adjust palette, light, mood, one change at a time, regenerate until it feels right. Two or three rounds is normal.
5. When they confirm, write the charter: style name, palette, mood, and a reference_prompt that reliably reproduces the look.
6. Save the charter with the collection_add tool into the "Style guide" collection, status "🔒 Locked". Tell the user it is saved and that "Generate an image" will follow it from now on.
7. Never use em-dashes.

## Output format

The final sample image of the locked style, plus the charter as saved: style name, palette, mood, reference prompt.

## Tone

A good art director: shows options, listens to reactions, decides nothing for the user.


<!-- FILE: labs/creative-studio/magiks/generate-an-image.md -->

---
type: magik
title: Generate an image
description: Give me a subject, a blog article, a launch, an event, and I generate the image in your locked style, so everything you publish looks like the same hand made it.
resource: /labs/creative-studio?magik=generate-an-image
tags:
  - wavespeed
timestamp: '2026-07-08T04:02:17.505Z'
visibility: public
language: en
lab: /labs/creative-studio.md
output_type: image
---

# Generate an image

Give me a subject, a blog article, a launch, an event, and I generate the image in your locked style, so everything you publish looks like the same hand made it.

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

## Skill

---
name: generate-an-image
description: Generate an on-demand image from any subject, following the lab's style when one is locked.
output_type: image
tools:
  - wavespeed
---

# Generate an image

## Goal

Turn any subject into a real image, fast. When a locked style exists it makes the
image on-brand; when none is locked yet, still deliver a strong image so the user
is never blocked.

## Inputs

- The subject: what the image should show. A blog topic, a product, an event, a
  feeling. If the user already describes a look (palette, mood, texture), honor it.

## Steps

1. Read the "Style guide" collection with the collection_list tool.
2. Pick the style to apply, in this order:
   - the entry with status "🔒 Locked" if there is one;
   - otherwise the "Exploring" entry that best matches the subject;
   - otherwise the visual direction the user gave in their request;
   - otherwise a clean, tasteful default.
3. **Always generate.** Never answer with text only when a subject is given and the
   wavespeed tool is available. Not having a locked style is NOT a reason to skip
   generation — apply the chosen style from step 2 and generate.
4. Build the prompt: the subject, framed and lit according to the chosen style's
   reference_prompt, palette and mood. Style wins over generic prettiness.
5. Generate with the wavespeed tool. One strong image beats four average ones.
6. If the user asks for variations, change the composition, never the style.
7. Never use em-dashes.

## Output format

The generated image. Add ONE short line: which style it followed. If no style was
locked, end with a single optional nudge like "Lock a style in your Style guide to
keep every future image on-brand." — never a wall of explanation, never a refusal.

## Tone

Fast and reliable. Execution, not deliberation. The user asked for an image: give
them the image.


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

---
title: Labs
description: Labs index
count: 21
---

# 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`)
- [Creative Studio](/labs/creative-studio.md) (`public`)
- [Create your style](/labs/creative-studio/magiks/create-your-style-magik.md) (`public`)
- [Generate an image](/labs/creative-studio/magiks/generate-an-image.md) (`public`)
- [SEO Studio](/labs/seo-studio.md) (`public`)
- [What you want to be found for](/labs/seo-studio/magiks/what-you-want-to-be-found-for.md) (`public`)
- [What is already there](/labs/seo-studio/magiks/what-is-already-there.md) (`public`)
- [The page](/labs/seo-studio/magiks/the-page.md) (`public`)
- [Ask the assistants](/labs/seo-studio/magiks/ask-the-assistants.md) (`public`)
- [What moved](/labs/seo-studio/magiks/what-moved.md) (`public`)
- [Watch Studio](/labs/watch-studio.md) (`public`)
- [Define your watch](/labs/watch-studio/magiks/define-your-watch.md) (`public`)
- [What's new](/labs/watch-studio/magiks/whats-new.md) (`public`)
- [Is this real?](/labs/watch-studio/magiks/is-this-real.md) (`public`)
- [The piece it calls for](/labs/watch-studio/magiks/the-piece-it-calls-for.md) (`public`)
- [The log](/labs/watch-studio/magiks/the-log.md) (`public`)


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

---
type: lab
title: SEO Studio
description: Be found, by search engines and by the assistants people now ask instead. Decide what you want to be known for, then write the pages that earn it.
resource: /labs/seo-studio
timestamp: '2026-08-05T09:07:55.977Z'
visibility: public
language: en
creator: /creators/maya-brooks.md
---

# SEO Studio

Be found, by search engines and by the assistants people now ask instead. Decide what you want to be known for, then write the pages that earn it.

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

## Magiks

- [What you want to be found for](/labs/seo-studio/magiks/what-you-want-to-be-found-for.md) — The handful of things you want to come up for, and the ones you should not chase. Every other step reads this.

- [What is already there](/labs/seo-studio/magiks/what-is-already-there.md) — Who currently answers this question, how well, and what they all fail to say. Your opening is in the gap.

- [The page](/labs/seo-studio/magiks/the-page.md) — One page that answers one question properly, built to be read by a person and quotable by an assistant.

- [Ask the assistants](/labs/seo-studio/magiks/ask-the-assistants.md) — What an AI assistant actually says when someone asks your question, and whether it mentions you at all.

- [What moved](/labs/seo-studio/magiks/what-moved.md) — What changed since last time, in the things you said you wanted to be found for.


<!-- FILE: labs/seo-studio/magiks/ask-the-assistants.md -->

---
type: magik
title: Ask the assistants
description: What an AI assistant actually says when someone asks your question, and whether it mentions you at all.
resource: /labs/seo-studio?magik=ask-the-assistants
tags:
  - perplexity
  - web-search
timestamp: '2026-08-07T16:04:16.456Z'
visibility: public
language: en
lab: /labs/seo-studio.md
output_type: markdown
---

# Ask the assistants

What an AI assistant actually says when someone asks your question, and whether it mentions you at all.

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

## Skill

# Ask the assistants

People increasingly ask an assistant instead of a search engine. This step looks at that
answer, which is a different surface with different rules.

## What you produce

- **The answer someone gets** — what a current assistant says to this question, reported
  as what it said, with the date. Answers change; an undated one is worthless.
- **Who gets named** — which sources or brands appear in it. If you do not appear, say so
  plainly. That is the finding.
- **Why those get named** — what their pages do that makes them quotable: a clear direct
  answer, a specific number, a documented method, a page structured so one paragraph
  stands alone.
- **What would make you quotable** — two or three concrete changes to a real page. Not
  "improve your content". Something a person can do on Tuesday.

## Rules

- **An assistant's answer is a reading, not a ranking.** It varies by wording, by user,
  by day. Never present one answer as a measured position.
- **Never claim to know why a model chose a source.** You infer from what those pages
  contain, and you say you are inferring.
- Never promise that a change will get someone cited.
- No em-dash, no en-dash.


<!-- FILE: labs/seo-studio/magiks/the-page.md -->

---
type: magik
title: The page
description: One page that answers one question properly, built to be read by a person and quotable by an assistant.
resource: /labs/seo-studio?magik=the-page
timestamp: '2026-08-05T09:07:59.053Z'
visibility: public
language: en
lab: /labs/seo-studio.md
output_type: markdown
---

# The page

One page that answers one question properly, built to be read by a person and quotable by an assistant.

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

## Skill

# The page

One page, one question, answered better than the alternatives.

## What you produce

The page in markdown, ready to publish:

- **The answer in the first paragraph.** Not context, not history, not "in today's
  landscape". The answer. This is what a reader needs and what an assistant quotes.
- **The body** — the reasoning, the numbers, the worked example, the case where it does
  not apply. Use what the user knows; that is the only part nobody can copy.
- **The specific cases** — the "what if" a generic page skips. This is where a real page
  separates from a generated one.
- **What to do next** — one action, or nothing. A page that ends in three calls to action
  ends in none.
- **The title and the summary** — the title says the question, the summary answers it in
  two lines.

## Rules

- **Never write a fact the user did not give you.** No invented statistic, no invented
  study, no invented customer. If the page needs a number the user does not have, say
  where to find it and leave a marked gap.
- **No keyword stuffing.** A phrase repeated for a machine is a page a person leaves.
- **Say when something is uncertain**, and when your knowledge might be out of date. An
  assistant quoting you should be able to quote the caveat too.
- No em-dash, no en-dash.


<!-- FILE: labs/seo-studio/magiks/what-is-already-there.md -->

---
type: magik
title: What is already there
description: Who currently answers this question, how well, and what they all fail to say. Your opening is in the gap.
resource: /labs/seo-studio?magik=what-is-already-there
tags:
  - web-search
  - dataforseo
  - firecrawl
timestamp: '2026-08-07T16:04:16.144Z'
visibility: public
language: en
lab: /labs/seo-studio.md
output_type: markdown
---

# What is already there

Who currently answers this question, how well, and what they all fail to say. Your opening is in the gap.

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

## Skill

# What is already there

You read what currently answers a question, and find what none of them say.

## What you produce

- **Who answers it today** — the pages that come up, each with what kind of page it is
  and what it actually delivers. Report what you can genuinely see; you have no ranking
  data, so describe rather than rank.
- **What they all do** — the shared shape. When six pages have the same six headings,
  that shape is what a reader expects, and departing from it has a cost.
- **What none of them say** — the gap. Usually: no real numbers, no worked example, no
  answer for the specific case, nothing after 2024. **This is the only reason to write
  another page on a crowded question.**
- **What it would take** — honestly. Sometimes the answer is that this question is
  answered well enough and the effort belongs elsewhere. Say that when it is true.

## Rules

- **Never invent a competitor's traffic, backlinks or authority.** You cannot see them.
- Never claim a position. "Comes up" is what you can say.
- No em-dash, no en-dash.


<!-- FILE: labs/seo-studio/magiks/what-moved.md -->

---
type: magik
title: What moved
description: What changed since last time, in the things you said you wanted to be found for.
resource: /labs/seo-studio?magik=what-moved
timestamp: '2026-08-05T09:08:01.502Z'
visibility: public
language: en
lab: /labs/seo-studio.md
output_type: markdown
---

# What moved

What changed since last time, in the things you said you wanted to be found for.

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

## Skill

# What moved

Quarterly, not weekly. Search moves slowly and looking too often produces noise and bad
decisions.

## What you produce

- **What you published** — the pages, dated.
- **What you can actually see** — only from data the user provided. **If they gave
  nothing, this section says exactly that**, and names the two places they could look. It
  never estimates.
- **What the assistants say now** — compared to the last check, if there was one.
- **What to do next quarter** — one thing. Usually: write the next page, or improve the
  one that half works. Never a new strategy.

## Rules

- **No invented metric, ever.** Not an estimated traffic figure, not an inferred position,
  not a "likely improvement".
- **Nothing moved is a normal quarterly result** on a young site, and it is said plainly
  rather than dressed up.
- No em-dash, no en-dash.


<!-- FILE: labs/seo-studio/magiks/what-you-want-to-be-found-for.md -->

---
type: magik
title: What you want to be found for
description: The handful of things you want to come up for, and the ones you should not chase. Every other step reads this.
resource: /labs/seo-studio?magik=what-you-want-to-be-found-for
timestamp: '2026-08-05T09:07:56.594Z'
visibility: public
language: en
lab: /labs/seo-studio.md
output_type: markdown
---

# What you want to be found for

The handful of things you want to come up for, and the ones you should not chase. Every other step reads this.

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

## Skill

# What you want to be found for

You produce a **search strategy**: a short list of things worth being known for, and an
explicit list of things to leave alone.

## What you produce

Under 600 words:

- **What you actually do** — in the words your customers use, not your industry's.
- **The five things worth being found for** — five, not fifty. Each one: the question
  behind it, and why you specifically can answer it better than a generic page.
- **What to leave alone** — the obvious broad terms you will not win, named, so nobody
  spends a year on them. This section saves more time than the other four.
- **What you already have that nobody can copy** — your data, your cases, your numbers,
  what you see that others do not. **This is the whole strategy.** Everything else is
  formatting.
- **How you would know it worked** — one observable thing, in their terms.

## Rules

- **Never invent a search volume, a difficulty score or a ranking.** You have no data.
  If a figure matters, say which tool would give it.
- Never promise a position or a timeline.
- Five is the number. A strategy of thirty terms is a list, not a strategy.
- No em-dash, no en-dash.


<!-- 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 Taquet 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)

- **Coming up** (upcoming, 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-07-08T04:02:17.505Z'
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-07-11T09:32:23.628Z'
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-07-11T09:32:23.787Z'
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-11T09:32:23.468Z'
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-08T04:02:17.505Z'
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: labs/watch-studio.md -->

---
type: lab
title: Watch Studio
description: 'Follow a subject that keeps moving: know what changed, decide if it matters, and produce the piece it calls for. Without reading everything yourself.'
resource: /labs/watch-studio
timestamp: '2026-08-05T09:03:42.918Z'
visibility: public
language: en
creator: /creators/maya-brooks.md
---

# Watch Studio

Follow a subject that keeps moving: know what changed, decide if it matters, and produce the piece it calls for. Without reading everything yourself.

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

## Magiks

- [Define your watch](/labs/watch-studio/magiks/define-your-watch.md) — What you are watching, why it matters to you, where to look, and what counts as a change worth your attention.

- [What's new](/labs/watch-studio/magiks/whats-new.md) — One sweep of the sources: what changed since last time, what is only noise, and what deserves a decision.

- [Is this real?](/labs/watch-studio/magiks/is-this-real.md) — Takes one change and checks it against the primary source before anyone acts on it.

- [The piece it calls for](/labs/watch-studio/magiks/the-piece-it-calls-for.md) — Turns a confirmed change into the thing you actually have to produce: a note to a client, an internal memo, a public post.

- [The log](/labs/watch-studio/magiks/the-log.md) — What this watch has caught over time, so you can show your work and see what you keep missing.


<!-- FILE: labs/watch-studio/magiks/define-your-watch.md -->

---
type: magik
title: Define your watch
description: What you are watching, why it matters to you, where to look, and what counts as a change worth your attention.
resource: /labs/watch-studio?magik=define-your-watch
timestamp: '2026-08-05T09:03:43.702Z'
visibility: public
language: en
lab: /labs/watch-studio.md
output_type: markdown
---

# Define your watch

What you are watching, why it matters to you, where to look, and what counts as a change worth your attention.

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

## Skill

# Define your watch

You turn a few answers into a **watch profile**: the document every other step reads.

## What you produce

Under 500 words:

- **The subject** — one sentence, narrow. "Regulation" is not a subject. "The reporting
  obligations that apply to a company of my size in my country" is.
- **Why it matters here** — the consequence of missing something. This is what later
  decides whether a change is worth a notification.
- **Where to look** — the sources, as they gave them. Add the OBVIOUS official source
  if it is missing and say you added it. Never invent a source.
- **What counts as a change** — three tiers, in their words: drop everything, worth
  knowing, ignore. Without these three lines, everything becomes urgent and the watch
  dies in a week.
- **What we deliberately ignore** — the noise they do not want.

## Rules

- Narrow beats wide. A watch that covers everything alerts on nothing.
- Never invent a source, a register, or a publication.
- No em-dash, no en-dash.


<!-- FILE: labs/watch-studio/magiks/is-this-real.md -->

---
type: magik
title: Is this real?
description: Takes one change and checks it against the primary source before anyone acts on it.
resource: /labs/watch-studio?magik=is-this-real
tags:
  - web-search
  - firecrawl
timestamp: '2026-08-07T16:04:14.892Z'
visibility: public
language: en
lab: /labs/watch-studio.md
output_type: markdown
---

# Is this real?

Takes one change and checks it against the primary source before anyone acts on it.

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

## Skill

# Is this real?

One claim, checked against the source that decides. This step exists because acting on a
false alarm costs more than missing a true one.

## What you produce

- **The verdict**, in the first line: confirmed, partly true, false, or **cannot be
  established**. The fourth is a real verdict and the most frequently correct one.
- **What the primary source actually says** — quoted, with the date and the link. If you
  could not reach a primary source, say so, and the verdict is "cannot be established".
- **Where the claim drifted** — when the claim exaggerates or simplifies something true,
  name the exact gap.
- **What it changes for us** — one or two lines. Sometimes: nothing.

## Rules

- **A secondary source never confirms.** An article reporting a rule is not the rule.
- **Never soften a verdict to be agreeable.** "Cannot be established" is not a failure.
- Absence of evidence is stated as such, never turned into evidence of absence.
- No em-dash, no en-dash.


<!-- FILE: labs/watch-studio/magiks/the-log.md -->

---
type: magik
title: The log
description: What this watch has caught over time, so you can show your work and see what you keep missing.
resource: /labs/watch-studio?magik=the-log
timestamp: '2026-08-05T09:03:48.669Z'
visibility: public
language: en
lab: /labs/watch-studio.md
output_type: markdown
---

# The log

What this watch has caught over time, so you can show your work and see what you keep missing.

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

## Skill

# The log

The memory of the watch. Answers: what did we catch, what did we miss, and is this watch
earning its keep.

## What you produce

- **Caught this period** — items, dates, tier, and whether a piece was produced.
- **Missed** — anything you learned about after the fact. **Write these down.** A log
  that only records successes teaches nothing.
- **Quiet stretches** — periods where nothing happened, stated plainly. They are the
  proof the watch is not manufacturing news.
- **What to change** — at most two lines: a source to add, a tier to adjust.

## Rules

- Facts only, no self-congratulation, no "successfully monitored".
- A period with nothing is written as a period with nothing.
- No em-dash, no en-dash.


<!-- FILE: labs/watch-studio/magiks/the-piece-it-calls-for.md -->

---
type: magik
title: The piece it calls for
description: 'Turns a confirmed change into the thing you actually have to produce: a note to a client, an internal memo, a public post.'
resource: /labs/watch-studio?magik=the-piece-it-calls-for
timestamp: '2026-08-05T09:03:47.434Z'
visibility: public
language: en
lab: /labs/watch-studio.md
output_type: markdown
---

# The piece it calls for

Turns a confirmed change into the thing you actually have to produce: a note to a client, an internal memo, a public post.

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

## Skill

# The piece it calls for

A watch that only watches is a hobby. This step produces the thing the change actually
calls for.

## What you produce

The piece itself, ready to send or publish, in the form the user asked for. Whatever the
form, it carries:

- **What changed**, in one sentence a busy reader understands.
- **What it means for THIS audience**, specifically. Not for everyone.
- **What they have to do**, and by when. If nothing: say "nothing to do", which is a
  valuable thing to be told.
- **The source**, linked, so the reader can check without asking.

## Rules

- Write for the named audience, not for a general reader.
- **Never dramatise a change to make the piece feel worth reading.** If it is minor, say
  it is minor. Credibility is the whole asset of a watch.
- No advice that goes beyond what the source supports.
- No em-dash, no en-dash.


<!-- FILE: labs/watch-studio/magiks/whats-new.md -->

---
type: magik
title: What's new
description: 'One sweep of the sources: what changed since last time, what is only noise, and what deserves a decision.'
resource: /labs/watch-studio?magik=whats-new
tags:
  - web-search
  - exa
  - firecrawl
timestamp: '2026-08-07T16:04:14.577Z'
visibility: public
language: en
lab: /labs/watch-studio.md
output_type: markdown
---

# What's new

One sweep of the sources: what changed since last time, what is only noise, and what deserves a decision.

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

## Skill

# What's new

One sweep. You report **what changed**, not what exists.

## What you produce

- **Nothing changed** — if that is true, say exactly that, in one line, and stop. This is
  the most common honest answer and the hardest one to write. A watch that always finds
  something is not watching, it is generating.
- **What changed** — each item: what it is, the date, the source with its link, and one
  line on what it means for this watch specifically. Never more than seven items.
- **Which tier** — for each item, which of the three tiers from the watch profile it
  falls into, and why.
- **What we could not check** — a source that was unreachable is a fact worth reporting,
  not a silence.

## Rules

- **Dates are non negotiable.** An item without a date is not a change, it is a rumour.
- **Never present an old thing as new** because you found it for the first time. Say
  when it actually happened.
- Read the previous change reports: do not re-report what was already reported.
- No em-dash, no en-dash.


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

---
scope: public
---

# Log

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

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


<!-- FILE: outputs/0ba195d1-d2ad-4a83-b8da-50dfe1fe438d.md -->

---
type: output
title: Example output
resource: /o/0ba195d1-d2ad-4a83-b8da-50dfe1fe438d
timestamp: '2026-08-11T07:10:35.773Z'
visibility: public
magik: /labs/social-studio/magiks/build-my-idea-bank.md
---

# Example output

Généré par : [/labs/social-studio/magiks/build-my-idea-bank.md](/labs/social-studio/magiks/build-my-idea-bank.md)

# Your idea bank

**Eleven ideas, pulled from what you already say out loud.**

**The workshop**
1. The stitch that fails first, and why it is always the same one
2. What a 40 EUR repair actually involves, minute by minute
3. The offcut pile: what happens to it
4. Why you stopped using a certain glue in 2023

**What lasts**
5. Full-grain vs corrected-grain, told through two bags at ten years
6. The handle goes before the leather. Always.
7. What « genuine leather » legally means, which is almost nothing
8. The maths of buying one bag instead of four

**The trade**
9. What you do on a Monday that nobody imagines
10. The customer question you get most, and the honest answer
11. Why you turn down some repairs

**The strongest one**
Number 6. You say it to every customer, it contradicts what people expect, and it is verifiable. Start there.

**What was deliberately left out**
Anything about your prices, and anything seasonal. Both age badly and neither is a pillar.


<!-- FILE: outputs/4149a456-cb04-4f21-9ac7-f99657d9d7ac.md -->

---
type: output
title: Example output
resource: /o/4149a456-cb04-4f21-9ac7-f99657d9d7ac
timestamp: '2026-08-11T07:10:38.886Z'
visibility: public
magik: /labs/watch-studio/magiks/whats-new.md
---

# Example output

Généré par : [/labs/watch-studio/magiks/whats-new.md](/labs/watch-studio/magiks/whats-new.md)

# Sweep of 11 March

**Three sources read. One change, two noise.**

**Worth your attention**
DGCCRF published a notice on 6 March on the mention of the period after opening. It confirms the 12M symbol stays optional below a 30-month shelf life, and adds that the shelf life must now be justifiable on request. That last part is new.

**Noise, and why**
- A trade press article announces « new labelling rules for 2026 ». It quotes a consultation opened in January, not a published text. Nothing to do.
- A competitor changed its packaging. Their choice, no obligation attached.

**What it means for you**
Nothing to reprint. Something to be able to produce: the shelf-life justification for each of your 40 references. If you have it in a supplier file, you are fine.

**Next sweep**
Monday 18 March. Légifrance had nothing this week, which is the normal case.


<!-- FILE: outputs/4c5622c3-18ea-4f06-8849-ab58899563cd.md -->

---
type: output
title: Example output
resource: /o/4c5622c3-18ea-4f06-8849-ab58899563cd
timestamp: '2026-08-11T07:10:37.021Z'
visibility: public
magik: /labs/social-studio/magiks/setup-voice-and-pillars.md
---

# Example output

Généré par : [/labs/social-studio/magiks/setup-voice-and-pillars.md](/labs/social-studio/magiks/setup-voice-and-pillars.md)

# Your voice and pillars

**Three pillars. Everything you post sits in one of them or does not get posted.**

| Pillar | What it covers | Why it is yours |
|---|---|---|
| The workshop | how things are actually made, including the failures | you have a workshop, almost nobody posting about this does |
| What lasts | repair, materials, why cheap things are expensive | the argument behind everything you sell |
| The trade | what a leather worker's week looks like | nobody is bored by real work |

**Tone rules**
Lowercase openings. Short sentences. No exclamation marks. You say « I » and never « we » unless the workshop genuinely did it together.

**Banned words**
Passion, artisanal, savoir-faire, unique, exceptional, journey. Every one of them appears on the site of every competitor, which is how you know they say nothing.

**What you never post**
Before-and-after transformations. Discount announcements. Anything with a countdown.

**The test**
Read it aloud. If you would not say it to a customer standing at the counter, it does not go out.


<!-- FILE: outputs/57690c67-bc8c-4143-8f87-01736580d5cf.md -->

---
type: output
title: Example output
resource: /o/57690c67-bc8c-4143-8f87-01736580d5cf
timestamp: '2026-08-11T07:10:36.393Z'
visibility: public
magik: /labs/social-studio/magiks/my-posting-week.md
---

# Example output

Généré par : [/labs/social-studio/magiks/my-posting-week.md](/labs/social-studio/magiks/my-posting-week.md)

# Week of 17 March

**Four slots. One per pillar, plus one free.**

| | Day | Pillar | What |
|---|---|---|---|
| 1 | Mon | What lasts | « the leather is not what fails » |
| 2 | Wed | The workshop | the 40 EUR repair, minute by minute |
| 3 | Fri | The trade | the question you get most at the counter |
| 4 | Sun | free | whatever happened in the week |

**Why Monday carries the strongest one**
It is the idea that contradicts an expectation, and it is the only one of the four that someone might argue with. Arguments are worth having on a Monday, not on a Friday evening.

**Why Sunday is empty on purpose**
Every planned week you have tried died on the day something unplanned was better. The free slot is there so the week survives contact with reality.

**What is not in this week**
Anything about the new collection. It ships on the 24th and posting about it now means posting about it twice.


<!-- FILE: outputs/6060fc77-a94a-41f3-9382-a598bc7a38f0.md -->

---
type: output
title: Own Your AI meetup — poster visual
resource: /o/6060fc77-a94a-41f3-9382-a598bc7a38f0
timestamp: '2026-07-03T21:06:15.724Z'
visibility: public
magik: /labs/creative-studio/magiks/generate-an-image.md
---

# Own Your AI meetup — poster visual

Généré par : [/labs/creative-studio/magiks/generate-an-image.md](/labs/creative-studio/magiks/generate-an-image.md)

```json
{
  "alt": "Generated image",
  "url": "https://ifcve2tmjgaa6cua.public.blob.vercel-storage.com/outputs/2444511b-a699-4a44-b4af-397bc79b1ab4.png"
}
```


<!-- FILE: outputs/6cf7e80d-ca90-443b-a26f-947cc376b8f2.md -->

---
type: output
title: Example output
resource: /o/6cf7e80d-ca90-443b-a26f-947cc376b8f2
timestamp: '2026-08-11T07:10:34.533Z'
visibility: public
magik: /labs/seo-studio/magiks/what-is-already-there.md
---

# Example output

Généré par : [/labs/seo-studio/magiks/what-is-already-there.md](/labs/seo-studio/magiks/what-is-already-there.md)

# Who answers « how long a leather bag should last »

**Ten results read. Nobody answers the question.**

| Rank | Who | What they actually do |
|---|---|---|
| 1 | marketplace guide | lists bag types, never says a duration |
| 2 | fashion magazine | « several years, with care » |
| 3 | care-product brand | answers with their product |
| 4-7 | four blogs | copies of each other, same three tips |
| 8 | forum thread | the only real answer, from 2019 |

**What they all fail to say**
A number, and what changes it. Not one of the ten distinguishes a bag used daily from one used twice a month, and none mentions that the handle almost always fails before the leather.

**Your opening**
The forum thread at rank 8 has the honesty and none of the structure. Say what the leather does at five, ten and twenty years, say that the handle goes first, and say what a repair costs. That is a page nobody has.


<!-- FILE: outputs/7122f5fe-42a1-4fab-95a9-a62b87eed3c4.md -->

---
type: output
title: Example output
resource: /o/7122f5fe-42a1-4fab-95a9-a62b87eed3c4
timestamp: '2026-08-11T07:10:38.265Z'
visibility: public
magik: /labs/watch-studio/magiks/the-log.md
---

# Example output

Généré par : [/labs/watch-studio/magiks/the-log.md](/labs/watch-studio/magiks/the-log.md)

# The log

**Since 12 January, 9 sweeps, 4 confirmed changes.**

| Date | Change | Source | What followed |
|---|---|---|---|
| 6 Mar | Shelf-life justification to be held | DGCCRF notice | product file updated |
| 2 Feb | Allergen list unchanged for 2026 | Légifrance | nothing, and that was the useful answer |
| 21 Jan | Recycled-content symbol becomes optional | arrêté | symbol dropped on next print run |
| 14 Jan | Consultation opened on nano labelling | DGCCRF | watched, not acted on |

**What this watch keeps missing**
Everything that comes from your suppliers rather than from the regulator. Two of the four changes above reached you first through a supplier email, days before the source published. The watch confirms, it does not warn.

**What that suggests**
A supplier inbox is a better early signal than an official journal, and it is not in your sources.


<!-- FILE: outputs/767ad7df-5e75-4dbb-aa8f-94e7b3e3fea1.md -->

---
type: output
title: Example output
resource: /o/767ad7df-5e75-4dbb-aa8f-94e7b3e3fea1
timestamp: '2026-08-11T07:10:36.084Z'
visibility: public
magik: /labs/social-studio/magiks/linkedin-post-from-an-idea.md
---

# Example output

Généré par : [/labs/social-studio/magiks/linkedin-post-from-an-idea.md](/labs/social-studio/magiks/linkedin-post-from-an-idea.md)

the leather is not what fails.

i have repaired about sixty bags a year for nine years. in that time i have replaced maybe four pieces of leather, and several hundred handle attachments.

the leather on a full-grain bag, used daily, shows no structural wear before fifteen years. it darkens, it softens, it collects marks. none of that is damage.

the handle attachment is a rivet or a line of stitching that takes the entire weight of the bag, several thousand times. that is where it goes, usually between year four and year eight.

which is worth knowing before you throw a bag away, because reattaching a handle costs between 40 and 90 euros and takes an afternoon.

the part that fails is the cheap part to fix. nobody tells you that, because nobody selling you a new bag has a reason to.


<!-- FILE: outputs/77e8165a-0b9a-4790-bbe5-2909aa13db69.md -->

---
type: output
title: Example output
resource: /o/77e8165a-0b9a-4790-bbe5-2909aa13db69
timestamp: '2026-08-11T07:10:34.221Z'
visibility: public
magik: /labs/seo-studio/magiks/the-page.md
---

# Example output

Généré par : [/labs/seo-studio/magiks/the-page.md](/labs/seo-studio/magiks/the-page.md)

# How long should a leather bag last?

**Short answer: the leather outlives you, the handle does not.**

A full-grain leather bag, used three or four times a week, shows no structural wear before fifteen years. What fails first, almost always, is the handle attachment: a rivet or a stitch that takes the full weight of the bag several thousand times.

## What changes the number

| | Daily use | Occasional use |
|---|---|---|
| Leather | 15 to 30 years | beyond 30 |
| Handle attachment | 4 to 8 years | 10 to 15 |
| Lining | 6 to 10 years | 15 |
| Zip | 5 to 10 years | 15 |

## What you can do about it

A handle reattachment costs between 40 and 90 EUR depending on the construction, and takes an afternoon in a workshop. A relined bag comes back for another decade. Both are cheaper than the bag.

## What nobody tells you

Corrected-grain leather, the coated kind, ages differently: it does not patina, it cracks, usually between year six and year ten, and it cannot be repaired. If a bag is described only as « genuine leather », that is often what it is.

---

*Written by a workshop that repairs about sixty bags a year. We also sell them, which is worth knowing when you read the above.*


<!-- FILE: outputs/7dcf3c54-fe16-47e7-a417-76e099d834f0.md -->

---
type: output
title: Product shot · stoneware bowl
resource: /o/7dcf3c54-fe16-47e7-a417-76e099d834f0
timestamp: '2026-08-11T07:52:31.338Z'
visibility: public
---

# Product shot · stoneware bowl

```json
{
  "url": "https://ifcve2tmjgaa6cua.public.blob.vercel-storage.com/uploads/2fe6e819-712a-4a47-a4bb-7c4d910a3828.png",
  "is_sample": true
}
```


<!-- FILE: outputs/84bf08bb-259e-4ca1-b935-b61344345435.md -->

---
type: output
title: Example output
resource: /o/84bf08bb-259e-4ca1-b935-b61344345435
timestamp: '2026-08-11T07:10:38.576Z'
visibility: public
magik: /labs/watch-studio/magiks/the-piece-it-calls-for.md
---

# Example output

Généré par : [/labs/watch-studio/magiks/the-piece-it-calls-for.md](/labs/watch-studio/magiks/the-piece-it-calls-for.md)

Subject: Shelf life, what changed and what does not

Hello,

A short note so nobody spends a week on this.

The DGCCRF notice of 6 March asks that the shelf life of each reference be justifiable on request. It does **not** ask for anything to be displayed. Our product pages do not change.

What we need: for each of the 40 references, the supplier document that establishes the shelf life, filed where a check would find it in ten minutes. Camille has the list, thirty-one are already there.

What we are not doing: reprinting labels, touching the site, or answering the newsletter that announced the opposite.

signed with your name


<!-- FILE: outputs/8e2fdb03-b427-4620-b2cd-a3a3c77d8aed.md -->

---
type: output
title: Example output
resource: /o/8e2fdb03-b427-4620-b2cd-a3a3c77d8aed
timestamp: '2026-08-11T07:10:36.704Z'
visibility: public
magik: /labs/social-studio/magiks/repurpose-this-content.md
---

# Example output

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

# From « How long should a leather bag last »

**One page, five pieces. Same argument, five entry points.**

**LinkedIn**
Open on « the leather is not what fails », nine years of repairs as proof, land on the 40 to 90 EUR. Full draft in the post magik.

**Instagram carousel, 5 slides**
1. A bag at fifteen years, no caption
2. The same bag, handle attachment in close-up, torn
3. « the leather outlives you »
4. « the handle does not »
5. What a repair costs

**A short video, 40 seconds**
Hands only, the repair itself. No voiceover, one line of text at the end. You already do this every week, it just has never been filmed.

**Newsletter**
The page as it is, with one line added at the top: « someone asked this at the counter on Tuesday, so here it is properly. »

**What was left out**
The corrected-grain section. It is the most useful part of the page and it needs 300 words to not sound like an attack on cheaper bags. It deserves its own piece, not a slide.


<!-- FILE: outputs/ca990e38-1fb7-4dfc-ac8c-1ac2a63e750a.md -->

---
type: output
title: Style board · three directions
resource: /o/ca990e38-1fb7-4dfc-ac8c-1ac2a63e750a
timestamp: '2026-08-11T07:52:23.764Z'
visibility: public
magik: /labs/creative-studio/magiks/create-your-style-magik.md
---

# Style board · three directions

Généré par : [/labs/creative-studio/magiks/create-your-style-magik.md](/labs/creative-studio/magiks/create-your-style-magik.md)

```json
{
  "url": "https://ifcve2tmjgaa6cua.public.blob.vercel-storage.com/uploads/94448acc-6ecd-4d9b-a88f-68e02f443f03.png",
  "is_sample": true
}
```


<!-- 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/d3f16e46-6e04-4624-a829-6864ddaeb07e.md -->

---
type: output
title: Example output
resource: /o/d3f16e46-6e04-4624-a829-6864ddaeb07e
timestamp: '2026-08-11T07:10:35.462Z'
visibility: public
---

# Example output

# Article to social video

**Source:** « How long should a leather bag last »

**Angle chosen: the handle, not the leather.**
The article makes four points. Only one contradicts what the viewer expects, and a nine-second attention span needs a contradiction, not a summary.

**Script, 9:16, 38 seconds**
| Time | Shot | Text on screen |
|---|---|---|
| 0-4s | a worn bag, still whole | the leather outlives you |
| 4-12s | close on a torn handle attachment | the handle does not |
| 12-25s | hands, the repair, no faces | 40 to 90 euros. one afternoon. |
| 25-38s | the bag, repaired, in use | the part that breaks is the cheap part |

**Captions per platform**
- Instagram: the full contradiction, three lines, no hashtags in the caption.
- LinkedIn: the same, plus the nine-years-of-repairs line as proof.
- TikTok: only the last line. The video carries the rest.

**Note on the shots**
Everything above is footage you already generate every week without filming it. Nothing here needs a set.


<!-- FILE: outputs/d457412f-9324-4c5c-8a3c-c403aa07c138.md -->

---
type: output
title: Example output
resource: /o/d457412f-9324-4c5c-8a3c-c403aa07c138
timestamp: '2026-08-11T07:10:35.152Z'
visibility: public
magik: /labs/seo-studio/magiks/what-you-want-to-be-found-for.md
---

# Example output

Généré par : [/labs/seo-studio/magiks/what-you-want-to-be-found-for.md](/labs/seo-studio/magiks/what-you-want-to-be-found-for.md)

# What you want to be found for

**Five things. Not fifty.**

| Question a real person asks | Why it is yours |
|---|---|
| how to price a leather bag made in France | you make them, and nobody in the top ten does |
| leather goods workshop Charente visit | you have a workshop and it is open |
| full-grain vs corrected-grain leather | you explain it to every customer already |
| repairing a leather bag handle | you repair, and it brings people back |
| how long a leather bag should last | your whole argument, in one question |

**What you should not chase**
« Leather bag », « handbag », « French leather goods ». Three words each, thousands of searches, and the first page belongs to marketplaces with a hundred times your budget. You would spend a year to arrive eleventh.

**The rule that produced this list**
Each question must be one you already answer out loud, in the shop, several times a month. If you have never heard it from a customer, it is not yours yet.


<!-- FILE: outputs/d52dcdd5-53c6-448c-9932-837937cddd90.md -->

---
type: output
title: Generate an image — July 3, 2026
resource: /o/d52dcdd5-53c6-448c-9932-837937cddd90
timestamp: '2026-07-04T21:55:21.101Z'
visibility: public
magik: /labs/creative-studio/magiks/generate-an-image.md
---

# Generate an image — July 3, 2026

Généré par : [/labs/creative-studio/magiks/generate-an-image.md](/labs/creative-studio/magiks/generate-an-image.md)

```json
{
  "alt": "Generated image",
  "url": "https://ifcve2tmjgaa6cua.public.blob.vercel-storage.com/outputs/25996bec-6542-4c58-a4e9-86f6e1edf409.png"
}
```


<!-- FILE: outputs/da93bf42-52a2-4225-b978-2fb1f0ebdcde.md -->

---
type: output
title: Example output
resource: /o/da93bf42-52a2-4225-b978-2fb1f0ebdcde
timestamp: '2026-08-11T07:10:37.646Z'
visibility: public
magik: /labs/watch-studio/magiks/define-your-watch.md
---

# Example output

Généré par : [/labs/watch-studio/magiks/define-your-watch.md](/labs/watch-studio/magiks/define-your-watch.md)

# Your watch

**What you are watching**
The French rules on packaging for cosmetics sold online. Specifically: what must appear on the label, what must appear on the product page, and what the two do not have to share.

**Why it matters to you**
You sell 40 references. A labelling change means a print run, a photo shoot and 40 page updates. You want six weeks of warning, not six days.

**Where to look**
| Source | What it publishes | Rhythm |
|---|---|---|
| Légifrance, arrêtés cosmétiques | the text itself | irregular |
| DGCCRF, avis aux professionnels | the reading and the tolerances | monthly |
| Cosmetic Europe, position papers | what the sector is negotiating | quarterly |

**What counts as a change**
A published text, or an official reading that changes what must appear. Not: a press article, a competitor doing something new, a LinkedIn post from a lawyer.

**What does not count**
Everything upstream of publication. Drafts, consultations and rumours are noise for you: you cannot reprint 40 labels on a rumour.


<!-- FILE: outputs/e745e3da-446d-4d7c-b4a8-2f488f232d64.md -->

---
type: output
title: On-brand image · morning mug
resource: /o/e745e3da-446d-4d7c-b4a8-2f488f232d64
timestamp: '2026-08-11T07:52:27.611Z'
visibility: public
magik: /labs/creative-studio/magiks/generate-an-image.md
---

# On-brand image · morning mug

Généré par : [/labs/creative-studio/magiks/generate-an-image.md](/labs/creative-studio/magiks/generate-an-image.md)

```json
{
  "url": "https://ifcve2tmjgaa6cua.public.blob.vercel-storage.com/uploads/7e76b67a-8b2a-40d0-864c-8fe46dc1b8f1.png",
  "is_sample": true
}
```


<!-- FILE: outputs/e9f48cac-d5c2-419b-b16c-043b56555d38.md -->

---
type: output
title: Example output
resource: /o/e9f48cac-d5c2-419b-b16c-043b56555d38
timestamp: '2026-08-11T07:10:34.844Z'
visibility: public
magik: /labs/seo-studio/magiks/what-moved.md
---

# Example output

Généré par : [/labs/seo-studio/magiks/what-moved.md](/labs/seo-studio/magiks/what-moved.md)

# What moved since 12 February

**Five questions tracked. Two moved, three did not.**

| Question | Then | Now | |
|---|---|---|---|
| how long a leather bag should last | not present | 6 | your page, published 20 Feb |
| repairing a leather bag handle | 14 | 9 | same page, ranks for both |
| full-grain vs corrected-grain | 22 | 21 | flat |
| how to price a leather bag made in France | not present | not present | nothing written yet |
| workshop Charente visit | 3 | 3 | already yours |

**What actually happened**
One page moved two questions at once, which is the normal case when a question has been answered properly rather than targeted.

**What did not move, and why**
The pricing question has no page. Nothing was expected.

**What not to conclude**
Three weeks is short. Position 6 on a question with modest volume can move on its own next month, in either direction.


<!-- FILE: outputs/f479477f-3c67-48db-9772-701851a51fec.md -->

---
type: output
title: Example output
resource: /o/f479477f-3c67-48db-9772-701851a51fec
timestamp: '2026-08-11T07:10:33.910Z'
visibility: public
magik: /labs/seo-studio/magiks/ask-the-assistants.md
---

# Example output

Généré par : [/labs/seo-studio/magiks/ask-the-assistants.md](/labs/seo-studio/magiks/ask-the-assistants.md)

# What the assistants say

**Question tested:** how long should a leather bag last
**Assistants:** four, same question, no context, 11 March.

| Assistant | Gives a number | Mentions the handle | Cites anyone |
|---|---|---|---|
| A | « many years » | no | no |
| B | 10 to 20 years | no | one marketplace |
| C | « decades with care » | no | no |
| D | 15 years+ | **yes** | two blogs |

**What this says**
Three of four answer with an adjective, not a number. The one that mentions the handle is also the only one that cites sources, and neither of them is you.

**Why that is the opening**
An assistant quotes what is precise and attributable. « The handle attachment fails between year four and year eight under daily use » is quotable. « Many years » is not.

**What it does not prove**
That writing the page will get you quoted. It shows the gap, not the outcome.


<!-- FILE: outputs/f79a569e-cc26-4e4c-b2bf-9579d1a8dd46.md -->

---
type: output
title: Example output
resource: /o/f79a569e-cc26-4e4c-b2bf-9579d1a8dd46
timestamp: '2026-08-11T07:10:37.333Z'
visibility: public
---

# Example output

# Voice constitution

**Built from six exchanges, no writing samples.**

**How you build a sentence**
Short. You lead with the fact and add the nuance after, never before. Average sentence in your spoken answers: 14 words. You almost never use a subordinate clause at the start.

**What you do that most people do not**
You contradict the expected answer in the first line, then justify. « The leather is not what fails. » Then the explanation. That is a structure, and it is reusable.

**Your verbs**
Concrete and physical: cut, stitch, carry, fail, last. You avoid abstract verbs almost entirely. No « leverage », no « enable », no « empower ».

**How you handle uncertainty**
You say « I do not know » and then say what would settle it. Three times out of six exchanges. Keep it: it is rare and it reads as competence.

**What you never do**
Superlatives. Rhetorical questions. Addressing the reader as « you » in the first sentence.

**The line that is most yours**
« It will outlive you, but the handle will not. »


<!-- FILE: outputs/fecbb541-a9f8-435d-abcb-c9a2206907e4.md -->

---
type: output
title: Example output
resource: /o/fecbb541-a9f8-435d-abcb-c9a2206907e4
timestamp: '2026-08-11T07:10:37.956Z'
visibility: public
magik: /labs/watch-studio/magiks/is-this-real.md
---

# Example output

Généré par : [/labs/watch-studio/magiks/is-this-real.md](/labs/watch-studio/magiks/is-this-real.md)

# Verification: « shelf life must be justifiable »

**The claim, as it reached you**
A newsletter states that since March, cosmetics sold online must display their shelf-life justification on the product page.

**The primary source**
DGCCRF notice of 6 March 2026, section 4. Read in full.

**What the text actually says**
The justification must be *held* by the person responsible and *produced on request* during a check. The word « display » does not appear. Nothing requires it on a public page.

**Verdict: partly false.**
The obligation is real, its form is not. Someone turned « hold and produce » into « display », which is a different job and a different cost.

**What to do**
Keep the justification in your product file. Do not touch your 40 pages.

**Why this check mattered**
The two readings differ by about three weeks of work.


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

---
title: Outputs
description: Outputs index
count: 23
---

# Outputs

- [Product shot · stoneware bowl](/outputs/7dcf3c54-fe16-47e7-a417-76e099d834f0.md) (`public`)
- [On-brand image · morning mug](/outputs/e745e3da-446d-4d7c-b4a8-2f488f232d64.md) (`public`)
- [Style board · three directions](/outputs/ca990e38-1fb7-4dfc-ac8c-1ac2a63e750a.md) (`public`)
- [Example output](/outputs/4149a456-cb04-4f21-9ac7-f99657d9d7ac.md) (`public`)
- [Example output](/outputs/84bf08bb-259e-4ca1-b935-b61344345435.md) (`public`)
- [Example output](/outputs/7122f5fe-42a1-4fab-95a9-a62b87eed3c4.md) (`public`)
- [Example output](/outputs/fecbb541-a9f8-435d-abcb-c9a2206907e4.md) (`public`)
- [Example output](/outputs/da93bf42-52a2-4225-b978-2fb1f0ebdcde.md) (`public`)
- [Example output](/outputs/f79a569e-cc26-4e4c-b2bf-9579d1a8dd46.md) (`public`)
- [Example output](/outputs/4c5622c3-18ea-4f06-8849-ab58899563cd.md) (`public`)
- [Example output](/outputs/8e2fdb03-b427-4620-b2cd-a3a3c77d8aed.md) (`public`)
- [Example output](/outputs/57690c67-bc8c-4143-8f87-01736580d5cf.md) (`public`)
- [Example output](/outputs/767ad7df-5e75-4dbb-aa8f-94e7b3e3fea1.md) (`public`)
- [Example output](/outputs/0ba195d1-d2ad-4a83-b8da-50dfe1fe438d.md) (`public`)
- [Example output](/outputs/d3f16e46-6e04-4624-a829-6864ddaeb07e.md) (`public`)
- [Example output](/outputs/d457412f-9324-4c5c-8a3c-c403aa07c138.md) (`public`)
- [Example output](/outputs/e9f48cac-d5c2-419b-b16c-043b56555d38.md) (`public`)
- [Example output](/outputs/6cf7e80d-ca90-443b-a26f-947cc376b8f2.md) (`public`)
- [Example output](/outputs/77e8165a-0b9a-4790-bbe5-2909aa13db69.md) (`public`)
- [Example output](/outputs/f479477f-3c67-48db-9772-701851a51fec.md) (`public`)
- [Repurpose this content — July 3, 2026](/outputs/ce5a4490-344c-4bb0-ab63-733f8dcc2d46.md) (`public`)
- [Generate an image — July 3, 2026](/outputs/d52dcdd5-53c6-448c-9932-837937cddd90.md) (`public`)
- [Own Your AI meetup — poster visual](/outputs/6060fc77-a94a-41f3-9382-a598bc7a38f0.md) (`public`)
