RiskVector severity was hardcoded to 'medium' for all risks
regardless of how many agents flagged them. Now uses a simple
heuristic: 3+ agents = high, 2 agents = medium, 1 agent = low.
Also deduplicates similar risks and tracks which agents flagged
each one.
Signed-off-by: Magnus Hedemark <magnus919@pm.me>
PydanticAI reads API keys from provider-specific env vars
(OPENAI_API_KEY, DEEPSEEK_API_KEY, etc.) at Agent creation time.
agent-council was reading AGENT_COUNCIL_API_KEY into a config dict
but never setting the env var PydanticAI actually looks for.
If a user had OPENAI_API_KEY set for something else, agent-council
silently used the wrong key for debate agents.
Fix: load_config() now maps AGENT_COUNCIL_API_KEY to the correct
env var based on the model prefix (openai:, deepseek:, anthropic:,
google:, etc.) and also maps AGENT_COUNCIL_BASE_URL to OPENAI_BASE_URL.
Only sets if not already set, so explicit env vars take precedence.
Signed-off-by: Magnus Hedemark <magnus919@pm.me>
- Updates default model from gpt-4o-mini to gpt-5.6-luna across all
documentation, config, and CLI help text
- Fixes model string format from provider/model to provider:model
(PydanticAI convention) in README, SKILL.md, references, and examples
- Fixes anthropic, deepseek, and google example model strings to use
colon format consistently
Signed-off-by: Magnus Hedemark <magnus919@pm.me>
Adds retry tolerance to structured output parsing across all
debate phases (premortem, position, cross-examine, synthesis,
compose, and verification guardrails). Prevents 'Exceeded
maximum output retries' failures when models produce
near-valid structured output on first attempt.
Signed-off-by: Magnus Hedemark <magnus919@pm.me>
Instead of the compose phase fabricating personas with fake backgrounds,
the council now draws from 39 real professional profiles via a git
submodule (https://github.com/magnus919/hermes-profiles).
Key changes:
- New select phase reads SOUL.md + profile.yaml from profiles submodule
- Auto-updates submodule before selection via git submodule update --remote
- --profiles flag for explicit selection (comma-separated names)
- Auto-selection by keyword overlap with profile descriptions when omitted
- Each agent's identity is their real SOUL.md — actual methodology,
values, and operating principles, not invented backgrounds
- Falls back to composed personas if profile library is unavailable
- Real profiles produce genuine methodological disagreement (debugger
said 'unanswerable without a verified process' to naming question)
Signed-off-by: Magnus Hedemark <magnus919@pm.me>
Two-layer defense against fabricated factual claims:
1. Prompt-level guardrail (FACTUAL_CLAIM_GUARDRAIL) injected into every
debate agent's system prompt — tells agents not to assert specific
verifiable facts they cannot know (domain availability, package
namespace status, pricing, etc.)
2. Post-synthesis verification eval — an LLM-based QA pass that scans
the narrative synthesis for unsubstantiated factual claims and
appends a 'Claims Not Verified' section to the output with specific
quotes, claim types, and explanations.
Both layers are self-contained — no search or external tools required.
Signed-off-by: Magnus Hedemark <magnus919@pm.me>
- Each phase now prints completion status to stdout immediately
- Phase output files written to /tmp/agent-council/<ts>/ as they complete
- Users see real-time progress: persona count, phase timing,
cross-examination metrics per round, convergence verdict
- Synthesis still printed at end as primary deliverable
- Full intermediate output available in /tmp/agent-council/ for inspection
Signed-off-by: Magnus Hedemark <magnus919@pm.me>
- Adds stdlib-only .env loader (no python-dotenv dependency)
- Env vars always take precedence over .env values
- Updates SKILL.md with .env usage example
- Updates configuration reference
Signed-off-by: Magnus Hedemark <magnus919@pm.me>
- Added 'Human-readable README' row to the Format Compliance table
- New README Format section defining 6 required sections + style guidance
- Added README validation to the Validate Your Output checklist
- References data-scientist/README.md as the canonical format example
Each README is written for a human audience, explaining:
- What the skill does (not what format it follows)
- What benefit the user gets from installing it
- Quick setup and usage patterns
- When to load/trigger the skill
- What scripts, references, and templates it ships
data-scientist already had a README — left unchanged.
48 READMEs added across all skill and bundle directories.
Major deepening of the langchain expert skill based on source audit against
official LangChain docs (docs.langchain.com, reference.langchain.com).
Changes:
- Added references/validation-audit.md documenting all research findings
- Deepened references/agent-patterns.md from 74 to 200+ lines:
create_react_agent full parameter table, @tool decorator with
args_schema/parse_docstring, streaming events, multi-agent supervisor
- Deepened references/lcel-reference.md from 79 to 180+ lines:
RunnablePassthrough.assign(), RunnableParallel dict shorthand,
RunnableLambda, RunnableConfig, .with_fallbacks(), .configurable_fields()
- Deepened references/rag-strategies.md with advanced retrieval patterns
- Deepened references/production-deployment.md with LangSmith Datasets/
Evaluation Runs/Prompt Hub
- Added new references/callbacks.md (BaseCallbackHandler, event table,
agent auditing patterns, async callbacks)
- Deepened references/faq-and-troubleshooting.md with Pydantic v1/v2,
streaming+tools, checkpoint serialization guidance
All API surface claims verified against official documentation.
v1.0.3 -> v1.1.0
Edits accepted and merged:
- Framework comparison table: PydanticAI vs LangGraph vs using both together
- Boundary conditions: when to choose each framework
- Hybrid pattern reference: PydanticAI agent as LangGraph StateGraph node
- Updated 'When to Load Which Reference' table with boundaries entry
- Updated Directory Structure listing
New reference file: references/hybrid-pydanticai-langgraph.md (7KB)
Version bumped from 1.0.3 to 1.0.4.
All 3 validation tasks passed with no regressions:
- Val-1: Multi-agent delegation (pass)
- Val-2: Hybrid PydanticAI+LangGraph pattern (pass, all 6 criteria)
- Val-3: Streaming agent (pass)
Signed-off-by: Magnus Hedemark <magnus919@pm.me>
Edits accepted and merged:
- Run method decision table (when to use run/run_sync/run_stream/run_stream_events/iter)
- Graph API comparison table (BaseNode vs GraphBuilder trade-offs)
- Error handling quick-pick with exception table and recovery patterns
Version bumped from 1.0.2 to 1.0.3.
All 3 validation tasks passed with no regressions (6/6, 10/10, 8/8 rubric items).
Signed-off-by: Magnus Hedemark <magnus919@pm.me>
Edits accepted and merged:
- Added defer_model_check gotcha to SKILL.md Gotchas section
- Added defer_model_check usage note to core-agents.md constructor params
- Added pytest-asyncio dependency note to testing-evals.md
- stream_text/structured output gotcha added from validation findings
- graph.run() returns output not state gotcha added from validation findings
Version bumped from 1.0.0 to 1.0.1.
All 3 training rollouts passed (6/6, 5/5, 6/6 rubric items).
All 3 validation tasks passed (6/6, 10/10, 8/8 rubric items).
No regressions detected.
Signed-off-by: Magnus Hedemark <magnus919@pm.me>
- Add version lookup guidance to custom-images.md (check GH releases)
- Add gh CLI commands for runner group creation to management.md
- Expand trigger table in SKILL.md with natural-language alternatives
- Bump v1.0.0 → v1.0.1
- SKILL.md with trigger table, quick reference, deployment spectrum, and pitfalls
- references/ for architecture, deployment (systemd/Docker/ARC/Scale Set Client),
security, autoscaling, management, custom images, and network
- templates/ for docker-compose.yml and custom-runner.Dockerfile
- AGENTS.md updated with trigger row in alphabetical order
E2-A: Fix cache duration format (30d → 720h) — Go's time.ParseDuration
does not support day units. Added note about valid Go duration syntax.
E2-B: Add EnableAllLanguages call to content adapter example — order
matters: must be called BEFORE iterating to produce multilingual output.
E2-C: Add .Site.LastChange pitfall — not available on taxonomy/term/
section pages. Added fallback pattern using now.Format.
E2-D: Add Build Performance Troubleshooting section with diagnostic
table (symptom → cause → fix) and 5 quick wins in order of impact.
Adds step-by-step theme bootstrap checklist (E1-A), consolidated
Tailwind v4 deployment checklist (E1-B), Hugo version column in
reference table (E1-C), and flash-prevention cross-reference (E1-D).
Validation: held-out task built a complete Tailwind v4 theme with
dark mode and responsive images — 9 pages, 2 images at 3 sizes
each, 0 errors, 0 warnings. All 4 edits accepted.
Six reference files covering template architecture, asset pipeline,
shortcodes and render hooks, content organization and i18n, modules
and performance optimization, and SEO/output formats/CI/CD.
Add Step 0 to the bundle-builder file creation order: generate and
register an umbrella SKILL.md at the bundle root before any sub-skills
are created. The umbrella provides the auto-detectable entry point
with broad trigger conditions, Mermaid flowchart, phase table, and
navigation instructions.
Also update:
- workflow-architect SKILL.md: list umbrella in 'What You Get' and
update Loading Protocol step 5 to mention registration
- workflow-architect AGENTS.md: add Registration section explaining
how umbrella and sub-skills are registered via skill_manage()
Closes#52
Ships a portable Python CLI (stdlib only, zero external dependencies) with:
- search: keyword search via gutendex API
- metadata: full book metadata by Gutenberg ID
- download: plain text, EPUB, or HTML format
- extract: strip PG boilerplate or extract text from EPUB
- classify: fiction vs non-fiction classification
- pipeline: full search → download → extract → classify workflow
AgentSkills.io compliant with SKILL.md, scripts/gutenberg, and
references/epub-extraction.md for progressive disclosure.
- Existing Bicycle Infrastructure: ExistingBicycleInfrastructure_Public → Existing_Bicycle_Infrastructure
- Speed Humps: Speed_Humps → SpeedHumps
- EVSE Stations: EVSE_Stations → EVSE_Stations_View
All three verified against live API — returning real data now.
Replace 'Jasper' and 'Magnus Hedemark' references with generic
placeholders in skill metadata, example templates, and agent
instructions. These files are consumed by the public repo and
should not contain personal names.
- SKILL.md: author: Jasper → author: agent-skills
- phase-1-filing-issues.md: example disclosure genericized
- agent-checklist.md: first-person framing generalized
After writing bundle files, iterate through each sub-skill and register
it using skill_manage(action='create', ...) so Hermes can discover it
via skill_view() and skills_list(). Sub-skills get a '<bundle-name>/'
prefix to avoid naming collisions across bundles.
Closes#50
Replaces the lane-based kanban-board.yaml.tmpl with a Hermes-compatible
task-dependency model using parent/child task relationships.
Changes:
- Delete templates/kanban-board.yaml.tmpl (wrong model — Hermes Kanban
doesn't have lanes)
- Create templates/kanban-board-setup.sh.tmpl — board creation script template
- Create templates/kanban-task-blueprints.yaml.tmpl — phase-to-task mapping
- Update bundle-builder/SKILL.md Section 6 for new kanban model
- Update kanban-decision-criteria.md Implementation section with Hermes
task-dependency model and lifecycle rules
- Create references/example-output/developer-pipeline-kanban/ — linear
build->review->deploy workflow with full kanban board, task blueprints,
and usage guide
- Cross-reference the two examples (non-kanban developer-triage and
kanban-enabled developer-pipeline-kanban)
- Update manifest.yaml.tmpl with kanban metadata slot
A new Agent Skills bundle that helps users discover their actual workflow
through two modes:
- Active interrogation: guided 8-15 question interview that adapts based on
answers, building a structured model of the user's workflow phases,
branching signals, tool preferences, and friction points
- Passive observation: loads silently, then on trigger phrase scans session
context to infer workflow patterns from what actually happened
The output is a skills bundle: sub-skills per workflow phase with trigger
conditions, a manifest, a Mermaid decision map, and optionally a kanban
board if the workflow is deterministic/linear.
Ships 3 sub-skills (interviewer, observer, bundle-builder), 3 reference
documents (workflow archetypes, trigger condition patterns, kanban
decision criteria), 4 templates, and a worked example output bundle.
Also fixes broken table formatting in AGENTS.md (extra pipe characters
in trigger table rows).
Implements pr_create method and 'pr create' subcommand, closing the
long-standing Known Gap. Adds usage examples to Common Operations section
and updates the command listing.
Signed-off-by: Magnus Hedemark <magnus919@pm.me>
Implements pr_create method and 'pr create' subcommand for the forgejo-cli,
closing the long-standing Known Gap. Supports --head, --base, --title,
--body, and --draft flags.
Removes the 'pr create' entry from the Known Gaps table in the skill docs.
Signed-off-by: Magnus Hedemark <magnus919@pm.me>
A skill wrapping the lastfm-cli tool for the Last.fm music data API:
user listening history, artist/album/track metadata, collaborative
filtering-based similar music discovery, global/per-country charts,
search, tags, and scrobble/love/now-playing write operations.
Includes a Music Discovery Pipeline section for turning liked tracks
into recommendations via Last.fm's collaborative filtering graph.
Adds the first bundle to the agent-skills repo under bundles/:
a collection of 7 sub-skills for managing the self-hosted
Tailscale/Headscale VPN ecosystem.
Includes 23 scripts (bash + python), 8 reference documents,
6 deployment templates, and a context-aware umbrella SKILL.md
that auto-loads sub-skills by trigger keywords.
Adds references/pitfalls.md cataloging known failure modes across
6 categories (mascot generation, image editing, safety, provider
quirks, prompt engineering, pipeline tooling) with a quick-reference
fix table.
Updates SKILL.md with version 1.1.0 in frontmatter and a consolidated
'What Is NOT On-Brand' section with anti-pattern table.
Closes#37
Signed-off-by: Magnus Hedemark <magnus919@pm.me>
Restructures the generation guidance into 6 explicit style lanes
(Xerox Poster, Manual/Letterpress, Industrial Duotone, Minimal
Stipple, Blue Registration, Legacy PNW/Celestial) with prompt
templates and per-lane guidance.
Adds a reference catalog table mapping each assets/ image to its
recommended style lanes and use cases.
Closes#35
Signed-off-by: Magnus Hedemark <magnus919@pm.me>
Add a cross-pollination note under the nous-branding skill entry
acknowledging that plntrprotocol/nous-branding was developed
independently and in parallel. Links to their repo and encourages
users to check it out.
Closes#31
Signed-off-by: Magnus Hedemark <magnus919@pm.me>
Closes#22
Features:
- references/subagent-experiment-supervision.md: self-healing experiment
pattern with 10-failure catalog, auto-fix implementations, escalation
to Telegram, and harness-specific notes
- references/docker-experiment-isolation.md: resource limits, log
collection, multi-container sweeps, cleanup patterns, Docker Compose
- scripts/Dockerfile: test image for the skill's Docker-based tests
- SKILL.md: CAMPAIGN type in question classifier, Principle #9,
Infrastructure Awareness section, all new references in Available
Resources, updated compatibility field
Test results: 22/22 passing (supervision + Docker build)
Structured protocol for running data science research campaigns:
- Phase 1-8 workflow from problem formulation through synthesis
- Entry/exit criteria and failure modes for every phase
- Executable code examples: sklearn pipelines, PyTorch training loops,
Optuna HP search, distillation, pruning
- See Also references to all companion documents
Part of #22
Standalone CLI that probes GPU (nvidia-smi), CUDA version, PyTorch,
scikit-learn, JAX, Optuna, RAM, and disk space — then generates
structured recommendations for model size, batch size, quantization,
and distillation feasibility.
Ships with 12-test suite (7 local + 5 Docker) covering graceful
degradation, all output flags, and a containerized no-GPU scenario.
Part of #22
PhD-level data science expertise with decision framework, five reference
documents (statistical methodology, experimental design, causal inference,
regression modeling, Bayesian workflow), five automation scripts (power
analysis, assumption diagnostics, model comparison, effect size calculator,
experimental design generator), and two report templates.
Python default with --engine r flag for R output. Dual language support.
The "Completed Architecture" diagram in Phase 4 showed the CLI binary at the
skill root, but every other skill in this repo (and the Agent Skills spec)
places executable scripts in a `scripts/` subdirectory.
Changes:
- Replaced ASCII-art two-layer diagram with concrete directory structure
showing `scripts/servicex-cli` inside the skill directory
- Added Trigger/Execute layer table clarifying the role of each file
- Updated the "Agent opens session" flow to use `scripts/` relative paths
- Added deployment model comparison (scripts/ inside skill vs global PATH)
- Updated the "Installation instructions" entry in What NOT to Put table
Trigger: neopabo on Nous Research Discord
Signed-off-by: Magnus Hedemark <magnus919@pm.me>
Comprehensive Jira Query Language skill covering:
- All operators, keywords, and core syntax
- Complete function catalog (date/time, user, sprint/version,
issue, custom field, JSM SLA/approval/organization)
- History operators (WAS/CHANGED) with predicate clauses
- Relative date expressions and dynamic patterns
- Performance best practices and common mistakes
- Role-based ready queries (dev, scrum master, PO, admin)
- REST API usage, edge cases, and troubleshooting
- Three companion reference files
Two CLIs, one skill wrapper. radarr-cli manages movies (list, lookup,
calendar, collections), sonarr-cli manages TV series (list, lookup,
episodes, calendar, wanted). Separate API keys and server URLs per app.
All cli-builder patterns: --json, --dry-run, --quiet, --verbose,
lazy auth, emit() dual-output, structured logging, pre-parsed flags.
Signed-off-by: Jasper <magnus@groktop.us>
CLI wrapper for the public Open Library API (no API key required).
Commands: search books, search-authors, author details, work details,
ISBN lookup.
All cli-builder patterns: --json, --dry-run, --quiet, --verbose,
emit() dual-output, structured logging, pre-parsed global flags.
Signed-off-by: Jasper <magnus@groktop.us>
CLI wrapper for TMDb API v3. Commands: movie search/discover/upcoming,
tv search/discover, trending, genre list, certification list.
All cli-builder patterns: --json, --dry-run, --quiet, --verbose,
lazy auth, emit() dual-output, structured logging, pre-parsed
global flags. Auth via TMDB_ACCESS_TOKEN or TMDB_API_KEY.
Signed-off-by: Jasper <magnus@groktop.us>