Agent skill

Autoresearch Improvement Loop

by Yeachan-Heo in Yeachan-Heo/gajae-code

Runs one improvement mission as a bounded loop: each round makes a change, runs a strict JSON evaluator, logs the decision in markdown and continues until a max runtime is hit.

MITAuto-check passedAgent Workflows

Install Autoresearch Improvement Loop

skills CLI
$ npx skills add Yeachan-Heo/gajae-code --skill autoresearch -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install Yeachan-Heo/gajae-code autoresearch --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/Yeachan-Heo/gajae-code.git skills-src && mkdir -p .claude/skills && cp -r skills-src/packages/coding-agent/src/defaults/gjc/skills/autoresearch .claude/skills/autoresearch && rm -rf skills-src

Use ~/.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/

Facts

Skill name
autoresearch
GitHub stars
2.9k
Token cost
~3.6k tokens
SKILL.md length
1,906 words
Files
3
Skills in repo
9
Repo updated
First seen
Licence
MIT

At a glance

Runs one improvement mission as a bounded loop: each round makes a change, runs a strict JSON evaluator, logs the decision in markdown and continues until a max runtime is hit.

  • Works in 2 steps: build the harness → iterate
  • Iterating on one measurable goal with a fixed evaluator until a time limit
  • SKILL.md covers Usage, Purpose, Always-used command examples and Use when, plus 11 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Autoresearch keeps working on a single mission, one experiment per iteration. Each round makes one change, runs the evaluator, saves the result as JSON and appends a readable decision-log entry, and it keeps going when an evaluation does not pass. The evaluator must output structured JSON with a boolean `pass` and an optional numeric `score`.

It expects the mission and evaluator to exist already, created by `/deep-interview --autoresearch`, and its first version refuses multiple missions. State records the mission, evaluator reference, iteration count, timestamps and a required max runtime or deadline, which is the main stop condition along with explicit user cancellation. Artifacts such as the mission spec, evaluator reference, per-iteration JSON and decision logs live under `.omc/autoresearch/`. Periodic reruns can use Claude Code's native cron. The excerpt is cut off in the list of stop conditions.

When your agent uses it

  • Iterating on one measurable goal with a fixed evaluator until a time limit
  • Keeping durable experiment logs of each change and its evaluation
  • Scheduling periodic reruns of an improvement mission

Example prompts

  • “Start autoresearch on the mission we defined and stop when the max runtime is reached.”
  • “Run another autoresearch iteration, record the evaluator JSON and add a decision-log entry.”
  • “Set up autoresearch to rerun this mission on a schedule.”

Requirements

  • A mission and evaluator prepared with `/deep-interview --autoresearch`

Workflow steps

2 steps, taken from the step headings in SKILL.md.

  1. build the harness
  2. iterate

What it can do on your machine

Read from SKILL.md and the folder at commit 91fe978. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are bash).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Autoresearch Improvement Loop loads about 3.6k tokens when it runs. Until then it costs about 36 tokens; SKILL.md has 1,906 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~36
When it runs · the whole SKILL.md, loaded when a task matches
~3.6k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from Yeachan-Heo/gajae-code at commit 91fe978, republished under its MIT licence (© Yeachan-Heo). 1,906 words, ~3,625 tokens.

Download SKILL.mdSave it as .claude/skills/autoresearch/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
autoresearch
description
Goal-directed research missions that interleave web research with data experimentation and end on a structured best-effort verdict
argument-hint
[--spec <path>] [--json] <goal>
source
GJC-native workflow skill rebuilt from the deprecated autoresearch extension

Autoresearch Workflow

Use when the user asks for autoresearch, or gives a bounded research goal whose deliverable is a defensible verdict rather than code ("find out", "investigate", "benchmark and draw a conclusion").

Usage

/skill:autoresearch "<research goal>"
/skill:autoresearch --spec .gjc/_session-{sessionid}/specs/deep-interview-<slug>.md

Invoke this workflow as /skill:autoresearch; the durable state behind it is driven by the gjc autoresearch runtime command.

Purpose

autoresearch runs one goal-directed research mission: it interleaves web research with data/environment experimentation and ends on a single structured, best-effort verdict. The verdict receipt carries a structured status, evidence[], caveats[], and the evaluator identity that issued it. The mission is research, NOT implementation: its durable outputs are findings, evidence, run records, and a verdict — never product code.

All mission state persists per session under .gjc/_session-{sessionid}/autoresearch/ and survives across gjc autoresearch invocations. The global ~/.gjc/autoresearch store is never written.

Always-used command examples

