profile-setup
Skill2 starsChanged 5 months agoMITView on GitHub
Capture or update the user's personal-finance context (age, province, salary, monthly expenses, contribution room RRSP/TFSA/FHSA, FTHB horizon, ESPP details, IOUs, debts, insurance, external crypto). Use when the user says "set up my profile", "personalize advice", "tell aifolimizer about me", "update my context", "I have new information", or whenever a downstream skill returns generic advice because get_personal_context.present is false. All fields optional.
1 other project uses a version of this.
Adopted by
Most recently taken up by
- ankul5/internship-hunt-skilltheir own version, first seen Nov 1, 2026
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 1
- ankul5/internship-hunt-skill★ 2same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository29 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- adversarial-researchSkill
- auto-rebalanceSkill
- cash-deploymentSkill
- daily-briefingSkill
- dividend-strategySkill
- earnings-analyzerSkill
- earnings-postmortemSkill
- employer-stockSkill
- health-checkSkill
- macro-impactSkill
- momentum-scannerSkill
- optimize-allocationSkill
- pead-trackerSkill
- perf-optimizerSkill
- portfolio-healthSkill
- portfolio-reviewSkill
- position-reviewSkill
- pre-trade-checkSkill
- risk-assessmentSkill
- sector-rotationSkill
- stock-analysisSkill
- stock-compareSkill
- tax-loss-reviewSkill
- top-trades-todaySkill
- trade-journalSkill
- trading-deskSkill
- weekly-mirrorSkill
The file
We split this skill into the rules it gives an agent
8 rules. About 0 are common, 3 are distinctive, and 5 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈3
Distinctive · estimate
This author's own choices. Worth a look.
5
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 14
Call mcp__aifolimizer__get_personal_context to see what is already stored.
- Distinctive: line 15
Ask the user which mode they prefer:
- Very specific: line 64
After each group, call mcp__aifolimizer__set_personal_context_field for each provided field (one call per field - atomic + idempotent).
- Very specific: line 66
After capture, call get_personal_context again and read back the derived block (marginal_tax_rate_pct, emergency_fund_target_cad, …
- Very specific: line 78
Never store real names, emails, account numbers, employer names, bank names, counterparty names.
- Distinctive: line 79
Every field is optional. Do NOT pressure the user to provide a value - accept silence or "skip" and move on.
- Distinctive: line 81
Do NOT echo dollar values back in summaries beyond order-of-magnitude (use bands like ">90k") if the user later asks for a sharable summary.
- Very specific: line 82
If user says "wipe my profile", call mcp__aifolimizer__clear_personal_context and confirm.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Profile Setup - Personal-Finance Context Capture
Purpose
Personalize every advice skill by storing one structured profile of life context (separate from Wealthsimple account data). Stored locally only at ~/.aifolimizer/personal_context.json with mode 0o600, never committed, never sent to external LLMs in raw form.
How to run
- Call
mcp__aifolimizer__get_personal_contextto see what is already stored. Keepcontext_hashin mind - if the user updates anything, the hash flips and self-learning loops will know to re-weight. - Ask the user which mode they prefer:
- Guided: walk through field groups conversationally. Recommended first time.
- Paste template: user pastes a filled JSON object - tool validates and writes atomically.
- Walk through groups (skip any group the user does not want to share - every field is optional):
Group A - Identity (★★★)
ageprovince(e.g. ON, BC, AB)
Group B - Income (★★★)
gross_salary_cademployer_match_pct(RRSP match)bonus_target_cad
Group C - Cashflow (★★★)
monthly_expenses_cadmonthly_savings_target_cad
Group D - Goals (★★★)
fthb_yes(first-time home buyer?)home_horizon_yearsmortgage_planneddependents_countspouse_present
Group E - Tax shelter room (★★★)
room_rrsp_cad,room_tfsa_cad,room_fhsa_cad
Group F - Risk (★★)
risk_tier_per_account- map per account-type, values ∈{conservative, moderate, aggressive}
Group G - ESPP (★★)
espp_employer_label(anonymized - "EmployerA", never the real name)espp_discount_pct,espp_cycle_months,espp_monthly_contrib_pct,espp_qualifying_hold_months
Group H - Liabilities (★★)
iou_receivable_cad(sum only - never counterparty names)debts(list of{type, balance_cad, rate_pct}-typeexamples: student_loan, credit_card, line_of_credit)
Group I - Banking (★)
institutions(list of anonymized labels: "BankA", "BankB" - never real names like RBC/TD)external_cash_cad(non-WS chequing + HISA total)
Group J - Insurance (★)
insurance_tier∈{basic, middle, comprehensive}
Group K - External crypto (★★)
external_crypto(list of{symbol, qty, cost_basis_cad, platform_label}-platform_labelis anonymized: "PlatformA")
- After each group, call
mcp__aifolimizer__set_personal_context_fieldfor each provided field (one call per field - atomic + idempotent). - For paste-template mode: ask user to paste a JSON object matching
backend/personal_context.template.json. Then callmcp__aifolimizer__set_personal_context_bulkonce with the parsed payload. - After capture, call
get_personal_contextagain and read back thederivedblock (marginal_tax_rate_pct,emergency_fund_target_cad,account_waterfall,fhsa_priority_first) so the user sees what skills will now infer.
Output structure
- Confirm what was set (field count, fields touched).
- Show
derivedsummary: marginal tax rate, emergency-fund target, account-funding order. - Print the new
context_hash(16 hex chars) - used by track-record stratification. - List skills that will now produce more personalized output: cash-deployment, tax-loss-review, dividend-strategy, portfolio-health, risk-assessment, daily-briefing, pre-trade-check.
- Reminder: re-run this skill any time a field changes (job change, dependents, FTHB completed, contribution room used).
Rules
- Never store real names, emails, account numbers, employer names, bank names, counterparty names. Use anonymized labels. If user provides a real name, replace before calling
set_personal_context_field. - Every field is optional. Do NOT pressure the user to provide a value - accept silence or "skip" and move on.
- Validate values before submitting: province must be 2-letter Canadian code; risk tier ∈
{conservative, moderate, aggressive}; balances and rates ≥ 0. - Do NOT echo dollar values back in summaries beyond order-of-magnitude (use bands like ">90k") if the user later asks for a sharable summary.
- If user says "wipe my profile", call
mcp__aifolimizer__clear_personal_contextand confirm.
Gotchas
- Field validation happens server-side via Pydantic - if a
set_personal_context_fieldcall fails, surface the error to the user verbatim and re-prompt that field only (do not abort the whole flow). risk_tier_per_accountexpects a full dict, not a single key - collect all account-type tiers in one prompt before sending.debtsandexternal_cryptoare lists - sending an empty list[]is fine; do not send placeholder example items from the template.personal_context_hashis short (16 hex). It will change every time any of the canonical-keys fields is updated. That is expected and is what enables self-learning stratification.- For the paste-template mode, the template ships with
_INSTRUCTIONSand_helpkeys - strip those before validating.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

