⚡ Junior Tony — Digital Twin Agent
Product Requirements Document
Owner: Victor Slompo
Date: 2026-06-10
Status: Awaiting Approval
Source: Tony × Victor call (Jun 9)
1. Problem
Tony needs a credible digital presence that posts consistently on LinkedIn — thought leadership content aligned with his voice, style, and AIPMO positioning. Manual posting is inconsistent and competes with higher-value work.
This is the first step toward a broader digital twin strategy (future: Junior Joana, Junior Victor) that doubles as a live product demo and GTM funnel.
2. Solution
An autonomous OpenClaw agent ("Junior Tony") that generates and publishes LinkedIn content via the official LinkedIn API, with a human QA gate before every post goes live.
3. Value / Impact — The Funnel
This is NOT a content tool. It's a sales funnel disguised as a LinkedIn presence. The bot posting IS the product demo — a digital twin operating autonomously proves the exact capability T&C sells.
📝 Junior Tony posts thought leadership on LinkedIn
▼
💬 Prospects engage with content
▼
📅 Interested prospects seek meeting with "Tony"
▼
🤝 Tony closes — AIPMO / T&C services
- Self-qualifying leads — prospects who engage with AI-generated thought leadership are already primed for the AIPMO conversation
- Tony's time only on closers — the funnel filters so Tony only meets pre-qualified prospects
- Foundation for digital twin fleet and AIPMO-capable agents (Kindo agents 6, 7, 11)
4. Scope — Phase 1 (MVP)
4.1 What's IN
| # | Deliverable | Detail |
| 1 | LinkedIn App | LinkedIn Developer Portal. OAuth 2.0, scope w_member_social. New LinkedIn account (separate from Tony's). |
| 2 | Slack Bot | New Slack App in VTKL workspace. Own identity: "Junior Tony", custom avatar. |
| 3 | OpenClaw Instance | New workspace in t-and-c-golden. Own SOUL.md, AGENTS.md, MEMORY.md. AWS deploy. |
| 4 | SOUL.md — Tony's Voice | Built from: Tony comm style guide, WWTD corpus, Steve Ward "digital Tony" validation, coaching transcripts. |
| 5 | Content Generation | LinkedIn posts: text, articles, images. Topics: AIPMO, AI strategy, decision-making. |
| 6 | QA Review Gate | Slack channel #junior-tony-review. Dukane reviews. ✅ = publish, ❌ = revise. |
| 7 | LinkedIn Publishing | Official API (POST /v2/ugcPosts). Text, URL, image, video. 150 req/day limit. |
| 8 | Token Management | OAuth 2.0 3-legged. 60-day token. Automated expiry alert. |
4.2 What's OUT (Phase 1)
| Item | Reason |
| Engagement on others' posts | No public API. Browser automation rejected — ban risk > value. |
| LinkedIn analytics | Requires Marketing API partnership. Defer. |
| LinkedIn messaging / InMail | Not available via Consumer API. |
| Junior Joana / Junior Victor | Future phases. Same architecture, different SOUL.md. |
| AIPMO work capabilities | Phase 2 — prove online presence first, then layer in work. |
5. Architecture
┌─────────────────────────────────────────────┐
│ Junior Tony │
│ (OpenClaw Instance) │
│ │
│ SOUL.md ← Tony's voice/style/DNA │
│ AGENTS.md ← posting rules, QA gates │
│ Skills: linkedin-poster, content-gen │
│ │
│ Channels: │
│ Slack (own bot) ← QA review + commands │
│ LinkedIn API ← publish posts │
└──────────┬──────────────┬────────────────────┘
│ │
▼ ▼
┌──────────────┐ ┌──────────────────┐
│ Slack │ │ LinkedIn API │
│ #junior-tony │ │ POST /v2/ugcPosts │
│ -review │ │ (OAuth 2.0) │
│ │ │ │
│ Dukane QAs │ │ New LI account │
└──────────────┘ └──────────────────┘
5.1 LinkedIn Integration
| Item | Detail |
| Account | New LinkedIn account (NOT Tony's real account) |
| App | LinkedIn Developer Portal → "Share on LinkedIn" product |
| Auth | 3-legged OAuth 2.0. Authorize once via browser. |
| Scope | w_member_social — post, comment, like |
| Token | 60-day expiry. Secure storage (Doppler/env). Auto-alert. |
| Rate Limits | 150/day per member · 100K/day per app |
5.2 Content Types
| Type | API Field | Notes |
| Text | NONE | Pure thought leadership |
| Article/URL | ARTICLE | Link + commentary |
| Image | IMAGE | Register → upload → post |
| Video | VIDEO | Same flow as image |
6. Execution Plan — 1 Week
Victor owns execution. Warren co-executes. Charlie assists with OpenClaw instance deploy only.
Day 1–2 — Foundation
| # | Task | Owner |
| 1 | Create new LinkedIn account | Victor |
| 2 | Create LinkedIn Developer App | Victor |
| 3 | Create Slack App "Junior Tony" | Victor |
| 4 | Create #junior-tony-review channel | Victor |
| 5 | Golden repo workspace config | Warren |
| 6 | Write SOUL.md | Warren |
| 7 | Write AGENTS.md | Warren |
Day 3–4 — Integration
| # | Task | Owner |
| 8 | OAuth flow + store token | Victor Warren |
| 9 | Build linkedin-poster skill | Warren |
| 10 | Content generation workflow | Warren |
| 11 | Deploy OpenClaw instance | Victor Charlie |
| 12 | Connect Slack bot | Victor Charlie |
| 13 | Wire QA gate | Warren |
Day 5 — Validation & Go Live
| # | Task | Owner |
| 14 | 5 test posts through QA cycle | Warren Dukane |
| 15 | Tony reviews & calibrates voice | Tony |
| 16 | Go live — first real posts | Victor |
7. QA Gate Flow
Agent generates post
│
▼
Posts draft to #junior-tony-review
│
▼
Dukane reviews
├── ✅ → Agent publishes to LinkedIn
├── ⚠️ → Agent revises, re-submits
└── ❌ → Agent discards, logs reason
8. Success Criteria
| Metric | Target |
| Posts per week | 3–5 consistent |
| QA pass rate | >80% first-submission |
| Voice accuracy | Tony confirms "sounds like me" ≥ 4/5 |
| Zero bans | No LinkedIn TOS violations |
| Token uptime | No expired-token outages |
9. Risks & Mitigations
| Risk | Impact | Mitigation |
| LinkedIn detects new account as bot | Account ban | Credible profile, human-like cadence, real photo/bio |
| Token expires unnoticed | Silent failures | Auto-alert 7 days before expiry |
| Content doesn't sound like Tony | Credibility loss | Heavy SOUL.md calibration + Tony feedback loop |
| LinkedIn API changes | Integration breaks | Monitor changelog; UGC v2 API is stable |
10. Future Phases
- Phase 2: Junior Joana, Junior Victor — same arch, different SOUL.md
- Phase 3: AIPMO capabilities — agents do real work (requirements, analysis)
- Phase 4: Funnel integration — LinkedIn → inbound → client pipeline
11. Decision Log
2026-06-10
API only, no browser automation — Ban risk far exceeds value of automated engagement
2026-06-10
New LinkedIn account — Isolate risk, keep Tony's real account clean
2026-06-10
Dukane as QA gate — Human review before all public content
2026-06-10
Victor owns execution — Full responsibility for delivery