Use these exact gjc autoresearch commands before spending tool calls rediscovering syntax:

sh
gjc autoresearch --spec <deep-interview-spec-path>
gjc autoresearch "<goal>"
gjc autoresearch
gjc autoresearch read --json
gjc autoresearch clear
  • intake --spec <path> (or the bare --spec flag) — spec intake from a persisted deep-interview spec; asks zero questions.
  • "<goal>" or bare invocation — cold intake; goal, constraints, and deliverables must be clarified before research begins.
  • read --json — current mission artifact plus the append-only ledger snapshot.
  • clear — retire the mission artifact and its working set, recording mission_cleared in the ledger. This never touches the session python REPL kernel; reset that with the python tool's own clear action.

Use when

Use when the user wants a bounded research mission whose output is a defensible verdict: a question that needs evidence from the web, local data, or both before any conclusion is drawn ("does X hold for this dataset?", "which approach benchmarks best?", "what changed between these two releases?"); an explicit request to run autoresearch; or a goal whose acceptance is a structured verdict with evidence and caveats.

Do not use when

  • Ordinary pre-planning lookup that will be followed by a planning pass — route that through ralplan/deep-interview instead of opening a research mission.
  • Implementing anything — autoresearch produces findings and a verdict, never code. Downstream implementation goes through the normal approval-gated path.
  • A quick single answer that one read/search resolves directly.

Two intakes

Both intakes write the same mission artifact (objective, mode, deliverables, constraints, slug).

Spec intake

gjc autoresearch intake --spec <path> (or the bare --spec flag) reads a persisted deep-interview spec and starts the mission with zero clarification questions. The spec MUST declare its mission mode explicitly (a line like autoresearch-mode: web); a missing or invalid declaration is a hard fail. The consumed spec path and handoff time are recorded on the mission artifact.

Cold intake

gjc autoresearch "<goal>" (or a bare gjc autoresearch) signals cold intake. Clarify the goal, constraints, and deliverables BEFORE any research tool fires — no web search, no python kernel, no harness build — then write the mission with an explicit mode.

Mode

Every mission carries an explicit mode: web, mixed, or data. The mode is stated at intake and persisted in the mission artifact. It is NEVER inferred from the presence of a data file: a data file in the workspace without an explicit mode is a rejection, not a default. Data-context loading is gated to data/mixed mode only; web mode never attaches data context.

Goal mode (nudge until verdict)

Autoresearch asks the agent to drive its mission through GJC goal mode: an inline goal keeps the autonomous continuation loop nudging the agent through intake → research → verdict until the mission's structured verdict receipt exists. This is a cooperative, instruction-only integration, not an autoresearch runtime enforcement boundary: the agent calls the unified goal tool itself; gjc autoresearch commands and hooks never mutate goal state; and no autoresearch-specific nudge budget or ask blocking applies. Generic goal-runtime guards, abort behavior, and handoff behavior still apply and can leave a mission or goal open; the agent must surface or retry those failures rather than treating them as completed lifecycle steps.

Lifecycle:

  • Create — right after the mission artifact is written (both spec and cold intake), call goal({"op":"get"}); create only when it returns no goal or a terminal complete/dropped goal. Use goal({"op":"create","objective":"Drive the autoresearch mission '<mission objective>' to a persisted structured verdict receipt"}). No goal exists during intake questioning, so ask-driven cold-intake clarification is unaffected.
  • Collision rule — an active or paused goal is a collision, not an invitation to call create: never replace, resume, complete, or drop a different goal. If the existing goal has this mission's exact objective, continue its lifecycle; otherwise run the mission without goal mode and leave the other goal untouched. This matters because the goal runtime rejects create over any nonterminal goal, including a paused one.
  • Resume rule — when re-entering a mission (gjc autoresearch read --json), inspect both the latest persisted verdict and goal({"op":"get"}). With no verdict or an explicit status.disposition: "inconclusive", create a goal only when no goal or a terminal goal exists; resume a matching paused goal with goal({"op":"resume"}), continue a matching active goal, and honor any different active/paused goal as a collision. With status.disposition: "conclusive", never create or resume a new goal: complete the matching nonterminal goal if one exists, otherwise retry only the pending mission clear. A missing or different disposition is treated as open rather than auto-cleared.
  • Complete — after a structured verdict receipt is persisted under .gjc/_session-{sessionid}/autoresearch/, call goal({"op":"complete"}) exactly once for the matching nonterminal mission goal. Any verdict completes the goal-tracking pass, including best-effort and inconclusive verdicts; an inconclusive mission stays open for follow-up, but its current goal pass is complete. Verdict writes themselves are append-only and not idempotent: after an uncertain verdict command, read the latest ledger/receipt before retrying and do not issue a duplicate verdict merely because the first response was lost. If goal completion or the following clear fails, retain the durable state and retry on re-entry rather than issuing a second completion or dropping a completed goal.
  • Auto-clear — only status.disposition: "conclusive" is terminal for mission cleanup; best-effort evidence and confidence do not by themselves determine terminality. Immediately after completing the matching goal, run gjc autoresearch clear so no stale conclusive mission artifact lingers. This automatic clear follows a completed goal and never calls goal({"op":"drop"}); if the clear fails, retry it on re-entry without creating a new goal. Inconclusive, missing, or other dispositions skip the clear — the mission stays open for follow-up under the existing non-terminal contract.
  • Drop — call goal({"op":"drop"}) only for this mission's matching nonterminal goal, whether active or paused: on a manual gjc autoresearch clear (pre-verdict or open-inconclusive mission), on handoff to /skill:ralplan, /skill:deep-interview, or /skill:ultragoal, and on user cancel. Never drop a different goal. The post-verdict auto-clear is exempt — its goal is already complete, and a completed goal is never dropped.

