Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/luiseiman/dotforge/export-confignpx skills add luiseiman/dotforge --skill export-configgit clone --depth 1 https://github.com/luiseiman/dotforgeWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00025 | $0.01209 |
| Opus 5 | $0.00013 | $0.00605 |
| Sonnet 5 | $0.00005 | $0.00242 |
| Haiku 4.5 | $0.00003 | $0.00121 |
Grade C, and why
export-config scanned grade C with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Recursive force deletehighDestructive command
rm -rf with a variable or a broad path is one typo away from removing the wrong tree.
4. Convert hooks to text instructions: "Before executing bash commands, check for destructive patterns: rm -rf, DROP TABLE, force push" How it starts
The opening of the file, as written. The whole thing — 128 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Export Configuration
Convert the current project's dotforge configuration into formats compatible with other AI coding tools.
Input
$ARGUMENTS contains the target format: cursor, codex, windsurf, or openclaw.
If no argument provided, show available targets and ask.
Step 1: Read current configuration
Read these files from the current project:
CLAUDE.md— project instructions.claude/rules/*.md— contextual rules (strip YAML frontmatter).claude/settings.json— permissions and hooks
If none exist, error: "No dotforge configuration found. Run /forge bootstrap first."
Step 2: Transform based on target
cursor → .cursorrules
Generate a single .cursorrules file at project root:
- Extract content from
CLAUDE.md(skip forge markers) - Append all rules from
.claude/rules/*.md(strip YAML frontmatter —globs:,paths:,alwaysApply:, etc. — keep content) - Convert deny list to text: "DO NOT: read/modify files matching: .env, *.key, *.pem, credentials"
- Convert hooks to text instructions: "Before executing bash commands, check for destructive patterns: rm -rf, DROP TABLE, force push"
- Wrap in a single markdown document
codex → AGENTS.md
Generate AGENTS.md at project root:
- Start with project context from
CLAUDE.md - Append rules as "## Rules" section
- Convert permissions to "## Permissions" section: list allowed and denied commands
- Add "## Workflow" section from agent orchestration rules if present
- Format as flat markdown (Codex expects simple instructions)
windsurf → .windsurfrules
Generate .windsurfrules at project root:
- Same content extraction as cursor
- Windsurf format is similar to
.cursorrules— single markdown file - Add Windsurf-specific header: "You are an AI assistant working on this project."
- Append all rules and converted hooks/permissions
openclaw → ~/.openclaw/skills/{project}/SKILL.md + workspace agent config
Generate an OpenClaw workspace skill for the current project:
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago First seen · 128 lines · 25 tokens per session scan C 472b8df7bee1
export-config is a skill published in the GitHub repository luiseiman/dotforge (8 stars, last pushed 2mo ago), licensed MIT. It adds 25 tokens to every session and 1,209 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it C with 1 finding (recursive force delete). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
scaffold
Set up or align a non-code ops/PM repo with the ops folder structure, CLAUDE.md, and INDEX.md hierarchy.
find-opps
Find new directions for an ops project — adjacent opportunities, strategic gaps, preparatory research. Use when known work is well-mined and you need to look outward.
prioritize
Pick 2–3 independent ops tasks from active plans and backlog for autonomous execution, weighing impact, feasibility, and project goals.
factory-db-migration
The operational discipline for running a destructive change against a production database — schema migrations, data backfills, one-shot RPCs, historical seed imports. Adjacent to factory-data-layer.md (schema design) and factory-deployment.md (where migrations execute in CI) — this skill is about the runbook around…
factory-api
API conventions for both server actions and tRPC builds. Covers the decision between them, per-mutation Zod input schemas, central router composition, pagination shape, multi-field search via Drizzle ilike + or(), mutation lifecycle hooks, conditional query enabling, stale-time defaults, error response shape and…
factory-auth
Auth and authorization conventions distilled across builds with three different auth stacks (Better Auth + orgs, Supabase Auth + RLS, Clerk). Covers the provider decision matrix, the unified wrapper interface (requireAuth / requireRole / withOrgContext), procedure tier stacking, session handling, OAuth callback…