commit 3292494784efd69b78e984e6f475c186e637064e Author: Jonathan Atta Date: Thu Mar 12 09:37:30 2026 +0100 initial diff --git a/.vscode/mcp.json b/.vscode/mcp.json new file mode 100644 index 0000000..4f15487 --- /dev/null +++ b/.vscode/mcp.json @@ -0,0 +1,9 @@ +{ + "servers": { + "chrome-devtools": { + "type": "stdio", + "command": "npx", + "args": ["chrome-devtools-mcp@latest"] + }, + } +} \ No newline at end of file diff --git a/SKILL.md b/SKILL.md new file mode 100644 index 0000000..d9d2908 --- /dev/null +++ b/SKILL.md @@ -0,0 +1,117 @@ +--- +name: jonathan-job-apply +description: Personal job application assistant for Jonathan Atta. Use when preparing, customizing, updating, or submitting job applications, resumes, cover letters, recruiter replies, LinkedIn summaries, or application form answers on Jonathan's behalf. Triggers on requests like "apply to this job for me", "update my candidate profile", "adapt my CV", "answer this application form", "write a cover letter for me", or "update my personal info". +metadata: { "openclaw": { "emoji": "🛠" } } +--- + +# Jonathan Job Apply Skill + +Use this skill only for Jonathan Atta's personal job search and candidate materials. + +## Browser Constraint + +For job discovery, job listing, form inspection, and application submission, use Chrome DevTools browser tools exclusively. + +- Use Chrome DevTools to open job boards, inspect listings, open offers, read application forms, and submit applications. +- Do not rely on non-browser tools to browse job sites when the task is to search, list, inspect, or apply to jobs. +- When asked to find jobs, navigate the target websites directly in the browser and extract openings from the live pages. +- When asked to apply, inspect the live form in the browser before filling anything. + +The list of target websites is stored here: + +- `{baseDir}/references/job-sites.md` + +When Jonathan asks to search for jobs, list relevant openings from each website in that file before recommending or opening specific roles. + +## Personal Memory + +This skill has a separate personal memory file: + +- `{baseDir}/references/personal-memory.md` + +Always read it before drafting or filling a job application when personal details are relevant. + +This memory file is intentionally editable. + +- Add data when Jonathan gives new information. +- Modify data when Jonathan corrects or updates existing information. +- Remove data when Jonathan asks to delete it or says it is no longer valid. +- Prefer the latest explicit instruction from Jonathan over older stored data. + +If new information conflicts with older memory, update the memory to match Jonathan's latest instruction. + +## Core Rules + +1. Use this skill only for Jonathan Atta. +2. Read the personal memory before using personal details. +3. Read `{baseDir}/references/job-sites.md` before job-search tasks. +4. Use Chrome DevTools browser tools exclusively for job listing and application tasks. +5. Reuse stored data to avoid asking the same questions again. +6. Keep application answers truthful, concrete, and aligned with Jonathan's real experience. +7. Update the personal memory whenever Jonathan explicitly adds, changes, or removes information. +8. Do not invent facts, employers, achievements, degrees, certifications, or links. + +## Standard Workflow + +### 1. Load Candidate Context + +- Read `{baseDir}/references/personal-memory.md`. +- Read `{baseDir}/references/job-sites.md` when the task involves finding jobs. +- Use it as the source of truth for identity, contact details, work history, languages, skills, and preferences. +- If a job post introduces missing requirements, ask only for the missing details. + +### 2. List Jobs From Target Sites + +- Open each site from `{baseDir}/references/job-sites.md` in Chrome DevTools. +- Search for roles relevant to Jonathan's profile. +- List the relevant openings found on each site before selecting which ones to open in detail. +- Prioritize remote, Belgium-friendly, France-friendly, and strong technical roles unless Jonathan specifies otherwise. +- Do not position Jonathan as a CTO by default. +- Treat Jonathan primarily as a developer with broad technical scope. +- Include hands-on roles such as full-stack developer, backend developer, frontend developer, mobile developer, lead developer, technical lead, solutions architect, and similar technical positions. +- Only include CTO-style roles when they genuinely match the context and Jonathan explicitly wants them considered. + +### 3. Adapt To The Target Role + +- Match the tone and language of the target company. +- Highlight the most relevant experience for the role. +- Keep claims consistent with the stored memory and the user's latest instructions. + +### 4. Maintain Memory + +- When Jonathan says to add information, append it to the appropriate section. +- When Jonathan says some information changed, replace the outdated entry. +- When Jonathan says to delete something, remove it from the memory file. +- Keep the memory concise, structured, and easy to reuse. + +## Writing Rules + +- Prefer factual, direct language. +- Avoid inflated claims that are not supported by the memory. +- When filling forms, choose the most credible answer based on Jonathan's profile. +- When required text fields ask for motivation, strengths, or professional summary, tailor the response to the job while staying grounded in the stored profile. + +## Memory Update Rules + +Apply these rules whenever Jonathan instructs a profile change: + +1. Add new facts to the relevant section. +2. Replace outdated facts instead of keeping both versions, unless history matters. +3. Remove facts that Jonathan says are wrong, obsolete, or private. +4. Preserve exact values for names, email addresses, phone numbers, URLs, dates, and locations. + +## Output Goals + +- Help Jonathan apply faster without re-entering the same information. +- Help Jonathan discover relevant roles across the tracked job sites. +- Produce reusable content for CVs, cover letters, form answers, and recruiter responses. +- Keep the stored memory synchronized with Jonathan's latest instructions. + +## Definition Of Done + +The task is complete when: + +1. The application content or candidate response is prepared for Jonathan. +2. The answer is consistent with the current personal memory. +3. The personal memory is updated when Jonathan asked for additions, deletions, or modifications. +4. Any remaining missing information is clearly identified. \ No newline at end of file diff --git a/references/Cv europass.pdf b/references/Cv europass.pdf new file mode 100644 index 0000000..739c9a0 Binary files /dev/null and b/references/Cv europass.pdf differ diff --git a/references/job-sites.md b/references/job-sites.md new file mode 100644 index 0000000..787f9fb --- /dev/null +++ b/references/job-sites.md @@ -0,0 +1,99 @@ +# Job Sites To Search + +Use Chrome DevTools browser tools to visit each website below, search for relevant roles, and list matching jobs before applying. + +## Priority Sites + +- LinkedIn Jobs + - URL: https://www.linkedin.com/jobs/ + - Use for broad coverage across Belgium, France, remote Europe, and developer to senior technical roles. + +- Welcome to the Jungle + - URL: https://www.welcometothejungle.com/ + - Use for startup and scale-up roles in France, Belgium, and remote-friendly companies. + +- Indeed Belgium + - URL: https://be.indeed.com/ + - Use for local Belgium opportunities and broad keyword-based searches. + +- Glassdoor Jobs + - URL: https://www.glassdoor.com/Job/ + - Use for cross-checking companies, salary context, and additional openings. + +- Otta + - URL: https://otta.com/ + - Use carefully. Otta may redirect to Welcome to the Jungle pages depending on region and product migration. + - Verify the live search results before relying on it as a primary source. + +## Belgium-Focused Sites + +- Jobat + - URL: https://www.jobat.be/ + - Use for Belgian market coverage and local employers. + +- Stepstone Belgium + - URL: https://www.stepstone.be/ + - Use for Belgian and nearby cross-border opportunities. + +- Le Forem + - URL: https://www.leforem.be/ + - Use for Wallonia-focused opportunities. + +## Senior Technical Search + +- Welcome to the Jungle Senior filters + - URL: https://www.welcometothejungle.com/ + - Use filters for senior developer, technical lead, lead developer, staff-level, and architect roles. + +- LinkedIn Jobs Senior filters + - URL: https://www.linkedin.com/jobs/ + - Use filters for seniority, remote, company size, and hands-on technical roles. + +## Search Guidance + +Prioritize searches with combinations of these terms: + +- Full Stack Developer +- Senior Full Stack Developer +- Backend Developer +- Frontend Developer +- Mobile Developer +- React Developer +- Next.js Developer +- Node.js Developer +- Technical Lead +- Lead Developer +- Staff Engineer +- Solutions Architect +- Software Engineer +- AI Engineer + +## Working Rule + +When Jonathan asks to find jobs, do not jump directly to a single website. +List relevant openings from each of the websites above first, then shortlist the best matches and proceed to application steps in the browser. + +## Company Career Portals / Company Pages + +- EngiFlex — company career page (hosted on careers-page.com) + - URL: https://www.careers-page.com/engiflex + - Contact: info@engiflex.be + - Notes: EngiFlex lists ~45 open positions (Smartgrid, BI, Java, .NET, SAP, testing, etc.). Use the company career page to find SME roles that may not be on aggregator sites. Prefer the company page when a LinkedIn posting links back to it. + +## Additional Recommended Sites + +- Wellfound (AngelList) + - URL: https://wellfound.com/ + - Use for startup roles and early-stage companies; good for product/engineering roles. + +- We Work Remotely + - URL: https://weworkremotely.com/ + - Use for remote-friendly developer roles across Europe and globally. + +- RemoteOK + - URL: https://remoteok.com/ + - Use for remote technical roles and filtering by timezone/Europe-friendly postings. + +- Monster Belgium + - URL: https://www.monster.be/ + - Use as an additional Belgian market aggregator alongside Jobat and Stepstone. \ No newline at end of file diff --git a/references/mcp.json b/references/mcp.json new file mode 100644 index 0000000..4f15487 --- /dev/null +++ b/references/mcp.json @@ -0,0 +1,9 @@ +{ + "servers": { + "chrome-devtools": { + "type": "stdio", + "command": "npx", + "args": ["chrome-devtools-mcp@latest"] + }, + } +} \ No newline at end of file diff --git a/references/personal-memory.md b/references/personal-memory.md new file mode 100644 index 0000000..a3cb170 --- /dev/null +++ b/references/personal-memory.md @@ -0,0 +1,168 @@ +# Jonathan Atta Personal Memory + +## Identity + +- Full name: Jonathan Atta +- Nationality: Belgian +- Date of birth: 02/03/1986 + +## Contact + +- Email: atta.jon.t@gmail.com +- Phone: +32 497 75 71 39 +- Address: rue Michel Body, 10b / 12, 4460 Grace-Hollogne, Belgium +- LinkedIn: https://linkedin.com/in/laodeus + - LinkedIn: https://www.linkedin.com/in/laodeus + - GitHub: https://github.com/laodeus + - CV (PDF): references/Cv europass.pdf + +## Work Experience + +### QAP srl + +- Role: Full Stack Developer +- Location: Saive, Belgium +- Dates: 24/03/2025 - Current +- Highlights: + - Designed and deployed customized web solutions using React, Node.js, and Vue.js. + - Led client needs analysis and translated business requirements into technical roadmaps. + - Developed scalable architectures and maintained technology watch on best practices. + - Coordinated multidisciplinary teams and tailored agile delivery methods. + +## Positioning For Applications + +- Base profile: Developer +- Primary search strategy: Broad search across development and related technical roles +- Default positioning in applications: Developer, Full Stack Developer, Lead Developer, Technical Lead, or another credible hands-on technical role depending on the offer +- Do not present Jonathan as a CTO by default +- Current practical positioning: lead developer with technical leadership responsibilities +- CTO-style positioning should only be used when Jonathan explicitly wants it and the role is a credible fit + +## Job Search Preferences + +- Search broadly, not only for CTO or executive roles +- Prioritize software development roles and adjacent hands-on technical responsibilities +- Default external-form availability: Immediately +- Current compensation reference: 3000 EUR gross per month plus company car +- Default external-form salary target: 48000 EUR gross per year +- Salary conversion reference: 3000 EUR gross/month in Belgium is approximately 41760 EUR gross/year on 13.92 months, then rounded to a 48000 EUR gross/year package target to reflect the company car benefit +- Relevant targets include: + - Full Stack Developer + - Senior Full Stack Developer + - Backend Developer + - Frontend Developer + - Mobile Developer + - React Developer + - Next.js Developer + - Node.js Developer + - Technical Lead + - Lead Developer + - Solutions Architect + - Software Engineer + - AI Engineer + +### JDev + +- Role: Full Stack Developer +- Location: Grace-Hollogne, Belgium +- Dates: 01/09/2024 - 23/03/2025 +- Highlights: + - Built custom solutions with React, Node.js, and Vue.js. + - Conducted client consultations and translated needs into technical plans. + +### Masana.care + +- Role: Web and Mobile Developer +- Location: Tournai, Belgium +- Dates: 01/09/2023 - 31/08/2024 +- Highlights: + - Built web and mobile applications for the e-health sector. + - Collaborated with healthcare professionals and designers on user-focused interfaces. + - Implemented secure data handling aligned with GDPR, CE certification, and ISO-9001. + - Integrated IoT devices with backend systems for automated collection and real-time monitoring. + +### Timbtrack + +- Role: Back-End and Mobile Developer +- Location: Rhisnes, Belgium +- Dates: 01/03/2020 - 31/08/2023 +- Highlights: + - Developed features for a forest management application. + - Improved scalability and reduced server response times. + - Implemented data processing for large datasets. + - Worked closely with front-end teams for service integration. + +### Oscar S.A. + +- Role: Full Stack Developer +- Location: Andenne, Belgium +- Dates: 01/05/2019 - 29/02/2020 +- Highlights: + - Built an application for real-time communication between airport ground equipment and stock systems. + - Integrated IoT devices with backend systems. + - Improved reliability with robust communication and error-handling mechanisms. + +### Voo + +- Role: Tech and Mobile Advisor +- Location: Herstal, Belgium +- Dates: 01/07/2012 - 30/04/2019 +- Highlights: + - Provided technical diagnostics and support to customers. + - Trained and mentored new team members. + +## Education + +### CESS + +- School: Institut de Formation Continuee Waroux +- Dates: 01/09/2013 - 30/06/2015 +- City: Liege +- Country: Belgium + +### Developer Certification + +- School: Becode +- Dates: 01/10/2018 - 30/04/2019 +- City: Liege + +## Languages + +- French: Native +- English: + - Listening: B1 + - Reading: C1 + - Writing: C1 + - Spoken production: B1 + - Spoken interaction: B1 + +## Technical Skills + +- TypeScript +- HTML / HTML5 +- SASS / LESS +- Solidity +- Git / GitLab / GitHub +- PHP / Laravel +- Node.js +- SOAP / REST web services +- Linux +- GraphQL +- Docker +- SQL / MySQL / MongoDB +- React.js +- Next.js +- Vue.js +- React Native +- CI/CD +- Jest +- Devcontainer +- PHP 8 + +## Usage Rules + +- This file is editable. +- Add information when Jonathan provides new facts. +- Modify existing information when Jonathan corrects or updates it. +- Delete information when Jonathan asks to remove it. +- Prefer the latest explicit instruction from Jonathan over older content. \ No newline at end of file