Rfp Response Quality Tone Review
pnp/sharepoint-skills
Reviews a draft proposal for voice consistency, narrative coherence, the firm's configurable tone standards, weak or vague language, and structural quality.
Generate end-to-end investment proposals covering risk profiling, model portfolio recommendation, fee illustration, projections, and compliance review.
$ npx skills add JoelLewis/finance_skills --skill proposal-generation -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install JoelLewis/finance_skills proposal-generation --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/JoelLewis/finance_skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/advisory-practice/skills/proposal-generation .claude/skills/proposal-generation && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "proposal-generation" agent skill from https://github.com/JoelLewis/finance_skills/tree/main/plugins/advisory-practice/skills/proposal-generation into .claude/skills/proposal-generation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "proposal-generation", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/JoelLewis/finance_skills/tree/main/plugins/advisory-practice/skills/proposal-generationType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add JoelLewis/finance_skills --skill proposal-generation -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install JoelLewis/finance_skills proposal-generation --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/JoelLewis/finance_skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/advisory-practice/skills/proposal-generation .agents/skills/proposal-generation && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "proposal-generation" agent skill from https://github.com/JoelLewis/finance_skills/tree/main/plugins/advisory-practice/skills/proposal-generation into .agents/skills/proposal-generation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "proposal-generation", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add JoelLewis/finance_skills --skill proposal-generation -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install JoelLewis/finance_skills proposal-generation --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/JoelLewis/finance_skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/advisory-practice/skills/proposal-generation .cursor/skills/proposal-generation && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "proposal-generation" agent skill from https://github.com/JoelLewis/finance_skills/tree/main/plugins/advisory-practice/skills/proposal-generation into .cursor/skills/proposal-generation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "proposal-generation", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/JoelLewis/finance_skills.git --path plugins/advisory-practice/skills/proposal-generation--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add JoelLewis/finance_skills --skill proposal-generation -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install JoelLewis/finance_skills proposal-generation --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/JoelLewis/finance_skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/advisory-practice/skills/proposal-generation .gemini/skills/proposal-generation && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "proposal-generation" agent skill from https://github.com/JoelLewis/finance_skills/tree/main/plugins/advisory-practice/skills/proposal-generation into .gemini/skills/proposal-generation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "proposal-generation", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install JoelLewis/finance_skills proposal-generationInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add JoelLewis/finance_skills --skill proposal-generation -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/JoelLewis/finance_skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/advisory-practice/skills/proposal-generation .github/skills/proposal-generation && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "proposal-generation" agent skill from https://github.com/JoelLewis/finance_skills/tree/main/plugins/advisory-practice/skills/proposal-generation into .github/skills/proposal-generation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "proposal-generation", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add JoelLewis/finance_skills --skill proposal-generation -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install JoelLewis/finance_skills proposal-generation --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/JoelLewis/finance_skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/advisory-practice/skills/proposal-generation .opencode/skills/proposal-generation && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "proposal-generation" agent skill from https://github.com/JoelLewis/finance_skills/tree/main/plugins/advisory-practice/skills/proposal-generation into .opencode/skills/proposal-generation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "proposal-generation", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
proposal-generationGenerate end-to-end investment proposals covering risk profiling, model portfolio recommendation, fee illustration, projections, and compliance review.
Proposal Generation is an agent skill from JoelLewis/finance_skills. Generate end-to-end investment proposals covering risk profiling, model portfolio recommendation, fee illustration, projections, and compliance review. Use when the user asks about creating a proposal for a prospect, mapping risk questionnaire scores to model portfolios, building fee illustrations with tiered costs, producing Monte Carlo or scenario projections, analyzing a prospect's current portfolio for improvement opportunities, reviewing proposals for SEC Marketing Rule compliance, or designing proposal…
Its SKILL.md is about 8.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/examples.md`).
It sits in Sales & Support, covering Proposals and quotes and Regulatory compliance. The repository describes itself as: Claude Code skill plugins for financial services — 81 skills across 7 domain plugins covering investment management, compliance, advisory practice, trading, and operations. The licence is MIT.
10 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 5c498ea. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Proposal Generation loads about 8.8k tokens when it runs, and up to ~12k if it reads all its reference files. Until then it costs about 200 tokens; SKILL.md has 4,472 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from JoelLewis/finance_skills at commit 5c498ea, republished under its MIT licence (© JoelLewis). 4,472 words, ~8,832 tokens.
.claude/skills/proposal-generation/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.The investment proposal is the centerpiece of the advisory sales process. It translates a prospect's financial situation and goals into a specific, actionable investment recommendation. The end-to-end workflow proceeds through defined stages:
The workflow is iterative, not strictly linear. Prospects may request multiple revisions, ask for comparisons between different models, or bring additional assets into scope after the initial proposal. The proposal system must support version tracking and efficient regeneration.
Risk profiling is the foundation of the proposal recommendation. The risk questionnaire produces a quantitative score that determines which model portfolio is appropriate for the prospect.
Risk questionnaire design:
Model portfolio lineup design: A typical advisory firm maintains 5-10 model portfolios spanning the risk-return spectrum:
| Risk Score Range | Model Name | Equity/Fixed Income | Expected Return Range | Expected Max Drawdown |
|---|---|---|---|---|
| 1-20 | Conservative Income | 20/80 | 3-5% | -8 to -12% |
| 21-35 | Moderate Conservative | 35/65 | 4-6% | -12 to -18% |
| 36-50 | Moderate | 50/50 | 5-7% | -18 to -25% |
| 51-65 | Moderate Growth | 65/35 | 6-8% | -25 to -32% |
| 66-80 | Growth | 80/20 | 7-9% | -32 to -40% |
| 81-100 | Aggressive Growth | 95/5 | 8-11% | -40 to -50% |
Each model is defined by a strategic asset allocation with target weights and permissible ranges for each asset class, along with specific fund or ETF selections that implement the allocation. Models should be reviewed and rebalanced on a defined schedule (typically quarterly or semi-annually).
Suitability alignment: The risk profile alone does not determine the recommendation. The advisor must also consider:
Documenting the recommendation rationale: The proposal must articulate why this specific model is appropriate for this prospect. The rationale should reference the risk profile score, the model's risk-return characteristics, and how the recommendation aligns with the prospect's stated objectives, time horizon, and constraints. This documentation serves both as a client communication tool and as a suitability record for compliance purposes.
A complete investment proposal typically includes the following sections:
Executive summary — a one-page overview of the recommendation: who the client is, what is being recommended, why it is appropriate, and the expected outcome. The executive summary is often the only page some decision-makers read in detail; it must be clear and compelling.
Client profile recap — a summary of the prospect's financial situation as understood by the advisor: personal information, financial goals, time horizon, risk profile score and interpretation, income and expense summary, tax situation, and any special circumstances. This section demonstrates that the advisor listened during discovery and correctly understands the prospect's needs.
Current portfolio analysis (if applicable) — for prospects with existing investments, this section provides:
Recommended portfolio — the core of the proposal:
Fee schedule — a complete disclosure of all costs the client will bear (see Fee Illustration section below).
Historical performance context — how the recommended model or a similar allocation has performed historically. This section requires careful attention to compliance (see Performance Projections and Disclaimers section below). Common presentations include:
Scenario projections — forward-looking analysis showing potential outcomes:
Disclaimers and disclosures — required legal language (see Compliance Review section below).
Next steps — a clear call to action: sign the advisory agreement, fund the account, and begin investing. Include a timeline for implementation.
The fee illustration section of the proposal must present costs clearly, completely, and in compliance with fee disclosure requirements. Prospects make decisions based on fees; incomplete or misleading fee disclosure undermines trust and creates regulatory risk.
Advisory fee presentation:
| Tier | Rate | Assets in Tier | Fee for Tier |
|---|---|---|---|
| First $500K | 1.00% | $500,000 | $5,000 |
| Next $500K | 0.85% | $500,000 | $4,250 |
| Next $1M | 0.75% | $1,000,000 | $7,500 |
| Total | Blended: 0.8375% | $2,000,000 | $16,750/year |
Fund-level expense disclosure (fee-on-fee):
Total cost of ownership:
Breakpoint analysis:
Fee comparison vs alternatives:
Reg BI cost disclosure requirements:
Performance presentation in proposals is one of the most compliance-sensitive areas of the advisory business. The SEC Marketing Rule (Rule 206(4)-1 under the Advisers Act, effective November 2022) substantially governs how investment advisers present performance.
Is a proposal "advertising"? Under the Marketing Rule, "advertisement" includes any communication to more than one person (or designed for such use) that offers or promotes advisory services. A one-on-one proposal to a specific prospect is generally not an advertisement if it is truly tailored to that individual. However, if the firm uses a standardized proposal template that is distributed broadly with only minor customization, regulators may view it as advertising. Best practice: treat all performance presentations in proposals as if the Marketing Rule applies, even for one-on-one presentations.
Historical performance presentation:
Hypothetical performance:
Monte Carlo projections:
Expected return ranges:
Required disclaimers (at minimum):
When a prospect has an existing portfolio at another firm, the current portfolio analysis is one of the most persuasive sections of the proposal. It quantifies the specific improvements the prospect will experience by moving to the recommended portfolio.
Holdings review:
Risk assessment:
Tax lot analysis:
Transition cost estimation:
Concentrated position identification:
Improvement quantification: The proposal should clearly quantify the improvements the prospect will experience:
Every proposal must undergo compliance review before presentation to the prospect. The review ensures suitability documentation, performance presentation, fee disclosure, and disclaimers meet regulatory requirements.
Supervisory review requirements:
Advertising rule applicability:
Performance presentation rules:
Fee disclosure adequacy:
Suitability documentation:
Modern proposal generation relies on technology platforms that integrate data, automate document assembly, and streamline the workflow from discovery to delivery.
Major proposal generation platforms:
Template management:
Data integration:
Digital delivery:
E-signature for advisory agreements:
See references/examples.md for three end-to-end worked examples — a $2M 401(k) rollover proposal (including NUA considerations), a current-vs-proposed comparison against a broker-dealer portfolio, and a proposal template system for a 25-advisor firm. Load it when the user needs a full scenario walkthrough.
© JoelLewis, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file (references) in plugins/advisory-practice/skills/proposal-generation of JoelLewis/finance_skills.
Open the folder on GitHubat commit 5c498ea
Proposal Generation next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Proposal Generation this skillJoelLewis/finance_skills | 205 | — | ~8.8k | Automated safety check: Pass | MIT | |
| Rfp Response Quality Tone Reviewpnp/sharepoint-skills | 132 | — | ~3.5k | Automated safety check: Pass | MIT | |
| Rfp Response Compliance Reviewpnp/sharepoint-skills | 132 | — | ~2.8k | Automated safety check: Pass | MIT | |
| Doc Coauthoringaws-samples/sample-strands-agent-with-agentcore | 195 | 41 repos | ~3.2k | Automated safety check: Pass | MIT | |
| Audit Onboarding Proposalhoangnb24/repository-harness | 1.2k | — | ~4k | Automated safety check: Pass | MIT | |
| No Negative EchoLB623/no-negative-echo | 897 | — | ~965 | Automated safety check: Pass | MIT |
pnp/sharepoint-skills
Reviews a draft proposal for voice consistency, narrative coherence, the firm's configurable tone standards, weak or vague language, and structural quality.
pnp/sharepoint-skills
Reviews a draft proposal against the firm's configurable compliance rules — prohibited language, required disclosures, role and positioning boundaries, and procurement-submission requirements.
aws-samples/sample-strands-agent-with-agentcore
Guide users through a structured workflow for co-authoring documentation.
hoangnb24/repository-harness
Use only when the user explicitly invokes $audit-onboarding-proposal.
LB623/no-negative-echo
Prevent 此地无银三百两式 residue: finalize artifacts without echoing rejected session-only alternatives into labels, metadata, commits, PRs, or handoffs.
zubair-trabzada/geo-seo-claude
Builds a client-ready AI-search-optimization proposal from an existing GEO audit, with pricing tiers, an ROI estimate and a markdown document ready to send.
JoelLewis/finance_skills
Determine how to distribute capital across asset classes using strategic and tactical allocation frameworks.
JoelLewis/finance_skills
Determine how much capital to allocate to individual positions within a portfolio.
JoelLewis/finance_skills
Analyze commodity markets including futures curve dynamics, roll yield, and supply/demand fundamentals.
JoelLewis/finance_skills
Analyze currency markets, exchange rate mechanics, and FX risk management for international portfolios.
JoelLewis/finance_skills
Provide frameworks for managing and paying off personal debt effectively.
JoelLewis/finance_skills
Build diversified portfolios using correlation analysis, efficient frontier construction, and factor-based diversification.
Categories
Generate end-to-end investment proposals covering risk profiling, model portfolio recommendation, fee illustration, projections, and compliance review. Proposal Generation is an agent skill from JoelLewis/finance_skills. Generate end-to-end investment proposals covering risk profiling, model portfolio recommendation, fee illustration, projections, and compliance review.
Proposal Generation fits situations like: the user asks about creating a proposal for a prospect; mapping risk questionnaire scores to model portfolios; building fee illustrations with tiered costs; producing Monte Carlo.
Run `npx skills add JoelLewis/finance_skills --skill proposal-generation -a claude-code`. Or copy the skill folder (plugins/advisory-practice/skills/proposal-generation in JoelLewis/finance_skills) into .claude/skills/proposal-generation in your project. Claude Code loads it when a task matches its description.
Run `npx skills add JoelLewis/finance_skills --skill proposal-generation -a codex`. Or copy the skill folder (plugins/advisory-practice/skills/proposal-generation in JoelLewis/finance_skills) into .agents/skills/proposal-generation in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add JoelLewis/finance_skills --skill proposal-generation -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/proposal-generation, .gemini/skills/proposal-generation, .github/skills/proposal-generation and .opencode/skills/proposal-generation in your project.
SKILL.md names no scripts, command-line tools or credentials: Proposal Generation is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Proposal Generation is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 8.8k tokens (SKILL.md is roughly 35k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 3.4k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Proposal Generation: Rfp Response Quality Tone Review (pnp/sharepoint-skills, 132 stars), Rfp Response Compliance Review (pnp/sharepoint-skills, 132 stars), Doc Coauthoring (aws-samples/sample-strands-agent-with-agentcore, 195 stars) and Audit Onboarding Proposal (hoangnb24/repository-harness, 1.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
JoelLewis (a GitHub user) maintains it in JoelLewis/finance_skills, which has 205 GitHub stars. The repository holds 91 skills in this directory. The repository was last updated on July 18, 2026.
Source: JoelLewis/finance_skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.