felo-ai 0.2.43 → 0.2.46

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -127,23 +127,48 @@ felo apple-buy-advisor "Is it worth upgrading to iPad Air 13?"
127
127
  /apple-buy-advisor Is it worth upgrading to iPad Air 13?
128
128
  ```
129
129
 
130
+ **Twitter Writer** — [full options →](./felo-twitter-writer/SKILL.md)
131
+
132
+ ```bash
133
+ # Use as Claude Code skill
134
+ /felo-twitter-writer Analyze @paulg's tweet style and extract a style DNA
135
+ /felo-twitter-writer Write 3 tweets about AI trends in @paulg's style
136
+ /felo-twitter-writer Write a Twitter thread about why most startups fail
137
+ ```
138
+
139
+ **SuperAgent** — [full options →](./felo-superAgent/README.md)
140
+
141
+ ```bash
142
+ # Use as Claude Code skill
143
+ /felo-superagent What is the latest news about AI?
144
+ /felo-superagent Tell me more --thread-id <thread_short_id>
145
+ ```
146
+
147
+ ```bash
148
+ # Run script directly
149
+ node felo-superAgent/scripts/run_superagent.mjs --query "What is quantum computing?"
150
+ node felo-superAgent/scripts/run_superagent.mjs --query "Tell me more" --thread-id <thread_short_id>
151
+ ```
152
+
130
153
  **[See 40+ more examples →](./docs/EXAMPLES.md)**
131
154
 
132
155
  ---
133
156
 
134
157
  ## Skills Overview
135
158
 
136
- 7 skills across search, content generation, web scraping, social media, knowledge base, and shopping advice:
159
+ 9 skills across search, content generation, web scraping, social media, knowledge base, shopping advice, Twitter writing, and AI conversation:
137
160
 
138
- | Skill | Description | Docs |
139
- | --------------------------- | ------------------------------------------------------------- | ------------------------------- |
140
- | **felo-search** | Real-time web search with AI answers. Triggers automatically. | [→](./felo-search/) |
141
- | **felo-slides** | Generate PPT from a prompt | [→](./felo-slides/) |
142
- | **felo-web-fetch** | Fetch and extract webpage content | [→](./felo-web-fetch/) |
143
- | **felo-youtube-subtitling** | Fetch YouTube video subtitles | [→](./felo-youtube-subtitling/) |
144
- | **felo-x-search** | Search X (Twitter) tweets, users, replies | [→](./felo-x-search/SKILL.md) |
145
- | **felo-livedoc** | Manage knowledge bases and semantic retrieval | [→](./felo-livedoc/) |
146
- | **apple-buy-advisor** | Research and compare Apple products before you buy | [→](./apple-buy-advisor/) |
161
+ | Skill | Description | Docs |
162
+ | --------------------------- | ------------------------------------------------------------- | ----------------------------------------- |
163
+ | **felo-search** | Real-time web search with AI answers. Triggers automatically. | [→](./felo-search/) |
164
+ | **felo-slides** | Generate PPT from a prompt | [→](./felo-slides/) |
165
+ | **felo-web-fetch** | Fetch and extract webpage content | [→](./felo-web-fetch/) |
166
+ | **felo-youtube-subtitling** | Fetch YouTube video subtitles | [→](./felo-youtube-subtitling/) |
167
+ | **felo-x-search** | Search X (Twitter) tweets, users, replies | [→](./felo-x-search/SKILL.md) |
168
+ | **felo-livedoc** | Manage knowledge bases and semantic retrieval | [→](./felo-livedoc/) |
169
+ | **apple-buy-advisor** | Research and compare Apple products before you buy | [→](./apple-buy-advisor/) |
170
+ | **felo-twitter-writer** | Analyze tweet style DNA and compose tweets, threads, X posts | [→](./felo-twitter-writer/SKILL.md) |
171
+ | **felo-superAgent** | AI conversation with real-time streaming, continuous threads | [→](./felo-superAgent/README.md) |
147
172
 
148
173
  ---
149
174
 
@@ -163,6 +188,8 @@ felo apple-buy-advisor "Is it worth upgrading to iPad Air 13?"
163
188
  /plugin install felo-x-search@felo-ai
164
189
  /plugin install felo-livedoc@felo-ai
165
190
  /plugin install apple-buy-advisor@felo-ai
191
+ /plugin install felo-twitter-writer@felo-ai
192
+ /plugin install felo-superAgent@felo-ai
166
193
  ```
