Skip to content

Commit 4f00a22

Browse files
committed
Add ClawHub publish readiness checks
1 parent aa661b2 commit 4f00a22

4 files changed

Lines changed: 338 additions & 134 deletions

File tree

.clawhubignore

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# ClawHub accepts text-based skill bundles. Keep generated/binary assets in GitHub only.
2+
*.png
3+
*.jpg
4+
*.jpeg
5+
*.gif
6+
*.ico
7+
*.pdf
8+
*.docx
9+
*.ipynb
10+
*.ttf
11+
*.otf
12+
*.woff
13+
*.woff2
14+
15+
preview/
16+
output/
17+
18+
__pycache__/
19+
*.py[cod]
20+
*$py.class
21+
.mypy_cache/
22+
.pytest_cache/
23+
.ruff_cache/
24+
25+
.venv/
26+
venv/
27+
env/
28+
ENV/
29+
30+
.env
31+
.env.*
32+
!.env.example
33+
secrets.json
34+
*_secret.ini
35+
*_local.ini
36+
*.tmp
37+
.DS_Store
38+
Thumbs.db
39+
desktop.ini

CLAW_HUB_PUBLISHING.md

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
# ClawHub Publishing
2+
3+
This repository is prepared for ClawHub publishing as a text-based OpenClaw skill bundle.
4+
5+
## Included In ClawHub
6+
7+
The ClawHub bundle is intended to include text-based skill material only:
8+
9+
- `SKILL.md`, `README.md`, `QUALITY.md`, and this file
10+
- `agents/openai.yaml`
11+
- `pyproject.toml`
12+
- `.github/workflows/quality.yml`
13+
- `scripts/*.py`
14+
- `references/` text files, schemas, catalogs, and examples
15+
- `examples/` text inputs such as `.ini` files or README placeholders
16+
- `assets/diagrams/*.mmd`
17+
- config examples and templates where they are text-based
18+
19+
## Excluded From ClawHub
20+
21+
`.clawhubignore` excludes binary and generated assets from the publish candidate, including PDFs, PNG previews, DOCX files, fonts, logos, `preview/`, `output/`, caches, virtual environments, local env files, and temporary files.
22+
23+
Those files remain part of the GitHub repository for brand presentation, examples, local demos, and generated artifact previews. They are not part of the ClawHub text bundle.
24+
25+
## License And Brand Boundary
26+
27+
ClawHub publishes skills under MIT-0. The text/code bundle can be used under ClawHub's publishing terms, but CompleteTech LLC names, logos, seals, and other brand assets remain reserved. Publishing this text bundle does not grant a trademark or brand-asset license and does not relicense excluded binary brand assets.
28+
29+
## Runtime Dependencies
30+
31+
Runtime requirements are declared in `SKILL.md` under `metadata.openclaw`.
32+
33+
- All Python-backed skills require `python3`.
34+
- PDF/generator skills declare `reportlab` where PDF rendering is used.
35+
- The contract skill declares `jinja2`.
36+
- `pyyaml` is declared so the included quality/audit validator can parse YAML metadata.
37+
- Optional PNG preview dependencies such as `pypdfium2` and `pillow` are GitHub/local-demo conveniences, not required for the ClawHub core workflow unless a user intentionally runs PNG preview generation.
38+
39+
## Local Readiness Check
40+
41+
Run before publishing:
42+
43+
```bash
44+
python3 scripts/validate_quality.py
45+
```
46+
47+
The validator checks lint, Python compilation, structured-file parsing, Mermaid rendering, smoke tests, Pyright where configured, and ClawHub bundle readiness. It does not publish to ClawHub.
48+
49+
## Publishing
50+
51+
Do not publish automatically. Use the ClawHub CLI only after explicit approval and an authenticated owner context, for example:
52+
53+
```bash
54+
clawhub skill publish . --owner <owner> --version <semver>
55+
```

SKILL.md