The runtime does not make these transitions transactional: gjc autoresearch clear and canonical skill handoff do not drop an inline goal for the agent, user cancellation can preserve an active goal, and the generic runtime does not itself prevent a caller from dropping a completed goal. Before a manual clear or handoff, drop the matching goal explicitly when the turn still permits tool calls; after cancellation or a failed handoff, re-enter, inspect goal({"op":"get"}), and clean up only a matching nonterminal goal. An unrelated or unreadable Ultragoal state can also reject generic goal operations; do not bypass that guard or clear mission state early.

Goal mode never authorizes implementation: the mission remains research-only (findings, evidence, run records, verdict), and the nudge loop must never be used to start product-code changes.

Show full SKILL.md (690 more words)Show less

Evidence sources interleave

Web research and data/environment experimentation are not separately gated tracks. Inside one mission they mix freely: a web finding motivates an experiment, an experiment's result triggers the next web search, and both land in the same mission ledger and the same final verdict. The mode decides which evidence sources exist, not when they may be used.

The loop

The mission runs in two phases.

Phase 1 — build the harness

Use an existing benchmark command or a research-only harness artifact explicitly approved for the mission. It must:

  • exit 0 on success and non-zero on failure;
  • print the primary metric as a single line METRIC <name>=<value>, and any secondary metrics as additional METRIC <name>=<value> lines;
  • run the same workload deterministically (no live network, no time-of-day dependencies, fixed seeds where applicable).

Do not edit product source, manifests, dependencies, or benchmark binaries. When a useful benchmark requires a code or harness change, record that limitation as a caveat and route the change through the normal approval-gated implementation path. Validate the existing command by running it and confirming it exits 0 and emits at least one METRIC line. Output may also carry ASI key=value learning lines.

Phase 2 — iterate

Iterate existing experiments with baseline/keep/discard discipline. Log every run: keep when the primary metric improves, discard when it regresses or stays flat, crash when the run fails, checks_failed when validation fails. Flag suspect runs (reward-hacked or invalid) so they are excluded from baseline and best-metric math. This workflow does not create branches, commit changes, or revert files because it never changes product code.

Persistent Python

The python tool provides a persistent session REPL: variables, imports, and loaded data survive across calls. It is available without an active mission, uses the distinct python:<session-id> kernel owner, and appends every execution to the session JSONL transcript. Clearing its kernel is an action on the same tool (action: "clear"); session cleanup also disposes it.

Completion

The mission ends on one mission-level structured verdict: status (structured data, not a pinned enum), evidence[], caveats[], and the evaluator identity. The verdict is self-issued by default. An optional critic pass records a separate evaluator identity on the verdict (critic_receipt), distinct from the mission agent's. The verdict is best-effort, not a rigid per-lane checklist: missing lanes surface as caveats, not automatic failure. Use status.disposition: "inconclusive" for an explicitly non-terminal verdict; the mission stays open for follow-up rather than being closed as finished. Only status.disposition: "conclusive" is terminal for the mission artifact; after the matching goal pass completes, the agent requests gjc autoresearch clear as the next cleanup step (see Goal mode (nudge until verdict)).

