Automated summary
Deterministic AI development workflow orchestrator that manages a task board, runs 16-phase pipelines, and coordinates five specialist roles via npx.
Strengths
- Deterministic 16-phase pipelines tailored to different task sizes (BUGFIX, SMALL, MEDIUM, LARGE).
- Integrated task board and progress notes for resuming work across fresh context windows.
- Explicit coordination of Lead/Developer/Reviewer/TestLead/Tester roles.
- Skill gateway that loads domain-specific knowledge on demand.
Limitations
- Requires Node.js and an initialized .jonggrang structure, adding overhead for small changes.
- Explicitly described support targets Claude Code and OpenCode, not all listed IDEs.
- Relies on project conventions in AGENTS.md and generated configuration files.
Use it to plan and execute multi-step features or fixes with multiple agents and deterministic tracking.
Avoid it for trivial edits or in projects without a Jonggrang setup and no intent to adopt its process.
Security analysis
CautionThe content is a well-scoped development-workflow manual with no destructive commands (no rm -rf, curl|sh, base64 payloads, or secret exfiltration) and it explicitly warns against broad git staging and committing secrets. The residual risk is that it directs the agent to fetch/execute a third-party npm package and install agent lifecycle hooks, and to run local Node code and make git commits — all powerful but legitimate actions for a dev orchestrator, so it falls under caution rather than risky.
- •Instructs running a third-party npm package on every command via `npx jonggrang <command>`, which downloads and executes remote code from the npm registry (supply-chain trust required).
- •Description notes the tool installs lifecycle hooks for Claude Code and OpenCode, which can modify agent configuration/behavior outside the project.
- •Instructs executing local code via `node -e "require('./lib/gateway')..."`, which runs whatever the repository's gateway module contains.
- •Performs state-changing git operations (git add / git commit), though it correctly forbids `git add .`/`-A` and committing secrets or node_modules.
- •Primary workflow is `npx jonggrang <command>`, which downloads and executes an unpinned third-party npm package at runtime — a supply-chain exposure that grants that package the agent's full shell/file permissions.
- •Description states the skill installs lifecycle hooks into Claude Code and OpenCode, i.e. persistent modifications to the agent's own runtime/config; the SKILL.md body does not document what those hooks do or how to inspect/remove them.
- •Exposes an `--autonomy autonomous` flag ("Skip human pauses") that deliberately removes human checkpoints from a multi-agent pipeline — reduces oversight by design.
- •Instructs the agent to execute project-controlled code paths: `node -e "...require('./lib/gateway')..."`, `npm test`, `npm run lint`, `npm run typecheck`, plus `git add`/`git commit`. Legitimate dev activity but broad shell/write authority.
- •Role/phase prompts and completion-signal protocol amount to embedded instructions that reshape agent behavior when running in orchestrate mode; benign here, but such self-directing content should be reviewed by a human before adoption.
Examples
Use Jonggrang to plan and execute a MEDIUM feature: add OAuth login to the Express API. Create the task board, run the MEDIUM pipeline, and coordinate the Developer, Reviewer, and TestLead roles.Run the Jonggrang BUGFIX pipeline for issue #142 where the checkout total is off by one cent. Have the Tester verify a regression test before closing the task.Initialize Jonggrang in this repository, install the Claude Code lifecycle hooks, and generate a task board for refactoring the payment module.name: jonggrang description: Deterministic AI development workflow orchestrator. Manages task boards (.jonggrang/jonggrang-tasks.json), runs 16-phase pipelines (BUGFIX/SMALL/MEDIUM/LARGE), installs lifecycle hooks for Claude Code and OpenCode, and coordinates five specialist roles (Lead/Developer/Reviewer/TestLead/Tester). Use when planning features, executing multi-step development workflows, or orchestrating AI coding agents. Run via npx jonggrang. metadata: {"clawdbot":{"emoji":"🎭","os":["darwin","linux","win32"],"requires":{"runtime":"node","install":"npx jonggrang"}}}
Jonggrang — AI Agent Instructions
You are working inside a project managed by Jonggrang, a deterministic AI development workflow orchestrator. This file is your operating manual. Read it completely before doing anything.
How to Run Jonggrang
Use npx — no global installation required:
npx jonggrang <command>
If Jonggrang is already installed globally, you can also use jonggrang <command> directly. To check:
npx jonggrang version
Your Role in This Project
Jonggrang runs in two modes. Know which one you are in:
Mode 1 — Work Loop
You are a single agent executing tasks from .jonggrang/jonggrang-tasks.json one at a time. Each invocation is stateless — a fresh context window per task.
Mode 2 — Orchestrate (16-Phase Pipeline)
You are a specialist agent assigned to a specific phase and role. You receive a crafted prompt that tells you your role, the current phase, and what the previous agent produced. You must emit a completion signal at the end of your output.
Check .jonggrang/jonggrang-tasks.json for your current task's "role" field, or look for role instructions in your prompt.
Context Files — Read These First
| File | Purpose | Action |
|------|---------|--------|
| AGENTS.md | Project conventions, patterns, gotchas | Read first. Follow all conventions. |
| .jonggrang/progress.txt | Learnings from previous iterations | Read. Avoid repeating mistakes. |
| .jonggrang/jonggrang-tasks.json | Task board with current state | Read. Find your assigned task. |
| .jonggrang/jonggrang.json | Project config (stack, testing, tool) | Read. Know your test command and stack. |
| skills/core/<name>/SKILL.md | Core skill for your task type | Read if task has "skill" field. |
| .jonggrang/.output/features/<id>/MANIFEST.yaml | Orchestration phase state | Read in orchestrate mode. |
Skill System — Two Tiers
Skills are prompt templates that encode expert knowledge. There are two tiers:
Tier 1: Core Skills (skills/core/)
Always available. Loaded into your prompt for every task. Contains foundational patterns:
- How to orchestrate a feature
- How to dispatch parallel agents
- How to invoke the Gateway
- Domain gateway pointers (backend, frontend, api, testing, database)
- Scaffold templates (scaffold-api, scaffold-webapp, component, migration, auth, etc.)
Tier 2: Library Skills (skills/library/)
Loaded on demand via the Gateway when you need deep domain knowledge.
| Domain | Available Skills |
|--------|-----------------|
| backend | developing-with-tdd, debugging-systematically, error-handling-patterns |
| frontend | debugging-react-hooks, optimizing-react-performance |
| testing | unit-testing-patterns, fixing-flaky-tests |
| database | safe-migrations |
| api | input-validation |
| security | rate-limiting |
Using the Gateway
Before implementing, resolve the right library skill for your task:
node -e "
const gw = require('./lib/gateway');
const r = gw.buildGatewayResponse('YOUR TASK DESCRIPTION HERE', './skills');
console.log(r);
"
The Gateway returns { domain, skill_paths, instruction }. Read each file in skill_paths before implementing.
Work Loop — Task Execution Protocol
Step 1: Understand
- Read all context files listed above
- Read the task description carefully — it contains acceptance criteria
- If the task has
"skill": "scaffold-api", readskills/core/scaffold-api/SKILL.md - Check
blocked_by— dependencies must already be completed
Step 2: Invoke Gateway
Resolve the right library skills for your task domain:
node -e "
const gw = require('./lib/gateway');
const r = gw.buildGatewayResponse('<task description>', './skills');
r.skill_paths.forEach(p => console.log('Read:', p));
"
Read each returned skill file before proceeding.
Step 3: Plan
- Identify which files to create or modify
- Check existing code patterns before writing new code
- Follow conventions in
AGENTS.md - Keep changes atomic — only touch files relevant to this task
Step 4: Implement
- Write clean, working code
- Follow existing patterns in the codebase
- Use the project's existing dependencies (don't add unnecessary packages)
- Include proper types (no
anyin TypeScript)
Step 5: Validate
# Typecheck
npm run typecheck # or: tsc --noEmit, go vet, mypy, etc.
# Tests
npm test # or: the command in .jonggrang/jonggrang.json -> testing.command
# Lint (if configured)
npm run lint
If validation fails: read the error, fix it, re-run. If stuck after 2 attempts, stop and report clearly.
Step 6: Update State
Update .jonggrang/jonggrang-tasks.json — mark task completed:
{
"status": "completed",
"passes": true,
"completed_at": "<ISO timestamp>"
}
Append to .jonggrang/progress.txt — log learnings:
## task-XXX: Task Title
- What was implemented
- What was surprising or non-obvious
- Patterns discovered in the codebase
- Gotchas for future iterations
Step 7: Commit
git add <specific files only>
git commit -m "type(scope): description"
Types: feat, fix, refactor, test, docs, chore
Never: git add . or git add -A, commit node_modules/ or .env, amend previous commits.
Orchestrate Mode — Role-Specific Instructions
In orchestrate mode you are assigned one of five roles. Your role determines what tools you have and what signal you must emit.
Role Summary
| Role | Can Edit Files | Can Spawn Agents | Completion Signal |
|------|:-:|:-:|-------------------|
| Lead | no | YES (Task tool) | ARCHITECTURE_PLAN_COMPLETE |
| Developer | YES | no | IMPLEMENTATION_COMPLETE |
| Reviewer | no (read-only) | no | REVIEW_COMPLETE |
| TestLead | no | YES (Task tool) | TEST_PLAN_COMPLETE |
| Tester | YES | no | ALL_TESTS_PASSING |
Phase → Role Mapping
| Phases | Role | What You Do | |--------|------|-------------| | 1–4 | (orchestrator) | Setup, triage, discovery — handled automatically | | 5–7, 16 | Lead | Assess complexity, brainstorm, architect, finalise | | 8 | Developer | Implement the feature end-to-end | | 9–11, 15 | Reviewer | Verify design, compliance, quality, test quality | | 12 | TestLead | Write the test plan | | 13–14 | Tester | Execute tests, verify coverage |
Completion Signal Protocol
Your last output line must be your role's completion signal. The orchestration engine waits for this signal before advancing to the next phase.
# Developer — after all code is written, typechecked, and tests pass:
IMPLEMENTATION_COMPLETE
# Tester — after all tests pass and coverage threshold met:
ALL_TESTS_PASSING
# Reviewer — after completing your review:
REVIEW_COMPLETE
# Lead — after producing architecture plan:
ARCHITECTURE_PLAN_COMPLETE
# TestLead — after producing test plan:
TEST_PLAN_COMPLETE
Reading the MANIFEST
In orchestrate mode, the MANIFEST tracks phase state. Read it to understand context:
cat .jonggrang/.output/features/<feature-id>/MANIFEST.yaml
Key fields: work_type, current_phase, phases (per-phase status and output), validation.
Rules
DO
- Read all context files before starting
- Follow conventions in
AGENTS.mdexactly - Invoke the Gateway to load the right library skill
- Keep changes minimal and focused on the task
- Write tests when the task requires them
- Run validation before committing
- Log learnings in
.jonggrang/progress.txt - Emit your completion signal as the final output line (orchestrate mode)
DO NOT
- Modify files not related to your task
- Add dependencies without clear justification
- Change
AGENTS.mddirectly — propose changes in.jonggrang/progress.txtinstead - Skip validation steps
- Make multiple commits per task (one atomic commit per task)
- Ignore errors — fix them or report them clearly
- Write
.mdfiles outside.jonggrang/,AGENTS.md,.jonggrang/progress.txt,README.md,CHANGELOG.md, ordocs/
File Ownership
Each task in .jonggrang/jonggrang-tasks.json has a "files" array listing the files it owns. Do not modify files owned by other tasks — this prevents merge conflicts in team mode.
Jonggrang Commands Reference
# Setup
npx jonggrang init # Interactive setup wizard
npx jonggrang init --name x --type api --tool claude --autonomy balanced --force
# Work Loop
npx jonggrang plan "feature description" # Decompose feature into tasks
npx jonggrang work # Run all pending tasks
npx jonggrang work --max-iterations 1 # Run one task only
npx jonggrang work --task task-003 # Run a specific task
npx jonggrang work --tool claude # Override AI tool
npx jonggrang work --dry-run # Preview prompt, no execution
npx jonggrang work --mode supervised # Override autonomy
# Orchestrate (16-phase deterministic pipeline)
npx jonggrang orchestrate "description" # Start full pipeline
npx jonggrang orchestrate --resume # Resume interrupted pipeline
npx jonggrang orchestrate "..." --dry-run # Preview all phase prompts
npx jonggrang orchestrate "..." --autonomy autonomous # Skip human pauses
# Utilities
npx jonggrang status # Show task board
npx jonggrang review # Run code review
npx jonggrang version # Show version
npx jonggrang help # All commands and flags
Example: Completing a Work Loop Task
Given this task in .jonggrang/jonggrang-tasks.json:
{
"id": "task-002",
"title": "Add Todo CRUD endpoints",
"description": "Create GET/POST/PUT/DELETE endpoints for /api/todos with in-memory storage",
"skill": "scaffold-api",
"files": ["src/routes/todos.ts", "src/types/todo.ts"],
"blocked_by": ["task-001"]
}
Execution:
- Read
AGENTS.md,.jonggrang/progress.txt,.jonggrang/jonggrang-tasks.json,.jonggrang/jonggrang.json - Read
skills/core/scaffold-api/SKILL.md - Run Gateway to resolve library skills for this task type
- Read existing code (
src/app.ts, other routes) to understand patterns - Create
src/types/todo.tswith the Todo interface - Create
src/routes/todos.tswith CRUD handlers - Register routes in
src/app.ts - Run
npm run typecheck && npm test - Update
.jonggrang/jonggrang-tasks.json(status: completed, passes: true) - Append learnings to
.jonggrang/progress.txt git add src/routes/todos.ts src/types/todo.ts src/app.ts .jonggrang/jonggrang-tasks.json .jonggrang/progress.txtgit commit -m "feat(todos): add CRUD endpoints with in-memory storage"
From the file to a first result
The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.
View the source and supporting filesThis download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.
1. Download the file
Download SKILL.mdFrom the root of a test project, save the file as .skill-downloads/jonggrang-ai-development-workflow-orchestrator-mtpag75v/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.
Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.
mkdir -p '.skill-downloads/jonggrang-ai-development-workflow-orchestrator-mtpag75v' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/jonggrang-ai-development-workflow-orchestrator-mtpag75v/download' --output '.skill-downloads/jonggrang-ai-development-workflow-orchestrator-mtpag75v/SKILL.md.part' && mv '.skill-downloads/jonggrang-ai-development-workflow-orchestrator-mtpag75v/SKILL.md.part' '.skill-downloads/jonggrang-ai-development-workflow-orchestrator-mtpag75v/SKILL.md'2. Check prerequisites
Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.
No recognized prerequisites section in this file. This does not mean it is self-contained: libraries, tools and access requirements may be mentioned elsewhere in the content or source repository.
The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.
3. Load the skill
After inspection, copy the complete folder into your project using one of the commands below, then open a new tool session. The command stops if a folder with the same name already exists: compare the files before replacing it.
Claude Code
test -f '.skill-downloads/jonggrang-ai-development-workflow-orchestrator-mtpag75v/SKILL.md' && test -s '.skill-downloads/jonggrang-ai-development-workflow-orchestrator-mtpag75v/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/jonggrang' && cp -R '.skill-downloads/jonggrang-ai-development-workflow-orchestrator-mtpag75v' '.claude/skills/jonggrang'OpenSkills
OpenSkills must already be installed. The local install/read procedure is checked with OpenSkills 1.5.0, which requires Node.js ≥ 20.6.0. Catalog slugs are not resolved automatically.
Official OpenSkills installationopenskills install './.skill-downloads/jonggrang-ai-development-workflow-orchestrator-mtpag75v'openskills read 'jonggrang-ai-development-workflow-orchestrator-mtpag75v'Reading should display the installed file content and its base directory. It does not run the skill or install its dependencies.
For an agent that reads AGENTS.md, then sync the index. This command changes AGENTS.md: review the diff before using it.
openskills syncManual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.
4. Try a first task
Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:
Read .skill-downloads/jonggrang-ai-development-workflow-orchestrator-mtpag75v/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.
React Hook Form Best Practices
Development
Master React Hook Form: avoid anti-patterns, manage subscriptions, and handle reset, dirty state, and controlled inputs correctly.
Emotion to Mantine Migration
Development
Migrate Emotion styled-components to Mantine components with style props and CSS modules. Use when converting .styled.tsx files or removing @emotion imports.
Scope Creep Detector
Development
Analyzes git diffs against a stated intent to detect scope creep, unrelated files, broad PRs, and oversized changes, then suggests keep, split, or justify actions.