Agentic System Design
ooiyeefei/ccc
Prescriptive Q&A workflow for designing agentic pipelines, multi-model councils, sub-agent hierarchies, and tool-loop hardening for any domain.
Run the implementation loop for a framed and decided feature: pick the next unit, retrieve just enough context, write an inline spec, dispatch one subagent, gate the result, route on which gate…
$ npx skills add PackmindHub/packmind --skill agentic-orchestrator -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install PackmindHub/packmind agentic-orchestrator --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/PackmindHub/packmind.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/agentic-orchestrator .claude/skills/agentic-orchestrator && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "agentic-orchestrator" agent skill from https://github.com/PackmindHub/packmind/tree/main/.claude/skills/agentic-orchestrator into .claude/skills/agentic-orchestrator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "agentic-orchestrator", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/PackmindHub/packmind/tree/main/.claude/skills/agentic-orchestratorType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add PackmindHub/packmind --skill agentic-orchestrator -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install PackmindHub/packmind agentic-orchestrator --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/PackmindHub/packmind.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/agentic-orchestrator .agents/skills/agentic-orchestrator && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "agentic-orchestrator" agent skill from https://github.com/PackmindHub/packmind/tree/main/.claude/skills/agentic-orchestrator into .agents/skills/agentic-orchestrator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "agentic-orchestrator", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add PackmindHub/packmind --skill agentic-orchestrator -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install PackmindHub/packmind agentic-orchestrator --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/PackmindHub/packmind.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/agentic-orchestrator .cursor/skills/agentic-orchestrator && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "agentic-orchestrator" agent skill from https://github.com/PackmindHub/packmind/tree/main/.claude/skills/agentic-orchestrator into .cursor/skills/agentic-orchestrator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "agentic-orchestrator", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/PackmindHub/packmind.git --path .claude/skills/agentic-orchestrator--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add PackmindHub/packmind --skill agentic-orchestrator -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install PackmindHub/packmind agentic-orchestrator --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/PackmindHub/packmind.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/agentic-orchestrator .gemini/skills/agentic-orchestrator && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "agentic-orchestrator" agent skill from https://github.com/PackmindHub/packmind/tree/main/.claude/skills/agentic-orchestrator into .gemini/skills/agentic-orchestrator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "agentic-orchestrator", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install PackmindHub/packmind agentic-orchestratorInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add PackmindHub/packmind --skill agentic-orchestrator -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/PackmindHub/packmind.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/agentic-orchestrator .github/skills/agentic-orchestrator && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "agentic-orchestrator" agent skill from https://github.com/PackmindHub/packmind/tree/main/.claude/skills/agentic-orchestrator into .github/skills/agentic-orchestrator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "agentic-orchestrator", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add PackmindHub/packmind --skill agentic-orchestrator -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install PackmindHub/packmind agentic-orchestrator --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/PackmindHub/packmind.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/agentic-orchestrator .opencode/skills/agentic-orchestrator && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "agentic-orchestrator" agent skill from https://github.com/PackmindHub/packmind/tree/main/.claude/skills/agentic-orchestrator into .opencode/skills/agentic-orchestrator/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "agentic-orchestrator", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
agentic-orchestratorRun the implementation loop for a framed and decided feature: pick the next unit, retrieve just enough context, write an inline spec, dispatch one subagent, gate the result, route on which gate…
Agentic Orchestrator is an agent skill from PackmindHub/packmind. Run the implementation loop for a framed and decided feature: pick the next unit, retrieve just enough context, write an inline spec, dispatch one subagent, gate the result, route on which gate stage failed, and record it. Use after agentic-feature-framing and agentic-design-session have produced a charter and a decision log, when the user says "start building", "implement the feature", "run the next unit", or resumes work on an existing .claude/features/<slug/. This is phase 2 of the agentic development…
Its SKILL.md is about 3.7k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Agent Workflows, covering Architecture decision records and Subagents. The repository describes itself as: Packmind seamlessly captures your engineering playbook and turns it into AI context, guardrails, and governance. The licence is Apache-2.0.
9 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 8a10541. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
nodeFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Agentic Orchestrator loads about 3.7k tokens when it runs. Until then it costs about 142 tokens; SKILL.md has 2,187 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from PackmindHub/packmind at commit 8a10541, republished under its Apache-2.0 licence (© PackmindHub). 2,187 words, ~3,733 tokens.
.claude/skills/agentic-orchestrator/SKILL.md (or your agent's skills folder).You plan, specify, dispatch, route and record. You are a long-lived session and your context is the scarcest thing in the system — everything below exists to spend it on judgement and nothing else.
You never edit code. Not a one-line fix. Not "while I'm here". Not when the gate failure is obviously a missing import and dispatching feels absurd.
It will feel absurd often. Do it anyway. The moment you patch, you are the executor: frontier rates for mechanical work, and the diff lands in the one context this whole arrangement is protecting. The re-spec loop exists precisely because the obvious fix is cheap to specify and expensive to make yourself.
You may write: .claude/features/<slug>/units/*.json, records.jsonl,
appended entries in decisions.md, and the verified by column in
charter.md. You may run git. Nothing else.
You do not read code to judge a result either. The gate does that. If you find yourself opening a source file to see whether a unit worked, you are re-centralising the expensive work.
.claude/features/<slug>/
charter.md decisions.md units/ records.jsonl metrics.jsonlRead the charter and the decision log now, in full. Read them once. Everything after this is against that, plus the compact records.
Check the charter's Size and sessions before anything else. The design
session already decided whether this feature is one orchestrator run or several.
one session — you own every AC.split — you own one session's ACs. Say which one you are running
before you start, from the records: the first session with an AC that has no
verified by. Treat the other sessions' ACs exactly as you would treat
something on the out-of-scope list — a unit that needs one is not a design
question, it is a halt.At the end of your session's last AC, stop. Run the reconcile check, report, and say that the next session picks up from the charter. Do not roll on into the next session's ACs because the context is warm — the split exists precisely because someone judged that a fresh read of the records is worth more than that warmth.
node scripts/agent-gate.mjs baselineOK and continue. HALT and stop — take it to the human. Red at start is not
a unit failure and must never be treated as one: it means the environment
broke, and running units against it will blame the executor for every failure
while the metrics quietly become noise.
A unit is a coherent set of changes that leaves the repo green, with at least one named assertion that the intended behaviour happened. Green alone is not enough — a unit that does nothing is green.
Sizing, in order of authority:
"kind": "characterization" on the exit criterion:
the gate then requires the existing tests green and no test file modified,
because a refactor that edits its own tests proves nothing. If neither works,
merge into the adjacent unit that does have a criterion.--testNamePattern, not -t. Nx reads -t as
--targets and never passes it to jest, so -t 'removeMember' silently runs
the entire project suite instead of the named test.Do not deliberate. This is a table lookup, and the escalation ladder in step 7 does the real work with measured signal rather than a guess.
Cheap tier first (tiers.executor in .claude/pipeline/models.json) when
all of: at most two Nx projects, no change to an exported interface or shared
type, and the exit criterion's test already exists or is a routine addition.
Strong drafts, cheap repairs when any of: a public interface or shared type changes, three or more projects, the scout reported a surprise or said the unit looks larger than one unit, or the previous unit in this area failed typecheck twice. Here attempt 1 runs at the top tier and gate-failure repairs run at the cheap tier with the failure message attached — repairing a named error is a far tighter task than writing the change.
Agent(subagent_type: "context-scout", model: <tiers.scout>, prompt: …)Give it the unit's goal and two or three anchors. Do not grep yourself.
If it returns Not found for something you assumed exists, your unit is mis-specified — fix that before dispatching. If it returns Surprises, read them before anything else and re-route if needed.
Fill .claude/pipeline/unit-spec.template.md into the prompt. Never write the
spec to a file.
Quote decision entries verbatim, never by ID. The executor has not read the log and must not be asked to. Paste the scout's extracts as code, not as prose about code.
Write the whole thing in one prompt. The same information delivered across turns instead of consolidated costs roughly 25 points of task performance, and the loss does not recover once the model has committed to a wrong reading.
Then write the gate's four fields:
.claude/features/<slug>/units/U-014.json
{ "unit_id": "U-014", "feature": "<slug>",
"files_in_scope": [...],
"exit_criterion": { "command": "...", "kind": "behavioural", "describes": "AC-3" } }Agent(subagent_type: "unit-executor", model: <tier>, prompt: <the spec>)One subagent. Not two in parallel — parallelism loses the adapt-on-failure signal and the warm integration context, and is worth revisiting only once the sequential version is instrumented.
Validate what comes back before believing it:
node scripts/agent-record.mjs --file <record> --attempt N --tier <tier> --checkA malformed record is a routing signal, not a nuisance. On a cheap tier, format
adherence fails before reasoning does — so a FAIL record-shape on attempt one
is ordinary, and twice in a row on the same unit means the tier is wrong.
node scripts/agent-gate.mjs unit --spec .claude/features/<slug>/units/U-014.json --attempt N --tier <tier>OK and you are done. Otherwise the first line names the stage, and the stage
is the whole signal:
| Stage | What it means | Do |
|---|---|---|
scope, 1st | The spec was ambiguous about boundaries | Re-spec, same tier, tighter file list |
scope, 2nd on one unit | The boundary is wrong, not the wording | Split it where the executor keeps crossing |
scope (guardrail) | It tried to change the rules | Re-spec, same tier, say so explicitly. Never relax the rule. |
scoped / wide / typecheck, 1st | Ordinary error | Re-spec, same tier, quote the error verbatim |
scoped / wide / typecheck, 2nd consecutive | Capability — the executor cannot hold the interface | Escalate one step up escalation |
wide only, scope clean | Action at a distance | Re-spec with the callers in context; if it recurs, split it |
| Any stage, still failing at the top tier | Not capability. The unit is too big. | Split it (see below) |
tests | Specification — the logic was misunderstood | Re-spec, same tier, clarify intent. Do not escalate. |
HALT | Invariant violated | Stop. Human. |
The distinction that costs money if you get it backwards: typecheck failures are about capability, test failures are about specification. Escalating the tier on a test failure buys nothing; re-specifying at the same tier on a repeated typecheck failure loops forever.
The escalation ladder ends in a split, not in a human.
A unit that still fails at the top tier has stopped being a capability problem. The strongest model available could not do it from a complete spec, which is evidence about the unit, not about the executor. The same is true of a second scope violation: an executor that keeps reaching outside the declared files is usually right that the work does not fit inside them.
So: split the unit into two, and send both back in at the bottom tier.
U-014 becomes U-014a and U-014b.
The lineage is what lets the metrics tell an over-sized unit from a weak tier.haltAfterAttempts, and it is the only path there.This is the whole of as-needed decomposition, and it is deliberately the only place the pipeline ever splits anything. Decomposition planned in advance costs planning on units whose context will have changed by the time they run; decomposition triggered by failure adapts to the task and to the executor at once, with no threshold to tune. A stronger default tier produces larger units on its own, and nobody has to decide that.
Watch the ratio. Splits concentrated in one area of the codebase mean your
units there are habitually too big. Splits everywhere mean the default tier is
too low, and raising tiers.executor is cheaper than splitting every unit.
A status: "blocked" record is a success, not a failure. Resolve it at the
lowest rung that answers it:
D-nnn
entry yourself, with reasoning and the alternative you rejected and why,
then re-dispatch. This rung is what keeps decisions in one auditable place
instead of dispersed across subagents.Only rung 4 reaches a person. A high blocked rate means the design session under-decided. A low blocked rate alongside a high fail rate is worse: it means subagents are guessing instead of escalating, and the spec is not granting permission to block clearly enough.
node scripts/agent-record.mjs --file <record> --attempt N --tier <tier>Fill the AC's verified by in charter.md with the exit command. Commit the
unit — code, the unit json, the record and the metrics together, so a later
bisect lands on a change with its scope and its check attached.
A dependency bump, a new lint rule, an API migration: enormous, near-zero reasoning, thousands of trivial edits. Detect it by shape — more than ~20 files with no behavioural change, or a violation count in the hundreds.
Do not decompose it. In order of preference: write a codemod and run it with no
model involved; or dispatch one unit-executor at tiers.sweep with no spec,
unbounded scope, and node scripts/agent-gate.mjs sweep as the only
instruction.
Tests catch "did it wrong". They do not catch "did the wrong thing correctly" — and a plausible wrong result never gets repaired, because nothing flags it.
Agent(subagent_type: "reconcile", model: <tiers.reconcile>, prompt: …)Always at the feature boundary, together with the full suite. Between features,
fire it when any of: three or more accumulated deviations, a decision appended
mid-flight, a unit that halted to a human, or five units since the last check.
Signal-triggered, because deviations are the actual leading indicator and unit
count is only a proxy for it.
Watch first-attempt pass rate across comparable units. A sliding decline is not the executors getting worse — it is you degrading, and specs written from a degraded session are worse specs.
The response is not to decompose more finely from inside that state. It is to start a fresh orchestrator session. That is cheap here on purpose: the charter, the decision log and the records are the entire state, and a new session reads them in a few thousand tokens.
A split verdict in the charter is the planned version of this same move,
decided up front on the shape of the work instead of reactively on a declining
pass rate. Both end the same way: a fresh session reading the same three files.
metrics.jsonl collects itself. Read it at feature boundaries.
tiers.executor rather than paying escalation every time.© PackmindHub, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .claude/skills/agentic-orchestrator of PackmindHub/packmind.
Open the folder on GitHubat commit 8a10541
Agentic Orchestrator next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Agentic Orchestrator this skillPackmindHub/packmind | 317 | — | ~3.7k | Automated safety check: Pass | Apache-2.0 | |
| Agentic System Designooiyeefei/ccc | 494 | — | ~7.3k | Automated safety check: Pass | MIT | |
| NelsonAspegio/nelson | 421 | — | ~11k | Automated safety check: Warn | MIT | |
| Go Spec Reviewerinference-gateway/inference-gateway | 214 | — | ~1.2k | Automated safety check: Pass | Apache-2.0 | |
| Ad ReviewCorridorTech/PoseCap | 224 | — | ~2.4k | Automated safety check: Notes | Apache-2.0 | |
| Implementopen-octo/octo-agent | 125 | — | ~2.3k | Automated safety check: Pass | MIT |
ooiyeefei/ccc
Prescriptive Q&A workflow for designing agentic pipelines, multi-model councils, sub-agent hierarchies, and tool-loop hardening for any domain.
Aspegio/nelson
Orchestrates multi-agent task execution using a Royal Navy squadron metaphor — from mission planning through parallel work coordination to stand-down.
inference-gateway/inference-gateway
Review a Go design spec before implementation begins - dispatch a subagent that checks a design doc for completeness, consistency, and idiomatic Go (simplicity, small consumer-defined interfaces…
CorridorTech/PoseCap
Two-axis fresh-context code review per WORKFLOW §10. An agent skill from CorridorTech/PoseCap.
open-octo/octo-agent
Implement a technical design by decomposing it into dependency-ordered vertical slices, executing each with TDD red-green, reviewing each via an isolated sub-agent, and persisting progress to a…
ayoubben18/ab-method
Post-implementation documentation-sync detector. An agent skill from ayoubben18/ab-method.
PackmindHub/packmind
Produce proof-of-execution demos of the Packmind CLI (packmind-cli) as terminal-styled images (colors and formatting preserved exactly), for embedding in a GitHub PR.
PackmindHub/packmind
Record polished UI demo videos and screenshots of a running web app using Playwright MCP — for client deliverables, release notes, feature walkthroughs, or bug repros.
PackmindHub/packmind
Guide for creating effective skills. An agent skill from PackmindHub/packmind.
PackmindHub/packmind
Audit Packmind end-user documentation (apps/doc/) for broken links, outdated CLI references, non-existent concepts, misleading information, and missing coverage.
PackmindHub/packmind
Execute the implementation plan produced by /feature-spec. An agent skill from PackmindHub/packmind.
PackmindHub/packmind
Review an implemented GitHub issue the way a senior Packmind engineer would — the human-judgment checks that ESLint, the TypeScript compiler, and e2e tests cannot catch (authorization scoping…
Categories
Run the implementation loop for a framed and decided feature: pick the next unit, retrieve just enough context, write an inline spec, dispatch one subagent, gate the result, route on which gate…. Agentic Orchestrator is an agent skill from PackmindHub/packmind. Run the implementation loop for a framed and decided feature: pick the next unit, retrieve just enough context, write an inline spec, dispatch one subagent, gate the result, route on which gate stage failed, and record it.
Agentic Orchestrator fits situations like: says start building; implement the feature; run the next unit; resumes work on an existing .claude/features/<slug/.
Run `npx skills add PackmindHub/packmind --skill agentic-orchestrator -a claude-code`. Or copy the skill folder (.claude/skills/agentic-orchestrator in PackmindHub/packmind) into .claude/skills/agentic-orchestrator in your project. Claude Code loads it when a task matches its description.
Run `npx skills add PackmindHub/packmind --skill agentic-orchestrator -a codex`. Or copy the skill folder (.claude/skills/agentic-orchestrator in PackmindHub/packmind) into .agents/skills/agentic-orchestrator in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add PackmindHub/packmind --skill agentic-orchestrator -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/agentic-orchestrator, .gemini/skills/agentic-orchestrator, .github/skills/agentic-orchestrator and .opencode/skills/agentic-orchestrator in your project.
Going by SKILL.md and its folder, Agentic Orchestrator needs the command-line tools its instructions call (node).
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Agentic Orchestrator is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.7k tokens (SKILL.md is roughly 15k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Agentic Orchestrator: Agentic System Design (ooiyeefei/ccc, 494 stars), Nelson (Aspegio/nelson, 421 stars), Go Spec Reviewer (inference-gateway/inference-gateway, 214 stars) and Ad Review (CorridorTech/PoseCap, 224 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
PackmindHub (a GitHub organization) maintains it in PackmindHub/packmind, which has 317 GitHub stars. The repository holds 35 skills in this directory. The repository was last updated on October 8, 2026.
Source: PackmindHub/packmind on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.