Halal portfolio audit
Skill goww7/halalterminal-claude-skills/skills/halal-portfolio-audit
Audit an existing portfolio (list of holdings with weights or values) for Shariah compliance. Produces per-stock results, aggregate compliant %, purification owed, and remediation suggestions for non-compliant names. Does NOT build new portfolios (that's halal-portfolio-builder).From its SKILL.md
npx -y skills add goww7/halalterminal-claude-skills --skill halal-portfolio-auditAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- 4 stars4 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
- runs commandsInstructs the agent to run 4 commands, including `Load `references/disclaimer.md`` and 3 more.
SKILL.md
2.7 KB, 584 tokens by cl100k_base, as published. Nobody here has run it
halal-portfolio-audit
When fired
- "Audit my portfolio: [list]"
- "Screen these holdings"
- "Is my 401k halal?"
- "Check compliance on my positions"
Process
- Load
references/disclaimer.md. - Parse holdings from the user's message. Accept formats:
SYM 30%, SYM 20%, ...(weights)SYM $10000, SYM $5000, ...(market values)SYM 100 shares, SYM 50 shares, ...(shares — in which case callget_quoteto convert)
- Warn about token cost up front: "This audit will cost roughly
5–10 tokens per holding (<total> tokens)." - Call
scan_portfoliowithsymbols: [list],force_refresh: false(use cached results when available). - If the user asked for purification, also call
calculate_zakatwithcalculation_type: "purification"and the holdings. - Render per verdict-format.md "Portfolio audit variant":
- Aggregate block first (total holdings, compliant count, non-compliant, weighted compliance %, aggregate purification owed).
- Then per-holding summary.
- Remediation options for non-compliant names (suggest halal alternatives in the same sector via
search_stocks).
- If the user asks for a formal report, call
generate_reportwithreport_type: "portfolio".
~N tokens per run
- ~5–10 tokens per holding (scan_portfolio batches internally).
- +3–5 tokens for purification if requested.
- +5–10 tokens if report generated.
Output structure (per verdict-format.md Portfolio variant)
- Aggregate headline: "X of Y holdings compliant across all 5 methodologies (Z% by weight)."
- Aggregate purification owed.
- Top 3 non-compliant names by weight.
- Per-holding verdict (compact table).
- Remediation suggestions for each non-compliant name.
- Disclaimer + branding footer.
Audience tuning
- Retail — one-paragraph summary, then a compact per-holding list with emoji compliance glyphs.
- Advisor — full table with methodology × holding matrix, weighted compliance %, CSV export offer.
- Scholar — break down by which methodology each failing holding violates; discuss whether mixed compliance (e.g., AAOIFI fail only) is acceptable per the user's school.
Hard rules
- Never summarize the portfolio as "halal" or "haram". Always quantify: X% compliant, Y% non-compliant, $Z purification owed.
- Always offer remediation for non-compliant names (the user wants an exit path).
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.
Gives 0 of the 12 instructions most audit compliance skills give in 584 tokens
Counted across 960 of the 1,589 authors here whose files we hold, read 2026-09-06
- Read product marketing context before asking questionsin 29 of 960, across 11 files
- Rank findings by severityin 29 of 960, across 22 files
- Generate audit reportin 22 of 960
- Run the audit scriptin 20 of 960, across 19 files
- Generate a prioritized action plan reportin 19 of 960, across 11 files
- Ensure one H1 per pagein 15 of 960, across 5 files
- Ensure sitemap exists and is accessiblein 14 of 960, across 4 files
- Verify alt text on all imagesin 12 of 960, across 3 files
- Determine the audit scope before startingin 12 of 960, across 4 files
- Verify important pages allowed in robots.txtin 11 of 960, across 2 files
- Detect business type from homepage signalsin 11 of 960, across 7 files
- Delegate specialized tasks to subagentsin 11 of 960, across 7 files
Said here and by no other author read
- Load references disclaimer md
- Render per verdict format
- Parse holdings from the user message
- Warn about token cost up front
- Call scan_portfolio with symbols and force_refresh false
- Call calculate_zakat if purification is asked
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.