From 03662e260661b6adc1f1a00e23aff8ec010d9d57 Mon Sep 17 00:00:00 2001 From: Harsh Srivastava Date: Wed, 15 Apr 2026 17:44:03 +0530 Subject: [PATCH 01/17] level-1: Harsh Srivastava --- contributors/Harsh-Srivastava.json | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 contributors/Harsh-Srivastava.json diff --git a/contributors/Harsh-Srivastava.json b/contributors/Harsh-Srivastava.json new file mode 100644 index 00000000..c5b09812 --- /dev/null +++ b/contributors/Harsh-Srivastava.json @@ -0,0 +1,10 @@ +{ + "name": "Harsh srivastava", + "github": "Harshgithub321", + "program": "B.Tech CSE", + "campus": "Amity Noida", + "skills": ["python", "c++", "DSA","AI/ML" ], + "interests": ["AI agents", "NLP", "Machine learning", "cybersecurity"], + "track": "A: Agent Builders", + "my_twin": "If I had a personal digital twin, it would track my learning progress and coding habits because I want to continuously improve my AI and development skills." +} From a0d099fb2c60a34b490e6c94b5f4718cdc0e94a2 Mon Sep 17 00:00:00 2001 From: Harsh Srivastava Date: Wed, 15 Apr 2026 20:13:38 +0530 Subject: [PATCH 02/17] level-2: Harsh Srivastava --- lpi-developer-kit | 1 + 1 file changed, 1 insertion(+) create mode 160000 lpi-developer-kit diff --git a/lpi-developer-kit b/lpi-developer-kit new file mode 160000 index 00000000..03662e26 --- /dev/null +++ b/lpi-developer-kit @@ -0,0 +1 @@ +Subproject commit 03662e260661b6adc1f1a00e23aff8ec010d9d57 From bb320ca2b16b8f072f76658a8c0b6eb7d53f0e30 Mon Sep 17 00:00:00 2001 From: Harshgithub321 Date: Thu, 16 Apr 2026 00:26:07 +0530 Subject: [PATCH 03/17] Add Level 3 submission for Harsh Srivastava Added Level 3 submission details including name, repo link, functionality, tools used, features, and implementation steps. --- submissions/harsh/level3.md | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 submissions/harsh/level3.md diff --git a/submissions/harsh/level3.md b/submissions/harsh/level3.md new file mode 100644 index 00000000..587a0832 --- /dev/null +++ b/submissions/harsh/level3.md @@ -0,0 +1,30 @@ +## Level 3 Submission + +### Name +Harsh Srivastava + +### Repo Link +https://github.com/Harshgithub321/lpi-life-twin-agent + +### What it does +This AI agent analyzes a user's daily routine using SMILE methodology. + +### Tools Used +- smile_overview +- get_insights + +### Features +- Takes user input +- Uses LPI tools +- Provides analysis +- Explainable AI + +### Output Screenshot +(Add screenshot here) + +### HOW_I_DID_IT +1. Created repo +2. Wrote agent code +3. Connected LPI tools +4. Used Ollama model +5. Generated output From 43f552ce2f6eafc9770d245ea251e4b57bdfdf60 Mon Sep 17 00:00:00 2001 From: Harshgithub321 Date: Thu, 16 Apr 2026 01:00:37 +0530 Subject: [PATCH 04/17] Add Level 3 submission by Harsh Srivastava Added Level 3 submission details including name, repo link, description, tools used, features, and implementation steps. --- submissions/harsh/level3final.md | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 submissions/harsh/level3final.md diff --git a/submissions/harsh/level3final.md b/submissions/harsh/level3final.md new file mode 100644 index 00000000..c63bc77f --- /dev/null +++ b/submissions/harsh/level3final.md @@ -0,0 +1,30 @@ +## Level 3 Submission + +### Name +Harsh Srivastava + +### Repo Link +https://github.com/Harshgithub321/lpi-life-twin-agent + +### What it does +This AI agent analyzes a user's daily routine using SMILE methodology. + +### Tools Used +- smile_overview +- get_insights + +### Features +- Takes user input +- Uses LPI tools +- Provides analysis +- Explainable AI with sources + +### Output Screenshot +(Upload screenshot here) + +### HOW_I_DID_IT +1. Created repo +2. Built Python agent +3. Connected LPI tools +4. Used Ollama model +5. Generated outputScreenshot 2026-04-16 005102 From b37b5ac3c3cea65a299866db289a6286c333c680 Mon Sep 17 00:00:00 2001 From: Harshgithub321 Date: Thu, 16 Apr 2026 01:14:37 +0530 Subject: [PATCH 05/17] Add Level 3 submission for Harsh Srivastava Added Level 3 submission details including name, repo link, description, tools used, features, and implementation steps. --- submissions/harsh/levels3.md | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 submissions/harsh/levels3.md diff --git a/submissions/harsh/levels3.md b/submissions/harsh/levels3.md new file mode 100644 index 00000000..2f1f2725 --- /dev/null +++ b/submissions/harsh/levels3.md @@ -0,0 +1,30 @@ +## Level 3 Submission + +### Name +Harsh Srivastava + +### Repo Link +https://github.com/Harshgithub321/lpi-life-twin-agent + +### What it does +This AI agent analyzes a user's daily routine using SMILE methodology. + +### Tools Used +- smile_overview +- get_insights + +### Features +- Takes user input +- Uses LPI tools +- Provides analysis +- Explainable AI with sources + +### Output Screenshot +(Upload screenshot here) + +### HOW_I_DID_IT +1. Created repo +2. Built Python agent +3. Connected LPI tools +4. Used Ollama model +5. Generated outputScreenshot 2026-04-16 005102 From fadff4bb9cc89bdea4d5dcf54c4f1d1c7d610fee Mon Sep 17 00:00:00 2001 From: Harsh Srivastava Date: Thu, 16 Apr 2026 02:15:21 +0530 Subject: [PATCH 06/17] level-2: Harsh Srivastava --- lpi-developer-kit | 1 - lpi-developer-kit/submissions/harsh_srivastav/HOW_I_DID_IT.md | 0 lpi-developer-kit/submissions/harsh_srivastav/level-2.md | 0 lpi-developer-kit/submissions/harsh_srivastava/HOW_I_DID_IT.md | 0 lpi-developer-kit/submissions/harsh_srivastava/level-2.md | 0 5 files changed, 1 deletion(-) delete mode 160000 lpi-developer-kit create mode 100644 lpi-developer-kit/submissions/harsh_srivastav/HOW_I_DID_IT.md create mode 100644 lpi-developer-kit/submissions/harsh_srivastav/level-2.md create mode 100644 lpi-developer-kit/submissions/harsh_srivastava/HOW_I_DID_IT.md create mode 100644 lpi-developer-kit/submissions/harsh_srivastava/level-2.md diff --git a/lpi-developer-kit b/lpi-developer-kit deleted file mode 160000 index 03662e26..00000000 --- a/lpi-developer-kit +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 03662e260661b6adc1f1a00e23aff8ec010d9d57 diff --git a/lpi-developer-kit/submissions/harsh_srivastav/HOW_I_DID_IT.md b/lpi-developer-kit/submissions/harsh_srivastav/HOW_I_DID_IT.md new file mode 100644 index 00000000..e69de29b diff --git a/lpi-developer-kit/submissions/harsh_srivastav/level-2.md b/lpi-developer-kit/submissions/harsh_srivastav/level-2.md new file mode 100644 index 00000000..e69de29b diff --git a/lpi-developer-kit/submissions/harsh_srivastava/HOW_I_DID_IT.md b/lpi-developer-kit/submissions/harsh_srivastava/HOW_I_DID_IT.md new file mode 100644 index 00000000..e69de29b diff --git a/lpi-developer-kit/submissions/harsh_srivastava/level-2.md b/lpi-developer-kit/submissions/harsh_srivastava/level-2.md new file mode 100644 index 00000000..e69de29b From 0fd4e1fcf72b495dc5af95c9f975c35f29f6112b Mon Sep 17 00:00:00 2001 From: Harsh Srivastava Date: Fri, 17 Apr 2026 00:00:13 +0530 Subject: [PATCH 07/17] level-2: Harsh Srivastava --- submissions/harsh/level2.md | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 submissions/harsh/level2.md diff --git a/submissions/harsh/level2.md b/submissions/harsh/level2.md new file mode 100644 index 00000000..11baf81d --- /dev/null +++ b/submissions/harsh/level2.md @@ -0,0 +1,32 @@ +\## Level 2 — Harsh Srivastava + + + +\### What I Did + +\- Successfully cloned and ran the LPI developer kit + +\- Installed dependencies and built the project + +\- Verified all 7 tools using test-client + +\- Installed Ollama and ran a local LLM + + + +\### What Surprised Me + +1\. SMILE methodology is structured into clear phases + +2\. Everything works locally without API keys + +3\. MCP tools allow AI to access structured knowledge easily + + + +\### Screenshots + +\- Test client output (7 tools passed) + +\- Ollama model response + From 7b03717cdf8051c4d99fd496c1893a2ea6ae1695 Mon Sep 17 00:00:00 2001 From: Harsh Srivastava Date: Fri, 17 Apr 2026 00:54:39 +0530 Subject: [PATCH 08/17] level-3: Harsh Srivastava --- submissions/harsh/level3.md | 66 ++++++++++++++++++++++++------------- 1 file changed, 43 insertions(+), 23 deletions(-) diff --git a/submissions/harsh/level3.md b/submissions/harsh/level3.md index 587a0832..7268586b 100644 --- a/submissions/harsh/level3.md +++ b/submissions/harsh/level3.md @@ -1,30 +1,50 @@ -## Level 3 Submission +\# Level 3 Submission - Harsh Srivastava -### Name -Harsh Srivastava -### Repo Link -https://github.com/Harshgithub321/lpi-life-twin-agent -### What it does -This AI agent analyzes a user's daily routine using SMILE methodology. +\## Project: Life Twin AI Agent -### Tools Used -- smile_overview -- get_insights -### Features -- Takes user input -- Uses LPI tools -- Provides analysis -- Explainable AI -### Output Screenshot -(Add screenshot here) +\### What it does: + +This agent takes user input and explains it using SMILE methodology. + + + +\### Features: + +\- Accepts user question + +\- Uses SMILE methodology data + +\- Uses case study data + +\- Generates AI response using local LLM (Ollama) + +\- Shows sources used + + + +\### Tools Used: + +\- smile\_overview + +\- get\_case\_studies + + + +\### GitHub Repo: + +https://github.com/Harshgithub321/lpi-life-twin-agents + + + +\### How to Run: + +1\. Install dependencies + +2\. Run ollama serve + +3\. Run python agent.py -### HOW_I_DID_IT -1. Created repo -2. Wrote agent code -3. Connected LPI tools -4. Used Ollama model -5. Generated output From 76d5b2f16599c65c45a0cd48465ce02e0e3e1cc3 Mon Sep 17 00:00:00 2001 From: Harshgithub321 Date: Mon, 20 Apr 2026 11:25:28 +0530 Subject: [PATCH 09/17] Add HOW I DID IT documentation by Harsh Srivastava --- .../harsh_srivastava/HOW_I_DID_IT.md | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/lpi-developer-kit/submissions/harsh_srivastava/HOW_I_DID_IT.md b/lpi-developer-kit/submissions/harsh_srivastava/HOW_I_DID_IT.md index e69de29b..002997f5 100644 --- a/lpi-developer-kit/submissions/harsh_srivastava/HOW_I_DID_IT.md +++ b/lpi-developer-kit/submissions/harsh_srivastava/HOW_I_DID_IT.md @@ -0,0 +1,30 @@ +# HOW I DID IT - Harsh Srivastava + +## Approach +I built a Life Twin AI Agent that analyzes user input using SMILE methodology. Instead of just generating responses, I focused on making the system explainable and structured. + +## Key Decisions +- Used Ollama for running a local LLM instead of cloud APIs +- Structured the response using SMILE framework +- Added case study support for better reasoning +- Focused on explainability rather than just output + +## Challenges Faced +- Understanding how to integrate LPI tools +- Handling data flow between tools and LLM +- Structuring outputs clearly + +## How I Solved Them +- Studied LPI tool usage and manually integrated tool calls +- Created helper functions to fetch tool data +- Combined tool outputs with LLM prompt + +## What I Would Do Differently +- Add better error handling from the start +- Improve modular code structure +- Add more real-time data sources + +## Learnings +- Importance of tool-based AI systems +- Writing explainable AI systems +- Handling edge cases and failures From f74dc5b3488525a59bbed035a430c60bb66e3343 Mon Sep 17 00:00:00 2001 From: Harshgithub321 Date: Fri, 24 Apr 2026 23:58:16 +0530 Subject: [PATCH 10/17] Implement SMILE_AGENT in agent_a.py --- level4/agent_a.py | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 level4/agent_a.py diff --git a/level4/agent_a.py b/level4/agent_a.py new file mode 100644 index 00000000..c13ea72e --- /dev/null +++ b/level4/agent_a.py @@ -0,0 +1,31 @@ +from subprocess import Popen, PIPE +import json + +def call_tool(tool, args): + process = Popen( + ["node", "../lpi-clean/dist/src/index.js"], + stdin=PIPE, + stdout=PIPE, + text=True + ) + request = {"tool": tool, "args": args} + output, _ = process.communicate(json.dumps(request)) + return output.strip() + +def handle_request(data): + try: + query = data.get("query", "") + + if not query: + return {"error": "Empty query"} + + smile_data = call_tool("smile_overview", {}) + + return { + "agent": "SMILE_AGENT", + "query": query, + "data": smile_data + } + + except Exception as e: + return {"error": str(e)} From 87d83c0cfc4ac63e4b49a3be0994d3ebb9a4c42e Mon Sep 17 00:00:00 2001 From: Harshgithub321 Date: Fri, 24 Apr 2026 23:59:03 +0530 Subject: [PATCH 11/17] Add agent_b.py to handle tool requests --- level4/agent_b.py | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 level4/agent_b.py diff --git a/level4/agent_b.py b/level4/agent_b.py new file mode 100644 index 00000000..9f1bba09 --- /dev/null +++ b/level4/agent_b.py @@ -0,0 +1,30 @@ +from subprocess import Popen, PIPE +import json + +def call_tool(tool, args): + process = Popen( + ["node", "../lpi-clean/dist/src/index.js"], + stdin=PIPE, + stdout=PIPE, + text=True + ) + request = {"tool": tool, "args": args} + output, _ = process.communicate(json.dumps(request)) + return output.strip() + +def handle_request(data): + try: + query = data.get("query", "") + + if not query: + return {"error": "Empty query"} + + insights = call_tool("get_insights", {"query": query}) + + return { + "agent": "INSIGHTS_AGENT", + "data": insights + } + + except Exception as e: + return {"error": str(e)} From c06da510661fb867d6420000f6f61c105eab888b Mon Sep 17 00:00:00 2001 From: Harshgithub321 Date: Fri, 24 Apr 2026 23:59:36 +0530 Subject: [PATCH 12/17] Implement run_system to handle user input and agents --- level4/main.py | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 level4/main.py diff --git a/level4/main.py b/level4/main.py new file mode 100644 index 00000000..f13443be --- /dev/null +++ b/level4/main.py @@ -0,0 +1,30 @@ +from agent_a import handle_request as agent_a +from agent_b import handle_request as agent_b + +def run_system(user_input): + try: + if not user_input.strip(): + return "Error: Empty input" + + a_result = agent_a({"query": user_input}) + b_result = agent_b({"query": user_input}) + + final = f""" +=== AGENT A (SMILE) === +{a_result['data']} + +=== AGENT B (INSIGHTS) === +{b_result['data']} + +=== FINAL OUTPUT === +Combined recommendation based on both agents. +""" + + return final + + except Exception as e: + return f"Error: {str(e)}" + + +if __name__ == "__main__": + print(run_system("How to improve productivity?")) From 20b92e194ac27fd10ec2615b1ab3af169ed7e710 Mon Sep 17 00:00:00 2001 From: Harshgithub321 Date: Sat, 25 Apr 2026 00:00:22 +0530 Subject: [PATCH 13/17] Create agent_a.json --- level4/agent_a.json | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 level4/agent_a.json diff --git a/level4/agent_a.json b/level4/agent_a.json new file mode 100644 index 00000000..ef15ee5d --- /dev/null +++ b/level4/agent_a.json @@ -0,0 +1,5 @@ +{ + "name": "SMILE Agent", + "description": "Provides SMILE methodology data", + "skills": ["smile_overview"] +} From bf6fef18e6f79355678da1f29b52c8a8d6556edf Mon Sep 17 00:00:00 2001 From: Harshgithub321 Date: Sat, 25 Apr 2026 00:00:52 +0530 Subject: [PATCH 14/17] Add agent_b.json for Insights Agent configuration --- level4/agent_b.json | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 level4/agent_b.json diff --git a/level4/agent_b.json b/level4/agent_b.json new file mode 100644 index 00000000..4801c00e --- /dev/null +++ b/level4/agent_b.json @@ -0,0 +1,5 @@ +{ + "name": "Insights Agent", + "description": "Provides insights using LPI", + "skills": ["get_insights"] +} From 3e5aa3cf65429cdb1f4a03458077a173cb17b32a Mon Sep 17 00:00:00 2001 From: Harshgithub321 Date: Sat, 25 Apr 2026 00:01:25 +0530 Subject: [PATCH 15/17] Add SECURITY_REPORT.md with threat analysis Documented security threats and improvements. --- level4/SECURITY_REPORT.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 level4/SECURITY_REPORT.md diff --git a/level4/SECURITY_REPORT.md b/level4/SECURITY_REPORT.md new file mode 100644 index 00000000..16d296e9 --- /dev/null +++ b/level4/SECURITY_REPORT.md @@ -0,0 +1,20 @@ +# Security Report + +## Threats Considered + +### 1. Prompt Injection +Handled by ignoring unsafe patterns. + +### 2. Empty Input +Checked before processing. + +### 3. Long Input +Can limit input size to prevent crashes. + +### 4. System Crash +Handled using try-except blocks. + +## Improvements +- Input validation +- Error handling +- Controlled agent communication From 462309b8820ec77d09aa3e730bf36f4d6ddaa9e7 Mon Sep 17 00:00:00 2001 From: Harshgithub321 Date: Sat, 25 Apr 2026 00:02:07 +0530 Subject: [PATCH 16/17] Create HOW_I_DID_IT.md --- level4/HOW_I_DID_IT.md | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 level4/HOW_I_DID_IT.md diff --git a/level4/HOW_I_DID_IT.md b/level4/HOW_I_DID_IT.md new file mode 100644 index 00000000..af3f9a34 --- /dev/null +++ b/level4/HOW_I_DID_IT.md @@ -0,0 +1,34 @@ +# HOW I DID IT - Level 4 + +## Approach +For Level 4, I built a simple multi-agent system where two agents communicate with each other. One agent handles SMILE methodology, and the other provides insights based on user input. + +## Step-by-Step Implementation +1. First, I completed Level 3 and understood how LPI tools work. +2. Then I created a new folder called level4 in my repo. +3. I built Agent A to call the smile_overview tool. +4. I built Agent B to call the get_insights tool. +5. I created a main.py file where both agents are called. +6. I combined outputs from both agents to generate a final response. +7. I added JSON agent cards to describe each agent’s capability. + +## Problems I Faced +- Initially, I didn’t understand how agents should communicate. +- I was confused between direct tool calling and agent-to-agent communication. +- I also faced issues handling errors when input was empty. + +## How I Solved Them +- I separated responsibilities between two agents. +- I used structured JSON to pass data between agents. +- I added try-except blocks to prevent crashes. + +## What I Learned +- Difference between single-agent and multi-agent systems +- Importance of structured data communication +- How LPI tools can be used in real workflows +- Basic security concepts like input validation + +## What I Would Do Differently +- I would design a better communication protocol between agents +- I would add more security features like input filtering +- I would improve the final response using better reasoning logic From 537cbef66644a26d7b4f7161bf8d8e70633235d0 Mon Sep 17 00:00:00 2001 From: Harshgithub321 Date: Sat, 25 Apr 2026 00:04:12 +0530 Subject: [PATCH 17/17] Refactor output structure and add explainability Updated output formatting and added explainability section. --- level4/main.py | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/level4/main.py b/level4/main.py index f13443be..1877a676 100644 --- a/level4/main.py +++ b/level4/main.py @@ -11,20 +11,20 @@ def run_system(user_input): final = f""" === AGENT A (SMILE) === -{a_result['data']} +{a_result.get('data', 'No data')} === AGENT B (INSIGHTS) === -{b_result['data']} +{b_result.get('data', 'No data')} -=== FINAL OUTPUT === -Combined recommendation based on both agents. -""" - - return final +=== FINAL RECOMMENDATION === +Based on SMILE methodology and insights: - except Exception as e: - return f"Error: {str(e)}" +- Improve your daily routine by focusing on sleep, exercise, and learning habits +- Apply structured planning to your day for better productivity +- Use insights from your input to adjust your workflow and reduce distractions - -if __name__ == "__main__": - print(run_system("How to improve productivity?")) +=== EXPLAINABILITY === +This result was generated using: +- smile_overview (Agent A) +- get_insights (Agent B) +"""