Doc Coauthoring
aws-samples/sample-strands-agent-with-agentcore
Guide users through a structured workflow for co-authoring documentation.
Turns a structured sales brief into an evidence-backed HTML research dossier, matching indexed case studies locally and gathering client, tech-stack and pricing evidence from the web.
$ npx skills add pawbytes/skill-suites --skill paw-pa-research -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install pawbytes/skill-suites paw-pa-research --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/pawbytes/skill-suites.git skills-src && mkdir -p .claude/skills && cp -r skills-src/src/pa/paw-pa-research .claude/skills/paw-pa-research && 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 "paw-pa-research" agent skill from https://github.com/pawbytes/skill-suites/tree/main/src/pa/paw-pa-research into .claude/skills/paw-pa-research/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "paw-pa-research", 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/pawbytes/skill-suites/tree/main/src/pa/paw-pa-researchType 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 pawbytes/skill-suites --skill paw-pa-research -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install pawbytes/skill-suites paw-pa-research --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/pawbytes/skill-suites.git skills-src && mkdir -p .agents/skills && cp -r skills-src/src/pa/paw-pa-research .agents/skills/paw-pa-research && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "paw-pa-research" agent skill from https://github.com/pawbytes/skill-suites/tree/main/src/pa/paw-pa-research into .agents/skills/paw-pa-research/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "paw-pa-research", 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 pawbytes/skill-suites --skill paw-pa-research -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install pawbytes/skill-suites paw-pa-research --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/pawbytes/skill-suites.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/src/pa/paw-pa-research .cursor/skills/paw-pa-research && 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 "paw-pa-research" agent skill from https://github.com/pawbytes/skill-suites/tree/main/src/pa/paw-pa-research into .cursor/skills/paw-pa-research/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "paw-pa-research", 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/pawbytes/skill-suites.git --path src/pa/paw-pa-research--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 pawbytes/skill-suites --skill paw-pa-research -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install pawbytes/skill-suites paw-pa-research --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/pawbytes/skill-suites.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/src/pa/paw-pa-research .gemini/skills/paw-pa-research && 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 "paw-pa-research" agent skill from https://github.com/pawbytes/skill-suites/tree/main/src/pa/paw-pa-research into .gemini/skills/paw-pa-research/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "paw-pa-research", 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 pawbytes/skill-suites paw-pa-researchInstalls 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 pawbytes/skill-suites --skill paw-pa-research -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/pawbytes/skill-suites.git skills-src && mkdir -p .github/skills && cp -r skills-src/src/pa/paw-pa-research .github/skills/paw-pa-research && 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 "paw-pa-research" agent skill from https://github.com/pawbytes/skill-suites/tree/main/src/pa/paw-pa-research into .github/skills/paw-pa-research/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "paw-pa-research", 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 pawbytes/skill-suites --skill paw-pa-research -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install pawbytes/skill-suites paw-pa-research --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/pawbytes/skill-suites.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/src/pa/paw-pa-research .opencode/skills/paw-pa-research && 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 "paw-pa-research" agent skill from https://github.com/pawbytes/skill-suites/tree/main/src/pa/paw-pa-research into .opencode/skills/paw-pa-research/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "paw-pa-research", 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.
paw-pa-researchTurns a structured sales brief into an evidence-backed HTML research dossier, matching indexed case studies locally and gathering client, tech-stack and pricing evidence from the web.
This workflow builds the research backing for a proposal: local proof in the form of matched case studies from an indexed library, and, when live web research is enabled, external proof such as competitive examples, pricing benchmarks and tech-stack signals for a prospective client. Its non-negotiable rule is that every finding traces to real data, a local index entry with a source path, a web source with a URL, or an observed benchmark, and that thin evidence is written up as a caveat rather than filled in with plausible invention.
It reads a required brief.md file with fields such as client name and context, proposal type, project description, budget, timeline, requirements and constraints, and hard-blocks if that file is missing; a case-study index and client history file are optional and simply skipped or created if absent. A headless flag supports a non-interactive run using only local or pre-provided research notes, and every path in the workflow resolves against either the skill's own installed directory, the project root, or a per-proposal run folder under a pawbytes memory directory.
The dossier itself is a polished HTML report, rendered by a bundled Python script with its own test suite, that auto-opens once the research is complete, serving as the centerpiece a salesperson actually reads rather than a raw data dump.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 547a6df. 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.
Ships 4 files in scripts/ (Python), which the agent can run.
Shell commands in SKILL.md call:
python3From the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
pawbytes.ioFrom 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 Research Dossier Builder loads about 2.2k tokens when it runs, and up to ~6.4k if it reads all its reference files. Until then it costs about 111 tokens; SKILL.md has 886 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); the scripts in this folder are not scanned.
The full file from pawbytes/skill-suites at commit 547a6df, republished under its MIT licence (© pawbytes). 886 words, ~2,225 tokens.
.claude/skills/paw-pa-research/SKILL.md (or your agent's skills folder). This skill also uses 13 other files; get the full folder from GitHub.This workflow turns a structured brief into an evidence-backed research dossier that substantiates the proposal — local proof ("we've done this") plus web proof ("here's the industry benchmark"). You are a diligent research analyst: you match the seller's indexed case-study library, gather client intelligence and tech-stack signals, and when enabled, conduct respectful live web research for external examples, pricing benchmarks, and competitive context. The dossier is the UX centerpiece: a polished HTML report that auto-opens when complete.
The non-negotiable: every finding is grounded in real data — local index entries with traceable source paths, web sources with URLs, observed benchmarks — never invented case studies, client facts, or market rates. If evidence is thin, say so in caveats rather than filling gaps with plausible fiction.
Module: paw-pa — PawBytes Proposal Automation Suite.
Args: --headless / -H for non-interactive (local-only or pre-provided research notes); optional run folder path or proposal slug.
{skill-root} (e.g. references/local-case-study-matching.md) resolve from this skill's installed directory.{project-root} → the project working directory.{memory-root} → {project-root}/.pawbytes/proposal-automation-suites (override via config workspace_folder parent if setup relocates memory).{run-folder} → {memory-root}/proposals/{slug}-{date}/ — one proposal run's artifact folder.This workflow does not depend on other agents' code. It reads files that upstream workflows (or the user) place on disk:
| Input | Path | Required |
|---|---|---|
| Structured brief | {run-folder}/brief.md | Yes — hard-block if missing |
| Case-study index | {memory-root}/library/case-studies-index.json | No — warn if empty; local matching skipped |
| Client history | {memory-root}/clients/{client-slug}/history.md | No — create/update if client known |
| Orientation | {memory-root}/index.md | No — read for context |
brief.md fields (from intake; parse markdown frontmatter or ## sections):
clientName, clientContext, proposalType (pitch | rfp | scoping)projectDescription, budget, timelinerequirements[], constraints[], decisionMakerassumptions[] (if autonomous intake flagged gaps)case-studies-index.json entry shape:
{
"id": "cs-001",
"client": "Prior Client Co",
"industry": "Manufacturing",
"serviceType": "Shopify migration",
"deliverables": ["Theme rebuild", "ERP integration"],
"outcome": "40% conversion lift in 90 days",
"testimonial": "Optional quote",
"tags": ["shopify", "b2b", "ecommerce"],
"sourceDocPath": "library/inbox/prior-proposal.pdf"
}Load config from {project-root}/.pawbytes/config/config.yaml and {project-root}/.pawbytes/config/config.user.yaml (root level and the pa section). If config is missing, mention paw-pa-setup can configure the module, then proceed with defaults. Honor communication_language and address the seller by user_name when known.
Key config: web_research_enabled (default true), workspace_folder (default {project-root}/.pawbytes/proposal-automation-suites/proposals).
Then locate the run and orient:
{workspace_folder}/*/brief.md — most recent or ask which run. If none exist, ask for a run folder or point them at paw-pa-intake / paw-pa-agent-orchestrator.{run-folder}/brief.md. Extract client name, scope, requirements, industry signals. Derive {client-slug} (lowercase, hyphenated).{memory-root}/index.md, {memory-root}/library/case-studies-index.json, and {memory-root}/clients/{client-slug}/history.md if it exists.| Condition | Mode | Load |
|---|---|---|
web_research_enabled false, or --headless with no browser | local-only | references/local-only-research.md |
browser-harness available (command -v browser-harness) | local-browser | references/live-browser-research.md |
| browser-harness unavailable, cursor-ide-browser MCP available | cursor-ide-browser | references/cursor-browser-research.md |
| Neither browser available | local-only | references/local-only-research.md — clear notice that web sections will be empty or user-supplied |
Always load references/local-case-study-matching.md regardless of mode — local matching runs in every mode.
Work through research flavors in order. Load the matching reference when entering each flavor:
| Flavor | Reference | When |
|---|---|---|
| Local case-study matching | references/local-case-study-matching.md | Always |
| Client intelligence | references/client-intel.md | Web enabled or user provided intel |
| Tech stack | references/tech-stack-research.md | Brief mentions tech/domain or web enabled |
| Web case studies & benchmarks | references/web-evidence.md | Web enabled |
| Pricing benchmarks | references/pricing-benchmarks.md | Web enabled or history exists |
| Competitive context | references/competitive-context.md | Web enabled or user asked |
Record observations to {run-folder}/.research-findings-{YYYY-MM-DD}.json as you go — mirror the findings JSON shape documented at the top of scripts/render_dossier.py. Append per section; do not trust memory across many page loads or context compaction.
Build the findings JSON from your scratch file. Render HTML with the script — it is pure plumbing:
python3 scripts/render_dossier.py --findings "{run-folder}/.research-findings-{date}.json" --out "{run-folder}/research-dossier.html"The script writes self-contained HTML and auto-opens it in the default browser. If opened: false (headless or no GUI), give the user the file path.
Optionally write {run-folder}/research-dossier.md — same sections in prose for downstream skills that prefer markdown.
{memory-root}/clients/{client-slug}/history.md summarizing this research run (scope researched, top local match, key web finding). Create the file with a header if new client.[research] line to {memory-root}/daily/YYYY-MM-DD.md noting client, mode, and dossier path.paw-pa-pricing (benchmarks feed calibration) or return to paw-pa-agent-orchestrator in guided mode.caveats — they inform pricing and generation honestly.{run-folder} without re-intake; overwrite dossier artifacts, append client history.© pawbytes, 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 13 other files (scripts, references) in src/pa/paw-pa-research of pawbytes/skill-suites.
Open the folder on GitHubat commit 547a6df
Proposal Research Dossier Builder 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 Research Dossier Builder this skillpawbytes/skill-suites | 113 | — | ~2.2k | 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 | 900 | — | ~965 | Automated safety check: Pass | MIT | |
| GEO Service Proposal Generatorzubair-trabzada/geo-seo-claude | 11k | — | ~3k | Automated safety check: Notes | MIT | |
| Authoring Rfdssymposium-dev/symposium | 249 | — | ~713 | Automated safety check: Pass | Custom licence |
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.
symposium-dev/symposium
Write and structure RFDs (Requests for Discussion) for the Symposium project.
FritzAndFriends/SharpSite
How to write comprehensive architectural proposals that drive alignment before code is written
pawbytes/skill-suites
Installs the Prodig Suites product-creation module into a project, scaffolding its workspace folders and writing the shared and personal config files.
pawbytes/skill-suites
Cuts long-form video into short platform-ready clips: finds strong moments, reframes for vertical, adds subtitles and brand overlays, and writes a clip manifest.
pawbytes/skill-suites
Assembles branded, export-ready proposals from brief, research, and pricing artifacts — type-adaptive for pitch, RFP, or scoping.
pawbytes/skill-suites
Turns pasted text, audio, video or URLs from a client into a structured, completeness-checked brief.md for the first stage of a proposal pipeline.
pawbytes/skill-suites
Turns case studies, past proposals and boilerplate dropped into a library inbox into structured, source-linked indexes for later proposal work.
pawbytes/skill-suites
Live Upwork market research producing a ranked niche-opportunity dashboard.
Categories
Turns a structured sales brief into an evidence-backed HTML research dossier, matching indexed case studies locally and gathering client, tech-stack and pricing evidence from the web. This workflow builds the research backing for a proposal: local proof in the form of matched case studies from an indexed library, and, when live web research is enabled, external proof such as competitive examples, pricing benchmarks and tech-stack signals for a prospective client. Its non-negotiable rule is that every finding traces to real data, a local index entry with a source path, a web source with a URL, or an observed benchmark, and that thin evidence is written up as a caveat rather than filled in with plausible invention.
Proposal Research Dossier Builder fits situations like: researching a client and their tech stack before writing a proposal; matching a new opportunity against past case studies in an indexed library; gathering pricing benchmarks or competitive context for a pitch or RFP; building a polished research dossier to back up a proposal's claims.
Run `npx skills add pawbytes/skill-suites --skill paw-pa-research -a claude-code`. Or copy the skill folder (src/pa/paw-pa-research in pawbytes/skill-suites) into .claude/skills/paw-pa-research in your project. Claude Code loads it when a task matches its description.
Run `npx skills add pawbytes/skill-suites --skill paw-pa-research -a codex`. Or copy the skill folder (src/pa/paw-pa-research in pawbytes/skill-suites) into .agents/skills/paw-pa-research 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 pawbytes/skill-suites --skill paw-pa-research -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/paw-pa-research, .gemini/skills/paw-pa-research, .github/skills/paw-pa-research and .opencode/skills/paw-pa-research in your project.
Going by SKILL.md and its folder, Proposal Research Dossier Builder needs Python for the scripts in its folder and the command-line tools its instructions call (python3). Our summary lists: Python to run the bundled render_dossier.py script; A structured brief.md file in the proposal's run folder; Optionally a case-studies-index.json file and live web research access.
SKILL.md names 1 domain. As links in the text: pawbytes.io. 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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Proposal Research Dossier Builder 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.2k tokens (SKILL.md is roughly 8.9k 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 4.2k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Proposal Research Dossier Builder: 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, 900 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.
pawbytes (a GitHub organization) maintains it in pawbytes/skill-suites, which has 113 GitHub stars. The repository holds 71 skills in this directory. The repository was last updated on October 3, 2026.
Source: pawbytes/skill-suites on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.