Conversation
Replace the v1 GitHub-Actions/Copilot-CLI pipeline with self-contained Claude Code skills. The agent performs the audit directly — no workflows, secrets, or npm app. - Remove v1 infra: gh-aw workflows, .github/actions, the scripts/ React+Express form app, and its vite/vitest/npm config. - Add the plugin foundation: shared doctor preflight, the built-in check library (6 rubrics), and the default .contenthawk/config.yml template. - Rewrite contenthawk-install to run the doctor and scaffold .contenthawk/. - Stub contenthawk-add-campaign (Phase 2) and contenthawk-manage-campaigns (Phase 3) pending rewrite. - Bump plugin to 2.0.0-beta.0; rewrite README + AGENTS.md; add _docs/v2-design.md. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…idance Dogfooded contenthawk-install against the tina-hugo starter: - Install now steers toward content-root-scoped globs and excludes vendored/ generated dirs (Hugo themes/, archetypes/, resources/, build outputs). The tina-hugo theme alone ships ~30 markdown files that must not be audited. - Doctor check 5 now diagnoses "not a git repo" vs "no remote" and gives an actionable fix for each. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Rewrite the campaign-start skill for v2: doctor preflight (incl. .contenthawk/
check), resolve scope from config.yml, snapshot the in-scope files with content
hashes into .contenthawk/campaigns/<id>/snapshot.json, initialise findings.json,
optionally open an umbrella tracking issue, and set the active campaign in
state.json.
Snapshot recipe hardened against two git-pathspec gotchas found while dogfooding
against tina-hugo: pathspecs don't expand braces ({md,mdx} matches nothing), and
the :(exclude) form silently drops everything — use :!(glob) instead.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…engine) The core v2 engine: doctor preflight, load the active campaign + enabled checks, drift-check each snapshotted file (warn + skip changed files, no auto-rebaseline), judge content against the check rubrics, dedup against findings.json and open labelled issues/PRs, then open per-file issues and per-file fix PRs per the configured severity actions. Persists findings.json and reports. Also handles campaign lifecycle: list / status / switch / close. Idempotent and resumable by design; proposes only — never merges. All three v2 skills are now implemented (Phases 1-3). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…d in dogfood) End-to-end dogfood against a testbed confirmed the marker-based dedup; the --search query is cleaner than listing+grepping all open items.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
ContentHawk v2 — skill-based rewrite (Phase 1)
Replaces the v1 GitHub-Actions + Copilot-CLI pipeline with self-contained Claude Code skills. The agent performs the audit directly, so there are no workflows, secrets, or npm app to set up — the thing that made v1 hard to adopt.
What's in this PR (Phase 1)
gh-awworkflows (.github/workflows/content-*,.github/aw/),.github/actions/, the entirescripts/React+Express form app, and itsvite/vitest/tsconfig/package.jsonconfig.ssw-contenthawk/shared/doctor.md— preflight (gh installed/authed/scoped, git identity, inside a GitHub repo) shared by all skills.ssw-contenthawk/checks/— 6 built-in audit rubrics:outdated-content,ambiguity,broken-links,code-sample-validity,terminology-consistency,placeholders.ssw-contenthawk/templates/config.yml— the default.contenthawk/config.ymlwritten into target repos.contenthawk-installrewritten — runs the doctor, detects content folders, scaffolds.contenthawk/(config + checks + campaigns), and offers to chain into the first campaign.README.md+AGENTS.mdfor v2; added_docs/v2-design.md(full architecture & decisions).Not in this PR (follow-ups)
contenthawk-add-campaign(currently a stub): snapshot scope + active campaign.contenthawk-manage-campaigns(currently a stub): run the audit, open issues + fix PRs, report.Notes for reviewers
SKILL.md(e.g.../../shared/doctor.md); onlyskills/is loaded as skills.🤖 Generated with Claude Code