Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 36 additions & 0 deletions .claude-plugin/marketplace.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
{
"name": "pagekit",
"owner": {
"name": "Hiten Shah"
},
"metadata": {
"description": "PageKit: skills for making web pages that are contextually relevant to your audience and what your product does.",
"version": "0.3.0"
},
"plugins": [
{
"name": "pagekit",
"source": {
"source": "github",
"repo": "hnshah/pagekit"
},
"description": "Skills, subagents, and scripts for the PageKit method: signal doc, message spine, first-page decision, page argument shape, proof map, first-page draft, claim check.",
"version": "0.3.0",
"author": {
"name": "Hiten Shah"
},
"homepage": "https://github.com/hnshah/pagekit",
"repository": "https://github.com/hnshah/pagekit",
"license": "MIT",
"keywords": [
"pagekit",
"content-strategy",
"copywriting",
"landing-pages",
"claim-check",
"anti-slop"
],
"category": "productivity"
}
]
}
19 changes: 19 additions & 0 deletions .claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"name": "pagekit",
"description": "Skills for making web pages that are contextually relevant to your audience and what your product does. Ships the 7-step method (signal doc, message spine, first-page decision, page argument shape, proof map, first-page draft, claim check) plus tooling skills and subagents.",
"version": "0.3.0",
"author": {
"name": "Hiten Shah"
},
"homepage": "https://github.com/hnshah/pagekit",
"repository": "https://github.com/hnshah/pagekit",
"license": "MIT",
"keywords": [
"pagekit",
"content-strategy",
"copywriting",
"landing-pages",
"claim-check",
"anti-slop"
]
}
2 changes: 1 addition & 1 deletion .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ Delete the comments before submitting.
- [ ] `bash scripts/doctor.sh` → PASS
- [ ] `bash scripts/slop-check.sh` → exit 0 clean
- [ ] (if the PR touches run structure) `bash scripts/run-check.sh runs/<name>` → FULLY LOGGED (or tier you target)
- [ ] (if the PR touches prompts/frameworks) reviewed against `AGENTS.md` and `CLAUDE.md` for consistency
- [ ] (if the PR touches skills or their bundled references) reviewed against `AGENTS.md` and `CLAUDE.md` for consistency

## Notes for the reviewer

Expand Down
93 changes: 27 additions & 66 deletions AGENTS.md
Original file line number Diff line number Diff line change
@@ -1,94 +1,55 @@
# AGENTS.md

Neutral agent contract for PageKit. Readable by Codex (primary `AGENTS.md` consumer), Claude Code (which also reads `CLAUDE.md`), Claude Cowork, and any agent reading the repo cold.
Neutral agent contract for PageKit. Readable by Codex, Claude Code, and any agent reading the repo cold.

## What PageKit is

A system for producing better pages by strengthening the source materials that shape the copy. Markdown-first. Method-over-prompts.
A Claude Code plugin plus a chat-paste path for producing web pages that are contextually relevant to your audience and what your product does. The method runs upstream of copy: signal → spine → first-page decision → argument shape → proof map → first-page draft → claim check.

## Where to start

Read these files in this order:
## If you are Claude Code

1. **`pagekit.yaml`** — canonical method manifest. The source of truth for every step, artifact, framework, template, guided-run and prompt. If you need to know what step N does and where its output goes, this file tells you.
2. **`CLAUDE.md`** — fuller operational contract, including the quality rules, the anti-slop rules, and the "Running PageKit end-to-end as an agent" section.
3. **`README.md`** — human-facing overview.
The plugin is self-contained in this repo. Skills live under [`skills/`](skills/), subagents under [`agents/`](agents/), and the plugin manifests under [`.claude-plugin/`](.claude-plugin/). Invoke the orchestrator with `Run PageKit on <object>` and it dispatches the 7-step chain.

## Method in one glance
Key entry points:
- `skills/pagekit/SKILL.md`: orchestrator
- `skills/pagekit-<step>/SKILL.md`: per-step skills (signal-doc through claim-check)
- `agents/pagekit-claim-checker.md`: adversarial claim-check subagent
- `agents/pagekit-evaluator-pass.md`: adversarial evaluator-pass subagent

```
signal-doc → message-spine → first-page-decision → page-argument-shape → proof-map → first-page-draft [ → claim-check ]
```
## If you are Codex or another chat-based agent

