Commit Graph

335 Commits

Author SHA1 Message Date
01f6171347 test: remove stale Key rules assertions from docs test
## Why
The ## Key rules section was intentionally removed from AGENTS.md as
redundant. Two test assertions — one requiring its presence in AGENTS.md
and one confirming it was absent from CLAUDE.md — are now stale and block
pushes.

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-28 18:07:58 +00:00
9a0e0c31b9 docs: remove redundant warning callouts and key-rules section
## Why
The WARNING admonition blocks in CLAUDE.md and providers/claude-code/CLAUDE.md
added noise without adding clarity — the file paths already communicate which
config is which. The "Key rules" block in AGENTS.md duplicated guidance already
present in the content index above it.

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-28 18:06:30 +00:00
53cf86c243 chore(agents): remove stale structure entries and chunk references
## Why
Structure section listed .claude-plugin/, docs/, scripts/, tests/ —
all either obvious or carrying stale annotations (Chunk 6, sync.sh).
HUMANS.md path updated to docs/wiki/ after the wiki move. sync.sh
key rule removed since the script doesn't exist yet.

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-28 17:51:33 +00:00
ee42e746f2 docs(context): remove duplicates and stale chunk references
## Why
CONTEXT.md had grown stale and noisy after the plugin/Gitea pivot.
Working context section duplicated AGENTS.md verbatim; Skills entry
still described the defunct .agents/skills/ direct path; several
glossary entries carried stale "Chunk 4" / "Chunk 6" framing from the
superseded delivery model.

## Impact
- Working context principle removed (live copy is in AGENTS.md)
- Skills glossary is plugin-only (direct path confirmed absent from repo)
- Skill composition, AGENTS.md glossary, and Bidirectional reference
  principle no longer reference chunk numbers

Refs: #15

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-28 17:45:14 +00:00
893f540645 docs(context): align CONTEXT.md with plugin/Gitea model
## Why
Part of issue #15 (refactor: align repo with marketplace/plugin model).
docs/issues/ and docs/prd/ are gone; Gitea is now the canonical tracker
(ADR-0017). LESSONS.md glossary entry needed to survive the upcoming
ROADMAP.md slim-down.

## Impact
- Docs convention no longer lists docs/prd/ or docs/issues/ naming entries
- NNNN explanation scoped to ADRs only
- Provider-agnostic issue tracker entry drops file-based-phase language
- LESSONS.md has a first-class glossary entry

Refs: #15
ADR: docs/adr/0017-gitea-canonical-issue-tracker.md

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-28 17:28:52 +00:00
422cede3cb test: remove stale docs/issues/ existence check
Directory was deleted in 49567e4 as part of issue #15 migration.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-28 17:23:30 +00:00
d0437bacf9 chore: archive stale notes, delete to-issues/to-prd skills, clean install.sh
- docs/notes/archive/: move ai-ethics-security-principles.md and
  team-self-organisation-sprint-brief.md (superseded/out of scope)
- plugins/bin/skills/: delete to-issues and to-prd (stale mattpocock
  adoptions with no Gitea target; replacement tracked separately)
- scripts/install.sh: remove dead .agents/skills/ deployment block and
  provider skill adapter symlink code; neither path exists in this repo