Lines changed: 112 additions & 107 deletions
Original file line numberDiff line numberDiff line change
@@ -1,107 +1,112 @@
1-
---
2-
name: agentic-proposal-skill
3-
description: >-
4-
Create CompleteTech LLC agentic development proposals, statements of work, discovery recaps, pilot recommendations, evaluation plans, risk/control plans, implementation roadmaps, acceptance criteria, change orders, retainer proposals, and procurement-ready scope summaries. Use when Codex needs to bridge outreach emails and signed contracts/invoices by drafting buyer-facing proposal or SOW-style documents for bounded agentic workflow services.
5-
version: 1.0.0
6-
metadata:
7-
openclaw:
8-
skillKey: agentic-proposal-skill
9-
homepage: https://github.com/CompleteTech-LLC/agentic-proposal-skill
10-
requires:
11-
bins:
12-
- python3
13-
---
14-
15-
# Agentic Proposal Skill
16-
17-
## Purpose
18-
19-
Create proposal and SOW-style sales documents for CompleteTech LLC agentic development engagements, from discovery recap through buyer approval.
20-
21-
## System Boundary
22-
23-
This skill owns buyer-facing commercial scope before signature: proposals, SOW attachments, approval summaries, change-order proposals, and pilot recommendations. Use `agentic-discovery-skill` for upstream fact collection, `agentic-contract-skill` for agreement PDFs and legal-template artifacts, `agentic-invoice-skill` for payment requests, `agentic-delivery-skill` after approval, and `agentic-email-skill` only for the covering message that sends or follows up on the proposal.
24-
25-
## Core Workflow
26-
27-
1. Identify the commercial stage: post-discovery recap, pilot proposal, full proposal, SOW, procurement summary, change order, expansion, retainer, or evaluation/risk plan.
28-
2. Gather only verified facts: client, workflow, pain, systems, timeline, budget model, stakeholders, decision criteria, constraints, approval rules, and desired next step.
29-
3. Use `references/use-case-decision-table.md` to choose the right proposal type.
30-
4. Use `references/proposal-positioning.md` for brand language, scope boundaries, proof rules, and guardrails.
31-
5. Use `references/proposal-catalog.md` for near-exhaustive templates.
32-
6. Draft in a practical, bounded, low-hype voice. Do not fabricate case studies, savings metrics, regulated-use assurances, legal claims, or client facts.
33-
34-
## Proposal Selection Guide
35-
36-
- Post-discovery summary: use `discovery-recap`.
37-
- Short buyer-friendly pilot pitch: use `one-page-pilot-proposal`.
38-
- Full services proposal: use `full-agentic-development-proposal`.
39-
- Contract-ready scope attachment: use `statement-of-work`.
40-
- Fixed-price first engagement: use `fixed-fee-pilot-proposal`.
41-
- Hourly or flexible scope: use `time-and-materials-proposal`.
42-
- Ongoing support/monitoring: use `monthly-retainer-proposal`.
43-
- Advice without build: use `advisory-only-proposal`.
44-
- Workflow assessment before implementation: use `workflow-assessment-proposal`.
45-
- Multi-phase delivery plan: use `implementation-roadmap`.
46-
- Testing and acceptance focus: use `evaluation-plan`.
47-
- Governance or safety concern: use `risk-control-plan`.
48-
- Approval architecture: use `human-in-the-loop-approval-model`.
49-
- Added scope after agreement: use `change-order-proposal`.
50-
- Second workflow after pilot: use `expansion-second-workflow-proposal`.
51-
- Procurement or internal approval: use `procurement-ready-scope-summary`.
52-
- Executive decision maker: use `executive-summary`.
53-
- Buyer needs clear done criteria: use `acceptance-criteria`.
54-
- Scope boundaries unclear: use `assumptions-and-exclusions`.
55-
- Closeout and operations planning: use `support-and-handoff-plan`.
56-
- After discovery when a recommendation is needed: use `post-discovery-recommended-pilot-memo`.
57-
- Technical audience: use `technical-architecture-proposal`.
58-
- Data/tool access concerns: use `data-and-tooling-readiness-proposal`.
59-
- Training and enablement: use `training-enablement-proposal`.
60-
- Proof of concept only: use `proof-of-concept-proposal`.
61-
- Production rollout after pilot: use `production-rollout-proposal`.
62-
63-
When several templates fit, choose by buyer decision need first, then stage, then document length. If the buyer has not agreed on a workflow and success criteria, do not jump to a full SOW; use discovery recap, assessment, or pilot recommendation first.
64-
65-
## Quality Rules
66-
67-
- Frame agentic development as practical workflow implementation: discovery, tool routing, retrieval, approval gates, evaluation examples, logs, monitoring, documentation, support, and handoff.
68-
- Keep humans in the loop for external communications, production changes, purchases, data export, and material business decisions.
69-
- Include assumptions, exclusions, acceptance criteria, risks, and dependencies when the document is used for buying approval.
70-
- Make scope concrete enough to become a contract or invoice input.
71-
- Use `TBD` or ask for facts rather than inventing client details, legal terms, metrics, or proof.
72-
73-
## Resource Guide
74-
75-
- `references/proposal-positioning.md`: load for CompleteTech LLC offer framing, language, proof rules, and boundaries.
76-
- `references/use-case-decision-table.md`: load when deciding which document type to use.
77-
- `references/proposal-lifecycle.md`: load for end-to-end flow from discovery through contract/invoice handoff.
78-
- `references/proposal-catalog.md`: load for the near-exhaustive proposal/SOW template library.
79-
- `references/template-index.json`: machine-readable template metadata used by the renderer.
80-
- `scripts/render_proposal.py`: list proposal templates or render a draft with placeholders.
81-
82-
## Renderer
83-
84-
```bash
85-
python3 scripts/render_proposal.py --list
86-
python3 scripts/render_proposal.py --stage pilot --list
87-
python3 scripts/render_proposal.py --template one-page-pilot-proposal --var client_name=Acme --var workflow="support triage"
88-
```
89-
90-
Rendered templates are drafts. Replace placeholders with verified facts and refine the narrative for the buyer.
91-
92-
## Rendering to a Branded PDF
93-
94-
Artifacts from this skill are delivered as branded CompleteTech LLC **PDF** documents, not raw Markdown. The renderer emits the PDF (and prints the Markdown) in **one command**, using the same reportlab branding engine as the contract skill:
95-
96-
```bash
97-
pip install -r requirements.txt
98-
python3 scripts/render_proposal.py --template one-page-pilot-proposal \
99-
--out artifact.pdf --png artifact.png \
100-
--title "Support Email Triage Agent — Pilot Proposal" --doc-type "PROPOSAL / STATEMENT OF WORK" \
101-
--subtitle "Prepared for <b>Northwind Trading Co.</b>" --meta "PROPOSAL NO.=PRO-2026-0188" --meta "DATE=2026-05-20" \
102-
--var client_name="Client Name" --var workflow="support triage"
103-
```
104-
105-
- `--no-pdf` emits Markdown only (the original behavior); `--no-cover` drops the cover page.
106-
- Already drafted the Markdown yourself? Render it directly: `python3 scripts/render_pdf.py --markdown artifact.md --out artifact.pdf --logo assets/logo.png --title "..."`.
107-
- The PDF supports a Markdown subset: `#`/`##`/`###` headings, paragraphs, `-` bullets, tables, `>` callouts, `**bold**`, and `[PAGE_BREAK]`. PDF requires `reportlab`; the optional `--png` preview requires `pypdfium2` and `pillow`. See `assets/examples/` for a rendered example.
1+
---
2+
name: agentic-proposal-skill
3+
description: >-
4+
Create CompleteTech LLC agentic development proposals, statements of work, discovery recaps, pilot recommendations, evaluation plans, risk/control plans, implementation roadmaps, acceptance criteria, change orders, retainer proposals, and procurement-ready scope summaries. Use when Codex needs to bridge outreach emails and signed contracts/invoices by drafting buyer-facing proposal or SOW-style documents for bounded agentic workflow services.
5+
version: 1.0.0
6+
metadata:
7+
openclaw:
8+
skillKey: agentic-proposal-skill
9+
homepage: https://github.com/CompleteTech-LLC/agentic-proposal-skill
10+
requires:
11+
bins:
12+
- python3
13+
install:
14+
- kind: uv
15+
package: reportlab>=4.0
16+
- kind: uv
17+
package: pyyaml>=6.0
18+
---
19+
20+
# Agentic Proposal Skill
21+
22+
## Purpose
23+
24+
Create proposal and SOW-style sales documents for CompleteTech LLC agentic development engagements, from discovery recap through buyer approval.
25+
26+
## System Boundary
27+
28+
This skill owns buyer-facing commercial scope before signature: proposals, SOW attachments, approval summaries, change-order proposals, and pilot recommendations. Use `agentic-discovery-skill` for upstream fact collection, `agentic-contract-skill` for agreement PDFs and legal-template artifacts, `agentic-invoice-skill` for payment requests, `agentic-delivery-skill` after approval, and `agentic-email-skill` only for the covering message that sends or follows up on the proposal.
29+
30+
## Core Workflow
31+
32+
1. Identify the commercial stage: post-discovery recap, pilot proposal, full proposal, SOW, procurement summary, change order, expansion, retainer, or evaluation/risk plan.
33+
2. Gather only verified facts: client, workflow, pain, systems, timeline, budget model, stakeholders, decision criteria, constraints, approval rules, and desired next step.
34+
3. Use `references/use-case-decision-table.md` to choose the right proposal type.
35+
4. Use `references/proposal-positioning.md` for brand language, scope boundaries, proof rules, and guardrails.
36+
5. Use `references/proposal-catalog.md` for near-exhaustive templates.
37+
6. Draft in a practical, bounded, low-hype voice. Do not fabricate case studies, savings metrics, regulated-use assurances, legal claims, or client facts.
38+
39+
## Proposal Selection Guide
40+
41+
- Post-discovery summary: use `discovery-recap`.
42+
- Short buyer-friendly pilot pitch: use `one-page-pilot-proposal`.
43+
- Full services proposal: use `full-agentic-development-proposal`.
44+
- Contract-ready scope attachment: use `statement-of-work`.
45+
- Fixed-price first engagement: use `fixed-fee-pilot-proposal`.
46+
- Hourly or flexible scope: use `time-and-materials-proposal`.
47+
- Ongoing support/monitoring: use `monthly-retainer-proposal`.
48+
- Advice without build: use `advisory-only-proposal`.
49+
- Workflow assessment before implementation: use `workflow-assessment-proposal`.
50+
- Multi-phase delivery plan: use `implementation-roadmap`.
51+
- Testing and acceptance focus: use `evaluation-plan`.
52+
- Governance or safety concern: use `risk-control-plan`.
53+
- Approval architecture: use `human-in-the-loop-approval-model`.
54+
- Added scope after agreement: use `change-order-proposal`.
55+
- Second workflow after pilot: use `expansion-second-workflow-proposal`.
56+
- Procurement or internal approval: use `procurement-ready-scope-summary`.
57+
- Executive decision maker: use `executive-summary`.
58+
- Buyer needs clear done criteria: use `acceptance-criteria`.
59+
- Scope boundaries unclear: use `assumptions-and-exclusions`.
60+
- Closeout and operations planning: use `support-and-handoff-plan`.
61+
- After discovery when a recommendation is needed: use `post-discovery-recommended-pilot-memo`.
62+
- Technical audience: use `technical-architecture-proposal`.
63+
- Data/tool access concerns: use `data-and-tooling-readiness-proposal`.
64+
- Training and enablement: use `training-enablement-proposal`.
65+
- Proof of concept only: use `proof-of-concept-proposal`.
66+
- Production rollout after pilot: use `production-rollout-proposal`.
67+
68+
When several templates fit, choose by buyer decision need first, then stage, then document length. If the buyer has not agreed on a workflow and success criteria, do not jump to a full SOW; use discovery recap, assessment, or pilot recommendation first.
69+
70+
## Quality Rules
71+
72+
- Frame agentic development as practical workflow implementation: discovery, tool routing, retrieval, approval gates, evaluation examples, logs, monitoring, documentation, support, and handoff.
73+
- Keep humans in the loop for external communications, production changes, purchases, data export, and material business decisions.
74+
- Include assumptions, exclusions, acceptance criteria, risks, and dependencies when the document is used for buying approval.
75+
- Make scope concrete enough to become a contract or invoice input.
76+
- Use `TBD` or ask for facts rather than inventing client details, legal terms, metrics, or proof.
77+
78+
## Resource Guide
79+
80+
- `references/proposal-positioning.md`: load for CompleteTech LLC offer framing, language, proof rules, and boundaries.
81+
- `references/use-case-decision-table.md`: load when deciding which document type to use.
82+
- `references/proposal-lifecycle.md`: load for end-to-end flow from discovery through contract/invoice handoff.
83+
- `references/proposal-catalog.md`: load for the near-exhaustive proposal/SOW template library.
84+
- `references/template-index.json`: machine-readable template metadata used by the renderer.
85+
- `scripts/render_proposal.py`: list proposal templates or render a draft with placeholders.
86+
87+
## Renderer
88+
89+
```bash
90+
python3 scripts/render_proposal.py --list
91+
python3 scripts/render_proposal.py --stage pilot --list
92+
python3 scripts/render_proposal.py --template one-page-pilot-proposal --var client_name=Acme --var workflow="support triage"
93+
```
94+
95+
Rendered templates are drafts. Replace placeholders with verified facts and refine the narrative for the buyer.
96+
97+
## Rendering to a Branded PDF
98+
99+
Artifacts from this skill are delivered as branded CompleteTech LLC **PDF** documents, not raw Markdown. The renderer emits the PDF (and prints the Markdown) in **one command**, using the same reportlab branding engine as the contract skill:
100+
101+
```bash
102+
pip install -r requirements.txt
103+
python3 scripts/render_proposal.py --template one-page-pilot-proposal \
104+
--out artifact.pdf --png artifact.png \
105+
--title "Support Email Triage Agent — Pilot Proposal" --doc-type "PROPOSAL / STATEMENT OF WORK" \
106+
--subtitle "Prepared for <b>Northwind Trading Co.</b>" --meta "PROPOSAL NO.=PRO-2026-0188" --meta "DATE=2026-05-20" \
107+
--var client_name="Client Name" --var workflow="support triage"
108+
```
109+
110+
- `--no-pdf` emits Markdown only (the original behavior); `--no-cover` drops the cover page.
111+
- Already drafted the Markdown yourself? Render it directly: `python3 scripts/render_pdf.py --markdown artifact.md --out artifact.pdf --logo assets/logo.png --title "..."`.
112+
- The PDF supports a Markdown subset: `#`/`##`/`###` headings, paragraphs, `-` bullets, tables, `>` callouts, `**bold**`, and `[PAGE_BREAK]`. PDF requires `reportlab`; the optional `--png` preview requires `pypdfium2` and `pillow`. See `assets/examples/` for a rendered example.

0 commit comments

Comments
 (0)