Canonical prompts: `prompts/01-signal-doc.md` through `prompts/07-claim-check.md`.
Use the prompt-paste path. Open [`prompt-paste/`](prompt-paste/) and walk the 7 prompts in order. Each step consumes the previous step's output.

## Running a fully-logged run
## Running a fully-logged run from the shell

```sh
scripts/new-run.sh <run-name> # scaffold the folder
# … work through the steps, filling prompts/NN-*.md and outputs/NN-*.md
scripts/run-check.sh runs/<run-name> # validate the run meets the fully-logged tier
```
# scaffold the folder
bash scripts/new-run.sh <run-name>

Or via make:
# …work through prompts/NN-*.md and outputs/NN-*.md

```sh
make new-run NAME=<run-name>
make run-check RUN=<run-name>
```

## Anti-slop

Drafts must respect `frameworks/anti-slop.md`. The regression check is `scripts/slop-check.sh`. Run it on the draft before the claim-check step; run it again after.

## Claim-check

```sh
scripts/claim-check.sh runs/<run>/first-page-draft.md runs/<run>/proof-map.md --severity hard
```
# validate against the logging tiers
bash scripts/run-check.sh runs/<run>

Outputs a ready-to-paste prompt. Paste into the model, then save the result as `runs/<run>/claim-check.md` and the corrected draft as `runs/<run>/first-page-draft-corrected.md`.
# claim-check the draft at the severity you intend
bash scripts/claim-check.sh runs/<run>/first-page-draft.md runs/<run>/proof-map.md --severity hard

## Pre-flight
# heuristic anti-slop regression against the draft
bash scripts/slop-check.sh runs/<run>/first-page-draft.md

```sh
scripts/doctor.sh
# or
make doctor
# pre-flight check for the repo
bash scripts/doctor.sh
```

## If you are Claude Code

See `.claude/skills/pagekit/SKILL.md` for the orchestrator skill. Per-step skills live under `.claude/skills/pagekit-<step>/`. The custom subagent for claim-check is `.claude/agents/pagekit-claim-checker.md`. The SessionStart hook in `.claude/settings.json` runs `scripts/doctor.sh` on session start.

Agentic path: `agentic/claude-code-agentic-path.md`.

## If you are Codex

This file is your contract. Read `pagekit.yaml` for the method. Scripts in `scripts/` are the tooling you will drive. Custom prompts / skills for Codex live alongside your own installation (see Codex docs); the canonical prompts in `prompts/` are what they should wrap.

Agentic path: `agentic/codex-agentic-path.md`.

## If you are Claude Cowork

The skill bundle at `.claude/skills/` is the plugin body. See `agentic/claude-cowork-agentic-path.md` for local installation and eventual published-plugin notes.

## Hard rules

Non-negotiable across tools and agents:

- **Do not hard-code homepage-first.** Step 03 is where the first page is chosen. The object decides.
- **Do not hard-code homepage-first.** Step 03 picks the first page from the object. Name rejected candidates.
- **Do not invent proof.** Mark unverified product-specific claims with `*[verification flag: ...]*` inline.
- **Do not ship a draft with AI-slop patterns.** See `frameworks/anti-slop.md`. Run `scripts/slop-check.sh` and resolve every hit.
- **Do not skip run logging.** Fully-logged runs are defined in `frameworks/run-logging.md`. If you are producing a run that claims to be fully-logged, it must meet that tier. `scripts/run-check.sh` tells you if it does.
- **Edit the canonical prompts in `prompts/`, never duplicate.** Guides reference them.
- **Do not ship a draft with AI-slop patterns.** See `skills/pagekit/references/anti-slop.md`. Run `scripts/slop-check.sh` and resolve every hit.
- **Do not skip run logging.** Fully-logged runs are defined in `skills/pagekit/references/run-logging.md`. `scripts/run-check.sh` tells you if your run meets the tier.

## Getting unstuck

- Output of a step feels generic → fix upstream source material, not the step output.
- First-page decision reluctant → add a mechanism / proof / comparison brief in `sources/` and rerun.
- Claim-check flagging the same pattern every run → update `frameworks/anti-slop.md` and the argument-shape drafting constraints so the pattern does not return.

## What this file is not

