Align README runtime requirements and local core-test filtering with required CI semantics.\n\nCo-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
Add a focused regression covering default and explicit JSON output, document final repository validation commands, and include the catalog test in the shared core selection.\n\nCo-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
Squash-merge verified React and Vite expertise at exact head d4fd6cf70d. Required validate and paired evaluation checks passed; advisory droid review had no blocking findings.
Research-driven rebuild of the peertube skill (docs.joinpeertube.org REST
reference 8.1.0 + SepiaSearch + server source + live anonymous probes):
- SKILL.md rewritten to the lastfm model: intent-grouped commands, pipeline
recipes, jq guidance, researched gotchas, When-to-use/When-not-to-use,
reference routing table. New negative boundary in the description
(YouTube/Vimeo uploads, video editing, server administration).
- scripts/peertube-cli -> scripts/peertube, rewritten and extended:
offset (start/count) pagination replaces the nonexistent page param,
comments fixed to the hyphenated /comment-threads route, server command
now composes /config/about + /server/stats (canonical paths), search
gains --search-target with searchTarget=local default and help text
stating its instance-local scope, new video/comments/channel/account/
my-videos/logout commands, --server hoisted before or after the
subcommand, OAuth2 password grant hardened for 2FA (x-peertube-otp)
and the production client_secret masking behavior, per-instance
owner-only token file with refresh-before-expiry and revocation.
- references/: auth-and-tokens, search-and-discovery, endpoint-catalog,
gotchas-field-guide, worked-recipes - all cited to official docs with
Sources footers (URLs verified live at authoring time).
- scripts/test_peertube.py: 54 offline tests (help, argument errors,
dry-run plans, mocked OAuth2 persistence/refresh/revocation, handler
contracts, documented pipeline chains) passing pytest strict-markers,
unittest discovery, and the proxy-trap zero-egress rerun; one
env-guarded anonymous live probe (PEERTUBE_LIVE_TESTS=1).
- evals/evals.json: six schema-v1 cases incl. SepiaSearch-scope and
masked-secret cases plus a should-not-trigger YouTube negative probe.
- README refreshed for humans; root README blurb and skill-triggers row
synced; marketplace.json/llms.txt regenerated (codex artifacts
unchanged); test-results/ gitignored (pytest runner artifact).
Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
2026-08-29 18:43:00 -04:00
Magnus Hedemarkandfactory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
- Root README blurb and references/skill-triggers.md trigger row now
match the thickened jellyfin description (manual-sync requirement).
- Regenerate .claude-plugin/marketplace.json and llms.txt via --write:
both embed skill descriptions, so the rewrite staled them; check
modes exit 0 again. Codex artifact unaffected (no descriptions).
Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
Merging with required validation green. Droid Auto Review was retried twice and failed before producing a review because DeepSeek V4 Flash rejected the action's ApplyPatch tool; the check is non-required per branch protection. The diff was independently inspected and local/repository validation passed.
2026-08-26 19:42:25 -04:00
Magnus Hedemarkandfactory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
Root README blurb and skill-triggers row updated to match the new frontmatter description; marketplace.json and llms.txt regenerated via gen-*.rb --write (codex/agents outputs unchanged). Check modes all green.
Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
2026-08-26 08:44:48 -04:00
Magnus Hedemarkandfactory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
Update every audited reference site to the six renamed skills:
root README headings and links (and drop the jira-jql entry ahead of
its absorption), references/skill-triggers.md rows for jellyfin and
tempest plus four new-name rows for ghost/jira/openlibrary/tmdb,
scripts/grandfathered-skills.txt pruned to the three retained *-cli
entries, pyproject.toml deptry exclusion jellyfin-cli -> jellyfin,
neckbeard routing seams, cli-builder example names, and the lastfm /
verification-methodology eval texts mentioning jellyfin.
Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
* feat(bmad): add BMad control-plane protocol skill
New standalone methodology skill that lets any agent run the BMad method
(Breakthrough Method of Agile AI-Driven Development) as a harness-agnostic
control-plane protocol: five-field intent contracts, direct/bounded/initiative
classification, review-as-triage, failure routing by layer, and autonomy gating
with machine-readable spec status.
- SKILL.md protocol core with progressive disclosure + When not to use
- README.md human-facing install guide
- 9 references: protocol, classification, spec, lifecycle, project-context,
review-and-failure-routing, autonomy, party-mode, adoption
- 4 templates: SPEC, INTENT, STORY, REVIEW
- scripts/check-spec.py + 16 tests (stdlib, deterministic spec validation)
- evals/evals.json: 9 output-quality cases
- Routing seams from bmad to adjacent skills and back from
spec-driven-development, product-shaping, implementation-planning, neckbeard
- Catalog updates: root README, skill-triggers, marketplace/plugin/llms.txt
Closes#399
* fix(bmad): address droid-review findings
- check-spec.py: skip headings inside fenced/indented code blocks so a spec
cannot PASS on section text that only appears in a code sample
- check-spec.py: catch UnicodeDecodeError on non-UTF-8 files and report FAIL
instead of crashing
- STORY.md template: add created key for resumability/traceability parity
- SPEC.md template: split in-progress and in-review status bullets
- add 2 regression tests (heading-in-fence, non-UTF-8)
* fix(bmad): address droid-review round 2
- check-spec.py: read specs with utf-8-sig so a UTF-8 BOM cannot silently
disable the frontmatter status check
- check-spec.py: handle standard YAML inline comments after status values
(status: draft # pending review) without a false FAIL
- references/protocol.md: make lifecycle phrasing consistent with
lifecycle.md — four phases plus a learning closeout
- add 2 regression tests (BOM, inline comment)
* fix(bmad): tolerate trailing whitespace on frontmatter delimiters
A spec whose --- delimiter lines carry trailing spaces or tabs would silently
disable the status check and let an invalid status PASS. Relax the delimiter
pattern and add a regression test.
* fix(bmad): ignore inline comments in quoted status values
* fix(bmad): tolerate leading blank lines before frontmatter
* fix(bmad): fail closed on unparseable frontmatter, matching fence markers
Address droid-review round 5 and 6 findings as a single closed class:
- Fail closed when a file opens with a --- delimiter that cannot be parsed,
so no whitespace/frontmatter permutation can silently disable the status
check (previously: unparseable frontmatter was treated as 'no status'
warning, letting an invalid status PASS).
- Track fence opener markers in collect_headings so a mismatched fence no
longer closes a code block early (false-PASS on missing sections) and an
unclosed fence no longer swallows real headings.
- Accept empty well-formed frontmatter (---\n---) and closing delimiters
without a trailing newline.
- STORY.md template: parent-spec points at the sibling SPEC.md.
- README: status vocabulary is not a strict linear chain; blocked is a
resumable routing signal.
Whitespace/frontmatter mutation sweep: 9 formatting variants x valid/invalid
status all verdict correctly; malformed delimiters fail closed. 29 tests.
Add litellm/, an operational tool skill for the LiteLLM AI gateway (proxy)
and Python SDK, in the same vein as the vllm and llama-cpp engine skills.
Contents:
- SKILL.md: operating contract, operating loop, verification boundaries,
and hard boundaries; concise core sections routing depth to references
- README.md: human-facing install/use guide with required sections
- references/: nine dated, source-indexed references (source index,
quickstart + SDK, config & routing, keys/teams/budgets/spend, caching &
guardrails, observability & logging, deployment, security & public
hosting, troubleshooting), researched against litellm 1.97.0
(2026-08-22) including a live proxy probe of the health endpoints
- scripts/litellm-health: read-only GET-only probe (liveliness, readiness,
/v1/models, /model/info); stdlib-only Python 3.9+, --json, --help
without a server
- tests/test_litellm_health.py: 18 deterministic tests against a local
stub HTTP server, including the observed-traffic GET-only contract
- templates/proxy-config-record.md and proxy-deployment.md: fillable
records; the config record is the rollback unit
- evals/evals.json: schema_version 1, six output-quality cases
Also regenerates tracked catalog artifacts (.claude-plugin/marketplace.json,
.codex-plugin/plugin.json, llms.txt) and adds the root README catalog entry
plus the skill-triggers.md index row.
AI assistance: authored with AI assistance (Factory Droid) under human
direction; facts verified against litellm 1.97.0 and official docs dated
2026-08-22.
Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
* feat: add AI operating economics skill
Add an evidence-led methodology for evaluating AI workflow value, cost, worker effects, quality guardrails, and authority expansion. Includes research references, durable decision templates, and six eval cases. AI assistance: Jasper, on behalf of Magnus Hedemark.
Signed-off-by: Magnus Hedemark <magnus919@pm.me>
* fix: resolve AI economics review findings
Align section numbering, evidence-language examples, and intervention-mode terminology identified by the exact-head review.
Signed-off-by: Magnus Hedemark <magnus919@pm.me>
---------
Signed-off-by: Magnus Hedemark <magnus919@pm.me>
Add capability and portfolio mapping, state transitions, operating models, decision rights, stakeholder information, templates, evals, and neighboring-owner routing.\n\nAI-assisted: Jasper orchestrated implementation and verification with OpenCode.
Signed-off-by: Magnus Hedemark <magnus919@pm.me>
Replace board-centric defaults with consequence-driven governance modes, feedback loops, exceptions, and clear ownership boundaries.\n\nAI-assisted: Jasper orchestrated implementation and verification with OpenCode.
Signed-off-by: Magnus Hedemark <magnus919@pm.me>
Add evidence lenses for characteristics, coupling, decomposition, data authority, workflows, health reporting, and eval coverage.\n\nAI-assisted: Jasper orchestrated implementation and verification with OpenCode.
Signed-off-by: Magnus Hedemark <magnus919@pm.me>
Add portfolio, lifecycle, topology, policy-placement, assessment, and eval guidance while preserving contract ownership boundaries.\n\nAI-assisted: Jasper orchestrated implementation and verification with OpenCode.
Signed-off-by: Magnus Hedemark <magnus919@pm.me>
Merge authorized after exact-head validation and paired evaluation checks passed. The follow-up Droid review run on head df31b25 stalled in the model step and ended with an automation error; its actionable findings from the prior review were fixed and independently verified.
Add the trigger/router SKILL.md (description, you-own/don't-own table, router
tables accounting for every bundled file, When-not-to-use, neighbor routing), the
human-facing README, the schema-valid evals manifest with six output-quality cases,
the root README catalog entry, the skill-triggers row, and regenerated llms.txt plus
the three marketplace/plugin artifacts.
Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
2026-08-14 20:47:04 -04:00
Magnus Hedemarkandfactory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
Rewrite README.md Installation prose and references/skill-triggers.md to
drop the bundles/ depth and --full-depth guidance, relabel the architecture
diagram bundle node, and correct bundle-manifest-design.md to place manifests
at <skill>/manifest.yaml with the 8-umbrella count. Fix the example manifest
and schema descriptions, plus the production-excellence AGENTS.md depth note.
Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
2026-08-14 16:48:49 -04:00
Magnus Hedemarkandfactory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
Update validate-skills.rb expected_catalog_paths to the flat */SKILL.md
glob (drop the bundles/ term), repoint the 8 README catalog headings to
<name>/SKILL.md, and fix the promise-theory and semantic-spacetime
workflow-architect links to ../workflow-architect/SKILL.md.
Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
2026-08-14 16:07:01 -04:00
Magnus Hedemarkandfactory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
Add the semantic-spacetime skill skeleton: a thin SKILL.md router with
triggers/anti-triggers, Load By Need, Quick Start, Related Skills, gotchas,
and exit conditions; a human-facing README; MIT license; deep
provenance-marked theory references (foundations, glossary, bibliography);
the versioned sst-model-v1 template pair; a 6-case schema-v1 eval manifest;
the root README catalog entry; regenerated marketplace and llms artifacts;
and the skill-triggers row.
Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
2026-08-12 22:33:47 -04:00
Magnus Hedemarkandfactory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
Add the promise-theory skill to the repository catalog: root README entry,
regenerated llms.txt and marketplace/plugin packaging, and a
references/skill-triggers.md row.
Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
2026-08-11 23:41:52 -04:00
Magnus HedemarkGitHubfactory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
Rename the skill directory to writers-helper and update the name field,
eval manifest skill_name, skill README title and example paths, root
README catalog entry, and the skill-triggers index. Regenerate llms.txt,
.claude-plugin/marketplace.json, .codex-plugin/plugin.json, and
.agents/plugins/marketplace.json from their generators. Content is
unchanged.
Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
2026-08-08 13:06:46 -04:00
Magnus HedemarkGitHubfactory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
Add writing/, a comprehensive writer's personal skill distilled from a
44-book writing-craft and publishing library. Ships 10 expert references
(planning and research, craft and structure, prose and style, drafting,
editing and revision, blocks and prompts, habits and lifestyle,
publishing and career, genres and formats, pitfalls and solutions),
13 fill-in templates (premise canvas through book proposal, query
letter, and submission log), and 5 Python helper scripts (position-aware
prompt generator, session planner, manuscript stats analyzer, habit
journal, submission tracker). All content is original paraphrase and
synthesis; no copyrighted source material is reproduced.
Add the catalog entry at its sorted position and regenerate llms.txt,
.claude-plugin/marketplace.json, .codex-plugin/plugin.json, and
.agents/plugins/marketplace.json from their generators.
Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
2026-08-08 12:53:55 -04:00
Magnus HedemarkGitHubfactory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
* feat(skill): add genius-life core skill files
Add genius-life/SKILL.md and the six references/ files (creative-process,
practice-mode, development-mode, practices-catalog, evidence-basis,
scope-and-safety) as original synthesis from the mission research library,
with copyright-compliant paraphrase, named-fellow attribution, and honest
framing. Templates, README, evals, and catalog integration ship in later
features.
Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
* feat(skill): add genius-life templates, README, and evals
Add six fillable worksheets (talent audit, session plan, project
worksheet, conditions audit, incubation log, risk and failure review),
a human-facing README with the repository's required sections, and a
12-case eval manifest covering both modes and the required boundary
behaviors.
Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
* feat(skill): add genius-life to catalog and regenerate artifacts
Add the genius-life README catalog entry at its sorted position and
regenerate llms.txt, .claude-plugin/marketplace.json, .codex-plugin/plugin.json,
and .agents/plugins/marketplace.json from their generators.
Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
---------
Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
Add the personalized travel dossier skill, its portable evaluation cases, rendering and privacy helpers, tests, and synchronized discovery catalogs.
Authored by Jasper (AI agent on behalf of Magnus Hedemark).
2026-08-07 23:34:19 -04:00
Magnus HedemarkGitHubfactory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
* feat(skill): add anydoc core content and references
Add the anydoc skill content tree: SKILL.md (progressive-disclosure index
with frontmatter per ALLOWED_FIELDS), human-facing README, the five reference
files (formats, cli-reference, errors, workflows, sources), 24 committed
fixtures (valid + error cases), and a fixture-grounded eval manifest with 8
cases. Every documented behavior, exit code, and error message was verified
against the real pinned CLI (npx -y @firecrawl/anydoc@0.1.6); verbatim --help
and error transcripts are reproduced character-for-character.
Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
* feat(skill): add anydoc wrapper script and unit tests
Implements scripts/anydoc, a stdlib-only Python wrapper around the pinned
@firecrawl/anydoc@0.1.6 CLI: convert/batch/info subcommands, global
--json/--dry-run, input and output pre-validation, friendly hints for the
no-OCR/encrypted/malformed/unsupported error classes, Node >= 20 and npx
availability checks, deterministic batch output naming with documented
duplicate/collision behavior, and exit codes 0/1/2. Adds offline unittest
suite (46 tests, real-CLI tests skip when npx is unavailable) and keeps the
wrapper contract documented in cli-reference.md and errors.md.
Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
* feat(skill): ratchet anydoc evals to 14 grounded cases
Verify the pre-authored 8-case manifest and extend it with six
high-signal cases (PDF lower-fidelity pipeline, legacy .ppt table
flattening, ODP same-serializer, RTF, EPUB, CSV header promotion),
each grounded in real pinned-CLI runs against the committed fixtures.
Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
* feat(skill): integrate anydoc into repo catalog and artifacts
Add the sorted anydoc catalog entry to README.md (between agent-skills
and api-design-and-evolution), regenerate the tracked catalog artifacts
(.claude-plugin/marketplace.json, .codex-plugin/plugin.json,
.agents/plugins/marketplace.json, llms.txt) with the ruby generators,
and add a routing note to documents/SKILL.md pointing office-document
to-markdown conversion at the anydoc skill.
Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
* fix(skill): polish anydoc wrapper timeout, JSON shape, and docs
- run_cli raises CliTimeoutError on the 120s timeout; convert/batch with
--json now emit one parseable JSON error envelope (error_class "timeout")
on stdout before exiting, so --json always yields exactly one JSON doc
- batch JSON failure entries (pre-validation and CLI) now carry error_class
("io" for missing/dir inputs, mapped classes for CLI failures), so all
batch failure entries share the same shape
- build_cli_command places -o/-f before the -- separator for dash-leading
filenames, so `convert -f csv -- -weird` converts instead of misparsing
("unexpected second input"); absolute-path inputs unchanged
- workflows.md vault-ingestion recipe globs notes/* instead of docs/* and
warns to run from a temp/vault dir, never touching repo-root docs/
- unit tests: +6 (timeout envelope x4, batch error_class shape,
dash-leading filename); suite grows 46 -> 52
Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
---------
Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>