The INTENTIONS lane of a content factory. One command: mine the owner's intentions from all of the day's sessions → cluster into distinct intentions → store → write 2-3 detailed intention- posts with an explicit ASK, per channel (X/Telegram/forums) → drafts only. Plus a response loop: who answered the ask → responders list. Trigger on "/intention", "mine today's intentions", "intention posts".
Scanned 9/5/2026
Install to Claude Code
npx -y skills add tonydzi/second-brain-starter-kit --skill intention --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Intention?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/tonydzi-intention)More formats (shields.io, HTML) on the badges page.
---
name: intention
description: >
The INTENTIONS lane of a content factory. One command: mine the owner's intentions from all of
the day's sessions → cluster into distinct intentions → store → write 2-3 detailed intention-
posts with an explicit ASK, per channel (X/Telegram/forums) → drafts only. Plus a response
loop: who answered the ask → responders list. Trigger on "/intention", "mine today's
intentions", "intention posts".
license: MIT
---
INTENTION_LANE_RUN
# /intention — the day's intentions → intention posts (draft-first)
GOAL: turn the owner's INTENTIONS of today (every pain / "how do I do X" question / "I need someone who…" from the day's sessions) into 2-3+ honest intention posts with an explicit ASK, so the audience returns ALPHA (a solution, a warm intro, a warning, a co-author). Draft-first: nothing is published, the drafts go to the owner over Telegram.
## Paths and engine
- Miner + store: `python $IMPORTS_ROOT/content-factory/intention/intention_mine.py <cmd>` (0 tokens).
- Store: `intentions.db` (never loses anything; deduped by content hash).
- Candidates: `candidates\cand-<DAY>.md`. Drafts: `drafts\intentions-<DAY>.md`.
- Decision/canon: `$OBSIDIAN_VAULT/02-Decisions/decision-intention-lane-content-factory-2026-07-02.md`.
- Telegram Saved Messages (the primary work account): numeric chat_id `<YOUR_CHAT_ID>` (NOT "me", no parse_mode).
- ⚠️ DELIVERY FALLBACK (when the Telegram MCP is unavailable/connecting — it drops out routinely): the Telethon rail, MCP-independent. Text: `TG_BUS_GROUP=<YOUR_CHAT_ID> python $USERPROFILE/.claude/scripts/tg_bus_send.py --raw "…"`; file: `… --raw --file "<path>" "<caption>"`. Verified 2026-07-02.
## Channel rules (from Deep Research 2026-07-02) — IMPORTANT
- Channels for alpha-seeking ask posts: **Telegram** (RU) · **X** (EN, #buildinpublic) · **Indie Hackers** (EN) · **Ask HN** (EN, "Ask HN:"). Optional: LinkedIn (business tone).
- ⛔ **Do NOT post asks on long-form article platforms or in the Facebook body** — the ask format does not work there (an article platform is for articles, not quick answers). Those platforms are separately the channel for longreads/dev-logs, not intentions.
- The platform decides the language: Telegram=RU, X/IH/HN=EN. No forced bilingual output.
## The intention-post format (established)
Context (what I'm doing) → what failed / what I realised → **an explicit, concrete ask** at the end. Honest, vulnerable tone, no marketing gloss. A concrete request ("do I pick A or B?", "I need an expert on X, who has done it?") beats a vague one. **Describe IN DETAIL how the owner got here and why** (his own rule). Length: X = teaser (240-370), Telegram/IH = medium, Ask HN = "Ask HN: <question>" + a paragraph.
5 templates (need an expert / A-vs-B choice / hit a wall / realised I was wrong / general poll) — in the decision memo §A4 / the DR.
## PRIVACY (hard)
No real names / @handles of third parties, no exact amounts (revenue/rounds/other people's deals), no secrets or paths with personal ids. Generalise ("a large lead", "$X"). Privacy beats completeness.
## MODEL
The post is the owner's authorial voice → written by the **top-tier model**. If the current run is NOT on it — delegate THE WRITING ITSELF to a subagent with `model:'opus'` (Agent tool), passing it the candidates + the format + the privacy rules. Clustering / candidate selection can run on a cheap model.
## STEPS
1. DAY = today's local date YYYY-MM-DD (print ASCII only).
2. Mining: `intention_mine.py mine <DAY>`. Read the summary (CANDIDATES) and the file `candidates\cand-<DAY>.md`.
3. If CANDIDATES == 0: do not invent anything. Tell the owner over Telegram "📭 <DAY>: no intentions mined today" and finish.
4. CLUSTERING (the judge): assemble DISTINCT intentions out of the raw candidates (one pain = one intention; merge repeats of the same topic). For each: a short title · pain (the pain/question) · journey (how he got here + why, in detail) · ask (the explicit request). Discard pure noise (non-intentions, housekeeping).
5. Store: for every distinct intention — `intention_mine.py add --day <DAY> --title "…" --pain "…" --journey "…" --ask "…" --sessions "sid1,sid2"`. Dedup will drop the ones already stored (that is fine — we don't post twice).
6. SELECTION for posting: take the 2-3 most alpha-worthy intentions OF TODAY (a strong concrete ask, freshness). More if the day was rich.
7. WRITING (top model): for each selected intention, write posts for the suitable channels (Telegram-RU + X-EN at minimum; add IH/Ask HN where the ask fits). Format + privacy as above. Vary the type (request / choice / realised-I-was-wrong).
8. Save every draft into `drafts\intentions-<DAY>.md` (UTF-8, no BOM; APPEND ONLY, never overwrite someone else's edits — if the file exists, append a section stamped with the run time). Mark the intentions: `intention_mine.py mark --id N --status drafted`.
9. Send to Telegram (chat_id `<YOUR_CHAT_ID>`, no parse_mode) a header "🎯 Intention drafts for <DAY> (edit and post them yourself):" + per intention a block "— <title> —" and the per-channel versions. Longer than ~4000 → split on paragraph boundaries into "Part N/M".
10. Report to the owner: how many intentions were mined / stored / drafted, which channels, what was deferred. Finish with "what's next".
## The bridge into an episode (intention → longread/dev-log on GitHub)
A strong intention is worth expanding into a "reality show episode": `intention_mine.py episode --id <N>` creates an episode bundle (9 drafts across the tiers of §7.2, including the longread tier — the article platform here is the LONGREAD channel, not an ask channel) + `intention-seed.md` carrying the context (pain/journey/ask) for the writer. Then write the drafts (voice = top model) in `episodes/<slug>/`, then `python episode_adapter.py check --slug <slug>`. The intention is marked `status=episode`. This is the seam with `/episode` — don't duplicate it, call it.
## The alpha loop (as responses arrive)
The owner says "<who> replied to the post about X" → `intention_mine.py respond --id <N> --who "<name/@>" --channel <channel> --note "<gist>"`. Check the queue: `responders --pending`. Promotion into the CRM (`leads.db`) is a separate verifiable step through the normal lead flow (never write into the production CRM blind).
## Boundaries
Draft-first is HARD — nothing goes outbound without the owner's explicit "publish". Don't post asks on article platforms. AK-47: don't spawn platforms beyond the decided set. Tier-2 (outbound/money) is not waived.
---
<!-- CONTACT-FOOTER -->
## About & contact
Built and battle-tested at **Palo Alto AI Research Lab** — a fleet of Claude Code machines
running 24/7 as a second brain and synthetic cofounder. Every skill here survived real
production use before publication.
- 📦 All 101 skills: https://github.com/tonydzi/second-brain-starter-kit
- 👤 Author: **Anton Dziatkovskii** — Telegram [@tonydzi](https://t.me/tonydzi) · WhatsApp [+1 341 222 9178](https://wa.me/13412229178) · X [@Tony_Stef_](https://x.com/Tony_Stef_)
- 🧪 **Engineers: want to test-drive this setup?** Message me — I hand out free starter seeds to engineers who test and report back. Custom skill requests welcome.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!