GRACE means Graph-RAG Anchored Code Engineering: a contract-first AI engineering methodology built around semantic markup, .grace XML artifacts, knowledge-graph navigation, assertions, scopes, and log-driven verification.
> /plugin marketplace add osovv/grace-marketplace> /plugin install grace@grace-marketplace
Repo: osovv/grace-marketplace
What's inside
GRACE means Graph-RAG Anchored Code Engineering: a contract-first AI engineering methodology built around semantic markup, .grace XML artifacts, knowledge-graph navigation, assertions, scopes, and log-driven verification.
This repository ships the GRACE skills plus the optional grace CLI. It is a packaging and distribution repository, not an end-user application.
Current packaged version: 4.0.4
skills/grace/*plugins/grace/skills/grace/*.claude-plugin/marketplace.jsonplugins/grace/.claude-plugin/plugin.jsonopenpackage.yml@osovv/grace-cliGRACE 4 uses .grace as the durable project model:
| Area | Purpose |
|---|---|
.grace/context/*.xml | Requirements, technology, principles, deployment, and UX constraints |
.grace/graph/index.xml + routed graph docs | Current graph projection source for GD-*, M-*, and DF-* anchors |
.grace/verification/index.xml + routed verification docs | Current verification projection source for deterministic V-M-* entries |
.grace/changes/active/C-* | Active GraceChangeSpec, optional design context, and GraceChangePlan bundles |
.grace/changes/archive/C-* | Applied, rejected, cancelled, or superseded change bundles |
| Source/test files with GRACE markup | File-local contracts, links, and semantic block anchors |
GRACE 4 does not dual-validate legacy GRACE 3 project docs as current state. Existing GRACE 3 projects use $grace-migrate; the CLI validates the generated .grace result but does not convert legacy docs itself.
Verification commands run from the project root by default. A V-M-* entry may declare one contained project-relative <Cwd>packages/example</Cwd> while keeping <TestFiles><File>...</File></TestFiles> paths project-root-relative. Absolute paths, .. escapes, and symlink escapes fail closed.
TypeScript/JavaScript semantic analysis is bundled and compiler-backed. Governed Python and Dart files require their respective runtimes on PATH; Python export analysis is exact when a static __all__ is present (including Unicode identifiers) and otherwise emits heuristic confidence. A missing runtime fails closed with actionable analysis.runtime-missing; an installed adapter that fails emits analysis.adapter-failed. Neither failure state is presented as exact MODULE_MAP parity.
Install skills first. The CLI is optional but recommended once skills are installed.
opkg install gh@osovv/grace-marketplace
opkg install gh@osovv/grace-marketplace -g
opkg install gh@osovv/grace-marketplace --platforms claude-code
/plugin marketplace add osovv/grace-marketplace
/plugin install grace@grace-marketplace
git clone https://github.com/osovv/grace-marketplace
cp -r grace-marketplace/skills/grace/grace-* /path/to/your/agent/skills/
Requires bun on PATH. GRACE skills invoke the installed stable grace binary directly; they do not default to bunx, npx, or a prerelease dist-tag.
# Install the current stable release from npm `latest`
bun add -g @osovv/grace-cli
grace --version
grace lint --path /path/to/grace4-project
For a new GRACE 4 project:
$grace-init to create .grace..grace/context artifacts with your agent.$grace-spec for a change.$grace-plan after spec approval.grace lint --path /path/to/project --assertions current.grace lint --path /path/to/project --change C-ID --assertions baseline before execution; add --run-commands when the baseline declares MustPassCommand.grace status --path /path/to/project --json.$grace-execute and choose sequential or parallel-safe mode. Parallel-safe mode additionally requires grace lint --path /path/to/project --parallel-preflight.grace lint --path /path/to/project --change C-ID --assertions final; add --run-commands when the target declares MustPassCommand.Existing GRACE 3 projects should run $grace-migrate and review the migration report before writing .grace artifacts.
Migration cleanup is separately gated: successful current lint, fresh status proving GRACE 4 with no integrity errors, git/worktree inspection, exact cleanup paths, and explicit cleanup confirmation are mandatory. Dirty or non-git cleanup requires an additional acknowledgement naming that risk; any cleanup failure stops without automatic destructive retry.
| Skill | Purpose |
|---|---|
grace-init | Bootstrap the .grace skeleton, templates, and agent guidance |
grace-spec | Create an approved GRACE 4 change spec and optional design context |
grace-plan | Design assertions, scopes, tasks, and verification gates from an approved spec |
grace-execute | Execute the approved plan in sequential or parallel-safe mode |
grace-refactor | Rename, move, split, merge, and extract modules without artifact drift |
grace-setup-subagents | Scaffold GRACE worker and reviewer presets |
grace-fix | Debug issues from graph, contracts, tests, traces, and semantic blocks |
grace-refresh | Detect drift and propose reconciliation changes |
grace-status | Report .grace health and suggest the next safe action |
grace-ask | Answer architecture and implementation questions from .grace artifacts |
grace-cli | Use the optional grace binary as a fast lint and artifact-query layer |
grace-explainer | Explain the GRACE methodology itself |
grace-verification | Build and maintain .grace/verification entries and evidence |
grace-reviewer | Review semantic integrity, projections, scopes, and verification quality |
grace-migrate | Agent-applied GRACE 3 to GRACE 4 migration with CLI validation |
| Command | What It Does |
|---|---|
grace lint --path <root> --assertions current | Run the pre-implementation full-project check, including baselines of active approved changes; do not use it as post-edit target/final evidence |
grace lint --path <root> --change C-ID --assertions baseline [--run-commands] | Validate the immutable selected baseline before implementation; command assertions run only when explicitly enabled |
grace lint --path <root> --change C-ID --assertions target --run-commands | Validate selected target assertions and explicitly opt into MustPassCommand execution |
grace lint --path <root> --change C-ID --assertions final [--run-commands] | Run the final full-project gate, evaluate the selected target, and keep unrelated approved baselines active without re-evaluating the selected baseline |
grace lint --path <root> --parallel-preflight | Run the explicit approved-plan scope coexistence gate required for parallel-safe execution |
grace status --path <root> | Report durable health, stale plans, scope conflicts, and explained/unexplained observed git drift |
grace module find <query> --path <root> | Search graph projection modules by id, path, text, dependency, or verification id |
grace module show <id-or-path> --path <root> | Show graph projection context and linked file-local markup |
grace module show <id> --with verification --path <root> | Include matching deterministic V-M-* verification entries |
grace verification find <query> --path <root> | Search verification projection entries |
grace verification show <id-or-module> --path <root> | Show one verification entry and module context |
grace file show <path> --path <root> | Show file-local MODULE_CONTRACT, MODULE_MAP, and CHANGE_SUMMARY |
MustPassCommand entries are leaf project evidence such as tests, typecheck, build, format, or package checks. Do not nest grace lint, grace status, or another GRACE lifecycle command inside plan assertions; selected target/final lint is the external orchestration gate.
Output modes:
grace lint: text, jsongrace status: text, jsongrace module find: table, jsongrace module show: text, jsongrace verification find: table, jsongrace verification show: text, jsongrace file show: text, jsonLint, status, and projection-backed navigation fail closed: invalid options, invalid grammar, malformed active assertions/scopes, duplicate ownership, missing routed files, or ambiguous targets produce structured results or a nonzero error envelope. JSON command failures emit one stable { "schemaVersion": "1.0.0", "ok": false, "error": { ... } } envelope on stdout; text failures emit one concise actionable line without a stack trace.
Prefer this order when narrowing scope:
.grace/graph/index.xml for graph document routing.M-* and DF-* anchors..grace/verification/index.xml for verification routing.V-M-* entries..grace/changes/active/C-* for in-flight specs and plans.LINKS:, START_MODULE_CONTRACT, START_CONTRACT:, and START_BLOCK_.Common anchors:
GD-* graph document wrappersM-* module IDsDF-* data-flow IDsVD-* verification document wrappersV-M-* verification IDsC-* change bundlesT-* implementation plan tasks| Path | Purpose |
|---|---|
skills/grace/* | Canonical skill sources |
plugins/grace/skills/grace/* | Packaged mirror used for marketplace distribution |
.claude-plugin/marketplace.json | Marketplace entry and published skill set |
plugins/grace/.claude-plugin/plugin.json | Packaged plugin manifest |
src/grace.ts | CLI entrypoint |
src/grace4/* | GRACE 4 project detection, XML parsing, grammar, projections, assertions, and scopes |
src/lint/* | grace lint implementation |
src/query/* | Projection-backed query layer for CLI navigation |
scripts/validate-marketplace.ts | Packaging, version, path, and mirror validation |
RELEASING.md | Manual release checklist and validation commands |
bun test
bun run ./scripts/validate-marketplace.ts
bun run validate:packed
bun run validate:release
For CLI changes, keep tests in src/grace-lint.test.ts, src/grace-status.test.ts, and src/grace-query.test.ts aligned with the GRACE 4 .grace fixture model.
Stable releases use a protected-main two-stage flow. release:bump runs on a clean release branch that contains current origin/main, updates and validates the version surfaces, commits them, pushes the branch, and finds or creates the release PR without creating a tag. After its required checks pass and the PR is merged, release:finalize X.Y.Z runs from clean synchronized main, revalidates the exact stable state, creates the annotated tag, and pushes only that tag. CI independently requires the stable tag commit to equal fetched origin/main and gates npm latest publication through the reviewer-protected stable-release environment, whose explicit deployment policies allow only branch main and tags v*. Protected main requires Linux, Windows, and real-Dart checks without requiring a separate PR approval, while an active ruleset keeps v* tags immutable. bun run release:checklist verifies those controls and, after publication from the exact release tag commit, verifies HEAD == tag, npm/GitHub channel metadata, and that the local npm pack shasum matches the immutable published tarball.
.claude/
.claude-plugin/
marketplace.json
settings.json
.commitlintrc.json
.github/
workflows/
publish.yml
validate.yml
.gitignore
.versionrc.json
.vvoc/
specs/
grace4-artifact-model/
design-context.xml
plan.xml
spec.xml
AGENTS.md
bun.lock
CHANGELOG.md
CLAUDE.md
examples/
cli/
checkpoint-report.xml
README.md
lefthook.yml
LICENSE
openpackage.yml
package.json
plugins/
grace/
.claude-plugin/
plugin.json
skills/
grace/
grace-ask/
agents/
openai.yaml
SKILL.md
grace-cli/
SKILL.md
grace-execute/
agents/
openai.yaml
SKILL.md
grace-explainer/
agents/
openai.yaml
references/
contract-driven-dev.md
knowledge-graph.md
semantic-markup.md
unique-tag-convention.md
verification-driven-dev.md
SKILL.md
grace-fix/
agents/
openai.yaml
SKILL.md
grace-init/
agents/
openai.yaml
assets/
.grace/
context/
deployment.xml.template
principles.xml.template
requirements.xml.template
technology.xml.template
ux-guidelines.xml.template
graph/
index.xml.template
main.xml.template
verification/
index.xml.template
main.xml.template
AGENTS.md.template
SKILL.md
grace-migrate/
agents/
openai.yaml
references/
migration-checklist.md
migration-report-template.xml
SKILL.md
grace-plan/
agents/
openai.yaml
references/
change-plan-template.xml
SKILL.md
grace-refactor/
agents/
openai.yaml
SKILL.md
grace-refresh/
agents/
openai.yaml
SKILL.md
grace-reviewer/
agents/
openai.yaml
SKILL.md
grace-setup-subagents/
agents/
openai.yaml
references/
roles/
contract-reviewer.md
fixer.md
module-implementer.md
verification-reviewer.md
SKILL.md
grace-spec/
agents/
openai.yaml
references/
change-spec-template.xml
design-context-template.xml
SKILL.md
grace-status/
agents/
openai.yaml
SKILL.md
grace-verification/
agents/
openai.yaml
SKILL.md
README.md
RELEASING.md
scripts/
audit-regressions.test.ts
packed-cli-smoke.test.ts
packed-cli-smoke.ts
publish-workflow.test.ts
release-bump.test.ts
release-bump.ts
release-check.test.ts
release-check.ts
release-checklist.ts
release-finalize.test.ts
release-finalize.ts
release-summary.test.ts
release-summary.ts
skill-contracts.test.ts
validate-marketplace.ts
skills/
grace/
grace-ask/
agents/
openai.yaml
SKILL.md
grace-cli/
SKILL.md
grace-execute/
agents/
openai.yaml
SKILL.md
grace-explainer/
agents/
openai.yaml
references/
contract-driven-dev.md
knowledge-graph.md
semantic-markup.md
unique-tag-convention.md
verification-driven-dev.md
SKILL.md
grace-fix/
agents/
openai.yaml
SKILL.md
grace-init/
agents/
openai.yaml
assets/
.grace/
context/
deployment.xml.template
principles.xml.template
requirements.xml.template
technology.xml.template
ux-guidelines.xml.template
graph/
index.xml.template
main.xml.template
verification/
index.xml.template
main.xml.template
AGENTS.md.template
SKILL.md
grace-migrate/
agents/
openai.yaml
references/
migration-checklist.md
migration-report-template.xml
SKILL.md
grace-plan/
agents/
openai.yaml
references/
change-plan-template.xml
SKILL.md
grace-refactor/
agents/
openai.yaml
SKILL.md
grace-refresh/
agents/
openai.yaml
SKILL.md
grace-reviewer/
agents/
openai.yaml
SKILL.md
grace-setup-subagents/
agents/
openai.yaml
references/
roles/
contract-reviewer.md
fixer.md
module-implementer.md
verification-reviewer.md
SKILL.md
grace-spec/
agents/
openai.yaml
references/
change-spec-template.xml
design-context-template.xml
SKILL.md
grace-status/
agents/
openai.yaml
SKILL.md
grace-verification/
agents/
openai.yaml
SKILL.md
src/
grace-file.ts
grace-lint.test.ts
grace-lint.ts
grace-module.ts
grace-query.test.ts
grace-status.test.ts
grace-status.ts
grace-verification.ts
grace.ts
grace4/
assertions.test.ts
assertions.ts
grammar.test.ts
grammar.ts
paths.test.ts
paths.ts
project.test.ts
project.ts
projections.test.ts
projections.ts
scope.test.ts
scope.ts
test-fixtures.ts
types.ts
xml.test.ts
xml.ts
language-registry.ts
lint/
adapters/
base.ts
dart.test.ts
dart.ts
python.test.ts
python.ts
typescript.test.ts
typescript.ts
catalog.ts
config.ts
core.ts
types.ts
project-utils.test.ts
project-utils.ts
query/
core.ts
errors.ts
health.ts
render.ts
types.ts
verification/
check-references.test.ts
check-references.ts
tsconfig.jsonFAQ
grace-marketplace is a Claude Code plugin with 30 hand-picked skills for development work, indexed on Flowy. Install it with the command on its page. It includes grace-ask, grace-cli, grace-execute. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.