mirror of
https://github.com/rowboatlabs/rowboat.git
synced 2026-04-25 16:36:22 +02:00
128 lines
No EOL
4.8 KiB
JSON
128 lines
No EOL
4.8 KiB
JSON
{
|
|
"name": "podcast",
|
|
"description": "A workflow to create a podcast",
|
|
"steps": [
|
|
{
|
|
"type": "agent",
|
|
"id": "arxiv-feed-reader"
|
|
},
|
|
{
|
|
"type": "agent",
|
|
"id": "summarise-a-few"
|
|
},
|
|
{
|
|
"type": "agent",
|
|
"id": "podcast_transcript_agent"
|
|
},
|
|
{
|
|
"type": "agent",
|
|
"id": "elevenlabs_audio_gen"
|
|
}
|
|
]
|
|
}
|
|
|
|
{
|
|
"name": "summariser_workflow",
|
|
"description": "A workflow to summarise an arxiv paper",
|
|
"steps": [
|
|
{
|
|
"type": "agent",
|
|
"id": "summariser_agent"
|
|
}
|
|
]
|
|
}
|
|
|
|
{
|
|
"name": "summariser_agent",
|
|
"description": "An agent that will summarise an arxiv paper",
|
|
"model": "gpt-4.1",
|
|
"instructions": "Your job is to download and summarise an arxiv paper. Use a command like this to do it\n\n curl -L -o paper.pdf https://arxiv.org/pdf/2511.02997 (use the url that the user provides you). Important, just put out the GIST of the paper in two lines. Dont ask a human for inputs - do what you think is best.",
|
|
"tools": {
|
|
"bash": {
|
|
"type": "builtin",
|
|
"name": "executeCommand"
|
|
}
|
|
}
|
|
}
|
|
|
|
{
|
|
"name": "arxiv-feed-reader",
|
|
"description": "A feed reader for the arXiv",
|
|
"model": "gpt-4.1",
|
|
"instructions": "Your job is to extract the latest papers from the arXiv feed and summarise them. Use an example curl command like the following to get this done:\n\n! curl -s https://rss.arxiv.org/rss/cs.AI \\\n| yq -p=xml -o=json \\\n| jq -r '.rss.channel.item[] | select(.title | test(\"agent\"; \"i\")) | \"\\(.title)\\n\\(.link)\\n\\(.description)\\n\"' \n\nThis will give you a list of papers that contain the word \"agent\" in the title. You can then summarise these papers using the summariser agent.",
|
|
"tools": {
|
|
"bash": {
|
|
"type": "builtin",
|
|
"name": "executeCommand"
|
|
}
|
|
}
|
|
}
|
|
|
|
{
|
|
"name": "summarise-a-few",
|
|
"description": "An agent that will summarise a few arxiv papers",
|
|
"model": "gpt-4.1",
|
|
"instructions": "Your job is to pick 2 interesting papers and related papers on the same topic, and then summarise each of them inidivually using the right tool calls. Make sure to pass in the URL of the paper to the summaurse tool. Don't ask for human input.",
|
|
"tools": {
|
|
"summariser": {
|
|
"type": "agent",
|
|
"name": "summariser_workflow"
|
|
}
|
|
}
|
|
}
|
|
|
|
{
|
|
"name": "podcast_transcript_agent",
|
|
"description": "An agent that will generate a transcript of a podcast",
|
|
"model": "gpt-4.1",
|
|
"instructions": "You job is to create a NotebookLM style 1 minute podcast between 2 speakers John and Chloe. Each line should be a new speaker. The podcast should be about the contents of the two papers (that were selected). You can use [sighs], [inhales then exhales], [chuckles], [laughs], [clears throat], [coughs], [sniffs], [pauses] etc. to make the podcast more natural."
|
|
}
|
|
|
|
{
|
|
"name": "elevenlabs_audio_gen",
|
|
"description": "An agent that will generate an audio file from a text",
|
|
"model": "gpt-4.1",
|
|
"instructions": "Your job is to take the mutli speaker transcript and generate an audio file from it. Use the elevenlabs text to speech tool to do this. For each speaker turn, you should generate an audio file and then combine them all into a single audio file. Use the voice_name 'Liam' for John and 'Cassidy' for Chloe. Make sure to remove the speaker names from the text before generating the audio files. Use the bash tool to look for the generated audio files and also combine the audio files into a single final podcast audio file. Use 'eleven_v3' for the model_id.",
|
|
"tools": {
|
|
"text_to_speech": {
|
|
"type": "mcp",
|
|
"name": "text_to_speech",
|
|
"description": "Generate an audio file from a text",
|
|
"mcpServerName": "elevenLabs",
|
|
"inputSchema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"text": {
|
|
"type": "string",
|
|
"description": "The text to generate an audio file from"
|
|
},
|
|
"voice_name": {
|
|
"type": "string",
|
|
"description": "The voice name to use for the audio file"
|
|
},
|
|
"model_id": {
|
|
"type": "string",
|
|
"description": "The model id to use for the audio file"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"bash": {
|
|
"type": "builtin",
|
|
"name": "executeCommand"
|
|
}
|
|
}
|
|
}
|
|
|
|
{
|
|
"mcpServers": {
|
|
|
|
"elevenLabs": {
|
|
"command": "uvx",
|
|
"args": ["elevenlabs-mcp"],
|
|
"env": {
|
|
"ELEVENLABS_API_KEY": "sk_42ee2a0a19266552c18b0920b593e22f0185d4b1435b65ed"
|
|
}
|
|
}
|
|
}
|
|
} |