Doc Coauthoring
aws-samples/sample-strands-agent-with-agentcore
Guide users through a structured workflow for co-authoring documentation.
Sets up PawBytes Proposal Automation Suite in a project. An agent skill from pawbytes/skill-suites.
$ npx skills add pawbytes/skill-suites --skill paw-pa-setup -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install pawbytes/skill-suites paw-pa-setup --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-setup .claude/skills/paw-pa-setup && 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-setup" agent skill from https://github.com/pawbytes/skill-suites/tree/main/src/pa/paw-pa-setup into .claude/skills/paw-pa-setup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "paw-pa-setup", 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-setupType 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-setup -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install pawbytes/skill-suites paw-pa-setup --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-setup .agents/skills/paw-pa-setup && 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-setup" agent skill from https://github.com/pawbytes/skill-suites/tree/main/src/pa/paw-pa-setup into .agents/skills/paw-pa-setup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "paw-pa-setup", 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-setup -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install pawbytes/skill-suites paw-pa-setup --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-setup .cursor/skills/paw-pa-setup && 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-setup" agent skill from https://github.com/pawbytes/skill-suites/tree/main/src/pa/paw-pa-setup into .cursor/skills/paw-pa-setup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "paw-pa-setup", 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-setup--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-setup -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install pawbytes/skill-suites paw-pa-setup --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-setup .gemini/skills/paw-pa-setup && 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-setup" agent skill from https://github.com/pawbytes/skill-suites/tree/main/src/pa/paw-pa-setup into .gemini/skills/paw-pa-setup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "paw-pa-setup", 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-setupInstalls 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-setup -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-setup .github/skills/paw-pa-setup && 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-setup" agent skill from https://github.com/pawbytes/skill-suites/tree/main/src/pa/paw-pa-setup into .github/skills/paw-pa-setup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "paw-pa-setup", 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-setup -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-setup --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-setup .opencode/skills/paw-pa-setup && 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-setup" agent skill from https://github.com/pawbytes/skill-suites/tree/main/src/pa/paw-pa-setup into .opencode/skills/paw-pa-setup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "paw-pa-setup", 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-setupSets up PawBytes Proposal Automation Suite in a project. An agent skill from pawbytes/skill-suites.
Paw Pa Setup is an agent skill from pawbytes/skill-suites. Sets up PawBytes Proposal Automation Suite in a project. Use when the user requests to 'install proposal automation', 'configure PawBytes Proposal Automation', or 'setup paw-pa'.
Its SKILL.md is about 3.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 15 other files, including scripts and assets (for example `assets/module.yaml`, `scripts/merge-config.py` and `scripts/merge-help-csv.py`).
It sits in Sales & Support, covering Proposals and quotes. It works with Pandoc. The repository describes itself as: 50+ AI agent skills for Claude, Codex, OpenClaw etc — agentic marketing automation, AI creative agency, and developer productivity tools. The licence is MIT.
2 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 8 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.
Paw Pa Setup loads about 3.2k tokens when it runs. Until then it costs about 48 tokens; SKILL.md has 1,065 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). 1,065 words, ~3,236 tokens.
.claude/skills/paw-pa-setup/SKILL.md (or your agent's skills folder). This skill also uses 10 other files; get the full folder from GitHub.Installs and configures the PawBytes Proposal Automation Suite into a project in a single guided pass: writes config, checks optional dependencies (AssemblyAI, browser-harness, pandoc), scaffolds the shared seller memory workspace, and optionally runs first-run library ingestion. Module identity (name, code, version) comes from assets/module.yaml.
Writes to:
{project-root}/.pawbytes/config/config.yaml — shared ecosystem config: core settings at root plus a pa section. User-only keys (user_name, communication_language) are never written here.{project-root}/.pawbytes/config/config.user.yaml — gitignore-intended personal settings: user_name, communication_language, and any module variable marked user_setting: true (assemblyai_api_key, default_mode, default_proposal_type, default_language, default_pricing_mode, default_hourly_rate, web_research_enabled).{project-root}/.pawbytes/config/module-help.csv — registers module capabilities for the help system.{project-root}/.pawbytes/proposal-automation-suites/ — shared seller memory workspace (brand, library, proposals, clients, daily). Follows the PawBytes suite convention (marketing-suites, upwork-suites, proposal-automation-suites); v1 is single-seller with no tenant slug, so memory lives at the suite root rather than under sellers/{slug}/.Both config scripts use an anti-zombie pattern — existing entries for this module are removed before writing fresh ones, so stale values never persist.
{project-root} is a literal token in config values — never substitute it with an actual path. It signals to the consuming LLM that the value is relative to the project root, not the skill root.
A setup specialist for the PawBytes Proposal Automation Suite. Efficient during first-time installation and updates, and honest about optional dependencies — AssemblyAI for transcription, browser-harness for web research, pandoc for PDF/DOCX export. The suite always installs; each layer degrades gracefully when a dependency is missing.
assets/module.yaml for module metadata and variable definitions (the code field, pa, is the module identifier).{project-root}/.pawbytes/config/config.yaml has a pa section — if present, inform the user this is an update.If the user provides arguments (e.g. accept all defaults, --headless/-H, or inline values like default mode autonomous, hourly rate 150), map provided values to config keys, use defaults for the rest, and skip interactive prompting. Still display the full confirmation summary at the end.
Ask the user for values. Show defaults in brackets. Present all values together so the user can respond once with only what they want to change (e.g. "default mode autonomous, rest are fine"). Never tell the user to "press enter" or "leave blank" — in a chat interface they must type something to respond.
Default priority (highest wins): existing config values > assets/module.yaml defaults.
Core config (only if no core keys exist yet): user_name (default: Pawbytes), communication_language and document_output_language (default: English — ask as a single language question, both keys get the same answer). Of these, user_name and communication_language are written exclusively to config.user.yaml.
Module config: Read each variable in assets/module.yaml that has a prompt field and ask using that prompt with its default. For default_language, substitute {communication_language} with the resolved communication language before presenting the default.
Run all three checks. Record status for the confirmation summary. Never stop setup based on these results.
paw-pa-intake uses AssemblyAI for audio/video transcription.
config.user.yaml) → note transcription is ready.paw-pa-research prefers the PawBytes browser-harness skill for live web research when web_research_enabled is true.
Check for the command:
command -v browser-harnessAlso check whether the browser-harness skill is available in the user's skill path.
web_research_enabled is true).web_research_enabled: true, note the degradation but do not change their preference. Do not block.paw-pa-generation uses pandoc for PDF/DOCX export.
command -v pandocWrite a temp JSON file with the collected answers structured as {"core": {...}, "module": {...}} (omit core if it already exists). Then run both scripts:
python3 scripts/merge-config.py \
--config-path "{project-root}/.pawbytes/config/config.yaml" \
--user-config-path "{project-root}/.pawbytes/config/config.user.yaml" \
--module-yaml assets/module.yaml \
--answers {temp-file}
python3 scripts/merge-help-csv.py \
--target "{project-root}/.pawbytes/config/module-help.csv" \
--source assets/module-help.csv \
--module-code paBoth scripts output JSON to stdout. If either exits non-zero, surface the error and stop. Run either script with --help for full usage.
Resolve the {project-root} token to the actual project root for directories on disk; the config files keep the literal token.
Memory root: {project-root}/.pawbytes/proposal-automation-suites/
Create the full memory tree:
mkdir -p "{project-root}/.pawbytes/proposal-automation-suites/brand/boilerplate"
mkdir -p "{project-root}/.pawbytes/proposal-automation-suites/library/inbox"
mkdir -p "{project-root}/.pawbytes/proposal-automation-suites/proposals"
mkdir -p "{project-root}/.pawbytes/proposal-automation-suites/clients"
mkdir -p "{project-root}/.pawbytes/proposal-automation-suites/daily"Initialize empty library indexes if they do not exist:
# case-studies-index.json — only if missing
# pricing-history.json — only if missingWrite [] to each missing JSON index file.
index.mdWrite {project-root}/.pawbytes/proposal-automation-suites/index.md (create or refresh the scaffold sections if this is a fresh install):
# Proposal Automation Memory
## Brand
- `brand/identity.md` — logo, colors, fonts, voice
- `brand/boilerplate/` — about-us, terms, bios (user-provided; never AI-drafted for T&Cs)
## Library
| Index | Entries | Last re-index |
|-------|---------|---------------|
| Case studies | 0 | (never) |
| Pricing history | 0 | (never) |
| Scope templates | (empty) | (never) |
Inbox: `library/inbox/` — drop case studies, past proposals, boilerplate docs here, then run `paw-pa-library`.
## Recent Proposals
(none yet)
## Open Client Threads
(none yet)
## Recent Activity
See `daily/YYYY-MM-DD.md` for append-only session log tagged by skill.
## Next step
Drop case studies in `library/inbox/` → run `paw-pa-library` → invoke `paw-pa-agent-orchestrator` for your first proposal.brand/identity.md# Brand Identity
<!-- Fill in your seller brand. Generation reads this for styling and voice. -->
- **Logo path:** (path to logo file, relative to project root or absolute)
- **Primary color:** #000000
- **Secondary color:** #666666
- **Accent color:** #0066CC
- **Heading font:** (e.g. Inter)
- **Body font:** (e.g. Inter)
- **Voice:** (e.g. direct, expert, warm — 1–2 sentences)
- **Default language:** (matches config `default_language`)brand/boilerplate/about-us.md# About Us
<!-- Standard about-us copy for proposals. Library ingestion may append sections from dropped docs. -->
(Your company overview — who you are, what you do, why clients choose you.)brand/boilerplate/terms.md# Terms & Conditions Templates
<!-- USER-PROVIDED ONLY. Generation pulls from here — never AI-drafts legal terms. -->
## Standard
(Your default T&Cs for typical engagements.)
## Enterprise
(Optional variant for larger deals.)brand/boilerplate/bios.md# Team Bios
<!-- One section per person. Library ingestion may add bios from dropped docs. -->
## (Your Name)
(Role, credentials, relevant experience — 2–4 sentences.)library/scope-templates.md# Scope Templates
<!-- Reusable scope/deliverable clauses keyed by service type. Library and generation curate this file. -->
## General
- (Add deliverable clauses as they emerge from past proposals.)If library/inbox/ contains any .md, .txt, or .json files after scaffolding, offer to run library ingestion now. If the user accepts (or --headless with docs present), invoke:
python3 ../paw-pa-library/scripts/ingest-library.py \
--memory-root "{project-root}/.pawbytes/proposal-automation-suites" \
--inbox "{resolved library_inbox_folder path}"Report ingestion summary JSON (files processed, entries added, warnings).
Use the script JSON output to display what was written — config values set, user settings written to config.user.yaml (user_keys in result), help entries added, fresh install vs update, dependency check results (AssemblyAI, browser-harness, pandoc), workspace paths scaffolded, and optional library ingest results. Then display the module_greeting from assets/module.yaml.
Next steps for the user:
library/inbox/paw-pa-library to build your searchable indexpaw-pa-agent-orchestrator for your first proposalOnce the user's user_name and communication_language are known (from collected input, arguments, or existing config), use them consistently for the rest of the session: address the user by their configured name and communicate in their configured language.
{project-root}/
.pawbytes/
config/
config.yaml # Shared config (committed) — includes pa: section
config.user.yaml # User settings + API keys (gitignored)
module-help.csv # Capability registry
.pawbytes/proposal-automation-suites/
index.md # Orientation — every skill reads this first
brand/
identity.md
boilerplate/
about-us.md
terms.md
bios.md
library/
inbox/ # Drop docs here
case-studies-index.json
pricing-history.json
scope-templates.md
ingest-manifest.json # Created by paw-pa-library on first ingest
proposals/ # One folder per run (orchestrator creates)
clients/ # Per-client history
daily/ # Append-only session log© 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 10 other files (scripts, assets) in src/pa/paw-pa-setup of pawbytes/skill-suites.
Open the folder on GitHubat commit 547a6df
Paw Pa Setup 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 |
|---|---|---|---|---|---|---|
| Paw Pa Setup this skillpawbytes/skill-suites | 110 | — | ~3.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 | 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…
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
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.
Works with
Categories
Sets up PawBytes Proposal Automation Suite in a project. An agent skill from pawbytes/skill-suites. Paw Pa Setup is an agent skill from pawbytes/skill-suites. Sets up PawBytes Proposal Automation Suite in a project.
Paw Pa Setup fits situations like: the user requests to install proposal automation; configure PawBytes Proposal Automation.
Run `npx skills add pawbytes/skill-suites --skill paw-pa-setup -a claude-code`. Or copy the skill folder (src/pa/paw-pa-setup in pawbytes/skill-suites) into .claude/skills/paw-pa-setup in your project. Claude Code loads it when a task matches its description.
Run `npx skills add pawbytes/skill-suites --skill paw-pa-setup -a codex`. Or copy the skill folder (src/pa/paw-pa-setup in pawbytes/skill-suites) into .agents/skills/paw-pa-setup 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-setup -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-setup, .gemini/skills/paw-pa-setup, .github/skills/paw-pa-setup and .opencode/skills/paw-pa-setup in your project.
Going by SKILL.md and its folder, Paw Pa Setup needs Python for the scripts in its folder and the command-line tools its instructions call (python3). Our summary lists: Python 3.
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.
Paw Pa Setup is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.2k tokens (SKILL.md is roughly 13k 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 Paw Pa Setup: 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.
pawbytes (a GitHub organization) maintains it in pawbytes/skill-suites, which has 110 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.