167
194
 
168
195
  ### ClawHub
@@ -177,6 +204,8 @@ clawhub install felo-youtube-subtitling
177
204
  clawhub install felo-x-search
178
205
  clawhub install felo-livedoc
179
206
  clawhub install apple-buy-advisor
207
+ clawhub install felo-twitter-writer
208
+ clawhub install felo-superAgent
180
209
  ```
181
210
 
182
211
  ### Gemini CLI
@@ -53,8 +53,9 @@ node felo-livedoc/scripts/run_livedoc.mjs list --json
53
53
  # node felo-livedoc/scripts/run_livedoc.mjs create --name "Twitter Writer" --json
54
54
 
55
55
  # Step 3: Pass tweets to SuperAgent for style analysis
56
+ # First call in session (no thread_short_id yet):
56
57
  node felo-superAgent/scripts/run_superagent.mjs \
57
- --query "Analyze the following tweets from @elonmusk and extract a writing style DNA document covering tone, sentence structure, opening hooks, hashtag strategy, and emoji usage.\n\nBio: [BIO]\n\nTweets:\n[TWEETS]" \
58
+ --query "/twitter-writer Analyze the following tweets from @elonmusk and extract a writing style DNA document covering tone, sentence structure, opening hooks, hashtag strategy, and emoji usage.\n\nBio: [BIO]\n\nTweets:\n[TWEETS]" \
58
59
  --live-doc-id "LIVE_DOC_ID" \
59
60
  --skill-id twitter-writer \
60
61
  --accept-language en
@@ -63,16 +64,16 @@ node felo-superAgent/scripts/run_superagent.mjs \
63
64
  ### 3) Mode 2 — Create content
64
65
 
65
66
  ```bash
66
- # New conversation (no prior style DNA)
67
+ # New conversation (no thread_short_id in session)
67
68
  node felo-superAgent/scripts/run_superagent.mjs \
68
- --query "Write 3 versions of a tweet about AI trends in an engaging, punchy style." \
69
+ --query "/twitter-writer Write 3 versions of a tweet about AI trends in an engaging, punchy style." \
69
70
  --live-doc-id "LIVE_DOC_ID" \
70
71
  --skill-id twitter-writer \
71
72
  --accept-language en
72
73
 
73
- # Follow-up after Mode 1 (reuse thread — pass --thread-id from previous [state] output)
74
+ # Follow-up after Mode 1 (thread_short_id already exists — pass --thread-id from previous [state] output)
74
75
  node felo-superAgent/scripts/run_superagent.mjs \
75
- --query "Based on the style DNA above, write 3 tweets about startups. Keep each under 280 characters." \
76
+ --query "/twitter-writer Based on the style DNA above, write 3 tweets about startups. Keep each under 280 characters." \
76
77
  --thread-id "THREAD_SHORT_ID" \
77
78
  --live-doc-id "LIVE_DOC_ID" \
78
79
  --accept-language en
@@ -78,16 +78,30 @@ Follow Constraint #4 above.
78
78
 
79
79
  #### Step 3: Call SuperAgent with tweet content
80
80
 
81
- Construct a query that includes the fetched tweets and asks for style analysis. Pass `--skill-id twitter-writer` since this is a new conversation.
81
+ Determine conversation mode first:
82
+ - If **no** `thread_short_id` exists in this session → new conversation (pass `--skill-id twitter-writer`)
83
+ - If `thread_short_id` **already exists** in this session → follow-up (pass `--thread-id`)
84
+
85
+ **New conversation (first call in session):**
82
86
 
83
87
  ```bash
84
88
  node felo-superAgent/scripts/run_superagent.mjs \
85
- --query "ENRICHED_QUERY_WITH_TWEET_CONTENT" \
89
+ --query "/twitter-writer ENRICHED_QUERY_WITH_TWEET_CONTENT" \
86
90
  --live-doc-id "LIVE_DOC_ID" \
87
91
  --skill-id twitter-writer \
88
92
  --accept-language LANG
89
93
  ```
