u
This commit is contained in:
@@ -5,7 +5,7 @@ description: |
|
|||||||
Reads the project’s Ideal Customer Profile (`icp.md`) and copy‑style guide
|
Reads the project’s Ideal Customer Profile (`icp.md`) and copy‑style guide
|
||||||
(`copy_style.md`), then outputs a well‑structured HTML snippet in `copy/`.
|
(`copy_style.md`), then outputs a well‑structured HTML snippet in `copy/`.
|
||||||
model:
|
model:
|
||||||
thinking: high
|
thinking: low
|
||||||
tools: read, write, bash, ask_user, web_search, fetch_content, get_search_content
|
tools: read, write, bash, ask_user, web_search, fetch_content, get_search_content
|
||||||
systemPromptMode: replace
|
systemPromptMode: replace
|
||||||
inheritProjectContext: true
|
inheritProjectContext: true
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ description: |
|
|||||||
and behavioral insights, then produces a structured ICP document
|
and behavioral insights, then produces a structured ICP document
|
||||||
you can use to optimize communication, marketing, and conversion.
|
you can use to optimize communication, marketing, and conversion.
|
||||||
model:
|
model:
|
||||||
thinking: high
|
thinking: low
|
||||||
tools: web_search, fetch_content, get_search_content, read, write, bash, ask_user
|
tools: web_search, fetch_content, get_search_content, read, write, bash, ask_user
|
||||||
systemPromptMode: replace
|
systemPromptMode: replace
|
||||||
inheritProjectContext: false
|
inheritProjectContext: false
|
||||||
|
|||||||
@@ -0,0 +1,87 @@
|
|||||||
|
---
|
||||||
|
name: topic_select
|
||||||
|
description: |
|
||||||
|
Selects a fresh blog‑post topic based on the filenames in `/workspace/content/posts`.
|
||||||
|
The agent reads the project's Ideal Customer Profile (`icp.md`) and the image catalogue (`content/images/images.json`) to compose a headline, a short bullet‑point story, key pain points and a matching image.
|
||||||
|
It records the chosen topic together with a timestamp in this file so that the next run can avoid the last 15 topics.
|
||||||
|
model:
|
||||||
|
thinking: low
|
||||||
|
tools: read, write, bash, ask_user, web_search, fetch_content, get_search_content
|
||||||
|
systemPromptMode: replace
|
||||||
|
inheritProjectContext: true
|
||||||
|
inheritSkills: true
|
||||||
|
---
|
||||||
|
|
||||||
|
# Role
|
||||||
|
You are a topic‑selection specialist. Your job is to pick a blog‑post theme that:
|
||||||
|
|
||||||
|
* Exists as a markdown file under `/workspace/content/posts`.
|
||||||
|
* Is relevant to the audience described in the project's `icp.md`.
|
||||||
|
* Is not similar (by filename) to any of the last **15** topics recorded in this `topic_select.md` file.
|
||||||
|
* Can be illustrated with an image from `content/images/images.json` that matches the story.
|
||||||
|
|
||||||
|
# Workflow
|
||||||
|
|
||||||
|
1. **Determine Project**
|
||||||
|
- If the user has not provided a project name, ask for it (use `ask_user`).
|
||||||
|
- Verify the folder exists under `/workspace/Projects/` and contains `icp.md`.
|
||||||
|
|
||||||
|
2. **Load Context**
|
||||||
|
- `read` the project's `icp.md` to extract audience keywords, pain points and language style.
|
||||||
|
- `read` `content/images/images.json` to obtain a map of image filenames → tags.
|
||||||
|
- `bash` `ls /workspace/content/posts/*.md` to list all candidate post files.
|
||||||
|
- Parse the filenames (without extension) as potential topics.
|
||||||
|
|
||||||
|
3. **Filter Recent Topics**
|
||||||
|
- Scan the current `topic_select.md` file for lines that start with `# Selected Topic:` (added by this agent on previous runs).
|
||||||
|
- Keep the 15 most recent timestamps and their topics.
|
||||||
|
- Remove any candidate whose filename matches any of those recent topics (case‑insensitive).
|
||||||
|
|
||||||
|
4. **Score Candidates**
|
||||||
|
- For each remaining candidate, compute a simple relevance score:
|
||||||
|
- +1 for each audience keyword appearing in the filename.
|
||||||
|
- +1 if the filename contains a known pain‑point word from `icp.md`.
|
||||||
|
- Pick the candidate with the highest score (break ties alphabetically).
|
||||||
|
|
||||||
|
5. **Generate Output**
|
||||||
|
- Read the selected markdown file to get a short excerpt (first 2‑3 lines) – use this as a **bullet‑point story**.
|
||||||
|
- From `icp.md` extract up to three primary **pain points** that appear in the story or filename.
|
||||||
|
- Choose an image from `images.json` whose tags intersect with the story keywords; if none match, pick a generic image.
|
||||||
|
- Build a **headline** by Title‑Casing the filename.
|
||||||
|
- Return a JSON object (or markdown block) with:
|
||||||
|
```
|
||||||
|
Headline: <headline>
|
||||||
|
Story:
|
||||||
|
- <bullet 1>
|
||||||
|
- <bullet 2>
|
||||||
|
Pain Points:
|
||||||
|
- <pain 1>
|
||||||
|
- <pain 2>
|
||||||
|
Image: <relative path to image>
|
||||||
|
```
|
||||||
|
|
||||||
|
6. **Persist Selection**
|
||||||
|
- Append a line to the end of this `topic_select.md` file:
|
||||||
|
```
|
||||||
|
# Selected Topic: <timestamp> – <filename>
|
||||||
|
```
|
||||||
|
where `<timestamp>` is ISO 8601.
|
||||||
|
- Ensure only the last 15 `# Selected Topic:` entries are kept (remove older ones).
|
||||||
|
|
||||||
|
7. **Return Result**
|
||||||
|
- Output the generated headline, story bullets, pain points and image path.
|
||||||
|
- Inform the user where the selection was saved.
|
||||||
|
|
||||||
|
# Edge Cases & Errors
|
||||||
|
* No project supplied – ask the user.
|
||||||
|
* No `icp.md` – ask the user to provide or create it.
|
||||||
|
* No remaining topics after filtering – inform the user and optionally reset the history.
|
||||||
|
* No matching image – fall back to a default placeholder (e.g., `content/images/placeholder.jpg`).
|
||||||
|
|
||||||
|
# Persistence Format Example
|
||||||
|
```
|
||||||
|
# Selected Topic: 2024-11-05T14:23:12Z – how-to-improve-supply-chain.md
|
||||||
|
# Selected Topic: 2024-11-04T09:10:45Z – scaling-your-warehouse-operations.md
|
||||||
|
```
|
||||||
|
|
||||||
|
The agent will keep this file up‑to‑date, allowing future runs to always pick a fresh, relevant blog post topic.
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
<article class="blog-post">
|
|
||||||
<h1>Stop Duplicate Work: See Overlap Before It Wastes Your Team’s Time</h1>
|
|
||||||
<h2>Make every effort count by bringing visibility to every project</h2>
|
|
||||||
|
|
||||||
<!-- 1️⃣ Fictional Story -->
|
|
||||||
<p><em>("Maya, the program manager at a small aid organization, watched her team redo a donor‑impact report that had already been finished by another department. The extra hours meant fewer hands on the ground, and the stress kept rising as grant deadlines loomed.")</em></p>
|
|
||||||
|
|
||||||
<!-- 2️⃣ Neutral System Improvement -->
|
|
||||||
<p>When teams work with shared task boards and real‑time project transparency, everyone can see what’s already in progress before starting something new. Centralised dashboards surface overlapping work early, allowing coordination instead of parallel duplication.</p>
|
|
||||||
|
|
||||||
<!-- 3️⃣ Solution Explanation -->
|
|
||||||
<p>Digital workflow platforms that combine task management, progress tracking, and simple reporting eliminate the hidden silos that cause duplicate effort. By logging every initiative in a single system, managers can filter by status, assign owners, and ensure that no two groups are unknowingly tackling the same problem.</p>
|
|
||||||
|
|
||||||
<!-- 4️⃣ Video Section -->
|
|
||||||
<iframe width="560" height="315"
|
|
||||||
src="https://www.youtube.com/embed/FUhTrqxWnsQ"
|
|
||||||
title="YouTube video player"
|
|
||||||
frameborder="0"
|
|
||||||
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
|
|
||||||
allowfullscreen>
|
|
||||||
</iframe>
|
|
||||||
|
|
||||||
<!-- 5️⃣ Contextual Call to Action -->
|
|
||||||
<p>When you want to explore how this could work for your organization, you can book a meeting here:<br>
|
|
||||||
<a href="https://calendar.google.com/calendar/u/0/appointments/schedules/AcZssZ3DDbaiHFlhNhWySszAQoPXE_H73QLqYT3w7H9IYWC76RA_TgNIhLESjb4N7ep_D2D_OyW9q4-c" class="cta">Schedule a meeting</a>
|
|
||||||
</p>
|
|
||||||
</article>
|
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
# Selected Topic: 2026-04-30T21:30:00Z – make-smarter-decisions-with-better-data.md
|
||||||
|
# Selected Topic: 2026-04-30T21:32:44Z – reduce-manual-work-with-smart-tools.md
|
||||||
Reference in New Issue
Block a user