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 commands/avelikiy/great_cto/migrategit clone --depth 1 https://github.com/avelikiy/great_ctoWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/commands/avelikiy/great_cto/migrate)<a href="https://agentmods.dev/commands/avelikiy/great_cto/migrate"><img src="https://agentmods.dev/badge/commands/avelikiy/great_cto/migrate.svg" alt="Measured on agentmods" height="20"></a>What 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.1 | $0.00022 | $0.01602 |
| Opus 5 | $0.00011 | $0.00801 |
| Sonnet 5 | $0.00004 | $0.00320 |
| Haiku 4.5 | $0.00002 | $0.00160 |
Grade A, and why
migrate scanned grade A with 0 findings 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.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 150 lines — stays where its author put it; the contents beside it link to each section on GitHub.
You are the Migrator. Your job is to bring .great_cto/PROJECT.md up to the current schema (v1.0.146+) by appending any missing fields. Never overwrite existing values — append only.
Setup
DRY_RUN=false
for arg in "$@"; do
[[ "$arg" == "--dry-run" ]] && DRY_RUN=true
done
PROJECT_FILE=".great_cto/PROJECT.md"
if [ ! -f "$PROJECT_FILE" ]; then
echo "ERROR: $PROJECT_FILE not found. Run \`npx great-cto\` first to bootstrap the project."
exit 1
fi
Step 1 — Read current state
echo "=== Current PROJECT.md fields ==="
grep -E "^[a-zA-Z_-]+:" "$PROJECT_FILE" 2>/dev/null | head -30
echo ""
echo "=== Missing fields (will be appended) ==="
Step 2 — Detect missing fields and build patch
PATCH=""
# archetype_confidence (v1.0.146+)
if ! grep -q "^archetype_confidence:" "$PROJECT_FILE" 2>/dev/null; then
echo " + archetype_confidence: medium (added — re-run /audit or set to 'user-specified' after review)"
PATCH="${PATCH}archetype_confidence: medium\n"
fi
# archetype_alternatives (v1.0.146+)
if ! grep -q "^archetype_alternatives:" "$PROJECT_FILE" 2>/dev/null; then
echo " + archetype_alternatives: [] (added — run /audit to populate)"
PATCH="${PATCH}archetype_alternatives: []\n"
fi
# archetype_rationale (v1.0.146+)
if ! grep -q "^archetype_rationale:" "$PROJECT_FILE" 2>/dev/null; then
echo " + archetype_rationale: migrated from older install (added)"
PATCH="${PATCH}archetype_rationale: migrated from older install\n"
fi
# security_tier (v1.0.100+)
if ! grep -q "^security_tier:" "$PROJECT_FILE" 2>/dev/null; then
echo " + security_tier: standard (added — update to 'enhanced' or 'strict' if needed)"
PATCH="${PATCH}security_tier: standard\n"
fi
# project_size (v1.0.100+)
if ! grep -q "^project_size:" "$PROJECT_FILE" 2>/dev/null; then
echo " + project_size: small (added — update to nano|small|medium|large|enterprise)"
PATCH="${PATCH}project_size: small\n"
fi
# packs (v2.8+) — opt-in to domain pack overlays
if ! grep -q "^packs:" "$PROJECT_FILE" 2>/dev/null; then
PLUGIN_DIR=$(ls -d "$HOME"/.claude/plugins/cache/local/great_cto/*/ 2>/dev/null | sort -V | tail -1 | sed 's|/$||')
DETECTED=""
if [ -n "$PLUGIN_DIR" ] && [ -f "$PLUGIN_DIR/packages/cli/dist/packs.js" ]; then
DETECTED=$(node -e "
const { detect } = await import('$PLUGIN_DIR/packages/cli/dist/detect.js');
const { suggestPacks } = await import('$PLUGIN_DIR/packages/cli/dist/packs.js');
console.log(suggestPacks(detect('.')).map(p => p.pack).join(', '));
" 2>/dev/null)
fi
if [ -n "$DETECTED" ]; then
echo " + packs: $DETECTED (auto-detected v2.8 domain overlays — opens human gates per pack)"
PATCH="${PATCH}packs: ${DETECTED}\n"
else
echo " + packs: (added — empty; auto-detector found no domain overlay signals)"
PATCH="${PATCH}packs: \n"
fi
fi
if [ -z "$PATCH" ]; then
echo " ✓ PROJECT.md is up to date — no fields missing"
exit 0
fi
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 · 150 lines · 22 tokens per session scan A 0ad86badcda0
migrate is a command published in the GitHub repository avelikiy/great_cto (89 stars, last pushed yesterday), licensed MIT. It adds 22 tokens to every session and 1,602 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.
Other commands, from other repositories
import
Import a shared context bundle, or take a teammate's newer copy of one you already have.
guide
Interactive guide to fellowship. Walks you through a real task using the structured research-plan-implement flow, then shows you what's next.
list
List the NeatContext contexts you can connect.
debate
Expert agents debate to find optimal solutions.
hybrid-manual
Load an existing PRD file and enter review mode. Supports JSON format with stories, priorities, dependencies, and acceptance criteria.
build
Mini spec-first development workflow for well-scoped implementation tasks with human in the loop.