Survey Patterns
tobihagemann/turbo
Survey the codebase for analogous features, reusable utilities, and existing patterns relevant to a proposed change, reading any source the task names outside this repo.
Turn a rough feature, bug, refactor, architecture, documentation, or operations idea into a ready-to-implement local plan file.
$ npx skills add eric-tramel/moraine --skill crystallize -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install eric-tramel/moraine crystallize --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/eric-tramel/moraine.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/moraine-dev/skills/crystallize .claude/skills/crystallize && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "crystallize" agent skill from https://github.com/eric-tramel/moraine/tree/main/plugins/moraine-dev/skills/crystallize into .claude/skills/crystallize/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "crystallize", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/eric-tramel/moraine/tree/main/plugins/moraine-dev/skills/crystallizeType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add eric-tramel/moraine --skill crystallize -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install eric-tramel/moraine crystallize --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/eric-tramel/moraine.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/moraine-dev/skills/crystallize .agents/skills/crystallize && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "crystallize" agent skill from https://github.com/eric-tramel/moraine/tree/main/plugins/moraine-dev/skills/crystallize into .agents/skills/crystallize/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "crystallize", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add eric-tramel/moraine --skill crystallize -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install eric-tramel/moraine crystallize --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/eric-tramel/moraine.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/moraine-dev/skills/crystallize .cursor/skills/crystallize && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "crystallize" agent skill from https://github.com/eric-tramel/moraine/tree/main/plugins/moraine-dev/skills/crystallize into .cursor/skills/crystallize/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "crystallize", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/eric-tramel/moraine.git --path plugins/moraine-dev/skills/crystallize--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add eric-tramel/moraine --skill crystallize -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install eric-tramel/moraine crystallize --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/eric-tramel/moraine.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/moraine-dev/skills/crystallize .gemini/skills/crystallize && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "crystallize" agent skill from https://github.com/eric-tramel/moraine/tree/main/plugins/moraine-dev/skills/crystallize into .gemini/skills/crystallize/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "crystallize", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install eric-tramel/moraine crystallizeInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add eric-tramel/moraine --skill crystallize -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/eric-tramel/moraine.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/moraine-dev/skills/crystallize .github/skills/crystallize && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "crystallize" agent skill from https://github.com/eric-tramel/moraine/tree/main/plugins/moraine-dev/skills/crystallize into .github/skills/crystallize/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "crystallize", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add eric-tramel/moraine --skill crystallize -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install eric-tramel/moraine crystallize --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/eric-tramel/moraine.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/moraine-dev/skills/crystallize .opencode/skills/crystallize && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "crystallize" agent skill from https://github.com/eric-tramel/moraine/tree/main/plugins/moraine-dev/skills/crystallize into .opencode/skills/crystallize/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "crystallize", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
crystallizeTurn a rough feature, bug, refactor, architecture, documentation, or operations idea into a ready-to-implement local plan file.
Crystallize is an agent skill from eric-tramel/moraine. Turn a rough feature, bug, refactor, architecture, documentation, or operations idea into a ready-to-implement local plan file. Use when the user asks to crystallize, shape, refine, plan, spec, or de-risk ambiguous work before implementation; the workflow researches the codebase, public prior art, and relevant history, debates the proposed approach with subagents, and writes a final plan with no open questions.
Its SKILL.md is about 1.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `agents/openai.yaml`).
It sits in Agent Workflows, covering Subagents and Intellectual property. The repository describes itself as: Unified realtime agent trace database & search MCP. The licence is Apache-2.0.
Read from SKILL.md and the folder at commit 2fb4aec. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
gitFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Crystallize loads about 1.6k tokens when it runs. Until then it costs about 107 tokens; SKILL.md has 610 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from eric-tramel/moraine at commit 2fb4aec, republished under its Apache-2.0 licence (© eric-tramel). 610 words, ~1,558 tokens.
.claude/skills/crystallize/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Use this skill to convert rough input into an implementation plan that another agent can execute without needing the original discussion. The output is a single ignored local Markdown file under the gitignored plans/ directory.
Do not implement the plan while crystallizing. Inspect, research, and reason; only write the plan artifact.
Create plans/ if it does not exist:
mkdir -p plansChoose a unique filename:
date -u +%Y%m%d-%H%M%S.plans/<timestamp>-<slug>.md.-2, -3, etc.Keep plans/ and every plan file ignored and untracked. Do not add them to git, do not create a tracked placeholder, and do not include plan files in commits.
Launch parallel subagents before drafting the plan. Give each subagent the raw user input, any linked issue or document text, and explicit permission to inspect the workspace. Do not include your intended solution.
Use these research roles unless a role is plainly irrelevant:
CodebaseResearch: identify affected crates, modules, APIs, tests, docs, and local patterns. Return concrete file paths and constraints.HistoryResearch: use Moraine MCP tools directly when prior or active agent context may matter. Search past sessions by keywords, inspect relevant sessions, and return only actionable history.PublicPriorArtResearch: research public implementations, official docs, standards, libraries, and comparable approaches. Prefer primary sources and include links when external sources influence the plan.RiskResearch: identify correctness, security, performance, migration, compatibility, rollout, and testing risks.Subagent prompt shape:
Research this rough implementation idea for Moraine.
Focus only on <role>.
Return evidence, concrete file paths or source links, constraints, and recommended plan implications.
Do not draft the whole plan and do not assume my preferred approach.
Rough input:
<raw user input>Wait for every required research subagent to finish. If a subagent fails, retry once with a narrower prompt. If a role is still unavailable, perform that research yourself before drafting.
Synthesize the research into a concrete plan. Resolve ambiguities yourself using evidence and repository conventions. Do not ask the user open-ended questions unless the request would require an external decision that cannot be inferred safely; if that happens, stop before writing the final plan.
The draft must include implementation steps, affected files, validation, risks, and acceptance criteria. It must be specific enough that another agent can start from the plan file alone.
Before finalizing, launch a second parallel wave of subagents to argue against the draft plan. Provide the draft and the research summary, not private reasoning.
Use these debate roles:
PlanSkeptic: find bugs, missing requirements, invalid assumptions, and vague steps.PlanSimplifier: force the minimal viable approach and remove unnecessary generalization.PlanIdiomaticReviewer: check language, framework, library, and repo idioms.PlanScopeGuard: reject scope creep and unrelated cleanup.PlanValidationReviewer: verify the validation strategy would prove the change works.Debate prompt shape:
Attack this implementation plan for Moraine from the <role> perspective.
Be direct. Identify blockers, weak assumptions, unnecessary scope, and missing validation.
Return required changes to make the plan ready to implement. If it is ready, say so.
Draft plan:
<draft plan>
Research summary:
<research summary>Resolve every substantive objection. If debate agents disagree, decide the best course using evidence, repo conventions, and the user's original objective. Prefer the PlanScopeGuard when other roles request broader behavior that crosses the task boundary.
Run targeted follow-up only with the debate subagents whose objections required interpretation or whose facet changed after revision. Do not start a whole new debate wave unless the draft was fundamentally replaced.
The final plan must have no open questions, no TBD, no unresolved alternatives, and no "ask the user" steps. Every uncertainty must be converted into a decision, assumption, or explicit non-goal.
Write the plan file with this structure:
# <short plan title>
Status: Ready to implement
Created: <UTC timestamp>
Source input: <brief quote or summary of the rough input>
## Objective
<one concrete outcome>
## Context
- Codebase findings:
- History findings:
- Public prior art:
- Constraints:
## Decisions
- <decision and rationale>
## Non-Goals
- <explicitly out-of-scope work>
## Implementation Plan
1. <step>
- Files:
- Change:
- Tests:
## Validation
- <commands, checks, fixtures, manual QA, or docs build steps>
## Risks And Mitigations
- <risk>: <mitigation>
## Acceptance Criteria
- <observable completion criterion>
## Implementation Handoff
<concise prompt an implementation agent can use to execute the plan>Include exact file paths where possible. Include commands with expected outcomes. For stack-facing Moraine changes, include sandbox validation. For public prior art that materially influenced the plan, include source links in Context.
Before finishing, run:
git check-ignore -v plans/<plan-file>.mdThe expected result is that root .gitignore ignores the plan file through the plans/ rule. In the final response, report the plan path and state that it was intentionally left ignored and untracked.
© eric-tramel, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file in plugins/moraine-dev/skills/crystallize of eric-tramel/moraine.
Open the folder on GitHubat commit 2fb4aec
Crystallize next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Crystallize this skilleric-tramel/moraine | 117 | — | ~1.6k | Automated safety check: Pass | Apache-2.0 | |
| Survey Patternstobihagemann/turbo | 407 | — | ~539 | Automated safety check: Pass | MIT | |
| Patent Brainstorm Path Trackerillusionaireal/oh-my-patent | 103 | — | ~1.6k | Automated safety check: Pass | MIT | |
| Innovationtravisjneuman/.claude | 101 | — | ~2.7k | Automated safety check: Pass | MIT | |
| Development AssistantRobThePCGuy/Claude-Patent-Creator | 196 | — | ~1.3k | Automated safety check: Notes | MIT | |
| Spec Contract Compliance Reviewbbartling/open-fdd | 172 | — | ~1.4k | Automated safety check: Pass | Custom licence |
tobihagemann/turbo
Survey the codebase for analogous features, reusable utilities, and existing patterns relevant to a proposed change, reading any source the task names outside this repo.
illusionaireal/oh-my-patent
Records, branches and visualizes the rounds of a patent brainstorming session, scoring each candidate and letting you restore an abandoned idea.
travisjneuman/.claude
Innovation management expertise for innovation frameworks (Design Thinking, Stage-Gate), ideation processes, innovation portfolio management, venture capital, open innovation, and IP strategy.
RobThePCGuy/Claude-Patent-Creator
Guides through adding new features, MCP tools, analyzers, and extending the patent creator system.
bbartling/open-fdd
A skill your agent uses to compare any codebase against a specification, API contract, protocol, policy, RFC, security baseline, or product requirements document.
pydantic/pydantic-ai
Independent power-user audit of a big new-feature PR. An agent skill from pydantic/pydantic-ai.
eric-tramel/moraine
Cuts and publishes a Moraine release end to end: version bump PR, tag, GitHub release notes, workflow check and PyPI package verification.
eric-tramel/moraine
Rewrites a moraine GitHub release body into a usage-focused format with install block, what's new, platform table, upgrade notes and one deduplicated changelog.
eric-tramel/moraine
Coordinates a delegated review of a Moraine PR or local change by seven focused reviewer subagents, merges their findings and follows up on the fixes.
eric-tramel/moraine
Looks at a pull request for the smallest good design, hunting for simplifications and architectural moves that remove whole classes of problems.
eric-tramel/moraine
Reviews a pull request for idiomatic implementation: use of the language, standard library, ecosystem conventions and the repository's own patterns.
eric-tramel/moraine
Review a PR through the CodeReviewSecurityReview persona. An agent skill from eric-tramel/moraine.
Categories
Turn a rough feature, bug, refactor, architecture, documentation, or operations idea into a ready-to-implement local plan file. Crystallize is an agent skill from eric-tramel/moraine. Turn a rough feature, bug, refactor, architecture, documentation, or operations idea into a ready-to-implement local plan file.
Crystallize fits situations like: the user asks to crystallize; de-risk ambiguous work before implementation; the workflow researches the codebase; public prior art.
Run `npx skills add eric-tramel/moraine --skill crystallize -a claude-code`. Or copy the skill folder (plugins/moraine-dev/skills/crystallize in eric-tramel/moraine) into .claude/skills/crystallize in your project. Claude Code loads it when a task matches its description.
Run `npx skills add eric-tramel/moraine --skill crystallize -a codex`. Or copy the skill folder (plugins/moraine-dev/skills/crystallize in eric-tramel/moraine) into .agents/skills/crystallize in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add eric-tramel/moraine --skill crystallize -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/crystallize, .gemini/skills/crystallize, .github/skills/crystallize and .opencode/skills/crystallize in your project.
Going by SKILL.md and its folder, Crystallize needs the command-line tools its instructions call (git).
SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Crystallize is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.6k tokens (SKILL.md is roughly 6.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Crystallize: Survey Patterns (tobihagemann/turbo, 407 stars), Patent Brainstorm Path Tracker (illusionaireal/oh-my-patent, 103 stars), Innovation (travisjneuman/.claude, 101 stars) and Development Assistant (RobThePCGuy/Claude-Patent-Creator, 196 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
eric-tramel (a GitHub user) maintains it in eric-tramel/moraine, which has 117 GitHub stars. The repository holds 19 skills in this directory. The repository was last updated on October 5, 2026.
Source: eric-tramel/moraine on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.