1102tools-dev/federal-contracting-skills/skills/sow-pws-builder/SKILL.md
sow-pws-builder
Trigger for: writing, revising, converting, or descoping a federal Statement of Work, Performance Work Statement, SOW, PWS, or SOO; develop executable requirements; define contract scope; create measurable performance standards; or prepare requirements before an IGCE. Produce a contract-file-ready .docx plus separate chat-only staffing and Section B handoffs. Never place FTEs, SOC codes, staffing estimates, IGCE content, CLINs, or pricing schedules inside the SOW/PWS body. Do NOT use for the IGC
- Source repository stars
- 25
- Declared platforms
- 0
- Static risk flags
- 1
- Last source update
- 2026-08-28
- Source checked
- 2026-08-28
Decision brief
What it does: where it fits
Trigger for: writing, revising, converting, or descoping a federal Statement of Work, Performance Work Statement, SOW, PWS, or SOO; develop executable requirements; define contract scope; create measurable performance standards; or prepare requirements before an IGCE. Produce a contract-file-ready .
Not for
- Do NOT use for the IGC
Compatibility matrix
Platform support, with evidence labels
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
Inspect first. Install second.
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/1102tools-dev/federal-contracting-skills --skill "skills/sow-pws-builder"Inspect the Agent Skill "sow-pws-builder" from https://github.com/1102tools-dev/federal-contracting-skills/blob/9fce3446f75ea01b5fa35b48762ab352d3237784/skills/sow-pws-builder/SKILL.md at commit 9fce3446f75ea01b5fa35b48762ab352d3237784. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
What the source asks the agent to do
- 01
Workflow selection
Use for a concept, rough requirements, or a build from scratch. Run intake and all phases.
Use for a concept, rough requirements, or a build from scratch. Run intake and all phases.Extract settled objectives, constraints, location, period, systems, volumes, security, and other facts from the SOO. Present the gaps that must be decided, then run the remaining phases without re-asking settled facts.Use an existing SOW/PWS and, when available, IGCE cost drivers to present capability and coverage tradeoffs. The user selects reductions. Revise affected requirements and handoffs without placing staff counts in the doc… - 02
Workflow A: full build
Use for a concept, rough requirements, or a build from scratch. Run intake and all phases.
Use for a concept, rough requirements, or a build from scratch. Run intake and all phases. - 03
Workflow B: SOO conversion
Extract settled objectives, constraints, location, period, systems, volumes, security, and other facts from the SOO. Present the gaps that must be decided, then run the remaining phases without re-asking settled facts.
Extract settled objectives, constraints, location, period, systems, volumes, security, and other facts from the SOO. Present the gaps that must be decided, then run the remaining phases without re-asking settled facts. - 04
Workflow C: scope reduction
Use an existing SOW/PWS and, when available, IGCE cost drivers to present capability and coverage tradeoffs. The user selects reductions. Revise affected requirements and handoffs without placing staff counts in the document.
Use an existing SOW/PWS and, when available, IGCE cost drivers to present capability and coverage tradeoffs. The user selects reductions. Revise affected requirements and handoffs without placing staff counts in the doc… - 05
Phase 0: SOO or source intake
For a supplied source document:
Extract background, purpose, objectives, performance constraints, location, period, systems, volumes, security, Government-furnished resources, and named standards.Distinguish explicit facts from derived assumptions.Present gaps as the questions needed for executable requirements.
Permission review
Static risk signals and limitations
Reads files
The documentation asks the agent to read local files, directories, or repositories.
Make the PWS/SOW read like a concise acquisition-file deliverable, not a process transcript. Its first page must identify the mission need, the performance decision it supports, the material operating assumptions, and the next acquisition-tEvidence record
Why each signal appears
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 93/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 25 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
Provenance and original SKILL.md
- Repository
- 1102tools-dev/federal-contracting-skills
- Skill path
- skills/sow-pws-builder/SKILL.md
- Commit
- 9fce3446f75ea01b5fa35b48762ab352d3237784
- License
- MIT
- Collected
- 2026-08-28
- Default branch
- main
View the original SKILL.md
SOW/PWS Builder
Overview
Turn program-office scope decisions into a contract-file-ready .docx SOW or PWS. Produce three separate outputs:
- The SOW/PWS
.docx, containing requirements and measurable acceptance or surveillance content. - A chat-only staffing handoff for the FFP, LH/T&M, or CR pricing skill.
- A chat-only Section B handoff with suggested CLIN structure, labor categories or estimated hours when needed, travel/ODC lines, and the total ceiling-price input for T&M/LH.
Never combine the handoffs with the document. FAR 37.602(b)(1) directs agencies, to the maximum extent practicable, to describe performance work by required results rather than method or hours. FAR 16.601 requires fixed hourly rates by labor category for T&M/LH and an overall ceiling price, but it does not require a labor-category ceiling-hours table inside the PWS. Keep pricing structure in Section B unless the user supplies a controlling solicitation template that places it elsewhere.
No external MCP server is required.
Product quality default
Make the PWS/SOW read like a concise acquisition-file deliverable, not a process transcript. Its first page must identify the mission need, the performance decision it supports, the material operating assumptions, and the next acquisition-team action. Use a requirement-specific title, a short executive purpose block, and distinct visual hierarchy appropriate to the document type. Put detailed evidence and source notes in a compact appendix only when they affect a requirement; never let them crowd out executable requirements. This does not permit staffing, SOC, CLIN, pricing, or IGCE content inside the document.
Load supporting files only when needed:
- question-blocks.md for intake and scope questions.
- document-specification.md before authoring the
.docx. - regulatory-and-content-rules.md for contract-type, security, QASP, and language rules.
- handoff-specification.md before final chat output.
- runtime-adaptation.md for questions, document tools, TOC handling, and delivery.
- validation-gates.md before delivery.
Permanent correctness gates
- Separation: The
.docxcontains no staffing handoff, FTE estimate, SOC code, IGCE content, CLIN table, pricing schedule, or skill-chain message. The two handoffs exist only in chat. - No false FAR exception: Do not cite FAR 37.102(d) as an hours prohibition. Use FAR 37.602(b)(1) for results-oriented PWS language.
- T&M/LH structure: FAR 16.601(c)(2) requires fixed hourly rates by labor category, and FAR 16.601(d)(2) requires an overall ceiling price. Put the pricing schedule and ceiling in the Section B handoff, not the SOW/PWS body.
- Contract-type boundary: Explain how a user-selected type changes the document, but do not originate the FAR Part 16 decision, T&M/LH Determination and Findings, commercial-item determination, or CPFF form selection.
- CPFF form: Require the user to confirm Completion or Term under FAR 16.306(d). Do not default either form. Reflect the confirmed form in the document framework.
- Result-oriented PWS: Organize a PWS around outcomes, measurable standards, AQLs, and assessment methods. Avoid prescribing staffing or contractor method unless a constraint is genuinely Government-controlled.
- QASP and CPARS: QASP payment or administrative consequences must not pre-commit CPARS ratings. Never map an AQL threshold to
Satisfactory,Very Good,Exceptional,Marginal, orUnsatisfactoryCPARS ratings. - Key personnel: Name roles and qualifications only. Do not quantify staff. Never cite FAR 52.237-2 as a key-personnel substitution clause.
- Coverage derivation: For the chat-only staffing handoff, derive coverage as annual coverage hours divided by productive hours. At 1,880 hours, one 24x7x365 seat is 4.6596 FTE, not three and not 4.2.
- Tier 1 mapping: Preserve the project decision that Tier 1 help desk or contact-center agents map to SOC 43-4051. Do not change it during modernization.
- Decision gates: Do not self-approve staffing or the Phase 2 Decision Summary. End each gate response at its confirmation question and wait.
- DOCX validation: Use real heading styles, render every page to images, inspect every page, audit text and OOXML, and do not claim Word compatibility from a fallback renderer alone.
Workflow selection
Workflow A: full build
Use for a concept, rough requirements, or a build from scratch. Run intake and all phases.
Workflow B: SOO conversion
Extract settled objectives, constraints, location, period, systems, volumes, security, and other facts from the SOO. Present the gaps that must be decided, then run the remaining phases without re-asking settled facts.
Workflow C: scope reduction
Use an existing SOW/PWS and, when available, IGCE cost drivers to present capability and coverage tradeoffs. The user selects reductions. Revise affected requirements and handoffs without placing staff counts in the document.
Runtime pre-flight
When this skill is entered immediately after a numbered Pre-Award Agent selection and the current assistant response has not already shown the orchestrator's outcome preview, emit these exact four lines before any intake or capability check:
Begin line 1 with Recommended outcome:. Do not precede the block with a heading, acknowledgement, selection recap, routing narration, or code fence.
Recommended outcome: Validated SOW/PWS `.docx` plus two chat-only handoffs
Includes: an executable work statement, measurable standards, a staffing handoff, and a Section B handoff
Boundary/default: recommend PWS for performance-based services when the requirement supports it; the user or Contracting Officer retains contract type, commerciality, and other reserved decisions
Next: collect the current requirement or source material and missing acquisition-strategy facts
This is a routing fallback, not a second preview. Do not repeat it when the orchestrator already rendered the four lines in the current assistant response, and never replace it with component intake.
After the orchestrator's outcome preview, begin acquisition-strategy intake and reuse every supplied fact. Do not make document-authoring or rendering capability the first question or first action after workflow selection. A read-only or artifact-limited session may still inspect supplied material, identify gaps, and complete useful scope intake.
Before promising or beginning the validated .docx build:
- Confirm the host can read inputs and create
.docxfiles. - Confirm a DOCX render path is available, preferably LibreOffice through the host's document workflow.
- Confirm Python and
python-docxor an equivalent OOXML authoring capability forscripts/validate_docx.py. - Match capabilities semantically. Do not depend on
/mntpaths, a named client tool, or a generated namespace. - If document authoring is unavailable, stop at the artifact boundary and report the missing capability. Preserve the intake already completed and explain what remains needed to resume. Do not silently substitute Markdown or HTML for the contract-file deliverable.
Acquisition strategy intake
Collect framing decisions in one pass, skipping facts already supplied:
- SOW or PWS.
- User-confirmed contract type: FFP, T&M, LH, CR subtype, or hybrid by CLIN.
- Commercial, noncommercial, or pending Contracting Officer determination.
- Agency and solicitation format, if one controls.
- Purpose, audience, acquisition stage, and desired file name.
If the user is unsure about SOW versus PWS, explain that PWS is outcome-oriented and preferred for performance-based services to the maximum extent practicable. A recommendation about document form is permitted. Do not turn it into the contract-type or commerciality decision.
If T&M or LH is selected, flag the D&F and overall ceiling-price requirement for Contracting Officer action. If CPFF is selected, require Completion or Term. If commerciality is unsettled, record [DEFAULT: Commerciality determination pending] in Constraints and Assumptions rather than deciding it.
Phase 0: SOO or source intake
For a supplied source document:
- Extract background, purpose, objectives, performance constraints, location, period, systems, volumes, security, Government-furnished resources, and named standards.
- Distinguish explicit facts from derived assumptions.
- Present gaps as the questions needed for executable requirements.
- Carry settled facts forward without asking them again.
If the source is too thin to support task or objective decomposition, state that it can serve as background but additional scope decisions are required.
Phase 1: scope decision tree
Use question-blocks.md. Prefer structured choices when the host supports them; otherwise use numbered choices with a free-text escape. Batch three to four related questions. Ask open text only for values such as system names, volume, or incumbent facts.
Sequence:
- Mission and service model.
- Technical scope.
- Scale and volume.
- Organizational scope and phasing.
- Period, transition, and Section B preferences.
- Quality, oversight, security, and Government-furnished resources.
Staffing derivation for the internal handoff
Derive a candidate staffing table only after scope decisions. Every row must cite a basis: workload, coverage hours, system/module count, site count, delivery cadence, or an explicit user override. Heuristics are starting points, not facts.
- Continuous coverage: covered seats times annual coverage hours divided by productive hours per FTE.
- Development: derive by system/module count and team design; do not use an unexplained fixed ratio.
- Contact center: annual contacts divided by workdays and contacts per agent-day, adjusted for service level and productive hours.
- Transition and surge: separate time-limited rows.
- O&M: derive from named workload, SLA, or environment size; never assume a fixed percentage of development staffing without user confirmation.
Present the candidate staffing table in chat and ask the user to confirm, amend, or override it. End immediately after that question and wait. Preserve override reasons.
Phase 2: Decision Summary gate
After staffing approval and before authoring, present a concise Decision Summary containing:
- SOW/PWS, contract type and subtype, CPFF form when relevant, and commerciality status.
- Agency/template and solicitation-stage context.
- All defaults or derived assumptions with one-line rationale.
- Section 3 task areas for a SOW or performance objectives for a PWS.
- Applicable deliverables, QASP or inspection approach, security, period, location, and transition.
- Confirmation that staffing, SOCs, CLINs, and pricing will remain outside the document.
The final sentence must ask the user to proceed or correct the summary. Stop immediately after the question. Do not author the .docx in the same response.
Phase 2: document assembly
After explicit approval:
- Read document-specification.md and regulatory-and-content-rules.md.
- Use the host's document-authoring workflow and a formal business-document design system. Preserve a supplied agency template when one exists.
- Use real
Heading 1,Heading 2, andHeading 3styles, real numbered or bulleted lists, explicit table geometry, page numbers, and accessible repeating table headers. - For more than eight main sections, include a dynamic TOC field. Set the document to update fields on open. If Word is available, update and save the field before delivery. Otherwise disclose the exact refresh step in chat. Do not put the refresh instruction inside the document.
- Run the render, text, structure, and separation gates in validation-gates.md.
- Fix defects and repeat rendering until every page passes.
Do not generate a second DOCX for either handoff.
Phase 3: final validation and handoff
Before delivery:
- Confirm every requirement maps to a deliverable or measurable standard.
- Confirm every deliverable has format, trigger or due date, and acceptance criteria.
- Confirm document type, contract framework, security, location, period, and transition are consistent.
- Confirm QASP consequences contain no CPARS rating commitments.
- Confirm the document contains no staffing, SOC, IGCE, CLIN, pricing, or skill-chain leakage.
- Run
scripts/validate_docx.py <document> --document-type <sow|pws>. - Render and inspect every page.
Deliver the .docx, then present both chat-only handoffs using handoff-specification.md. The pricing skill consumes the approved staffing table without repeating decomposition. The final message must state that the SOW/PWS is the contract-file artifact and the handoffs are internal workpapers outside it.
When a dynamic TOC has not been updated in Word, end with: Open the document in Word, press Ctrl+A (Cmd+A on Mac), then F9 to populate or refresh the Table of Contents, and save.
Out of scope
- IGCE rates, wraps, fee, or cost calculations.
- Acquisition plan, market research report, source-selection plan, J&A, or clause matrix.
- Final contract-type, commerciality, D&F, or inherently-governmental determination.
- Full standalone QASP beyond the embedded summary.
- Section I or L clause selection.
MIT © James Jenrette / 1102tools. Source: github.com/1102tools-dev/federal-contracting-skills
Frequently asked questions
What to verify before installation and use
What does the sow-pws-builder source document cover?
Trigger for: writing, revising, converting, or descoping a federal Statement of Work, Performance Work Statement, SOW, PWS, or SOO; develop executable requirements; define contract scope; create measurable performance standards; or prepare requirements before an IGCE. Produce a contract-file-ready .
How do I install sow-pws-builder?
The source record exposes this install command: npx skills add https://github.com/1102tools-dev/federal-contracting-skills --skill "skills/sow-pws-builder". Inspect the command and pinned source before running it.
Which permission-related actions were detected?
Static rules flagged read-files in the source; the page lists the matching lines and excerpts.