90
94
 
95
+ **Follow-up (thread_short_id already exists):**
96
+
97
+ ```bash
98
+ node felo-superAgent/scripts/run_superagent.mjs \
99
+ --query "/twitter-writer ENRICHED_QUERY_WITH_TWEET_CONTENT" \
100
+ --thread-id "THREAD_SHORT_ID" \
101
+ --live-doc-id "LIVE_DOC_ID" \
102
+ --accept-language LANG
103
+ ```
104
+
91
105
  **Query construction example:**
92
106
 
93
107
  > Please analyze the following tweets from @USERNAME and extract a writing style DNA document. Cover dimensions such as: tone, sentence structure, opening hooks, closing calls-to-action, frequently used words, hashtag strategy, emoji usage, and any other distinctive patterns.
@@ -128,27 +142,27 @@ Follow Constraint #4. If Mode 1 was already run, reuse the same `live_doc_id`.
128
142
 
129
143
  | Condition | Mode | What to pass |
130
144
  |-----------|------|--------------|
131
- | First call in session, or switching to twitter-writer skill | New conversation | `--live-doc-id` + `--skill-id twitter-writer` |
132
- | Continuing from Mode 1 or a previous Mode 2 call | Follow-up | `--thread-id` + `--live-doc-id` |
133
- | User says "new topic" / "start over" | New conversation | `--live-doc-id` + `--skill-id twitter-writer` |
145
+ | No `thread_short_id` in this session (truly first call) | New conversation | `--live-doc-id` + `--skill-id twitter-writer` |
146
+ | `thread_short_id` already exists in this session (all subsequent inputs, including after Mode 1) | Follow-up | `--thread-id` + `--live-doc-id` |
147
+ | User says "new topic" / "start over" (clear `thread_short_id`) | New conversation | `--live-doc-id` + `--skill-id twitter-writer` |
134
148
 
135
149
  #### Step 4: Call SuperAgent
136
150
 
137
- **New conversation:**
151
+ **New conversation (no `thread_short_id` in session):**
138
152
 
139
153
  ```bash
140
154
  node felo-superAgent/scripts/run_superagent.mjs \
141
- --query "ENRICHED_QUERY" \
155
+ --query "/twitter-writer ENRICHED_QUERY" \
142
156
  --live-doc-id "LIVE_DOC_ID" \
143
157
  --skill-id twitter-writer \
144
158
  --accept-language LANG
145
159
  ```
146
160
 
147
- **Follow-up (iterating on previous output):**
161
+ **Follow-up (`thread_short_id` already exists in session):**
148
162
 
149
163
  ```bash
150
164
  node felo-superAgent/scripts/run_superagent.mjs \
151
- --query "USER_FOLLOW_UP" \
165
+ --query "/twitter-writer USER_FOLLOW_UP" \
152
166
  --thread-id "THREAD_SHORT_ID" \
153
167
  --live-doc-id "LIVE_DOC_ID" \
154
168
  --accept-language LANG
@@ -217,10 +231,10 @@ node felo-x-search/scripts/run_x_search.mjs --id "paulg" --user
217
231
 
218
232
  **Step 2:** Get `live_doc_id` (list or create)
219
233
 
220
- **Step 3:** Call SuperAgent:
234
+ **Step 3:** Call SuperAgent (first call in session — no `thread_short_id` yet):
221
235
  ```bash
222
236
  node felo-superAgent/scripts/run_superagent.mjs \
223
- --query "@paulg のツイートを分析し、文体のスタイルDNAドキュメントを作成してください。トーン、文章構造、冒頭フック、締めのアクション、頻出ワード、ハッシュタグ戦略、絵文字の使い方などを含めてください。\n\nアカウント概要:[BIO]\n\nツイート:\n[TWEETS]" \
237
+ --query "/twitter-writer @paulg のツイートを分析し、文体のスタイルDNAドキュメントを作成してください。トーン、文章構造、冒頭フック、締めのアクション、頻出ワード、ハッシュタグ戦略、絵文字の使い方などを含めてください。\n\nアカウント概要:[BIO]\n\nツイート:\n[TWEETS]" \
224
238
  --live-doc-id "LIVE_DOC_ID" \