Artifacts

  • .gjc/_session-{sessionid}/autoresearch/ — mission artifact, append-only JSONL ledger, session-scoped run records (plus the TUI run-table dashboard).
  • The ledger appends mission_created, mode_set, run_logged, verdict_issued, critic_recorded, and mission_cleared events; verdict and critic receipts ride on their events as structured data.
  • Persist everything through gjc autoresearch; never hand-edit .gjc/ (no direct write/edit/ast_edit against .gjc/ paths without an explicit force override).
  • On interruption, resume via gjc autoresearch read --json; do not read or edit .gjc/_session-{sessionid}/autoresearch/ files directly.

Boundary

Autoresearch produces research findings and a verdict; it never implements. Downstream implementation goes through the normal approval-gated path (planning → pending approval → explicitly approved execution).

Ending a mission

Two exits, both one step: These exits cover pre-verdict and inconclusive missions — a conclusive verdict requests the same clear sequence from the agent after its matching goal pass completes.

  • Hand off to planning/clarification: when the turn still permits tools, drop this mission's matching nonterminal goal first, then invoke /skill:ralplan, /skill:deep-interview, or /skill:ultragoal — autoresearch is handoff-ready at any phase (intake/research/verdict), and the skill tool performs the atomic workflow-state handoff itself, not an atomic goal-state cleanup. No gjc state preparation is needed.
  • Finalize only: gjc autoresearch clear retires the mission artifact and its working set, appends mission_cleared to the ledger, and marks the workflow complete — no handoff target required.

Neither command or handoff automatically drops an inline goal: explicitly drop this mission's matching nonterminal goal before a manual exit when possible, and after cancellation or failed cleanup re-enter and reconcile it. The post-verdict auto-clear never drops its goal because that goal is already complete — see Goal mode (nudge until verdict).

© Yeachan-Heo, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 2 other files in packages/coding-agent/src/defaults/gjc/skills/autoresearch of Yeachan-Heo/gajae-code.

  • SKILL.md
  • auto-critic.md
  • auto-iterate.md

Open the folder on GitHubat commit 91fe978

Compare with similar skills

Autoresearch Improvement Loop 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.

Autoresearch Improvement Loop compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Autoresearch Improvement Loop this skillYeachan-Heo/gajae-code2.9k—~3.6kAutomated safety check: PassMIT
Autoresearch Iteration Loopuditgoenka/autoresearch6.5k1 repos~2kAutomated safety check: PassMIT
Install Loop Engineeringcobusgreyling/loop-engineering11k1 repos~648Automated safety check: PassMIT
LoopX Self Repairloopx-project/loopx6.2k—~2.2kAutomated safety check: PassApache-2.0
PUA Looptanweai/pua20k—~1.1kAutomated safety check: PassMIT
PRP LoopWirasm/prp2.3k—~894Automated safety check: PassMIT

Similar skills

  • Autoresearch Iteration Loop

    uditgoenka/autoresearch

    Runs an autonomous modify, verify, keep-or-discard loop against any metric, with subcommands for planning, debugging, fixing, security audits, shipping and more.

    6.5k GitHub starsUsed in 1 repo~2k tokens
    Agent WorkflowsAuto-check passed
  • Install Loop Engineering

    cobusgreyling/loop-engineering

    Installs Loop Engineering into a project through the single @cobusgreyling/loop CLI, scaffolding a report-only loop and a readiness score.

    11k GitHub starsUsed in 1 repo~648 tokens
    Agent WorkflowsAuto-check passed
  • LoopX Self Repair

    loopx-project/loopx

    Diagnoses surprising LoopX behavior, such as stale recommendations or tiny progress, assigns it to the responsible layer and repairs it at the lowest durable level.

    6.2k GitHub stars~2.2k tokensUpdated today
    Agent WorkflowsAuto-check passed
  • PUA Loop

    tanweai/pua

    Runs an unattended iterate-until-verified loop in which a user-set verify command, not the agent's own claim, decides when the task is finished.

    20k GitHub stars~1.1k tokensUpdated 1 mo ago
    Agent WorkflowsAuto-check passed
  • PRP Loop

    Wirasm/prp

    Runs the plan, implement and review pipeline detached in fresh headless sessions, looping review and fix until the pull request is clean.

    2.3k GitHub stars~894 tokensUpdated 9 days ago
    Agent WorkflowsAuto-check passed
  • Self-Improve Evolutionary Loop

    Yeachan-Heo/oh-my-claudecode

    Runs an autonomous improvement loop on a repository: agents propose and execute plans, a tournament picks the winner by benchmark, and each round is recorded and plotted.

    40k GitHub stars~5.3k tokensUpdated 3 days ago
    Agent WorkflowsAuto-check: warnings

More from Yeachan-Heo/gajae-code