A full user manual. The full method lives in `frameworks/` and `guided-runs/`. The tool-specific paths live in `guides/`, `quickstart/` and `agentic/`. This file is the doormat that tells you where to look.
- Claim-check flagging the same pattern every run → update `skills/pagekit/references/anti-slop.md` and the argument-shape drafting constraints so the pattern does not return.
38 changes: 37 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,40 @@ Format loosely follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).

## [Unreleased]

## [0.3.0] — 2026-04-17

Skills-first restructure. PageKit now ships as a Claude Code plugin: one install, twelve skills, two subagents, a chat-paste path for non-Claude-Code chat windows. Breaking for the repo layout; non-breaking for the method itself.

### Added
- `.claude-plugin/plugin.json` and `.claude-plugin/marketplace.json` — plugin manifests. Install via `/plugin marketplace add hnshah/pagekit` + `/plugin install pagekit@pagekit`.
- `skills/` top-level directory with 12 skills (orchestrator, 7 method steps, 4 tooling skills). Each skill has its own bundled `references/` folder with framework, template, and prompt.
- `skills/pagekit/references/` owns the shared references (`anti-slop.md`, `run-logging.md`, `method.md`). Sibling skills link by relative path.
- `agents/` — subagents live at repo root instead of under `.claude/agents/`.
- `examples/` — worked runs moved here from `runs/` (both `vegan-dog-food-verdel` and `personal-crm-founders`). `runs/` stays as user scratch.
- `prompt-paste/` — seven prompts stripped of YAML frontmatter for pasting into ChatGPT / Perplexity / Grok / Gemini / other chat windows.

### Changed
- `README.md` rewritten skills-first: install, skills list, worked example. One page, no tree of entry choices.
- `AGENTS.md` and `CLAUDE.md` slimmed to neutral agent contracts (~45 lines each). Point at skills and the plugin install.
- `CONTRIBUTING.md` rewritten against the new layout.
- `scripts/new-run.sh` resolves canonical prompts from `skills/pagekit-<step>/references/prompt.md`.
- `scripts/claim-check.sh` reads from `skills/pagekit-claim-check/references/prompt.md`.
- `scripts/slop-check.sh` scans `runs/` and `examples/` by default.
- `scripts/doctor.sh` validates the plugin layout: plugin manifest, top-level `skills/` and `agents/`, bundled references.
- `scripts/run-check.sh` — fix an unbound-variable warning at PUBLISHABLE tier (cosmetic; tier output was always correct).

### Removed
- `START-HERE.md`, `quickstart/`, `guides/`, `guided-runs/`, `agentic/` — replaced by the rewritten README and the `prompt-paste/` path.
- `frameworks/`, `templates/`, `prompts/` — absorbed into each skill's `references/` folder.
- `pagekit.yaml` — distilled into `skills/pagekit/references/method.md`.
- `.claude/skills/` and `.claude/agents/` — migrated to the top-level `skills/` and `agents/`.
- `templates/output-judgment-template.md` — orphan, not referenced by any step.

### Method integrity
The anti-slop framework, run-logging tiers, claim-check severities, and all seven method steps are unchanged from v0.2. Only the filesystem layout and the install surface changed. `scripts/slop-check.sh` and `scripts/run-check.sh` on both example runs still pass at their prior tiers.

## [0.2.0] — 2026-04-15

### Added
- `.github/workflows/check.yml` runs `doctor.sh` and `slop-check.sh` on every push and PR.
- `.github/PULL_REQUEST_TEMPLATE.md` + issue templates (`method-feedback`, `bug`, `method-proposal`).
Expand Down Expand Up @@ -46,5 +80,7 @@ Baseline public release. The agentic foundation is in place.
### Notes
- PRs #1–#8 all merged prior to this release. See the GitHub PR history for the run-to-repo-improvement loop that produced the method surface.

[Unreleased]: https://github.com/hnshah/pagekit/compare/v0.1.0...HEAD
[Unreleased]: https://github.com/hnshah/pagekit/compare/v0.3.0...HEAD
[0.3.0]: https://github.com/hnshah/pagekit/compare/v0.2.0...v0.3.0
[0.2.0]: https://github.com/hnshah/pagekit/compare/v0.1.0...v0.2.0
[0.1.0]: https://github.com/hnshah/pagekit/releases/tag/v0.1.0
Loading
Loading