{"id":"b9f82ada-12b9-4183-a315-9ef93d513a47","entityType":"agent","slug":"crewai-jimilprabtani-blog-writer-crew-project","name":"Blog_writer_crew_project","canonicalUrl":"https://www.xpersona.co/agent/crewai-jimilprabtani-blog-writer-crew-project","canonicalPath":"/agent/crewai-jimilprabtani-blog-writer-crew-project","generatedAt":"2026-10-09T01:57:43.613Z","source":"GITHUB_OPENCLEW","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-05-18T06:45:09.971Z","emptyReason":null},"description":"A CrewAI-powered blog writing project that uses Gemini-based multi-agent workflows to research topics, draft posts, edit content, and generate social media copy automatically. <img src=\"https://cdn.prod.website-files.com/677c400686e724409a5a7409/6790ad949cf622dc8dcd9fe4_nextwork-logo-leather.svg\" alt=\"NextWork\" width=\"300\" /> Build a Blog Writing Crew with CrewAI **Project Link:** $1 **Author:** Jimil Prabtani **Email:** jimilprabtani0816@gmail.com **Website:** $1 --- --- Introducing Today's Project! In this project, I'm going to build a multi-agent system using CrewAI to research, write a","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. Last updated 5/18/2026.","installCommand":"git clone https://github.com/JimilPrabtani/Blog_writer_crew_project.git","sourceUrl":"https://github.com/JimilPrabtani/Blog_writer_crew_project","homepage":null,"primaryLinks":[{"label":"View Source","url":"https://github.com/JimilPrabtani/Blog_writer_crew_project","kind":"source"}],"safetyScore":66,"overallRank":26.4,"popularityScore":0,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"A CrewAI-powered blog writing project that uses Gemini-based multi-agent workflows to research topics, draft posts, edit content, and generate social media copy"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-05-18T06:45:09.971Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[{"label":"crewai","status":"self-declared"},{"label":"multi-agent","status":"self-declared"}],"verifiedCount":0,"selfDeclaredCount":3,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"},{"key":"crewai","type":"capability","support":"supported","confidenceSource":"profile","notes":"Declared in agent profile metadata"},{"key":"multi-agent","type":"capability","support":"supported","confidenceSource":"profile","notes":"Declared in agent profile metadata"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile capability:crewai|supported|profile capability:multi-agent|supported|profile"}},"adoption":{"evidence":{"source":"no-adoption-signals","verified":false,"confidence":"low","updatedAt":"2026-05-18T06:45:09.971Z","emptyReason":"No source adoption metrics were available."},"stars":0,"forks":0,"downloads":null,"packageName":null,"latestVersion":null,"tractionLabel":null},"release":{"evidence":{"source":"agent-index","verified":false,"confidence":"medium","updatedAt":"2026-05-18T06:45:09.970Z","emptyReason":null},"lastUpdatedAt":"2026-05-18T06:45:09.971Z","lastCrawledAt":"2026-05-18T06:45:09.970Z","lastIndexedAt":null,"nextCrawlAt":"2026-05-25T06:45:09.970Z","lastVerifiedAt":null,"highlights":[]},"execution":{"evidence":{"source":"GITHUB OPENCLEW","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"git clone https://github.com/JimilPrabtani/Blog_writer_crew_project.git","setupComplexity":"low","setupSteps":["Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/crewai-jimilprabtani-blog-writer-crew-project/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/crewai-jimilprabtani-blog-writer-crew-project/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/crewai-jimilprabtani-blog-writer-crew-project/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/crewai-jimilprabtani-blog-writer-crew-project/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/crewai-jimilprabtani-blog-writer-crew-project/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/crewai-jimilprabtani-blog-writer-crew-project/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"GITHUB_OPENCLEW","generatedAt":"2026-10-09T01:57:43.613Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/crewai-jimilprabtani-blog-writer-crew-project/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/crewai-jimilprabtani-blog-writer-crew-project/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/crewai-jimilprabtani-blog-writer-crew-project/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/crewai-jimilprabtani-blog-writer-crew-project/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"GITHUB OPENCLEW","verified":false,"confidence":"high","updatedAt":"2026-05-18T06:45:09.971Z","emptyReason":null},"readme":"<img src=\"https://cdn.prod.website-files.com/677c400686e724409a5a7409/6790ad949cf622dc8dcd9fe4_nextwork-logo-leather.svg\" alt=\"NextWork\" width=\"300\" />\n\n# Build a Blog Writing Crew with CrewAI\n\n**Project Link:** [View Project](https://learn.nextwork.org/affectionate_green_mysterious_penguin/docs/ai-crewai-blog-writing-crew?track=high)\n\n**Author:** Jimil Prabtani  \n**Email:** jimilprabtani0816@gmail.com\n**Website:** [jimilprabtani.me](https://www.jimilprabtani.me)\n\n---\n\n![Image](http://learn.nextwork.org/affectionate_green_mysterious_penguin/uploads/ai-crewai-blog-writing-crew_h6t9b3y7)\n\n---\n\n## Introducing Today's Project!\n\nIn this project, I'm going to build a multi-agent system using CrewAI to research, write and edi a blog post for me. I'm interested in this because I want to learn how I can easily deploy Multi-agent systems.\n\n### Key tools and concepts\n\nThe key tools I used include Gemini API key, CrewAI and UV Python packages manager. Key concepts I learnt include making agents and assigning them tasks, automating simple processes like writing blog posts and Social media posts.\n\n### Challenges and wins\n\nThis project took me approximately 2 hours to complete. The most challenging part was to engineer a good prompts for the agents to work on because with a good prompt agent cannot working properly and cannot generate desired outputs.\n\n### Personal reflection\n\nI did this project today to learn how to make and manage agents + tasks using CrewAI. Another skill I want to learn is how to making agent that can help me learn and build along side with me. Thank you! Have a Wonderful Day.\n\n---\n\n## Installing Python and CrewAI\n\nIn this step, I am setting up my environment for the project. This includes verifying Python, installing `uv`, and preparing the package manager that CrewAI uses.\n\n![Image](http://learn.nextwork.org/affectionate_green_mysterious_penguin/uploads/ai-crewai-blog-writing-crew_v8bn4x1w)\n\n### Commands to install the environment\n\n```bash\npython --version\npython -m pip install --upgrade pip setuptools wheel\npython -m pip install uv\n```\n\nOnce the repository is cloned, install the project dependencies with:\n\n```bash\nuv install\nuv lock\n```\n\n### Understanding the uv package manager\n\nI learned that uv is a Python package manager and CrewAI uses it because it is a Python-based framework and it is faster than pip.\n\n---\n\n## Scaffolding the CrewAI Project\n\nIn this step, I am going to set up the project locally, explore its structure, and connect the repository files with the CrewAI workflow.\n\n![Image](http://learn.nextwork.org/affectionate_green_mysterious_penguin/uploads/ai-crewai-blog-writing-crew_v4nt8wf6)\n\n### Commands to clone and inspect the project\n\n```bash\ngit clone https://github.com/<your-github-username>/blog_writing_crew.git\ncd blog_writing_crew\n```\n\nIf you want to open the project in VS Code:\n\n```bash\ncode .\n```\n\n### Key project files\n\nTwo key files are `agents.yaml` and `tasks.yaml`, which define agents and the tasks each agent performs. `main.py` is the entry point that kicks off the crew, and `crew.py` wires everything together.\n\n![Image](http://learn.nextwork.org/affectionate_green_mysterious_penguin/uploads/ai-crewai-blog-writing-crew_w2dc5nq8)\n\n---\n\n## Configuring AI Agents\n\nIn this step, I'm going to replace the default agents with three custom agents and configure each of them with a role, goal, and backstory.\n\n![Image](http://learn.nextwork.org/affectionate_green_mysterious_penguin/uploads/ai-crewai-blog-writing-crew_j3x8n1v6)\n\n### Commands to configure agents and model settings\n\nOpen the agent configuration file:\n\n```bash\ncode src/blog_writing_crew/config/agents.yaml\n```\n\nCreate or update `.env` in the project root with your Gemini credentials and model:\n\n```env\nGEMINI_API_KEY=\"your-gemini-api-key\"\nMODEL=google/gemini-2.0-flash\n```\n\nIf you want to use Gemma instead, set:\n\n```env\nGEMINI_API_KEY=\"your-gemini-api-key\"\nMODEL=google/gemma-4-31B-it\n```\n\nOn Windows PowerShell:\n\n```powershell\n$env:GEMINI_API_KEY = \"your-gemini-api-key\"\n$env:MODEL = \"google/gemini-2.0-flash\"\n```\n\n### How agent configuration shapes AI behavior\n\nI configured three agents: Research Analyst, Blog Writer, and Senior Content Editor. The `{topic}` variable is used because when you pass in a topic like \"AI in SWE or Cybersecurity\" and CrewAI automatically swaps `{topic}` for that value.\n\n---\n\n## Defining the Task Pipeline\n\nIn this step, I'm defining tasks for all three agents. These tasks are important because we need to assign tasks to the agents in order for them to work and give proper results.\n\n![Image](http://learn.nextwork.org/affectionate_green_mysterious_penguin/uploads/ai-crewai-blog-writing-crew_p3n8v5w1)\n\n### Commands to review task definitions\n\nOpen the task configuration file:\n\n```bash\ncode src/blog_writing_crew/config/tasks.yaml\n```\n\nMake sure task names and agent assignments match the entries in `agents.yaml`.\n\n### How the tasks chain together\n\nThe tasks chain together by research, write, then edit. Only the editing task has `output_file` because after this task your final output will be generated.\n\n---\n\n## Connecting YAML Configuration to Python\n\nI'm connecting two YAML files with two Python files.\n\n![Image](http://learn.nextwork.org/affectionate_green_mysterious_penguin/uploads/ai-crewai-blog-writing-crew_p3n8v2q6)\n\n### Commands to inspect the crew code\n\nOpen the core crew files:\n\n```bash\ncode src/blog_writing_crew/crew.py\ncode src/blog_writing_crew/main.py\n```\n\nMake sure the method names in `crew.py` match the YAML keys in `agents.yaml` and `tasks.yaml`.\n\n### Why method names must match YAML keys\n\nThe method names need to match because we need to change default agents and tasks added to the YAML files in order to connect `crew.py` to both of those files.\n\n![Image](http://learn.nextwork.org/affectionate_green_mysterious_penguin/uploads/ai-crewai-blog-writing-crew_h8f4d6a2)\n\n---\n\n## Running the Blog Writing Crew\n\nIn this step, I'm going to install dependencies, watch agents work together to produce a blog post about the future of AI and LLMs, and experiment with different topics.\n\n![Image](http://learn.nextwork.org/affectionate_green_mysterious_penguin/uploads/ai-crewai-blog-writing-crew_p4n8v1q6)\n\n### Commands to run the project\n\nFrom the project root:\n\n```bash\nuv run blog_writing_crew\n```\n\nIf you prefer the script alias:\n\n```bash\nuv run run_crew\n```\n\n### How the agents collaborated\n\nI ran my crew and the agents collaborated with each other as defined in the `crew.py` files one after another completing tasks assigned to each agent, and to be honest it is a very efficient way to generate blog posts like this.\n\n![Image](http://learn.nextwork.org/affectionate_green_mysterious_penguin/uploads/ai-crewai-blog-writing-crew_h6t9b3y7)\n\n---\n\n## Adding a Social Media Manager Agent\n\nIn this project extension, I'm adding a Social Media manager agent to the workflow because there is no harm in generating social media posts for Twitter and Linkedin on the bases of the blog post that is generated.\n\n![Image](http://learn.nextwork.org/affectionate_green_mysterious_penguin/uploads/ai-crewai-blog-writing-crew_w3f8j1v6)\n\n### Extending the crew with new agents and tasks\n\nI added the social media manager by creating a new agent in `agents.yaml`, then assigned a task to it in `tasks.yaml`, and finally added a calling function in `crew.py` to make the agent work.\n\n![Image](http://learn.nextwork.org/affectionate_green_mysterious_penguin/uploads/ai-crewai-blog-writing-crew_t6c1g4q8)\n\n### Social media output\n\nIn this project extension, my social media agent generated 3-4 socail media posts based on the blog post research. The Twitter thread has 2 pieces of content and  The LinkedIn post also has 2 pieces of content.\n\n### Experimenting with agent backstories\n\nWhen I changed the backstory to more casual gen z tone and the output changed by this additional in the backstory of the agent, This showed me that we can basically make them write anything we want, we just need an idea.\n\n---\n\n## Contributing\n\nIf you want to contribute to this project, follow these steps:\n\n1. Fork the repository on GitHub.\n2. Clone your fork locally:\n\n```bash\ngit clone https://github.com/<your-github-username>/blog_writing_crew.git\ncd blog_writing_crew\n```\n\n3. Create a feature branch:\n\n```bash\ngit checkout -b feature/your-feature-name\n```\n\n4. Make your changes in the code, YAML config files, or documentation.\n5. Install dependencies locally and verify your changes:\n\n```bash\nuv install\nuv run blog_writing_crew\n```\n\n6. Commit your changes with a clear message:\n\n```bash\ngit add .\ngit commit -m \"Add <short description of change>\"\n```\n\n7. Push your branch:\n\n```bash\ngit push origin feature/your-feature-name\n```\n\n8. Open a pull request on GitHub and describe your changes.\n\n### Contribution tips\n\n- Keep agent names and task names aligned between `src/blog_writing_crew/crew.py` and `src/blog_writing_crew/config/*.yaml`.\n- Update `README.md` if you add new commands, features, or setup steps.\n- Add or improve examples in `blog_outputs/` when you change the blog generation workflow.\n\n---\n","readmeExcerpt":"<img src=\"https://cdn.prod.website-files.com/677c400686e724409a5a7409/6790ad949cf622dc8dcd9fe4_nextwork-logo-leather.svg\" alt=\"NextWork\" width=\"300\" /> Build a Blog Writing Crew with CrewAI **Project Link:** $1 **Author:** Jimil Prabtani **Email:** jimilprabtani0816@gmail.com **Website:** $1 --- --- Introducing Today's Project! In this project, I'm going to build a multi-agent system using CrewAI to research, write a","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"python --version\npython -m pip install --upgrade pip setuptools wheel\npython -m pip install uv"},{"language":"bash","snippet":"uv install\nuv lock"},{"language":"bash","snippet":"git clone https://github.com/<your-github-username>/blog_writing_crew.git\ncd blog_writing_crew"},{"language":"bash","snippet":"code ."},{"language":"bash","snippet":"code src/blog_writing_crew/config/agents.yaml"},{"language":"env","snippet":"GEMINI_API_KEY=\"your-gemini-api-key\"\nMODEL=google/gemini-2.0-flash"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[],"languages":["python"],"docsSourceLabel":"GITHUB OPENCLEW","editorialOverview":"A CrewAI-powered blog writing project that uses Gemini-based multi-agent workflows to research topics, draft posts, edit content, and generate social media copy automatically. <img src=\"https://cdn.prod.website-files.com/677c400686e724409a5a7409/6790ad949cf622dc8dcd9fe4_nextwork-logo-leather.svg\" alt=\"NextWork\" width=\"300\" /> Build a Blog Writing Crew with CrewAI **Project Link:** $1 **Author:** Jimil Prabtani **Email:** jimilprabtani0816@gmail.com **Website:** $1 --- --- Introducing Today's Project! In this project, I'm going to build a multi-agent system using CrewAI to research, write a","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":401,"uniquenessScore":66,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-05-18T06:45:09.971Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-05-18T06:45:09.971Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-09T01:57:43.613Z","emptyReason":null},"items":[{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-10T18:48:31.762Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/github_openclew","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}