All 9 skills in this repo
  • Gjc SDK Operate

    Yeachan-Heo/gajae-code

    Operate trusted local GJC sessions through a reviewed broker-bound CLI allowlist with single-use human approval.

    2.9k GitHub stars~1.8k tokensUpdated yesterday
    Auto-check passed
  • Ralplan Consensus Planning

    Yeachan-Heo/gajae-code

    Shorthand for oh-my-claudecode's consensus planning, where Planner, Architect and Critic agents iterate on a plan before any execution begins.

    2.9k GitHub stars~8.5k tokensUpdated yesterday
    Auto-check passed
  • Ultragoal Multi-Goal Ledger

    Yeachan-Heo/gajae-code

    Breaks a brief into ordered goals, keeps a durable ledger under .omc/ultragoal and prints handoff text so a Claude /goal run survives session restarts.

    2.9k GitHub stars~8.4k tokensUpdated yesterday
    Auto-check passed
  • Gjc Delegation

    Yeachan-Heo/gajae-code

    Delegate planning and execution workflows to gajae-code via the coordinator MCP server.

    2.9k GitHub stars~439 tokensUpdated yesterday
    Auto-check passed
  • Gjc SDK Discover

    Yeachan-Heo/gajae-code

    Discover and inspect trusted local GJC sessions through the broker-bound session CLI.

    2.9k GitHub stars~1k tokensUpdated yesterday
    Auto-check passed
  • Gjc SDK Session

    Yeachan-Heo/gajae-code

    Operate GJC SDK sessions from the CLI (gjc sdk session list|inspect|send|status|tail|close|raw plus the explicit raw control|query|global hatch).

    2.9k GitHub stars~1.2k tokensUpdated yesterday
    Auto-check passed

Questions about Autoresearch Improvement Loop

What does Autoresearch Improvement Loop do?

Runs one improvement mission as a bounded loop: each round makes a change, runs a strict JSON evaluator, logs the decision in markdown and continues until a max runtime is hit. Autoresearch keeps working on a single mission, one experiment per iteration. Each round makes one change, runs the evaluator, saves the result as JSON and appends a readable decision-log entry, and it keeps going when an evaluation does not pass.

When should I use Autoresearch Improvement Loop?

Autoresearch Improvement Loop fits situations like: iterating on one measurable goal with a fixed evaluator until a time limit; keeping durable experiment logs of each change and its evaluation; scheduling periodic reruns of an improvement mission.

How do I install Autoresearch Improvement Loop in Claude Code?

Run `npx skills add Yeachan-Heo/gajae-code --skill autoresearch -a claude-code`. Or copy the skill folder (packages/coding-agent/src/defaults/gjc/skills/autoresearch in Yeachan-Heo/gajae-code) into .claude/skills/autoresearch in your project. Claude Code loads it when a task matches its description.

How do I install Autoresearch Improvement Loop in Codex?

Run `npx skills add Yeachan-Heo/gajae-code --skill autoresearch -a codex`. Or copy the skill folder (packages/coding-agent/src/defaults/gjc/skills/autoresearch in Yeachan-Heo/gajae-code) into .agents/skills/autoresearch in your project. Codex loads it when a task matches its description.

Can I use Autoresearch Improvement Loop in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Yeachan-Heo/gajae-code --skill autoresearch -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/autoresearch, .gemini/skills/autoresearch, .github/skills/autoresearch and .opencode/skills/autoresearch in your project.

What does Autoresearch Improvement Loop need to run?

SKILL.md names no scripts, command-line tools or credentials: Autoresearch Improvement Loop is instructions for the agent only. Our summary lists: A mission and evaluator prepared with `/deep-interview --autoresearch`.

Does Autoresearch Improvement Loop access the network?

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.

Is Autoresearch Improvement Loop safe to install?

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.

What licence does Autoresearch Improvement Loop use?

Autoresearch Improvement Loop is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Autoresearch Improvement Loop use?

About 3.6k 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.

What are the alternatives to Autoresearch Improvement Loop?

Skills that share tags, products or a category with Autoresearch Improvement Loop: Autoresearch Iteration Loop (uditgoenka/autoresearch, 6.5k stars), Install Loop Engineering (cobusgreyling/loop-engineering, 11k stars), LoopX Self Repair (loopx-project/loopx, 6.2k stars) and PUA Loop (tanweai/pua, 20k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Autoresearch Improvement Loop?

Yeachan-Heo (a GitHub user) maintains it in Yeachan-Heo/gajae-code, which has 2,937 GitHub stars. The repository holds 9 skills in this directory. The repository was last updated on October 10, 2026.

Source: Yeachan-Heo/gajae-code on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.