225
239
  --skill-id twitter-writer \
226
240
  --accept-language ja
@@ -240,10 +254,10 @@ User: "@paulg のスタイルでスタートアップについてのツイート
240
254
 
241
255
  **Step 2:** Reuse `live_doc_id` from Mode 1
242
256
 
243
- **Step 3:** Follow-up call (continuing the same thread):
257
+ **Step 3:** Follow-up call (continuing the same thread — `thread_short_id` from Example A):
244
258
  ```bash
245
259
  node felo-superAgent/scripts/run_superagent.mjs \
246
- --query "上記で抽出した @paulg のスタイルDNAをもとに、「スタートアップ」をテーマにしたツイートを3パターン作成してください。それぞれ異なるトーンや切り口で、280文字以内に収めてください。" \
260
+ --query "/twitter-writer 上記で抽出した @paulg のスタイルDNAをもとに、「スタートアップ」をテーマにしたツイートを3パターン作成してください。それぞれ異なるトーンや切り口で、280文字以内に収めてください。" \
247
261
  --thread-id "THREAD_SHORT_ID" \
248
262
  --live-doc-id "LIVE_DOC_ID" \
249
263
  --accept-language ja
@@ -261,10 +275,10 @@ User: "Write a Twitter thread about why most startups fail"
261
275
 
262
276
  **Step 2:** Get `live_doc_id`
263
277
 
264
- **Step 3:** New conversation with `twitter-writer`:
278
+ **Step 3:** New conversation with `twitter-writer` (first call in session — no `thread_short_id` yet):
265
279
  ```bash
266
280
  node felo-superAgent/scripts/run_superagent.mjs \
267
- --query "Write a Twitter thread (6–8 tweets) about why most startups fail. Start with a strong hook tweet that grabs attention. Each tweet should stand alone but flow naturally into the next." \
281
+ --query "/twitter-writer Write a Twitter thread (6–8 tweets) about why most startups fail. Start with a strong hook tweet that grabs attention. Each tweet should stand alone but flow naturally into the next." \
268
282
  --live-doc-id "LIVE_DOC_ID" \
269
283
  --skill-id twitter-writer \
270
284
  --accept-language en
@@ -282,10 +296,10 @@ User: "2番目のツイートをもっとユーモラスにして、絵文字も
282
296
 
283
297
  **Step 2:** This is a follow-up — pass `--thread-id` with the saved `thread_short_id`.
284
298
 
285
- **Step 3:** Follow-up call:
299
+ **Step 3:** Follow-up call (`thread_short_id` already exists in session):
286
300
  ```bash
287
301
  node felo-superAgent/scripts/run_superagent.mjs \
288
- --query "上記で生成した2番目のツイートを修正してください。トーンをよりユーモラスで軽快にし、適切な絵文字を追加してください。内容の意図は変えないでください。" \
302
+ --query "/twitter-writer 上記で生成した2番目のツイートを修正してください。トーンをよりユーモラスで軽快にし、適切な絵文字を追加してください。内容の意図は変えないでください。" \
289
303
  --thread-id "THREAD_SHORT_ID" \
290
304
  --live-doc-id "LIVE_DOC_ID" \
291
305
  --accept-language ja
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "felo-ai",
3
- "version": "0.2.43",
3
+ "version": "0.2.46",
4
4
  "description": "Felo AI CLI - real-time search, PPT generation, SuperAgent conversation, LiveDoc management, web fetch, YouTube subtitles, LiveDoc knowledge base, and X (Twitter) search from the terminal",
5
5
  "type": "module",
6
6
  "main": "src/cli.js",
@@ -32,7 +32,8 @@
32
32
  "url": "git+https://github.com/Felo-Inc/felo-skills.git"
33
33
  },
34
34
  "dependencies": {
35
- "commander": "^12.0.0"
35
+ "commander": "^12.0.0",
36
+ "felo-ai": "^0.2.43"
36
37
  },
37
38
  "scripts": {
38
39
  "test": "node --test tests/",