Closes items 8, 9, 10 of issue #15.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-28 17:19:13 +00:00
49567e4082 chore(docs): delete docs/issues/ after migrating all 28 issues to Gitea
Issues 0001–0018 migrated as closed; 0019–0028 as open. All assigned to
the Legacy / Triage milestone (ID 5). Closes item 1 of issue #15.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-28 17:14:30 +00:00
9ed3652de9 test: update stale file-existence checks after PRD and HUMANS.md moves
## Why
Two test suites were asserting on paths that were intentionally changed:
- docs/HUMANS.md moved to docs/wiki/HUMANS.md (wiki submodule)
- docs/prd/ deleted after migrating all PRDs to Gitea (#16–#19)

Updated checks to assert the new locations and confirm the old
directories are gone.

---
Refs: #15
2026-06-28 16:59:36 +00:00
13959f384c chore(docs): move HUMANS.md to wiki and delete from repo tree
## Why
HUMANS.md is practitioner-facing reference material, not a file agents
read from the repo. It belongs in the Gitea wiki where it is browsable
via the wiki UI. Removing it from docs/ keeps the repo tree clean.

## Impact
docs/HUMANS.md is gone from the main repo. The file is accessible at
the Gitea wiki (docs/wiki submodule, commit 5c29e79).

---
Refs: #15
2026-06-28 16:55:29 +00:00
8ccb34278d chore(docs): delete docs/prd/ after migrating all PRDs to Gitea
## Why
All four PRD files (chunk-1, chunk-2-instructions, chunk-3-skills-library,
governance-instruction-layer) have been migrated to Gitea as closed issues
(#16–#19) in the Legacy / Triage milestone. The local directory is
superseded as an artifact store.

## Impact
docs/prd/ is gone. Gitea issues #16–#19 are the canonical record.

---
Refs: #15
2026-06-28 16:50:38 +00:00
aee17fb5b1 chore(plugins): bump bin to 1.0.4 and kyberforge to 1.0.7
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-28 16:35:53 +00:00
b36e481d5d docs(gitea): add guard against direct GiteaMCP calls in description
## Why
Without this guard, the agent could bypass the skill and call Gitea MCP
tools directly, skipping owner/repo resolution and label-ID normalization.

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-28 16:31:54 +00:00
5834be3030 docs(adr): add ADR-0017 — Gitea as exclusive issue tracker
Supersedes ADR-0011 (provider-agnostic issue tracker with file-based
default). Gitea MCP is now configured and in active use; the file-based
fallback is removed. All local docs/issues/ files will be migrated to
Gitea as part of the great refactoring (issue #15).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-28 16:22:31 +00:00
e362c01d6b chore(plugins): remove stale SKILL.md stubs from plugin skill dirs
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-28 15:43:23 +00:00
c3f2a5f5ef fix(pre-commit): autofix JSON formatting instead of failing
Add --autofix to pretty-format-json so the hook rewrites files in place
rather than requiring manual intervention. Also applies the resulting key
ordering fixes to settings.json files.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-28 15:37:51 +00:00
c97e4a5b69 fix(check-manifests): skip remote-sourced plugins in local path check
## Why
The hook was treating all source values as local directory paths. Remote
sources (github/git/npm objects) have no local directory — the jq -r of
a JSON object produced garbage, causing the hook to fail on push after
adding the mattpocock-skills remote plugin.

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-28 15:32:07 +00:00
66e2e6a04d fix(plugin-author): bump version on every UPDATE flow mutation
## Why
The UPDATE flow only bumped version when the version field itself was the
target. Metadata changes (description, keywords, author) went out without a
version bump, making them invisible to consumers with a cached copy.

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-28 15:30:47 +00:00
5a6b2a4c8b fix(agent-author): require plugin version bump after agent changes
## Why
Same gap as skill-author: no instruction to bump the plugin version after
creating or modifying an agent inside a plugin.

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-28 15:30:47 +00:00
671725e322 fix(skill-author): document plugin version bump in README
## Why
README "What it does" didn't reflect the plugin version bump step added
to both create and improve flows.

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-28 15:30:47 +00:00
528ba05b37 fix(marketplace-author): require version bump on every catalog mutation
## Why
The skill had no instruction to bump the catalog version after ADD, REMOVE, or UPDATE operations. Clients cache the marketplace catalog and use the version field to detect changes — without a bump, the new state is invisible until a forced refresh.

## Implementation Notes
Added a Gotcha explaining the rule and semver convention (ADD/REMOVE → minor, UPDATE → patch). Added a dedicated "Bump catalog version" step to each mutating flow. Updated README to match.

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-28 15:30:47 +00:00
28ce4a279b feat(marketplace): add mattpocock-skills remote plugin
## Why
Register mattpocock/skills as an installable plugin in the holocron marketplace so users can install it with `claude plugin install mattpocock-skills@holocron`.

## Impact
Marketplace bumped from 0.1.1 → 0.2.0 (minor; new plugin entry is a backward-compatible addition).

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-28 15:12:51 +00:00
4edaaac8aa fix(plugins): add missing hooks.json and .mcp.json to git, gitea, core
check-manifests.sh requires all paths declared in plugin.json to exist.
Adds empty hook and MCP server stubs matching kyberforge convention.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-28 14:51:02 +00:00
1979ff5399 feat(plugins): scaffold git, gitea, and core plugins
Adds three new plugins to the holocron marketplace:
- git: 4 stub skills (git-commit, git-branch, git-pr, git-flow)
- gitea: 5 stub skills (gitea-issues, gitea-prs, gitea-milestones, gitea-releases, gitea-wiki)
- core: 5 stub skills (triage, diagnose, zoom-out, caveman, improve-codebase-architecture)

All plugins follow version-parity convention (ADR-0016). Skills are
placeholder stubs — content will be authored in a future workstream.
Registered in both marketplace.json paths.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-28 14:49:54 +00:00
ef8818d94f feat(bin): bundle Obsidian MCP server into bin plugin
## Why

The Obsidian MCP server config was living at the repo root, making it
a repo-level concern rather than part of the plugin it belongs to.
Moving it into plugins/bin/ means the plugin is self-contained and the
server travels with it on install.

## Implementation Notes

mcpServers is declared in the Copilot manifest (plugin.json) because
Copilot requires explicit path declarations. CC auto-discovers .mcp.json
from the plugin root so no change to the CC manifest is needed.

Bumps version to 1.0.3 in both manifests.

---

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-28 14:05:38 +00:00
d8307fe4e3 docs(roadmap): mark plugin-author and marketplace-author as shipped
Both skills are now part of the kyberforge plugin. Updated the Plugin
marketplace workstream Phase 1 skill list and the Skills pipeline
housekeeping note (count 4 → 6) to reflect the addition.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-28 11:26:26 +00:00
52c154d4ce docs(lessons): record skill-author provenance lesson
Agents briefed to write skill files directly bypass the provenance
step — always invoke /skill-author explicitly instead.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-28 11:24:13 +00:00
6a5df27506 docs(kyberforge): add plugin-author and marketplace-author to skills tables
Both skills exist on disk but were missing from the plugin README and the
skills/ directory README. Adding them so the listings stay consistent with
the actual skill set.

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-28 11:19:25 +00:00
b1663c9dfd fix(kyberforge): clarify skill descriptions, trim gotchas, and clean up marketplace-author
## Why
Several small quality issues accumulated across plugin-author and
marketplace-author: the plugin-author description was ambiguous about
scope, the ADD flow asked an unnecessary clarifying question when local
path is the obvious default, VALIDATE had redundant wording already
captured inline, the keywords field was missing from the validation
checklist, and tests/README.md was a placeholder with nothing to test.

## Implementation Notes
- plugin-author: tightened description scope to "inside those
  directories"; added `keywords` identical-in-both-manifests check to
  VALIDATE checklist.
- marketplace-author: moved reserved-prefix constraint from gotchas
  into the ADD checklist item; replaced the four-option prompt with a
  default+escape-hatch ("I'll treat this as local path — is that right?");
  folded the validate-from-root note inline and removed trailing padding;
  deleted tests/README.md — no scripts/ directory exists, so the
  placeholder was noise.
- README.md: removed the tests/README.md row from the file table.
2026-06-28 11:17:28 +00:00
a203e99b08 docs(agents): expand subagent guidance with parallelism and sequencing rules
## Why
The original rule said "prefer subagents" but gave no guidance on when to
run them in parallel vs. sequentially, or when to invoke a relevant skill.
This closes the ambiguity so agents make correct scheduling decisions without
having to reason it out from first principles each time.
2026-06-28 11:15:35 +00:00
200959c167 chore(plugins): bump bin and kyberforge to 1.0.2, marketplace to 0.1.1
## Why
Version sync across all plugin manifest locations so the CC plugin loader,
the .github marketplace mirror, and the canonical plugin.json files all
report the same version.

## Impact
Consumers fetching the plugin via the marketplace will see the updated
version entry.
2026-06-28 11:15:27 +00:00
3a91126d3f fix(kyberforge): correct field classification and fill provenance gaps in plugin-author and marketplace-author
## Why

The manifest-fields tables in both skills used imprecise labels ("CC-only",
"Copilot-only") that conflated two distinct reasons a field appears in only
one manifest: platform constraint (the other tool does not support the field
at all) versus repo convention (both tools support it, but the scaffold places
it in one manifest by design). This caused agents to treat convention
boundaries as hard platform constraints, producing unnecessary errors when
updating manifests for dual-tool repos.

Provenance was also incomplete: sources.md files were missing entries for
sources that had been consulted and were already contributing to SKILL.md
and manifest-fields.md content, making the evidence chain unverifiable.

## Implementation Notes

Field classification now uses three explicit categories — shared, platform
(one tool does not support the field), and convention (both tools support it;
scaffold places it in one manifest by design). The distinction matters because
convention fields may legitimately appear in the other manifest when there is
a deliberate reason; platform fields may not.

New gotchas added to plugin-author: agent files silently ignore hooks,
mcpServers, and permissionMode frontmatter; claude plugin tag --push requires
a clean working tree; --dry-run preview before tagging; --strict flag on
validate. New gotchas in marketplace-author: metadata object as Copilot CLI
canonical location for top-level fields; strict: false for dual-tool plugins;
sha takes precedence over ref for pinning; --strict flag on validate.

tests/ removed from plugin-author because new-plugin.sh has no branching
logic warranting a bats suite at this stage.

## Impact

Skill prompt changes only — no runtime code affected. Agents using these
skills will now correctly distinguish convention from constraint when deciding
which manifest to update for a given field.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-28 11:09:13 +00:00
4d061bd199 feat(kyberforge): add plugin-author and marketplace-author skills
## Why

Plugin and marketplace management had no governed authoring path. Creating or
updating a plugin required knowing the dual-manifest convention, version parity
rules, and directory skeleton by memory — nothing enforced consistency or guided
the process.

`/plugin-author` closes that gap by owning the full plugin scaffold lifecycle:
create, update, rename, and release. `/marketplace-author` handles the
marketplace-facing side: register, deregister, and update plugin entries in
`marketplace.json`.

ADR-0016 codifies the version parity convention (identical `version` in both
`plugin.json` and `.claude-plugin/plugin.json`) that `/plugin-author` now
enforces. The two plugin.json files in this repo are backfilled to comply
(keys also sorted to pass the pretty-format-json hook). CONTEXT.md gains
glossary entries for "plugin scaffold" and "version parity" so future agents
have shared vocabulary for these concepts.

## Implementation Notes

`/plugin-author` ships a `scripts/new-plugin.sh` scaffold script that generates
the directory skeleton and both manifests in one shot; the skill calls the script
rather than generating files ad hoc so the scaffold is reviewable and repeatable.

Version parity is an invariant, not a suggestion — the skill will fail loudly
on create/update if the two versions would diverge.

ADR: docs/adr/0016-plugin-version-parity.md
2026-06-28 10:45:03 +00:00
098fc7315e chore(pre-commit): add missing hooks for TOML, Python, merge conflicts, secrets, and meta-validation
## Why
Five gap areas were identified when auditing the config against tracked file extensions and the hooks reference:
- No TOML validator despite 2 `.toml` files tracked
- No Python AST check despite 10 `.py` files tracked
- No merge-conflict marker detection
- No PEM private key block detection (gitleaks covers high-entropy strings but not raw PEM)
- No meta-validation to catch hooks that match no files or useless exclude patterns

## Impact
All five new hooks pass on `--all-files` run.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01P87CiC58Ru2PPWYTeXtjHT
2026-06-28 09:07:50 +00:00
c2e749fe7c chore(bin): bump version to 1.0.1
## Why
Cache invalidation — Claude Code keys the plugin cache on version string.
Bumping forces a cache refresh so updated skills are picked up after install.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01P87CiC58Ru2PPWYTeXtjHT
2026-06-27 23:01:10 +00:00
a61a8d04a5 chore: add post-push hook to auto-refresh kyberforge plugin cache
Installing kyberforge via the holocron marketplace caches the plugin at a
specific version. After every push, the marketplace clone and plugin cache
need to be refreshed manually — otherwise new skills added since the last
install are invisible until the user runs `claude plugin update` manually.

Adds a post-push git hook that pulls the holocron marketplace clone and
updates the kyberforge cache automatically after every push, eliminating
the manual refresh step.

## Implementation Notes
- `scripts/git-hooks/post-push` is the canonical source; `install.sh` now
  copies all files in `scripts/git-hooks/` into `.git/hooks/` on fresh
  checkouts, making the pattern extensible for future hooks.
- Hook exits 0 on all failures (warns to stderr) — a stale cache refresh
  never blocks a completed push.
- 11 bats tests cover both the hook and the install.sh copy block, using
  mocked binaries and a temp-tree fixture to avoid touching real state.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01P87CiC58Ru2PPWYTeXtjHT
2026-06-27 22:55:56 +00:00
f13e1c0bd2 chore(kyberforge): bump version to 1.0.1
## Why
Plugin cache is keyed by version string. Adding pc-author and pc-run
skills requires a version bump so claude plugin update resolves a new
cache directory and picks up the new skills.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01P87CiC58Ru2PPWYTeXtjHT
2026-06-27 22:44:03 +00:00
71d0edeeda docs(kyberforge): add skills table to README
Lists all five skills (skill-author, skill-audit, agent-author, pc-author, pc-run)
so the plugin README is self-documenting after the pc-author and pc-run additions.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01P87CiC58Ru2PPWYTeXtjHT
2026-06-27 22:37:37 +00:00
ec54a8100a feat(kyberforge): add pc-author and pc-run pre-commit skills
## Why
Pre-commit config management was entirely manual — no skill existed to
help create, modify, or validate `.pre-commit-config.yaml`, or to run,
install, and maintain the pre-commit setup. These two skills close that
gap with clear scope separation: authoring vs. execution.

## Implementation Notes
- `pc-author` owns `.pre-commit-config.yaml` only (no hook publishing,
  no install). Runs `pre-commit validate-config` after every write.
  Shallow file-extension scan drives proactive hook recommendations;
  rev staleness is flagged against `references/hooks-by-language.md`
  rather than hardcoded versions. Remove path reverts on failure.
- `pc-run` owns install, run, autoupdate, gc, and clean. Defaults to
  `--all-files`. Install warns about existing `.git/hooks/` files being
  overwritten by `-f`. Clean requires HITL confirmation. Failure
  interpretation delegates to `references/failure-patterns.md`.
- Provenance wired to `plugins/kyberforge/docs/research/docs/pre-commit/`.
- Both skills resolve via the existing `"skills/"` glob in `plugin.json`.

## Impact
Two new slash commands available after `claude plugin install kyberforge@holocron`:
`/pc-author` and `/pc-run`.

Refs: #12

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01P87CiC58Ru2PPWYTeXtjHT
2026-06-27 22:32:54 +00:00
9f94164177 docs(kyberforge): add pre-commit hook research documentation
## Why
Captures structured reference material for pre-commit hooks to support
skill authoring and hook configuration work in the kyberforge plugin.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01P87CiC58Ru2PPWYTeXtjHT
2026-06-27 21:57:34 +00:00
8b8cb33df6 chore(pre-commit): validate marketplace manifest on pre-push
## Why
The root marketplace.json is the index that ties all plugins together.
claude plugin validate --strict covers schema-level checks that
check-manifests.sh does not, so it warrants its own hook alongside
validate-plugins.

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-27 19:47:22 +00:00
acc6eb9edd chore(pre-commit): validate plugins on pre-push
## Why
`claude plugin validate --strict` catches structural issues in plugin
manifests that `check-manifests.sh` does not cover (e.g. schema
violations, unrecognised fields). Running it at pre-push ensures all
plugins in `plugins/*/` stay valid before reaching the remote.

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-27 19:45:38 +00:00
59c1f3cbdf chore: ignore dirty state in bats submodules
Set 'ignore = dirty' for tests/bats and test_helper submodules to prevent accidental
staging of test-time modifications. These submodules should never be committed with
changes — they're only for running the test suite locally.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-06-27 19:40:56 +00:00
5e3a1376be chore: fix shellcheck warnings
- Remove unused COLOR_CYAN variable from statusline-command.sh
- Add shellcheck disable directive to deploy-manifest.sh (variables sourced by install.sh)

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-06-27 19:36:25 +00:00
e43fbb4bdf test: verify all hooks working 2026-06-27 19:25:31 +00:00
c0e54a11fa chore: migrate pre-push hook to pre-commit framework
Add pre-push stage hooks:
- run-tests: execute all test-*.sh files and bats suite
- check-manifests: validate marketplace.json and plugin.json paths

Remove hardcoded .git/hooks/pre-push.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-06-27 19:22:32 +00:00
5da0d34690 chore(pre-commit): activate conventional commits validation hook 2026-06-27 19:20:30 +00:00
5b8b6f529c chore: remove stale setup scripts, skills, and evals
Remove artifacts from pre-commit migration and cleanup:
- scripts/setup-gitleaks.sh, scripts/gitleaks.toml: legacy setup scripts
- tests/test-setup-gitleaks.sh, tests/test-setup-hooks.sh: phantom test files
- plugins/bin/skills/gitleaks/: skill for deprecated shell-based setup
- plugins/bin/evals/cross-cutting/gitleaks/: eval for deleted skill
- plugins/bin/evals/cross-cutting/neuledge-context/: out-of-scope eval
- plugins/bin/evals/implement/write-docs/: incomplete eval
- package.json, package-lock.json: markdownlint dependencies (unused)

All validation now managed by .pre-commit-config.yaml.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-06-27 19:04:53 +00:00
4cbc993af4 docs: remove stale references to deleted setup scripts
Update docs to reflect pre-commit migration and cleanup:
- spec/overview.md: removed phantom test file references
- ROADMAP.md: removed references to non-existent test files
- LESSONS.md: removed reference to setup-hooks.sh bug

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-06-27 19:04:20 +00:00
a18b7b46ac chore: remove legacy pre-commit setup scripts
Removed .git/hooks/pre-commit.legacy and scripts/setup-hooks.sh — fully replaced by .pre-commit-config.yaml.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-06-27 18:55:58 +00:00