Doc Coauthoring
aws-samples/sample-strands-agent-with-agentcore
Guide users through a structured workflow for co-authoring documentation.
Write a client proposal, quote, scope of work, or engagement letter for a service business.
$ npx skills add jezweb/claude-skills --skill proposal-writer -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install jezweb/claude-skills proposal-writer --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/jezweb/claude-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/writing/skills/proposal-writer .claude/skills/proposal-writer && 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-writer" agent skill from https://github.com/jezweb/claude-skills/tree/main/plugins/writing/skills/proposal-writer into .claude/skills/proposal-writer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "proposal-writer", 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/jezweb/claude-skills/tree/main/plugins/writing/skills/proposal-writerType 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 jezweb/claude-skills --skill proposal-writer -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install jezweb/claude-skills proposal-writer --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jezweb/claude-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/writing/skills/proposal-writer .agents/skills/proposal-writer && 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-writer" agent skill from https://github.com/jezweb/claude-skills/tree/main/plugins/writing/skills/proposal-writer into .agents/skills/proposal-writer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "proposal-writer", 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 jezweb/claude-skills --skill proposal-writer -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install jezweb/claude-skills proposal-writer --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jezweb/claude-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/writing/skills/proposal-writer .cursor/skills/proposal-writer && 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-writer" agent skill from https://github.com/jezweb/claude-skills/tree/main/plugins/writing/skills/proposal-writer into .cursor/skills/proposal-writer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "proposal-writer", 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/jezweb/claude-skills.git --path plugins/writing/skills/proposal-writer--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 jezweb/claude-skills --skill proposal-writer -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install jezweb/claude-skills proposal-writer --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jezweb/claude-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/writing/skills/proposal-writer .gemini/skills/proposal-writer && 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-writer" agent skill from https://github.com/jezweb/claude-skills/tree/main/plugins/writing/skills/proposal-writer into .gemini/skills/proposal-writer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "proposal-writer", 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 jezweb/claude-skills proposal-writerInstalls 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 jezweb/claude-skills --skill proposal-writer -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/jezweb/claude-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/writing/skills/proposal-writer .github/skills/proposal-writer && 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-writer" agent skill from https://github.com/jezweb/claude-skills/tree/main/plugins/writing/skills/proposal-writer into .github/skills/proposal-writer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "proposal-writer", 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 jezweb/claude-skills --skill proposal-writer -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install jezweb/claude-skills proposal-writer --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jezweb/claude-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/writing/skills/proposal-writer .opencode/skills/proposal-writer && 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-writer" agent skill from https://github.com/jezweb/claude-skills/tree/main/plugins/writing/skills/proposal-writer into .opencode/skills/proposal-writer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "proposal-writer", 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-writerWrite a client proposal, quote, scope of work, or engagement letter for a service business.
Proposal Writer is an agent skill from jezweb/claude-skills. Write a client proposal, quote, scope of work, or engagement letter for a service business. Covers project understanding, scope, timeline, pricing presentation, and terms. Use whenever the user asks for a proposal, quote, project proposal, client proposal, SOW, statement of work, engagement letter, or B2B service engagement document — for web dev, consulting, trades, or any service business.
Its SKILL.md is about 2.9k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Sales & Support, covering Proposals and quotes. The repository describes itself as: Skills for Claude Code CLI such as full stack dev Cloudflare, React, Tailwind v4, and AI integrations. The licence is MIT.
8 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 64965d9. 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 Writer loads about 2.9k tokens when it runs. Until then it costs about 103 tokens; SKILL.md has 1,666 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 jezweb/claude-skills at commit 64965d9, republished under its MIT licence (© jezweb). 1,666 words, ~2,864 tokens.
.claude/skills/proposal-writer/SKILL.md (or your agent's skills folder).Produces proposals for service businesses — web development, consulting, trades, professional services, creative agencies. The goal is a document that wins the work by showing you understood the problem, have a clear plan, and are easy to work with.
Gather these inputs. Ask for anything missing:
If the user has notes from a discovery call or email thread, use those to write the "project understanding" section in the client's own language.
Present sections in this order. Every section earns its place — cut any that do not apply.
This is the most important section. It proves you listened. Restate the client's problem in their words, not yours. Show you understand what they are trying to achieve, not just what they asked you to build.
Too corporate:
We understand that your organisation is seeking to leverage digital transformation to enhance customer engagement across multiple touchpoints and drive sustainable growth through an integrated online presence.
Right tone:
You have been running the business for 12 years on word-of-mouth alone, and it has worked — you are booked out most weeks. The problem is that when someone searches "plumber Newcastle" you do not show up, and you are losing jobs to competitors with half your experience. You want a website that shows up in local search and makes it easy for people to call or book online.
Rules for this section:
High-level description of what you will do and why this approach makes sense for them. This is the "what and why", not the detailed scope.
Connect the solution back to their problem. "Because you need local customers to find you, we will build the site on WordPress with a focus on local SEO structure from day one" is better than "We will build a WordPress website with SEO."
One to two paragraphs. Save the detail for the scope section.
Numbered list of specific items the client will receive. Each item should be concrete enough that both parties can agree on whether it was delivered.
Too vague:
- Website design and development
- SEO optimisation
- Ongoing support
Right level of detail:
- Custom WordPress website — up to 8 pages (Home, About, Services x4, Contact, Blog)
- Mobile-responsive design matching your brand colours and logo
- Local SEO setup — Google Business Profile optimisation, schema markup on all pages, location-based meta titles
- Contact form with email notifications to your nominated address
- Online booking integration with your existing Calendly account
- Basic analytics setup (Google Analytics 4 + Google Search Console)
- 30-minute training session on how to update content yourself
- 30 days of post-launch support for bug fixes and minor adjustments
What is NOT included is just as important as what is. Add an exclusions note at the bottom of this section:
Not included in this scope: Ongoing content writing, paid advertising setup or management, additional pages beyond the 8 listed above, custom functionality not described here. These can be quoted separately if needed.
Phases with durations or target dates. Show the client what happens when.
| Phase | Duration | What happens |
|---|---|---|
| Discovery and planning | Week 1 | Content gathering, sitemap sign-off |
| Design | Weeks 2-3 | Homepage mockup, revision, remaining pages |
| Development | Weeks 3-5 | Build, integrations, internal testing |
| Review and launch | Week 6 | Client review, revisions, go-live |
If there is a fixed deadline (event, season, campaign), state it and work the timeline back from it. Flag any dependencies on the client: "This timeline assumes content and images are provided by [date]."
Frame pricing as an investment, not a cost. Present confidently — no hedging, no apologising for the number.
Choose the pricing format that suits the project:
Single price (simple projects):
Investment: $4,500 + GST
This covers everything listed in the scope above — design, development, SEO setup, training, and 30 days of post-launch support.
Good / Better / Best packages (gives the client choice):
| Starter | Professional | Premium | |
|---|---|---|---|
| Pages | 5 | 8 | 12 |
| Design | Template-based | Custom design | Custom + brand guide |
| SEO | Basic on-page | Local SEO package | Local SEO + content strategy |
| Support | 14 days | 30 days | 90 days |
| Investment | $2,500 | $4,500 | $7,500 |
Package pricing works well when the client is unsure of scope. The middle option is typically where you want them to land — price it as the best value.
Line items (transparency-focused):
| Item | Investment |
|---|---|
| Design (homepage + 7 inner pages) | $1,800 |
| Development and integrations | $1,500 |
| Local SEO setup | $600 |
| Training and documentation | $300 |
| 30-day post-launch support | $300 |
| Total | $4,500 + GST |
Line items invite line-item negotiation ("Can we drop the training?"). Use when the client has asked for a breakdown or when transparency builds trust.
Value-based framing (optional addition to any format):
For context: businesses in your area that rank on the first page for "plumber Newcastle" report an average of 15-20 inbound enquiries per month. At your average job value, this site should pay for itself within the first 2-3 months of consistent rankings.
Only use value framing when you can back it up with real numbers or reasonable estimates. Do not invent statistics.
Brief credibility section. Two to three sentences, not a company history.
Jezweb has been building websites for Australian businesses since 2009. We work primarily with trades and service businesses in the Hunter Valley and across NSW. Over 200 active clients trust us to keep their sites running and ranking.
Include one or two proof points: years in business, number of clients, relevant case study, industry-specific experience. Skip the mission statement and founding story.
Clear, single call to action. Tell the client exactly what to do next.
To get started, reply to this email with a "go ahead" and we will send through an invoice for the first payment. We will then schedule a 30-minute kickoff call to gather your content and lock in the timeline.
Or:
If you are happy to proceed, sign the attached agreement and return it by [date]. We will invoice the deposit and start the discovery phase the following week.
Do not offer three different next steps. One action, clearly stated.
Keep it short and plain-language. Cover the essentials:
Do not write a legal contract. This section sets expectations. If the client needs formal terms, reference a separate T&C document.
Confident, not arrogant. "We will" not "We would endeavour to." State what you will do as a matter of fact.
Specific, not vague. "8 pages" not "a multi-page website." "$4,500" not "competitive pricing." "Week 3" not "in due course."
Brief, not padded. If a section can be said in two sentences, do not write four. The client is busy. Respect that.
Human, not robotic. Write like you are explaining the plan to someone sitting across the table. Contractions are fine. First person is fine.
Honest about limits. If something is not included, say so up front. If there is a risk (timeline depends on client providing content), name it. Clients trust people who are straight with them.
Too corporate:
We are pleased to present our proposed investment framework for the delivery of the aforementioned scope of work. Our pricing model reflects our commitment to delivering exceptional value while maintaining the highest standards of quality and innovation in our deliverables.
Total proposed investment: $4,500.00 (exclusive of GST)
Right tone:
Investment: $4,500 + GST
That covers everything listed above — design, build, SEO setup, training, and a month of support after launch. No hidden fees.
Payment is split 50/50: half up front to get started, half when the site goes live.
Deliver the proposal as clean markdown with clear section headings. If the user needs a formatted file, offer to create it as markdown they can paste into Google Docs, Canva, or their proposal tool.
For proposals that need to look polished (PDF to a corporate client), suggest the user paste the content into their branded template. The skill produces the words, not the layout.
Match the regional tone of the client. Default to Australian English unless told otherwise.
© jezweb, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in plugins/writing/skills/proposal-writer of jezweb/claude-skills.
Open the folder on GitHubat commit 64965d9
Proposal Writer 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 Writer this skilljezweb/claude-skills | 1.1k | — | ~2.9k | Automated safety check: Pass | MIT | |
| Doc Coauthoringaws-samples/sample-strands-agent-with-agentcore | 195 | 40 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 | |
| GEO Service Proposal Generatorzubair-trabzada/geo-seo-claude | 11k | — | ~3k | Automated safety check: Notes | MIT | |
| Architectural ProposalsFritzAndFriends/SharpSite | 145 | 2 repos | ~1.6k | Automated safety check: Pass | MIT |
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.
FritzAndFriends/SharpSite
How to write comprehensive architectural proposals that drive alignment before code is written
techwolf-ai/ai-first-toolkit
Mine the user's Claude Code + Cowork session history into a structured task profile, what they do with AI, how often, how successfully where friction lives, then propose atomic skills that would…
jezweb/claude-skills
Build conversational AI voice agents on the ElevenLabs platform.
jezweb/claude-skills
Generate custom favicons from logos, text, or brand colours.
jezweb/claude-skills
Set up Tailwind v4 + shadcn/ui themed UI with dark mode. An agent skill from jezweb/claude-skills.
jezweb/claude-skills
All-in-one project configuration and health management. An agent skill from jezweb/claude-skills.
jezweb/claude-skills
Test website responsiveness across viewport widths using browser automation.
jezweb/claude-skills
Build MCP servers in Python with FastMCP. An agent skill from jezweb/claude-skills.
Categories
Write a client proposal, quote, scope of work, or engagement letter for a service business. Proposal Writer is an agent skill from jezweb/claude-skills. Write a client proposal, quote, scope of work, or engagement letter for a service business.
Proposal Writer fits situations like: the user asks for a proposal; project proposal; client proposal; statement of work.
Run `npx skills add jezweb/claude-skills --skill proposal-writer -a claude-code`. Or copy the skill folder (plugins/writing/skills/proposal-writer in jezweb/claude-skills) into .claude/skills/proposal-writer in your project. Claude Code loads it when a task matches its description.
Run `npx skills add jezweb/claude-skills --skill proposal-writer -a codex`. Or copy the skill folder (plugins/writing/skills/proposal-writer in jezweb/claude-skills) into .agents/skills/proposal-writer 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 jezweb/claude-skills --skill proposal-writer -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-writer, .gemini/skills/proposal-writer, .github/skills/proposal-writer and .opencode/skills/proposal-writer in your project.
SKILL.md names no scripts, command-line tools or credentials: Proposal Writer 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 Writer is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.9k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Proposal Writer: Doc Coauthoring (aws-samples/sample-strands-agent-with-agentcore, 195 stars), Audit Onboarding Proposal (hoangnb24/repository-harness, 1.2k stars), No Negative Echo (LB623/no-negative-echo, 897 stars) and GEO Service Proposal Generator (zubair-trabzada/geo-seo-claude, 11k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
jezweb (a GitHub user) maintains it in jezweb/claude-skills, which has 1,051 GitHub stars. The repository holds 52 skills in this directory. The repository was last updated on October 5, 2026.
Source: jezweb/claude-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.