using-arcgentic
Skill286 starsChanged 5 months agoMITView on GitHub
Entry skill for the arcgentic plugin — establishes the four-role workflow (planning / dev+self-audit / external-audit / reference-tracking), the round state machine, and when to switch roles or dispatch sub-agents. Use when starting any session in a project that has .agentic-rounds/state.yaml present, OR when the user mentions arcgentic / round-driven development / external audit / four-role workflow.
In this repository18 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- agency-rosterSkill
- arcgenticSkill
- audit-roundSkill
- claude-code-session-brokerSkill
- close-roundSkill
- codex-thread-orchestrationSkill
- codify-lessonSkill
- cross-session-handoffSkill
- execute-roundSkill
- orchestrate-roundSkill
- plan-roundSkill
- pre-round-scanSkill
- session-modeSkill
- source-intakeSkill
- spec-governanceSkill
- track-refsSkill
- verify-gatesSkill
The file
We split this skill into the rules it gives an agent
3 rules. About 0 are common, 1 is distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 65
Every transition runs scripts/state/transition.sh, which:
- Very specific: line 92
If .agentic-rounds/state.yaml doesn't exist:
- Distinctive: line 110
If a sub-agent dispatched via Task tool tries to break any of these, refuse + report.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Using arcgentic
Overview
arcgentic is an agentic harness for round-driven development. It turns the four-role engineering workflow into a mechanically-enforced state machine where every transition is gated, every artifact is structured, and every lesson is codified.
Announce at start: "I'm using the arcgentic:using-arcgentic skill to navigate the round workflow."
The Iron Rule
BEFORE ANY ACTION IN A ROUND-DRIVEN PROJECT:
1. Read .agentic-rounds/state.yaml (single source of truth)
2. Run scripts/state/pickup.sh — get your role + action
3. Load the role-specific skill if applicable
4. Then actThe Four Roles
| Role | When | Skill | State |
| planner | Round intake → handoff doc | arcgentic:plan-round | intake, planning |
| developer | Handoff → commit chain | arcgentic:execute-round | dev_in_progress, fix_in_progress |
| auditor | Commits → verdict | arcgentic:audit-round | awaiting_audit, audit_in_progress |
| closeout | PASS verdict → anchored close | arcgentic:close-round | passed |
| ref-tracker | Daily git fetch + categorize | arcgentic:track-refs | (continuous) |
Each role has a dedicated skill. In multi-session mode, load only the skill for
the role named by state/pickup or by arcgentic session-mode prompt --role.
Two Operating Modes
Mode A — Single-session (orchestrator drives all)
Main session loads arcgentic:orchestrate-round. Acts as orchestrator. Dispatches sub-agents (orchestrator.md → auditor.md → ...) via Claude Code's Task tool when role-switching is needed. State machine advances after each sub-agent's structured output is verified.
Use when: independent developer / small project / no team coordination needed.
Mode B — Multi-session (humans coordinate)
Each role runs in its own Claude session. Each session loads only its role's skill. State.yaml is the inter-session protocol — every session starts by reading it.
Use when: team of humans / different humans want different role contexts / role-specific skill loading must not contaminate other role's contexts.
Both modes share the same state.yaml schema and the same gate scripts. The mode
is a project-level decision in project.session_mode; do not ask again per
round once it is set.
State Machine
intake → planning → awaiting_dev_start → dev_in_progress → awaiting_audit
↓
closed ← passed ←———— audit_in_progress
↓
awaiting_audit ← fix_in_progress ← needs_fixEvery transition runs scripts/state/transition.sh, which:
- Verifies the target is in the current state's
nextlist (reject if not) - Runs the required gate script (reject if not 0)
- Updates
current_round.state+ appends tostate_history
Gates:
planning → awaiting_dev_startrequireshandoff-doc-gate.shdev_in_progress → awaiting_auditrequiresround-commit-chain-gate.shfix_in_progress → awaiting_auditrequiresround-commit-chain-gate.shaudit_in_progress → passed | needs_fixrequiresverdict-fact-table-gate.shpassed → closedis owned byarcgentic close-round, which checks verdict completeness and strict audit-check before writing the closed state
What to do RIGHT NOW
The literal first thing to do, every session:
bash $PLUGIN_ROOT/scripts/state/pickup.sh --state-file ./.agentic-rounds/state.yaml($PLUGIN_ROOT is where this plugin is installed; on Claude Code default: ~/.claude/plugins/arcgentic/)
The pickup output tells you which role + which action. Then load the corresponding skill or follow the handoff doc.
Bootstrap (new project)
If .agentic-rounds/state.yaml doesn't exist:
bash $PLUGIN_ROOT/scripts/state/init.sh \
--project-root . \
--project-name "<your-project-name>" \
--round-naming "<your-naming-pattern, e.g. phase.round[.fix]>"This creates the state.yaml in intake state. You're ready.
Cost Discipline (load-bearing)
arcgentic never:
- Calls paid APIs from its scripts
- Starts background processes / daemons / cron
- Pulls references automatically (founder/user triggers
refresh-references.shmanually)
If a sub-agent dispatched via Task tool tries to break any of these, refuse + report.
When NOT to use arcgentic
- One-off scripts / throwaway prototypes (overhead > value)
- Projects where every change ships without review (no audit role needed)
- Hobby projects without a "PASS gate" notion (the round model assumes that)
Skill priority (when multiple apply)
arcgentic:using-arcgentic(this skill) is the orientation skill — always load first in an arcgentic project- Then load the role skill matching
pickup.shoutput arcgentic:pre-round-scanis invoked by role skills as their first action; you don't need to load it manuallyarcgentic:verify-gatesis invoked by the state-machine scripts, not directly by you
See also
skills/orchestrate-round/SKILL.md— for orchestrator modeskills/audit-round/SKILL.md— for auditor roleskills/close-round/SKILL.md— for PASS-only closeoutdocs/examples/state.example.yaml— schema referenceschema/state.schema.json— JSON Schema
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

