124 Commits
Author SHA1 Message Date
Magnus HedemarkandGitHub 8bd042eae5 feat(qa-methodology): add mutation-guided test hardening evidence workflow
Closes #209
2026-08-02 13:31:02 -04:00
Magnus HedemarkGitHubusername <username>factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
4a4958b676 feat(neckbeard): issue-to-PR delivery workflow (#181-#185) (#208)
* feat(neckbeard): add delivery packet reference

Author references/delivery-packet.md: the durable cross-phase handoff for
change-request runs. Defines the nine field groups (a-i), the artifact
ownership map (writer/reviewer/gate/path per artifact), field-group write
ownership per phase, lifecycle states with allowed transitions and terminal
semantics, blocked-state semantics, resumability rules with a changed-head
procedure (material and non-material branches plus SHA-update recording) and a
concrete resume-after-context-boundary example, exact-head binding for every
verdict, baseline-vs-post-change evidence with boundary labels, skip
transparency, and a portability statement. Link the packet from the SKILL.md
file map for progressive-disclosure discovery.

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>

* feat(neckbeard): add delivery packet template and extend contract templates

Create templates/delivery-packet.md mirroring the nine field groups from
references/delivery-packet.md with fillable sections (placeholder + fill
instruction or example per section; resumability, gates, and lifecycle
sections demonstrate SHA, verdict, and state entry). Update
templates/change-contract.md and templates/evidence-ledger.md to add
change-request provenance, skip-reason, gate-verdict, PR/CI status, and
release-status fields with identical names and semantics across all three
templates.

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>

* feat(neckbeard): expand routing table into conditional applicability matrix

Transform routing-table.md from a simple stage-routing lookup into a
conditional applicability matrix. Retain all 15 pre-existing rows and
the two narrower specialists (product-methodology, c4-diagramming).
Add new rows: backend-engineering, frontend-engineering, cli-builder,
data-engineering, data-architect, agent-evals-and-observability,
platform-engineering, security-audit-methodology, and a conditional
opensource-contributions row (public/OSS repos only).

Every row carries a concrete applicability signal (file-system/artifact
observable) and a concrete skip rule (non-tautological complement).
Add explicit change-surface coverage table mapping all ten mandated
surfaces to >=1 row. Add multi-row composition rule (one lead per
stage, per-stage leads recorded in packet) and no-specialist-needed
fallback. Public catalog names only; link to specialists, do not
duplicate their methodology.

Fulfills: VAL-ROUTING-001, VAL-ROUTING-002, VAL-ROUTING-003,
VAL-ROUTING-004, VAL-ROUTING-005, VAL-ROUTING-015, VAL-ROUTING-016,
VAL-ROUTING-017.

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>

* feat(neckbeard): add five gates and four delivery paths to stages.md

Define five explicit change-request gates with verdict semantics
(pass/conditional/blocked), phase boundaries, and verdict owners:
- Gate 1: architecture/design delta approval before planning
- Gate 3: spec + task-plan completeness before planning exit
- Gate 2: QA-owned verification plan before implementation
- Gate 4: independent review with per-dimension reviewer mapping
- Gate 5: boundary verification with material/non-material definitions

Add four delivery paths (lightweight, full, refactor, high-risk) with
mandatory vs conditional phase matrices and skip criteria. Stages.md
declared single source of truth for path matrices (VAL-ROUTING-023).

Fulfills: VAL-ROUTING-006 through VAL-ROUTING-014, VAL-ROUTING-018
through VAL-ROUTING-022.

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>

* feat(neckbeard): add canonical change-request journey reference

Author references/journey.md with the 9-phase platform-neutral journey:
intake/provenance, discovery/reproduction, architecture/design delta,
specification/decomposition, pre-implementation test planning, domain
implementation, independent review/boundary verification, readiness/CI
loops with exact-final-head re-verification, and authorized post-merge
release/closeout. Each phase specifies owner, input, output, gate, and
escalation condition with a GitHub/enterprise platform mapping column.

Includes four delivery paths (lightweight, full, refactor, high-risk)
referencing stages.md as single source of truth, conditional specialist
routing with recorded skip reasons, no-change-needed termination, the
materiality rule referencing stages.md canonical definition, PR readiness
vs release authority separation, and contiguous phase input/output chain
through named delivery-packet field groups.

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>

* feat(neckbeard): add change lifecycle reference with GitHub and enterprise modes

Author references/lifecycle.md with two documented modes sharing the same
nine-phase sequence, five gates, and delivery-packet field group (i):
- GitHub reference mode: issue snapshot before planning; four-class authority
  (contributor/maintainer/merge/release); duplicate/PR/branch/maintainer-direction
  checks; fork-vs-branch determination; issue linkage + closing-keyword discovery;
  readiness/submission/merge separation; CI triage and review monitoring; material
  post-submission re-verification through gates 4 and 5; exact-final-head binding
  updated per review round; terminal states (merged/closed/blocked/released) with
  evidence; release readiness vs release activity separation; post-release
  verification evidence; external cancellation path; conditional delegation to
  opensource-contributions for public/OSS repos only; no repo-specific hardcoding.
- Enterprise mode: source-of-truth snapshot (ticket/email/verbal); ticket-tracker
  dedup/existing-CR check; explicit named-approver approval gate feeding merge;
  enterprise CI; change-governance boundaries (CAB, change freeze); release
  authority separation; packet portability mapping.
Also update routing-table.md with platform-neutrality framing note for
bundle-wide consistency (VAL-FORMAT-009).

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>

* feat(neckbeard): add merge gate and release gate to risk-authority-gates

Define the merge gate (exact-final-head SHA + CI passing + approved
review status as mandatory preconditions) and the release gate (explicit
authorization beyond merge authority: human grant or documented
pre-delegated permission). Separate pre-merge release readiness
assessment from release activity execution. All existing content
(authority classes, mutation gate, hard stops, stop-and-escalate rules,
recording requirement) is retained unchanged.

Satisfies VAL-LIFECYCLE-018, VAL-LIFECYCLE-019, VAL-CROSS-020,
VAL-CROSS-021.

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>

* feat(neckbeard): wire journey, lifecycle, and delivery packet into umbrella SKILL.md and README

Extend the SKILL.md description trigger to cover change-request / issue-to-PR /
issue-to-release work while retaining all existing fix/build/refactor/review/
verify/release triggers. Add a negative boundary: the journey is not loaded for
plain fixes, refactors, or reviews without an issue/ticket trajectory.

Add a "Change-request work (conditional)" body section pointing to journey.md
with explicit exclusion rules. Update the file map with rows for journey.md,
lifecycle.md, delivery-packet.md, and templates/delivery-packet.md, each with
both a positive scope (change-request work) and a negative scope (not for simple
fix/refactor/review without an issue trajectory).

Update README.md What You Get table with rows for the new references, template,
and evals. Update the Triggers section with change-request and issue-to-PR
delivery triggers additively.

Regenerate llms.txt and .claude-plugin/marketplace.json to reflect the updated
description.

Fulfills: VAL-JOURNEY-010, VAL-JOURNEY-013, VAL-FORMAT-001..005, VAL-FORMAT-010,
VAL-FORMAT-017, VAL-FORMAT-018, VAL-FORMAT-021, VAL-FORMAT-022, VAL-CROSS-010,
VAL-CROSS-018.

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>

* feat(neckbeard): add schema-v1 evals manifest with nine trajectory cases

Create bundles/neckbeard/evals/evals.json (schema v1, skill_name: neckbeard)
with nine output-quality cases covering all required trajectory scenarios:

1. Straightforward bug fix with reproduction and regression test
2. Ambiguous feature requiring product discovery and scope gate
3. Multi-surface change (backend/frontend/API/data routing)
4. Schema/migration change with rollback and release-readiness evidence
5. Refactor with characterization tests and architecture review
6. Docs-only reduced path with comprehensive skip recording
7. Existing PR/duplicate work detection and deferral
8. Review round changing final head requiring re-verification
9. Release-authority-blocked terminal state

Cases cover both successful trajectories (merged) and bounded
escalation/blockage (blocked, closed). Assertions verify routing
decisions, artifact production, gate behavior, skip reasons,
exact-head binding, and terminal lifecycle state — not response
length. Each assertion is judge-decidable from run-produced
artifacts (delivery packet fields, gate verdicts, bound SHAs).

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>

* feat(neckbeard): add trajectory evaluation fixtures and extend harness

Add integrated multi-phase trajectory fixtures under eval/fixtures/trajectories/
and extend run_eval.py to validate them without breaking the 10 existing
single-task fixtures.

- full-change-request: nine-phase intake→release fixture traversing all 9
  journey phases to a released terminal state with all 5 gates recorded and
  final verdict bound to a head SHA.
- reduced-docs-only: lightweight path fixture ending closed with recorded
  skips for phases 2-5, gates 1-3, and 8 routing-table specialists.
- run_eval.py: classify fixtures by kind discriminator, validate trajectory
  sub-schema (phase/gate labels against journey.md canonical names, path
  membership, terminal state, head SHA binding for full path), report counts
  for both fixture kinds.

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>

* docs(neckbeard): update evaluation docs for trajectory fixtures

- evaluation.md: add worked example (validate-only command + expected
  stdout), trajectory fixtures section, trajectory scoring guidance
  (outcome dims not phase-count/shape), strengthened claims scoping
- baseline-protocol.md: add trajectory comparison section (context-
  equivalence, shape-neutrality, skip transparency, terminal state
  equivalence) and claims scoping section
- task-schema.md: add trajectory fixture schema table (kind, path,
  phases, gates, terminal_state, skipped_phases, skipped_gates,
  final_head_sha, routing fields) with full-path constraints and
  trajectory layout

Fulfills VAL-EVALS-009, VAL-EVALS-012, VAL-EVALS-015, VAL-EVALS-016.

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>

* fix(neckbeard): use rsplit for phase-label parsing and document routing fields as metadata-only

Make _validate_phase_labels consistent with _validate_gate_labels by
splitting on the last ": " (rsplit) instead of the first occurrence
(find), so colons inside phase names do not break skip-reason parsing.

Document routing_selected/routing_skipped as metadata-only in
task-schema.md: the runner does not cross-validate these fields against
the routing table, because coupling the harness to the routing table
markdown format would add fragile parsing without improving fixture
correctness. Reviewers verify routing entries during trajectory scoring.

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>

---------

Co-authored-by: username <username>
Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
2026-08-02 12:33:19 -04:00
Magnus HedemarkandGitHub 622f341ea4 feat: add CNCF Landscape technology selection skill
Merged after successful CI and exact-head code review.
2026-08-02 02:06:38 -04:00
username c5fd9c9c09 docs: cross-reference release engineering 2026-08-01 23:52:16 -04:00
usernameandfactory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com> 6730015312 feat(release-engineering): add release engineering skill bundle
Dense release engineering methodology bundle: 15 references (role/career, process models,
CD pipelines, progressive delivery, change governance/compliance, readiness gates, rollback
by system type, versioning/artifacts, feature flags, monorepo/polyrepo, toolchain,
supply-chain security, DORA metrics, release operations), 6 templates, 4 assets, 5 stdlib-only
Python CLIs (version_bump, semver_check, changelog_check, dora_metrics, release_plan_scaffold)
with colocated tests, schema-v1 evals (8 cases), README, and catalog regeneration.

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
2026-08-01 22:54:13 -04:00
usernameandfactory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com> 702f21bb19 chore: regenerate plugin catalogs for qa-methodology rebuild
Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
2026-08-01 18:41:01 -04:00
username f66ed48b8c fix: relocate binary analysis skill 2026-07-31 13:25:08 -04:00
username 6e08216dcd chore: remove comic-chat skill 2026-07-27 09:53:39 -04:00
username 2494a66395 feat: add comic chat PNG renderer skill 2026-07-27 01:41:29 -04:00
username 64383d9aa5 feat(skill): add PACE plan lifecycle
Signed-off-by: username <username>
2026-07-26 21:11:42 -04:00
Magnus Hedemark e304366915 feat(grafana): add operations skill 2026-07-26 19:37:08 -04:00
username 4eaf5aa7ea feat(raleigh): add guarded fire report lookups 2026-07-26 18:07:23 -04:00
10054621ce fix(skills): rename gibson-cyberpunk to cyberpunk (#150)
Co-authored-by: username <username@users.noreply.github.com>
2026-07-26 10:35:36 -04:00
Magnus HedemarkandGitHub daece120ee feat: add Gibson cyberpunk skill (#149)
AI assistance was used to research, draft, and validate this contribution.
2026-07-26 10:09:49 -04:00
Magnus HedemarkandGitHub 795d1423f8 feat: add evidence-aware life coaching skill (#146)
Adds the life-coach Agent Skill with evidence-aware safeguards, capability validation, templates, and evaluations.

Meaningful AI assistance: yes
2026-07-25 11:26:23 -04:00
Magnus HedemarkGitHubmagnus919 <magnus919>
58457b495c feat: add llama.cpp operations skill (#145)
Co-authored-by: magnus919 <magnus919>
2026-07-25 09:41:51 -04:00
Magnus HedemarkGitHubmagnus919 <magnus919>
d4ab656c50 feat(raleigh): add Raleigh-Wake ECC active incident feed adapter (#142)
* feat(raleigh): add Raleigh-Wake ECC active incident feed adapter

Add an isolated, capability-limited adapter for the RWECC public
incident feed (incidents.rwecc.com/getdata). The adapter:

- Calls only the fixed public host and exact read-only endpoint
- Supports agency, incident type, and bounded result filters
- Preserves source identifiers without implying a historical archive
- Labels every response as a filtered active feed, not all 911 calls
- Fails/warns distinctly on empty, stale, malformed, and unavailable
  responses; empty feed is not reported as proof of no incidents
- Deduplicates records and guards against schema drift
- Can be disabled independently via RALEIGH_DISABLE_INCIDENTS=1
- Uses a 90-second cache lifetime

Closes #123

* chore: regenerate catalog artifacts for updated raleigh description

---------

Co-authored-by: magnus919 <magnus919>
2026-07-25 01:23:48 -04:00
Magnus HedemarkGitHubmagnus919 <magnus919>
547aed2db9 fix(verification): preserve requested source fidelity (#127)
Co-authored-by: magnus919 <magnus919>
2026-07-24 16:42:39 -04:00
magnus919 903ea0559e feat(raleigh): expand civic data skill 2026-07-23 21:11:44 -04:00
Magnus HedemarkGitHubmagnus919 <magnus919>
9a6eed2de4 docs(agent-skills): require trigger boundaries and evals (#100)
Align the meta-skill workflow with the repository's description-quality and eval-coverage gates. Keep harness-specific trigger checks separate from portable output-quality evals.

Co-authored-by: magnus919 <magnus919>
2026-07-21 21:39:35 -04:00
Magnus HedemarkandGitHub 1037324c2a feat: add programming-principles skill (14 classic software books) (#92)
* feat: add programming-principles skill (14 classic software books)

- SKILL.md v0.2.0 with cross-cutting principles, task-to-book mapping,
  and code-assessment workflow
- 29 reference files (14 mini + 14 full + assessment methodology)
- Agent-agnostic frontmatter (compatibility field, no Hermes-specific metadata)
- Wire neckbeard routing table: code review/refactoring/quality assessment
- Regenerate Claude marketplace + Codex plugin manifests (97 skills)

Source: magnus919/programming-principles (standalone repo, v0.1.1).
Local copy was v0.2.0 with code-assessment-workflow.md not yet upstreamed.
Standalone repo will be archived with redirect after merge.

* fix: satisfy validator — frontmatter fields, skill README, catalog entry

- Strip version/author/source from frontmatter (unsupported fields)
- Move source attribution into metadata (string-to-string map)
- Add programming-principles/README.md with required headings
- Add catalog entry to root README.md (alphabetical position)

Validator passes locally: 107 canonical skills.
2026-07-21 17:29:56 -04:00
Magnus HedemarkandGitHub 051bf2a9c6 fix: SkillOpt 3-epoch optimization of neckbeard — description, routing, stage alignment (#84)
* fix: SkillOpt Epoch 1 — neckbeard description trigger-verb-first

Move trigger verbs (fix/build/refactor/review/verify/release) to the front
of the description for better discoverability. Negative case (non-software
questions) now correctly rejected. Validation: 4/6 held-out tasks correct.

* fix: SkillOpt Epoch 2 — wire overlooked catalog specialists into routing

Add 6 stage-owning methodology skills to the routing table and SKILL.md
summary: secure-software-engineering, web-accessibility, qa-methodology,
product-design-and-ux, api-design-and-evolution, site-reliability-engineering.
Note product-methodology and c4-diagramming as narrower composers.

Baseline rollout showed security reviews, UI features, and regression-safety
questions all routed without their natural specialist. Validation: 6/6 held-out
routing tasks now route correctly (baseline 3/6). All additions are
agent-agnostic methodology skills; no Hermes/deployment/personal content.

* fix: SkillOpt Epoch 3 — align stages.md Stage 4 with expanded routing

Stage 4 execution flow now names the same specialists added to the routing
table in Epoch 2: secure-software-engineering and web-accessibility for
implementation, qa-methodology for verification, product-design-and-ux and
api-design-and-evolution for design, site-reliability-engineering for delivery.

Rollout confirmed the gap: an agent following stages.md alone would route a
security-sensitive change (untrusted input, trust-boundary crossing) with no
security specialist. Validation: PASS — stages.md now names the specialist.

* fix: SkillOpt final validation — remove Hermes-specific skill_view reference

Replace skill_view(name="neckbeard") with agent-agnostic "read SKILL.md"
in Quick Start. Public skill must not reference Hermes-specific APIs.

* chore: regenerate Claude marketplace for neckbeard description update
2026-07-21 03:20:16 -04:00
Magnus HedemarkandGitHub e1677183cd feat: add neckbeard, an evidence-driven SDLC skill bundle (#81)
* feat: add neckbeard, an evidence-driven SDLC skill bundle

A portable operating model for software delivery that routes a change through
framing, discovery, design, implementation, review, verification, delivery, and
learning. Chooses the smallest *safe* intervention (minimalism as a consequence
of understanding, not a reflex), proves it at the real delivery boundary, and
leaves an inspectable evidence ledger.

Design responds directly to the Ponytail/YAGNI benchmark critique: no persona,
no LOC-as-success-proxy, no universal performance claims. Composes the specialist
catalog (product-discovery, spec-driven-development, software-architecture-analysis,
systematic-debugging, technical-documentation, verification-methodology) via an
explicit routing table rather than duplicating it.

Ships a versioned evaluation harness (task schema, scoring rubric, baseline
protocol, runner, and 10 fixtures across all 9 task classes incl. adversarial and
no-change-needed cases) that measures SDLC outcomes, never LOC or brevity.

Closes #25

* chore: regenerate Claude marketplace for neckbeard
2026-07-21 02:30:34 -04:00
Magnus HedemarkandGitHub 3c8b6cd71c feat: add Claude Code plugin marketplace (metadata-only catalog) (#80)
Adds .claude-plugin/marketplace.json exposing all 95 public skills as
installable plugins via /plugin marketplace add magnus919/agent-skills.

Metadata-only approach: each entry uses source './' + skills ['./<name>']
+ strict:false, so no per-skill plugin.json or directory restructuring is
needed. Bundle-internal helper skills are excluded; bundle entrypoints are
included.

- scripts/gen-claude-marketplace.rb: generates and validates the manifest
- CI step fails if marketplace.json drifts from the skill tree
- README: Claude Code install instructions

Closes #76

AI-assisted: yes (Jasper/Hermes Agent)
2026-07-21 02:17:35 -04:00