Doc Coauthoring
aws-samples/sample-strands-agent-with-agentcore
Guide users through a structured workflow for co-authoring documentation.
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.
$ npx skills add pawbytes/skill-suites --skill paw-pa-intake -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install pawbytes/skill-suites paw-pa-intake --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-intake .claude/skills/paw-pa-intake && 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-intake" agent skill from https://github.com/pawbytes/skill-suites/tree/main/src/pa/paw-pa-intake into .claude/skills/paw-pa-intake/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "paw-pa-intake", 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-intakeType 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-intake -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install pawbytes/skill-suites paw-pa-intake --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-intake .agents/skills/paw-pa-intake && 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-intake" agent skill from https://github.com/pawbytes/skill-suites/tree/main/src/pa/paw-pa-intake into .agents/skills/paw-pa-intake/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "paw-pa-intake", 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-intake -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install pawbytes/skill-suites paw-pa-intake --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-intake .cursor/skills/paw-pa-intake && 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-intake" agent skill from https://github.com/pawbytes/skill-suites/tree/main/src/pa/paw-pa-intake into .cursor/skills/paw-pa-intake/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "paw-pa-intake", 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-intake--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-intake -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install pawbytes/skill-suites paw-pa-intake --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-intake .gemini/skills/paw-pa-intake && 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-intake" agent skill from https://github.com/pawbytes/skill-suites/tree/main/src/pa/paw-pa-intake into .gemini/skills/paw-pa-intake/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "paw-pa-intake", 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-intakeInstalls 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-intake -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-intake .github/skills/paw-pa-intake && 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-intake" agent skill from https://github.com/pawbytes/skill-suites/tree/main/src/pa/paw-pa-intake into .github/skills/paw-pa-intake/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "paw-pa-intake", 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-intake -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-intake --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-intake .opencode/skills/paw-pa-intake && 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-intake" agent skill from https://github.com/pawbytes/skill-suites/tree/main/src/pa/paw-pa-intake into .opencode/skills/paw-pa-intake/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "paw-pa-intake", 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-intakeTurns pasted text, audio, video or URLs from a client into a structured, completeness-checked brief.md for the first stage of a proposal pipeline.
The skill converts messy multimodal input into a structured brief.md that later skills (paw-pa-research, paw-pa-pricing and paw-pa-generation) consume. It extracts client, scope, budget, timeline and requirements, detects the proposal type (pitch, rfp or scoping), runs a completeness check and flags gaps for guided clarification or autonomous assumptions. A brief is never a raw transcript dump.
Audio and video go through AssemblyAI with speaker diarization and timestamps, and a sidecar transcript.md is kept for audit. Options include --headless for non-interactive runs, --run to target an existing proposal folder and --mode autonomous or guided. Configuration comes from the .pawbytes config files, including the AssemblyAI API key, which is requested at runtime if missing, the default proposal type, output language, workspace folder and default mode. If config is missing, paw-pa-setup can configure the module.
References cover the brief schema, completeness rules, proposal type detection and the AssemblyAI integration. Scripts handle transcription and brief writing, and ship with tests.
6 steps, taken from the step headings 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 these keys or tokens, usually read from environment variables:
ASSEMBLYAI_API_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Proposal Brief Intake loads about 2.7k tokens when it runs, and up to ~7.2k if it reads all its reference files. Until then it costs about 112 tokens; SKILL.md has 1,146 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,146 words, ~2,722 tokens.
.claude/skills/paw-pa-intake/SKILL.md (or your agent's skills folder). This skill also uses 12 other files; get the full folder from GitHub.This workflow turns messy multimodal input — pasted text, audio files, video files, or URLs — into a structured brief.md artifact that downstream skills (paw-pa-research, paw-pa-pricing, paw-pa-generation) consume. You extract client, scope, budget, timeline, and requirements; detect proposal type (pitch / rfp / scoping); run a completeness check; and flag gaps for guided clarification or autonomous assumptions. Audio and video route through AssemblyAI (speaker diarization + timestamps) with a sidecar transcript.md for audit.
The non-negotiable: Every brief lands as structured brief.md with explicit fields — never a raw transcript dump. Completeness gaps must be flagged (for guided clarification or autonomous assumption flagging).
Module: paw-pa — PawBytes Proposal Automation Suite. This is the first stage of the pipeline (intake → research → pricing → generation).
Args: --headless / -H for non-interactive (text brief + run folder + fields supplied); optional --run {slug-date} to target an existing proposal folder; optional --mode autonomous|guided.
{skill-root} (e.g. references/brief-schema.md) resolve from this skill's installed directory.{project-root} → the project working directory.{memory-root} → {project-root}/.pawbytes/proposal-automation-suites.{run-folder} → {memory-root}/proposals/{slug}-{date}/ (or workspace_folder from config when set).Load config from {project-root}/.pawbytes/config/config.yaml and {project-root}/.pawbytes/config/config.user.yaml (root level and the paw-pa section). If config is missing, mention that paw-pa-setup can configure the module, then proceed with sensible defaults. Honor communication_language, default_language, and address the seller by user_name when known.
Read from config (with runtime fallbacks):
| Key | Use |
|---|---|
assemblyai_api_key | Audio/video transcription; prompt at runtime if missing |
default_proposal_type | Fallback when type cannot be inferred (pitch) |
default_language | Output language for brief narrative sections |
workspace_folder | Override for proposal run artifacts path |
default_mode | guided vs autonomous when not specified per-run |
Then orient in the shared memory pool:
index.md — {memory-root}/index.md. If missing, recommend paw-pa-setup but do not hard-block; scaffold the run folder if needed.proposals/{slug}-{date}/ at run start. If invoked directly: use --run arg, an explicit path from the user, or create {slug}-{YYYY-MM-DD} from client name + today's date (slugify: lowercase, hyphens, alphanumeric). Ensure the folder exists before writing artifacts.When invoked non-interactively (--headless / -H, or text brief + run folder supplied up front):
assumptions[] for every gap instead of asking.brief.md with completenessReport.gaps[] populated; orchestrator or a follow-up session resolves gaps.assemblyai_api_key is missing, fail gracefully with the manual-paste fallback message — do not hang or silently skip.| Input | Route |
|---|---|
Pasted or typed text, .md/.txt file | Load references/brief-schema.md → extract → completeness |
Local audio file (.mp3, .wav, .m4a, .ogg, …) | Load references/assemblyai-integration.md → transcribe → extract |
| Local video or public video/audio URL | Load references/assemblyai-integration.md → transcribe → extract |
| Re-intake / update existing brief | Read existing brief.md, merge new input, re-run completeness |
| Ambiguous | Ask: text, audio file path, or video/URL? Then route |
After extraction, always load references/completeness-rules.md and references/proposal-type-detection.md before writing brief.md.
| Capability | Outcome | Inputs | Outputs |
|---|---|---|---|
| Text intake | Brief from pasted/typed text | Raw text | brief.md |
| Audio transcription | Transcript from audio file | Audio file + AssemblyAI key | transcript.md + brief.md |
| Video transcription | Transcript from video file or link | Video file/URL + AssemblyAI key | transcript.md + brief.md |
| Structured extraction | Client, type, scope, budget, timeline, requirements parsed | Transcript or text | Populated brief.md fields |
| Proposal type detection | pitch / rfp / scoping inferred or confirmed | Brief content | proposalType field |
| Completeness check | Missing fields flagged | brief.md draft | completenessReport + assumptions[] (autonomous) |
| Source preservation | Original input referenced | Input file/path | sourceInputRef in brief |
brief.md verbatim.references/assemblyai-integration.md):python3 scripts/transcribe.py --api-key "$ASSEMBLYAI_API_KEY" --input "{path-or-url}" --out "{run-folder}/transcript.md" --json-out "{run-folder}/transcript.json"From text or transcript, populate all fields in references/brief-schema.md. Use default_proposal_type only when detection confidence is low. Set sourceInputRef to the original file path, URL, or text:inline.
Infer proposalType from content signals (see references/proposal-type-detection.md and references/brief-schema.md § Type detection). Set proposalTypeConfidence (high | medium | low). Interactive: confirm when confidence is low. Headless: use default_proposal_type when low.
Apply rules in references/completeness-rules.md. Produce completenessReport with score, gaps[], and readyForPipeline boolean.
brief.md when answered.assumptions[] with field, assumedValue, and rationale. Do not block writing brief.md.Write {run-folder}/brief.md using the schema in references/brief-schema.md (YAML frontmatter + markdown sections). Optionally render via the write helper after building brief JSON:
python3 scripts/write_brief.py --brief "{run-folder}/.brief.json" --out "{run-folder}/brief.md" --summary-out "{run-folder}/.intake-summary.json"The LLM authors .brief.json from extraction + completeness; the script renders canonical brief.md and summary metadata. If not using the script, write brief.md directly — same schema required.
If transcription ran, transcript.md must already exist as sidecar.
[intake] line to {memory-root}/daily/YYYY-MM-DD.md (create daily/ if needed): timestamp, run slug, input type, proposalType, completeness score, gap count.paw-pa-research (or return to paw-pa-agent-orchestrator in guided mode).| Artifact | Path |
|---|---|
| Structured brief | {run-folder}/brief.md |
| Transcription sidecar | {run-folder}/transcript.md |
| Raw transcript JSON (optional) | {run-folder}/transcript.json |
| Daily log | {memory-root}/daily/YYYY-MM-DD.md |
Downstream skills read brief.md only; transcript.md is for audit and re-intake.
assumptions[] or leave fields empty and gap them.sourceInputRef and transcript.md let anyone audit what the brief came from.paw-pa-agent-orchestrator creates run folder and may invoke this workflow first; paw-pa-setup scaffolds memory and config.paw-pa-research, paw-pa-pricing, paw-pa-generation read brief.md. Orchestrator uses completenessReport and assumptions[] for guided vs autonomous behavior.© 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 12 other files (scripts, references) in src/pa/paw-pa-intake of pawbytes/skill-suites.
Open the folder on GitHubat commit 547a6df
Proposal Brief Intake 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 Brief Intake this skillpawbytes/skill-suites | 113 | — | ~2.7k | 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 | |
| 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
zubair-trabzada/ai-legal-claude
Generates specific counter-proposals for every unfavorable clause, with replacement language, negotiation talking points, and a ready-to-send email template
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 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.
pawbytes/skill-suites
Live Upwork market research producing a ranked niche-opportunity dashboard.
Categories
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. md that later skills (paw-pa-research, paw-pa-pricing and paw-pa-generation) consume. It extracts client, scope, budget, timeline and requirements, detects the proposal type (pitch, rfp or scoping), runs a completeness check and flags gaps for guided clarification or autonomous assumptions.
Proposal Brief Intake fits situations like: structuring a client brief pasted as text into a proposal-ready document; turning a voice memo or call recording into a brief; checking a brief for missing budget, scope or timeline details; starting a new proposal run.
Run `npx skills add pawbytes/skill-suites --skill paw-pa-intake -a claude-code`. Or copy the skill folder (src/pa/paw-pa-intake in pawbytes/skill-suites) into .claude/skills/paw-pa-intake in your project. Claude Code loads it when a task matches its description.
Run `npx skills add pawbytes/skill-suites --skill paw-pa-intake -a codex`. Or copy the skill folder (src/pa/paw-pa-intake in pawbytes/skill-suites) into .agents/skills/paw-pa-intake 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-intake -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-intake, .gemini/skills/paw-pa-intake, .github/skills/paw-pa-intake and .opencode/skills/paw-pa-intake in your project.
Going by SKILL.md and its folder, Proposal Brief Intake needs Python for the scripts in its folder, the command-line tools its instructions call (python3) and credentials named ASSEMBLYAI_API_KEY. Our summary lists: Python 3; An AssemblyAI API key for audio and video input.
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 Brief Intake 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.7k 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. Its references folder adds about 4.5k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Proposal Brief Intake: 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 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.