Skip to content

Commit 9a597ca

Browse files
committed
Add ClawHub publish readiness checks
1 parent c50ec8e commit 9a597ca

4 files changed

Lines changed: 340 additions & 136 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: 114 additions & 109 deletions
Original file line numberDiff line numberDiff line change
@@ -1,109 +1,114 @@
1-
---
2-
name: agentic-case-study-skill
3-
description: >-
4-
Create CompleteTech LLC case studies, testimonials, and proof assets for completed agentic development engagements, including intake questionnaires, outcome interview guides, anonymized and named-client case studies, before/after workflow summaries, implementation stories, technical notes, risk/control summaries, approval-gate summaries, evaluation results, testimonial requests/drafts, proof libraries, sales one-pagers, website stories, LinkedIn posts, nurture emails, referral blurbs, portfolio entries, pitches, award submissions, press releases, quote approvals, and anonymization checks. Use after delivery when Codex needs to package verified client-approved outcomes without exposing confidential details or inventing proof.
5-
version: 1.0.0
6-
metadata:
7-
openclaw:
8-
skillKey: agentic-case-study-skill
9-
homepage: https://github.com/CompleteTech-LLC/agentic-case-study-skill
10-
requires:
11-
bins:
12-
- python3
13-
---
14-
15-
# Agentic Case Study Skill
16-
17-
## Purpose
18-
19-
Create case studies, testimonials, and proof assets after CompleteTech LLC agentic development delivery, using only verified and client-approved facts.
20-
21-
## System Boundary
22-
23-
This skill owns approved outcome packaging and reusable proof after delivery. Use `agentic-delivery-skill` for raw delivery evidence, `agentic-customer-success-skill` for relationship and approval routing, and `agentic-email-skill` only for messages that request approval or share the proof. Do not turn internal notes, unapproved metrics, private client details, or speculative outcomes into public proof.
24-
25-
## Core Workflow
26-
27-
1. Identify the proof need: intake, interview, internal brief, anonymized/public case study, sales asset, social post, quote, referral, award, press, or approval checklist.
28-
2. Gather verified facts: client approval status, workflow, before state, implementation, controls, evaluation evidence, qualitative observations, measured outcomes, quotes, confidentiality constraints, and allowed attribution.
29-
3. Use `references/use-case-decision-table.md` to choose the right proof artifact.
30-
4. Use `references/proof-positioning.md` for CompleteTech LLC proof language, evidence rules, and anonymization guardrails.
31-
5. Use `references/proof-catalog.md` for the near-exhaustive proof asset library.
32-
6. Distinguish measured outcomes from qualitative observations. Do not fabricate ROI, savings, approvals, quotes, metrics, regulated-use assurances, legal claims, or client facts.
33-
34-
## Proof Asset Selection Guide
35-
36-
- Starting proof collection: use `case-study-intake-questionnaire`.
37-
- Interviewing client stakeholders: use `client-outcome-interview-guide`.
38-
- Internal sales enablement: use `internal-case-study-brief`.
39-
- Confidential client or sensitive details: use `anonymized-case-study`.
40-
- Client approved public attribution: use `public-named-client-case-study`.
41-
- Show process change: use `before-after-workflow-summary`.
42-
- Tell delivery narrative: use `implementation-story`.
43-
- Technical buyer proof: use `technical-implementation-note`.
44-
- Governance proof: use `risk-control-summary`.
45-
- Approval workflow proof: use `human-approval-gate-summary`.
46-
- Evaluation evidence: use `evaluation-results-summary`.
47-
- Ask for testimonial: use `testimonial-request`.
48-
- Draft testimonial for approval: use `testimonial-draft`.
49-
- Build reusable proof snippets: use `proof-point-library`.
50-
- Sales handout: use `sales-one-pager`.
51-
- Website page: use `website-case-study`.
52-
- Social post: use `linkedin-post`.
53-
- Nurture campaign: use `email-nurture-story`.
54-
- Referral ask: use `referral-enablement-blurb`.
55-
- Portfolio listing: use `portfolio-entry`.
56-
- Speaking or podcast outreach: use `speaker-podcast-pitch`.
57-
- Award entry: use `award-submission-draft`.
58-
- Press announcement: use `press-release-draft`.
59-
- Quote approval: use `customer-quote-approval-checklist`.
60-
- Confidentiality review: use `confidentiality-and-anonymization-checklist`.
61-
- Short proof for proposal/email reuse: use `micro-proof-snippet`.
62-
- Internal proof QA: use `proof-approval-status-tracker`.
63-
64-
When several artifacts fit, choose the safest asset that matches approval status. If client approval is unknown, use internal or anonymized artifacts and run the approval/anonymization checklist before public use.
65-
66-
## Quality Rules
67-
68-
- Use only verified, client-approved facts.
69-
- Separate measured outcomes from qualitative observations.
70-
- Preserve confidential details and anonymize when required.
71-
- Keep the CompleteTech LLC frame: bounded workflow implementation, human approval gates, evaluation, monitoring, documentation, support, and handoff.
72-
- Do not imply regulated-use approval, legal conclusions, or guaranteed outcomes.
73-
- Use `TBD`, "not approved for public use", or "client approval required" where facts or permissions are missing.
74-
75-
## Resource Guide
76-
77-
- `references/proof-positioning.md`: load for evidence rules, brand language, and anonymization boundaries.
78-
- `references/use-case-decision-table.md`: load when choosing a proof artifact.
79-
- `references/proof-lifecycle.md`: load for flow from outcome collection through public proof approval.
80-
- `references/proof-catalog.md`: load for the near-exhaustive proof asset templates.
81-
- `references/template-index.json`: machine-readable template metadata used by the renderer.
82-
- `scripts/render_proof.py`: list proof assets or render a draft with placeholders.
83-
84-
## Renderer
85-
86-
```bash
87-
python3 scripts/render_proof.py --list
88-
python3 scripts/render_proof.py --stage case_study --list
89-
python3 scripts/render_proof.py --template anonymized-case-study --var workflow="support triage"
90-
```
91-
92-
Rendered artifacts are drafts. Replace placeholders with verified facts and confirm approval status before publishing or sending externally.
93-
94-
## Rendering to a Branded PDF
95-
96-
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:
97-
98-
```bash
99-
pip install -r requirements.txt
100-
python3 scripts/render_proof.py --template public-named-client-case-study \
101-
--out artifact.pdf --png artifact.png \
102-
--title "Customer Support Email Triage Agent" --doc-type "CLIENT CASE STUDY" \
103-
--subtitle "Northwind Trading Co. × CompleteTech LLC" --meta "CASE NO.=CASE-2026-007" --meta "DATE=2026-07-01" \
104-
--var client_name="Client Name" --var workflow="support triage"
105-
```
106-
107-
- `--no-pdf` emits Markdown only (the original behavior); `--no-cover` drops the cover page.
108-
- Already drafted the Markdown yourself? Render it directly: `python3 scripts/render_pdf.py --markdown artifact.md --out artifact.pdf --logo assets/logo.png --title "..."`.
109-
- 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-case-study-skill
3+
description: >-
4+
Create CompleteTech LLC case studies, testimonials, and proof assets for completed agentic development engagements, including intake questionnaires, outcome interview guides, anonymized and named-client case studies, before/after workflow summaries, implementation stories, technical notes, risk/control summaries, approval-gate summaries, evaluation results, testimonial requests/drafts, proof libraries, sales one-pagers, website stories, LinkedIn posts, nurture emails, referral blurbs, portfolio entries, pitches, award submissions, press releases, quote approvals, and anonymization checks. Use after delivery when Codex needs to package verified client-approved outcomes without exposing confidential details or inventing proof.
5+
version: 1.0.0
6+
metadata:
7+
openclaw:
8+
skillKey: agentic-case-study-skill
9+
homepage: https://github.com/CompleteTech-LLC/agentic-case-study-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 Case Study Skill
21+
22+
## Purpose
23+
24+
Create case studies, testimonials, and proof assets after CompleteTech LLC agentic development delivery, using only verified and client-approved facts.
25+
26+
## System Boundary
27+
28+
This skill owns approved outcome packaging and reusable proof after delivery. Use `agentic-delivery-skill` for raw delivery evidence, `agentic-customer-success-skill` for relationship and approval routing, and `agentic-email-skill` only for messages that request approval or share the proof. Do not turn internal notes, unapproved metrics, private client details, or speculative outcomes into public proof.
29+
30+
## Core Workflow
31+
32+
1. Identify the proof need: intake, interview, internal brief, anonymized/public case study, sales asset, social post, quote, referral, award, press, or approval checklist.
33+
2. Gather verified facts: client approval status, workflow, before state, implementation, controls, evaluation evidence, qualitative observations, measured outcomes, quotes, confidentiality constraints, and allowed attribution.
34+
3. Use `references/use-case-decision-table.md` to choose the right proof artifact.
35+
4. Use `references/proof-positioning.md` for CompleteTech LLC proof language, evidence rules, and anonymization guardrails.
36+
5. Use `references/proof-catalog.md` for the near-exhaustive proof asset library.
37+
6. Distinguish measured outcomes from qualitative observations. Do not fabricate ROI, savings, approvals, quotes, metrics, regulated-use assurances, legal claims, or client facts.
38+
39+
## Proof Asset Selection Guide
40+
41+
- Starting proof collection: use `case-study-intake-questionnaire`.
42+
- Interviewing client stakeholders: use `client-outcome-interview-guide`.
43+
- Internal sales enablement: use `internal-case-study-brief`.
44+
- Confidential client or sensitive details: use `anonymized-case-study`.
45+
- Client approved public attribution: use `public-named-client-case-study`.
46+
- Show process change: use `before-after-workflow-summary`.
47+
- Tell delivery narrative: use `implementation-story`.
48+
- Technical buyer proof: use `technical-implementation-note`.
49+
- Governance proof: use `risk-control-summary`.
50+
- Approval workflow proof: use `human-approval-gate-summary`.
51+
- Evaluation evidence: use `evaluation-results-summary`.
52+
- Ask for testimonial: use `testimonial-request`.
53+
- Draft testimonial for approval: use `testimonial-draft`.
54+
- Build reusable proof snippets: use `proof-point-library`.
55+
- Sales handout: use `sales-one-pager`.
56+
- Website page: use `website-case-study`.
57+
- Social post: use `linkedin-post`.
58+
- Nurture campaign: use `email-nurture-story`.
59+
- Referral ask: use `referral-enablement-blurb`.
60+
- Portfolio listing: use `portfolio-entry`.
61+
- Speaking or podcast outreach: use `speaker-podcast-pitch`.
62+
- Award entry: use `award-submission-draft`.
63+
- Press announcement: use `press-release-draft`.
64+
- Quote approval: use `customer-quote-approval-checklist`.
65+
- Confidentiality review: use `confidentiality-and-anonymization-checklist`.
66+
- Short proof for proposal/email reuse: use `micro-proof-snippet`.
67+
- Internal proof QA: use `proof-approval-status-tracker`.
68+
69+
When several artifacts fit, choose the safest asset that matches approval status. If client approval is unknown, use internal or anonymized artifacts and run the approval/anonymization checklist before public use.
70+
71+
## Quality Rules
72+
73+
- Use only verified, client-approved facts.
74+
- Separate measured outcomes from qualitative observations.
75+
- Preserve confidential details and anonymize when required.
76+
- Keep the CompleteTech LLC frame: bounded workflow implementation, human approval gates, evaluation, monitoring, documentation, support, and handoff.
77+
- Do not imply regulated-use approval, legal conclusions, or guaranteed outcomes.
78+
- Use `TBD`, "not approved for public use", or "client approval required" where facts or permissions are missing.
79+
80+
## Resource Guide
81+
82+
- `references/proof-positioning.md`: load for evidence rules, brand language, and anonymization boundaries.
83+
- `references/use-case-decision-table.md`: load when choosing a proof artifact.
84+
- `references/proof-lifecycle.md`: load for flow from outcome collection through public proof approval.
85+
- `references/proof-catalog.md`: load for the near-exhaustive proof asset templates.
86+
- `references/template-index.json`: machine-readable template metadata used by the renderer.
87+
- `scripts/render_proof.py`: list proof assets or render a draft with placeholders.
88+
89+
## Renderer
90+
91+
```bash
92+
python3 scripts/render_proof.py --list
93+
python3 scripts/render_proof.py --stage case_study --list
94+
python3 scripts/render_proof.py --template anonymized-case-study --var workflow="support triage"
95+
```
96+
97+
Rendered artifacts are drafts. Replace placeholders with verified facts and confirm approval status before publishing or sending externally.
98+
99+
## Rendering to a Branded PDF
100+
101+
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:
102+
103+
```bash
104+
pip install -r requirements.txt
105+
python3 scripts/render_proof.py --template public-named-client-case-study \
106+
--out artifact.pdf --png artifact.png \
107+
--title "Customer Support Email Triage Agent" --doc-type "CLIENT CASE STUDY" \
108+
--subtitle "Northwind Trading Co. × CompleteTech LLC" --meta "CASE NO.=CASE-2026-007" --meta "DATE=2026-07-01" \
109+
--var client_name="Client Name" --var workflow="support triage"
110+
```
111+
112+
- `--no-pdf` emits Markdown only (the original behavior); `--no-cover` drops the cover page.
113+
- Already drafted the Markdown yourself? Render it directly: `python3 scripts/render_pdf.py --markdown artifact.md --out artifact.pdf --logo assets/logo.png --title "..."`.
114+
- 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)